Transform vague or ambiguous requirements into precise, actionable specifications through structured questioning. Use when user says "clarify", "refine requirements", or when requirements are unclear, incomplete, or open to multiple interpretations. Always use before implementing any ambiguous feature request.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/corca-ai/claude-plugins/blob/main/plugins/clarify/skills/clarify/SKILL.md -a claude-code --skill clarifyInstallation paths:
.claude/skills/clarify/# Clarify
## Quick Start
1. **Capture**: Record the original requirement verbatim
2. **Clarify**: Use `AskUserQuestion` to resolve ambiguities iteratively
3. **Compare**: Present Before/After comparison
4. **Save** (optional): Offer to save clarified spec to file
## Protocol
### Phase 1: Capture Original Requirement
Record the original requirement exactly as stated:
```markdown
## Original Requirement
"{user's original request verbatim}"
```
Identify ambiguities using the categories below (see **Ambiguity Categories**).
### Phase 2: Iterative Clarification
Use `AskUserQuestion` tool to resolve each ambiguity. Continue until ALL aspects are clear.
**Question Design Principles:**
- **Specific over general**: Ask about concrete details, not abstract preferences
- **Options over open-ended**: Provide 2-4 choices (recognition > recall)
- **One concern at a time**: Avoid bundling multiple questions
- **Neutral framing**: Present options without bias
**Loop Structure:**
```python
while ambiguities_remain:
identify_most_critical_ambiguity()
ask_clarifying_question() # Use AskUserQuestion tool
update_requirement_understanding()
check_for_new_ambiguities()
```
### Phase 3: Before/After Comparison
After clarification is complete, present the transformation:
```markdown
## Requirement Clarification Summary
### Before (Original)
"{original request verbatim}"
### After (Clarified)
**Goal**: [precise description of what user wants]
**Reason**: [the ultimate purpose or jobs to be done]
**Scope**: [what's included and excluded]
**Constraints**: [limitations, requirements, preferences]
**Success Criteria**: [how to know when done]
**Decisions Made**:
| Question | Decision |
|----------|----------|
| [ambiguity 1] | [chosen option] |
| [ambiguity 2] | [chosen option] |
```
### Phase 4: Save Option
Use `AskUserQuestion` to ask if the user wants to save the clarified requirement:
- Question: "Save this requirement specification to a file?"
- Options: