Clarify Skill
Purpose: Detect and reduce ambiguity in feature requests by asking targeted clarification questions and updating plans with the results.
User Input: "${ARGUMENTS}"
If the input above is empty, ask the user using AskUserQuestion: "What feature, bug, or improvement would you like to clarify? Please provide a brief description."
Do not proceed until you have input to clarify.
Stage 1: Ambiguity & Coverage Scan
Analyze the user input against this taxonomy. For each category, mark status: Clear / Partial / Missing.
Taxonomy Categories
Category What to Check
Functional Scope Core user goals, success criteria, out-of-scope declarations
Domain & Data Model Entities, attributes, relationships, identity rules, state transitions
Interaction & UX Flow User journeys, error/empty/loading states, accessibility
Non-Functional Requirements Performance targets, scalability, reliability, security, observability
Integration & Dependencies External services/APIs, data formats, failure modes
Edge Cases & Errors Negative scenarios, rate limiting, conflict resolution
Constraints & Tradeoffs Technical constraints, explicit tradeoffs, rejected alternatives
Terminology Canonical terms, avoided synonyms
Coverage Assessment
After scanning, produce an internal coverage map:
-
Clear: Sufficient information provided
-
Partial: Some information but gaps exist
-
Missing: No information provided, critical for implementation
Stage 2: Generate Clarification Questions
Based on the coverage scan, generate a prioritized queue of up to 5 questions.
Question Constraints
Each question must be:
-
Answerable with multiple choice (2-5 options) OR short answer (≤5 words)
-
High impact: Materially affects architecture, data modeling, task decomposition, or testing
-
Not already answered in the user input
-
Not trivial stylistic preferences
Question Prioritization
Prioritize by: Impact × Uncertainty
-
Cover highest-impact unresolved categories first
-
Avoid asking two low-impact questions when a high-impact area is unresolved
Stage 3: Sequential Questioning (Using AskUserQuestion Tool)
IMPORTANT: Use the AskUserQuestion tool to present each question. Present ONE question at a time.
For Multiple-Choice Questions
Analyze options and determine the most suitable based on:
-
Best practices for the project type
-
Common patterns in similar implementations
-
Risk reduction (security, performance, maintainability)
Use AskUserQuestion with options:
-
Put recommended option first with "(Recommended)" suffix
-
Provide 2-4 clear options
-
Include description for each option
Example AskUserQuestion call:
Question: "How should user authentication be handled?" Options:
- "JWT tokens (Recommended)" - Stateless, scalable, industry standard
- "Session-based" - Server-side sessions with cookies
- "OAuth only" - Delegate to third-party providers
For Short-Answer Questions
Use AskUserQuestion with options that include common choices:
Question: "What is the expected maximum number of concurrent users?" Options:
- "< 100 users" - Small scale, simple infrastructure
- "100-1000 users" - Medium scale, may need caching
- "1000+ users (Recommended)" - Large scale, requires optimization
After Each Answer
-
Record the answer
-
Move to next question
-
Stop when: all critical ambiguities resolved, user signals "done", or 5 questions asked
Stage 4: Update Plan with Clarifications
After all questions are answered, append clarifications to the plan file.
If plan file exists (plans/<topic>.md ):
Add a new section to the plan:
Clarifications
Session: [DATE]
Questions & Answers
| # | Question | Answer | Category |
|---|---|---|---|
| 1 | [Question 1] | [Answer 1] | Functional Scope |
| 2 | [Question 2] | [Answer 2] | Data Model |
| ... | ... | ... | ... |
Coverage Summary
| Category | Status |
|---|---|
| Functional Scope | Resolved |
| Domain & Data Model | Clear |
| Integration & Dependencies | Deferred |
| ... | ... |
Key Decisions
- [Decision 1]: [Rationale based on answer]
- [Decision 2]: [Rationale based on answer]
If plan file does not exist:
Create a new clarifications file at plans/clarifications-<topic>.md with the same format, which can be referenced when running /core:plan .
Stage 5: Next Steps
Use AskUserQuestion to present options:
Question: "Clarification complete. [X] questions answered. Plan updated. What would you like to do next?"
Options:
-
Run /core:plan
-
Create/update the plan with these clarifications (Recommended)
-
Ask more questions - Continue clarifying specific areas
-
View clarifications - Show the clarifications section that was added
-
Start over - Reset and re-clarify from scratch
Behavior Rules
-
Always use AskUserQuestion tool for gathering user input
-
If no meaningful ambiguities found → "No critical ambiguities detected. Ready for /core:plan ."
-
Never exceed 5 questions total
-
Respect early termination signals ("done", "stop", "proceed")
-
Do not ask speculative tech stack questions unless blocking functional clarity
-
Always update the plan file with clarifications after completion