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