Clarify
Handle user confusion by verifying intent, explaining actual behavior, and determining if there's a real issue.
Primary goal: Clarify and explain, not fix. Most confusion stems from misunderstanding or forgetting, not from bugs.
Activation Triggers
- "confused", "I'm confused", "this is confusing"
- "I don't understand", "doesn't make sense", "makes no sense"
- "wait, shouldn't it...", "but I thought..."
- "why is this happening", "why does this..."
- "I expected X but got Y"
- "this is wrong", "something's off"
- frustration signals, contradictory statements
- questions that reveal misconceptions about system behavior
Important Context
Users often:
- Work on multiple projects in parallel and may confuse behaviors between them
- Forget how things were implemented especially after time away
- Have outdated mental models based on old versions or different projects
- Mix up similar concepts from different codebases or frameworks
But also:
- Users are experienced developers - their instincts are often correct
- Real bugs exist - about half of confusion cases point to actual issues
- User expectations are reasonable - if something feels wrong, investigate thoroughly
Do not assume either way. Investigate before concluding. Both outcomes are equally valid:
- User misremembered/mixed things up -> clarify with evidence
- System has a genuine issue -> proceed to plan mode for fix
Workflow
Phase 1: Identify the Confusion
- Extract the core question - What specifically is the user asking about?
- Identify the expectation - What did the user expect to happen?
- Identify the reality - What is actually happening?
- Locate the gap - Where is the misalignment?
- Consider context mixing - Could user be thinking of a different project/feature?
Categories of confusion:
- Memory gap - user forgot how it works, needs a reminder
- Project mixing - user confused this with another project they're working on
- Outdated mental model - user's understanding is based on old behavior
- Architectural - misunderstanding system design, component relationships, data flow
- Behavioral - expecting different runtime behavior than what occurs
- Configuration - settings not producing expected results
- Documentation - docs don't match implementation or are unclear
- Conceptual - misunderstanding underlying concepts or patterns
- Implementation - code doesn't work as assumed
Phase 2: Investigate
Before explaining, gather evidence:
- Read relevant code - Understand actual implementation
- Check configuration - Verify settings and their effects
- Review documentation - See what's documented vs actual behavior
- Trace the flow - Follow execution path if behavioral confusion
Do not guess or assume. Investigate the actual system state.
Phase 3: Explain (Gently)
Structure the explanation with patience and care:
- Acknowledge the confusion - Validate that it's understandable, confusion is normal
- State the expectation - "You expected X to do Y"
- State the reality - "Actually, X does Z because..."
- Explain why - Provide the reasoning/design decision behind the behavior
- Show evidence - Point to specific code, config, or docs
Tone guidelines:
- Be gentle, not condescending - user may have simply forgotten
- Avoid "you're wrong" framing - use "here's how it actually works"
- If user mixed up projects, clarify without judgment
- Remind that it's easy to forget details when working on multiple things
Keep explanations:
- Concrete, not abstract
- Backed by evidence from the codebase
- Focused on the specific case, not general theory
Phase 4: Assess
Start with the most common cases first:
A) Memory gap - user simply forgot
- User implemented this but forgot how it works
- System is working exactly as designed
- Resolution: gentle reminder with code references
B) Project mixing - wrong mental context
- User is thinking of a different project or codebase
- This project works differently than user's current mental model
- Resolution: clarify which project this is and how it differs
C) Outdated understanding
- System changed since user last worked on it
- Or user's mental model never matched reality
- Resolution: explain current behavior with evidence
D) Documentation issue
- System works correctly but docs are misleading/missing
- Resolution: suggest updating docs, may use EnterPlanMode
E) Configuration issue
- System can do what user expects but isn't configured for it
- Resolution: suggest configuration changes
F) Real issue - design or implementation problem
- User's expectation is reasonable AND system genuinely doesn't meet it
- This indicates a bug, design flaw, or missing feature
- Resolution: MUST proceed to Phase 5
Phase 5: Plan the Fix (for real issues)
If Phase 4 identified a real issue (category F):
Step 1: Summarize and Assess Scope
Explain to user what fixing this involves:
Scope categories:
- Trivial - Simple fix, single file, no side effects
- Localized - Few files, contained to one component
- Moderate - Multiple components affected, requires testing
- Significant - Cross-cutting concern, affects multiple subsystems
- Architectural - Fundamental design change, may require rethinking approach
Be explicit: "This is a [scope] change because [reason]."
User must understand the magnitude before deciding to proceed.
Step 2: Present Options (if multiple approaches exist)
When there are multiple valid solutions, use AskUserQuestion tool to present choices:
- List 2-4 options with clear trade-off descriptions
- Put recommended option first with "(Recommended)" suffix
- Include "Do nothing" as an option when relevant:
- Issue is cosmetic or low-impact
- Workaround exists
- Fix is risky relative to benefit
- Issue is edge case that rarely occurs
- Let user choose the approach
Step 3: Proceed to Plan Mode
After user confirms or selects an approach:
- Use EnterPlanMode - Create implementation plan for the chosen approach
- Plan should reflect the scope assessment from Step 1
CRITICAL: Do not attempt to fix issues without planning. Always use EnterPlanMode for:
- Bug fixes
- Design changes
- Missing features
- Documentation updates that require code understanding
Response Format
## Understanding Your Confusion
**What you expected**: [user's expectation]
**What actually happens**: [actual behavior]
## Why This Happens
[Explanation with evidence - code references, config, docs]
## Assessment
[One of: Not an issue / Documentation issue / Real issue / Configuration issue]
[If real issue]:
This is a real issue that should be addressed. I recommend switching to plan mode to design a proper fix.
Should I enter plan mode to plan the solution?
Guidelines
Mindset:
- Users are experienced developers - trust their instincts
- About half of confusion cases are real issues, half are misunderstandings
- Users work on many projects - confusion between them is normal
- Memory is fallible - be patient when reminding how things work
Approach:
- Never dismiss confusion as "user error" - investigate first
- Never assume something is broken without evidence either
- Always back explanations with evidence from the actual codebase
- If unsure, ask clarifying questions before investigating
- Keep the tone helpful, not condescending
- If the confusion reveals a real problem, treat it as valuable feedback
- Don't over-explain - focus on the specific confusion, not general tutorials
Fixing:
- Investigate first, then determine outcome
- If it's a misunderstanding -> explain clearly with evidence
- If it's a real issue -> proceed to plan mode for fix
- Use EnterPlanMode when investigation confirms a genuine bug/flaw
1---2name: clarify3description: This skill should be used when user appears confused, frustrated, or shows misalignment between expectations and reality. Triggers on phrases like "I don't understand", "this doesn't make sense", "confused", "wait, shouldn't it...", "why is this happening", "I thought X did Y", contradictory statements, or frustration signals. Analyzes the confusion, explains the actual behavior, and determines if there's a real issue to address.4---56# Clarify78Handle user confusion by verifying intent, explaining actual behavior, and determining if there's a real issue.910**Primary goal**: Clarify and explain, not fix. Most confusion stems from misunderstanding or forgetting, not from bugs.1112## Activation Triggers1314- "confused", "I'm confused", "this is confusing"15- "I don't understand", "doesn't make sense", "makes no sense"16- "wait, shouldn't it...", "but I thought..."17- "why is this happening", "why does this..."18- "I expected X but got Y"19- "this is wrong", "something's off"20- frustration signals, contradictory statements21- questions that reveal misconceptions about system behavior2223## Important Context2425Users often:26- **Work on multiple projects in parallel** and may confuse behaviors between them27- **Forget how things were implemented** especially after time away28- **Have outdated mental models** based on old versions or different projects29- **Mix up similar concepts** from different codebases or frameworks3031But also:32- **Users are experienced developers** - their instincts are often correct33- **Real bugs exist** - about half of confusion cases point to actual issues34- **User expectations are reasonable** - if something feels wrong, investigate thoroughly3536**Do not assume either way.** Investigate before concluding. Both outcomes are equally valid:37- User misremembered/mixed things up -> clarify with evidence38- System has a genuine issue -> proceed to plan mode for fix3940## Workflow4142### Phase 1: Identify the Confusion43441. **Extract the core question** - What specifically is the user asking about?452. **Identify the expectation** - What did the user expect to happen?463. **Identify the reality** - What is actually happening?474. **Locate the gap** - Where is the misalignment?485. **Consider context mixing** - Could user be thinking of a different project/feature?4950Categories of confusion:51- **Memory gap** - user forgot how it works, needs a reminder52- **Project mixing** - user confused this with another project they're working on53- **Outdated mental model** - user's understanding is based on old behavior54- **Architectural** - misunderstanding system design, component relationships, data flow55- **Behavioral** - expecting different runtime behavior than what occurs56- **Configuration** - settings not producing expected results57- **Documentation** - docs don't match implementation or are unclear58- **Conceptual** - misunderstanding underlying concepts or patterns59- **Implementation** - code doesn't work as assumed6061### Phase 2: Investigate6263Before explaining, gather evidence:64651. **Read relevant code** - Understand actual implementation662. **Check configuration** - Verify settings and their effects673. **Review documentation** - See what's documented vs actual behavior684. **Trace the flow** - Follow execution path if behavioral confusion6970Do not guess or assume. Investigate the actual system state.7172### Phase 3: Explain (Gently)7374Structure the explanation with patience and care:75761. **Acknowledge the confusion** - Validate that it's understandable, confusion is normal772. **State the expectation** - "You expected X to do Y"783. **State the reality** - "Actually, X does Z because..."794. **Explain why** - Provide the reasoning/design decision behind the behavior805. **Show evidence** - Point to specific code, config, or docs8182Tone guidelines:83- Be gentle, not condescending - user may have simply forgotten84- Avoid "you're wrong" framing - use "here's how it actually works"85- If user mixed up projects, clarify without judgment86- Remind that it's easy to forget details when working on multiple things8788Keep explanations:89- Concrete, not abstract90- Backed by evidence from the codebase91- Focused on the specific case, not general theory9293### Phase 4: Assess9495**Start with the most common cases first:**9697**A) Memory gap - user simply forgot**98- User implemented this but forgot how it works99- System is working exactly as designed100- Resolution: gentle reminder with code references101102**B) Project mixing - wrong mental context**103- User is thinking of a different project or codebase104- This project works differently than user's current mental model105- Resolution: clarify which project this is and how it differs106107**C) Outdated understanding**108- System changed since user last worked on it109- Or user's mental model never matched reality110- Resolution: explain current behavior with evidence111112**D) Documentation issue**113- System works correctly but docs are misleading/missing114- Resolution: suggest updating docs, may use EnterPlanMode115116**E) Configuration issue**117- System can do what user expects but isn't configured for it118- Resolution: suggest configuration changes119120**F) Real issue - design or implementation problem**121- User's expectation is reasonable AND system genuinely doesn't meet it122- This indicates a bug, design flaw, or missing feature123- Resolution: **MUST proceed to Phase 5**124125### Phase 5: Plan the Fix (for real issues)126127If Phase 4 identified a real issue (category F):128129#### Step 1: Summarize and Assess Scope130131Explain to user what fixing this involves:132133**Scope categories:**134- **Trivial** - Simple fix, single file, no side effects135- **Localized** - Few files, contained to one component136- **Moderate** - Multiple components affected, requires testing137- **Significant** - Cross-cutting concern, affects multiple subsystems138- **Architectural** - Fundamental design change, may require rethinking approach139140Be explicit: "This is a [scope] change because [reason]."141142User must understand the magnitude before deciding to proceed.143144#### Step 2: Present Options (if multiple approaches exist)145146When there are multiple valid solutions, use **AskUserQuestion** tool to present choices:147148- List 2-4 options with clear trade-off descriptions149- Put recommended option first with "(Recommended)" suffix150- Include "Do nothing" as an option when relevant:151 - Issue is cosmetic or low-impact152 - Workaround exists153 - Fix is risky relative to benefit154 - Issue is edge case that rarely occurs155- Let user choose the approach156157#### Step 3: Proceed to Plan Mode158159After user confirms or selects an approach:1601611. **Use EnterPlanMode** - Create implementation plan for the chosen approach1622. Plan should reflect the scope assessment from Step 1163164**CRITICAL**: Do not attempt to fix issues without planning. Always use EnterPlanMode for:165- Bug fixes166- Design changes167- Missing features168- Documentation updates that require code understanding169170## Response Format171172```173## Understanding Your Confusion174175**What you expected**: [user's expectation]176**What actually happens**: [actual behavior]177178## Why This Happens179180[Explanation with evidence - code references, config, docs]181182## Assessment183184[One of: Not an issue / Documentation issue / Real issue / Configuration issue]185186[If real issue]:187This is a real issue that should be addressed. I recommend switching to plan mode to design a proper fix.188189Should I enter plan mode to plan the solution?190```191192## Guidelines193194**Mindset:**195- Users are experienced developers - trust their instincts196- About half of confusion cases are real issues, half are misunderstandings197- Users work on many projects - confusion between them is normal198- Memory is fallible - be patient when reminding how things work199200**Approach:**201- Never dismiss confusion as "user error" - investigate first202- Never assume something is broken without evidence either203- Always back explanations with evidence from the actual codebase204- If unsure, ask clarifying questions before investigating205- Keep the tone helpful, not condescending206- If the confusion reveals a real problem, treat it as valuable feedback207- Don't over-explain - focus on the specific confusion, not general tutorials208209**Fixing:**210- **Investigate first, then determine outcome**211- If it's a misunderstanding -> explain clearly with evidence212- If it's a real issue -> proceed to plan mode for fix213- **Use EnterPlanMode when investigation confirms a genuine bug/flaw**