📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
---
|
||||
description: Challenge complexity and find simpler alternatives before implementing
|
||||
argument-hint: [proposed solution or approach to evaluate]
|
||||
---
|
||||
|
||||
# Challenge Complexity
|
||||
|
||||
Evaluate the proposed solution for unnecessary complexity before committing to it.
|
||||
|
||||
## Instructions
|
||||
|
||||
- Consider the recent conversation history, your context, and the proposal to be evaluated.
|
||||
- Specific user instructions should be followed unless they are contradictory to the task at hand. $ARGUMENTS
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Load** — Use the Skill tool and load the **outfitter:simplify** skill
|
||||
2. **Consider** — Ultrathink and analyze the proposal, identify initial complexity concerns
|
||||
3. **Dispatch or Execute** — Choose execution path based on available tools:
|
||||
- **If Task tool available**: Run the simplify loop (see below)
|
||||
- **If Task tool unavailable**: Execute the complexity analysis methodology directly using the loaded skill
|
||||
|
||||
## Simplify Loop (when Task tool available)
|
||||
|
||||
Run iterative cycles with a persistent skeptic agent until complexity is resolved:
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 1. ANALYZE — Dispatch outfitter:skeptic │
|
||||
│ └─ Examine proposal, identify complexity triggers, │
|
||||
│ generate alternatives, return structured findings │
|
||||
│ ↓ │
|
||||
│ 2. PRESENT — Share findings with user │
|
||||
│ └─ Escalation level, alternatives, probing questions │
|
||||
│ ↓ │
|
||||
│ 3. DISCUSS — Gather user response │
|
||||
│ └─ User provides context, answers questions, │
|
||||
│ or asks skeptic to dig deeper │
|
||||
│ ↓ │
|
||||
│ 4. EVALUATE — Determine next action │
|
||||
│ └─ If resolved → Document decision │
|
||||
│ └─ If more analysis needed → Resume skeptic (step 1) │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Loop Execution
|
||||
|
||||
1. **Initial dispatch** — Pass proposal, context, requirements to skeptic
|
||||
2. **Retrieve results** — Use TaskOutput to get structured JSON analysis
|
||||
3. **Present to user** — Share escalation level, alternatives, and probing questions
|
||||
4. **Gather feedback** — User may:
|
||||
- Answer probing questions (pass answers back to skeptic)
|
||||
- Ask skeptic to examine specific aspects deeper
|
||||
- Accept an alternative and proceed
|
||||
- Justify complexity with evidence (skeptic validates)
|
||||
5. **Resume or conclude**:
|
||||
- **More analysis needed**: Resume same skeptic agent with `resume: {agentId}` and new context
|
||||
- **Decision reached**: Document outcome (proceed with simple, proceed with justified complexity, or revisit approach)
|
||||
|
||||
### Resumable Skeptic Pattern
|
||||
|
||||
The skeptic maintains context across invocations via the `resume` parameter:
|
||||
|
||||
```
|
||||
Initial dispatch:
|
||||
→ skeptic analyzes proposal
|
||||
→ returns findings + agentId: "abc123"
|
||||
|
||||
User provides additional context:
|
||||
→ resume skeptic with { resume: "abc123" }
|
||||
→ skeptic refines analysis with new information
|
||||
|
||||
User asks about specific concern:
|
||||
→ resume skeptic with { resume: "abc123" }
|
||||
→ skeptic digs deeper on that aspect
|
||||
```
|
||||
|
||||
This preserves the skeptic's understanding of the proposal through multiple rounds of refinement.
|
||||
|
||||
## The Framework
|
||||
|
||||
1. IDENTIFY — what complexity is being proposed?
|
||||
2. ALTERNATIVE — what's the simplest thing that could work?
|
||||
3. QUESTION — why isn't the simple approach sufficient?
|
||||
4. DOCUMENT — if complexity is justified, record why
|
||||
|
||||
## Context Handoff (for initial dispatch)
|
||||
|
||||
When dispatching to the skeptic subagent, include:
|
||||
- The proposed solution or approach
|
||||
- Current requirements and constraints
|
||||
- Any justifications already offered
|
||||
- Team/project context if relevant
|
||||
|
||||
When resuming the skeptic, include:
|
||||
- User's answers to probing questions
|
||||
- Additional context or constraints revealed
|
||||
- Specific areas to examine further
|
||||
- Evidence offered to justify complexity
|
||||
|
||||
## Red Flag Rationalizations
|
||||
|
||||
Watch for these justifications — they usually indicate unjustified complexity:
|
||||
|
||||
- "We might need this later"
|
||||
- "It's more flexible this way"
|
||||
- "This is how X company does it"
|
||||
- "It's the industry standard"
|
||||
- "We should do it right the first time"
|
||||
|
||||
## Verdicts and Outcomes
|
||||
|
||||
The skeptic returns one of three verdicts:
|
||||
|
||||
| Verdict | Meaning | Action |
|
||||
|---------|---------|--------|
|
||||
| **proceed** | Complexity is minor (◇) | Note alternatives, continue |
|
||||
| **caution** | Complexity is moderate (◆) | Discuss before proceeding |
|
||||
| **block** | Complexity is high risk (◆◆) | Address concerns first |
|
||||
|
||||
After discussion, document the outcome:
|
||||
- **Simplified**: Chose simpler alternative
|
||||
- **Justified**: Complexity validated with evidence, documented in ADR
|
||||
- **Deferred**: Needs more investigation, created follow-up task
|
||||
|
||||
The goal is NOT to reject all complexity — it's to ensure complexity is justified by evidence, not speculation.
|
||||
Reference in New Issue
Block a user