Clarify Phase - Refining Specs with /sp.clarify
You've written a calculator specification. It looks good. But there are always gaps you didn't catch-ambiguities that seemed clear in your head but are actually unclear on paper. Edge cases you missed. Assumptions you didn't state explicitly.
This is where the /sp.clarify command helps. Clarify is NOT a formal workflow phase like /sp.specify or /sp.plan. It's a quick check that your specification is complete before moving to planning.
Think of /sp.clarify as your AI companion putting on a "devil's advocate" hat and asking: "Wait, what about...?" It finds gaps you might have missed, then you decide whether to update your spec.
The goal: Make your specification so clear that the planning phase can generate a perfect plan.
What Does /sp.clarify Do?
The Clarify Command
/sp.clarify analyzes your specification and reports:
-
Ambiguous Terms - Words that could mean multiple things
- Example: "should handle errors" (what errors? how should they be handled?)
-
Missing Assumptions - Things you assumed but didn't state
- Example: You assumed division by zero is an error, but didn't state what exception type
- Example: You assumed float precision, but didn't specify the Python precision limits
-
Incomplete Requirements - Operations or cases you didn't cover
- Example: You specified divide(10, 2) but didn't specify divide(10, 0.0000001)
- Example: You specified all operations individually but didn't specify operation chaining
-
Constraint Conflicts - Where spec might contradict Constitution
- Example: Spec says "results are exact integers" but Constitution says "always return float"
-
Edge Case Gaps - Cases that should be handled but aren't documented
- Example: What happens with power(2, 10000)? Overflow?
- Example: What happens with very small numbers (e.g., 0.000000001)?
Part B: The Clarify Workflow
Here's how clarification works in practice.
Step 1: Run /sp.clarify
In Claude Code, from your calculator-project directory:
/sp.clarify
My calculator specification is at specs/calculator/spec.md
Please analyze it for:
1. Ambiguous terms or vague language
2. Missing assumptions
3. Incomplete requirements
4. Edge cases not covered
5. Any conflicts with my Constitution
What gaps should I address before planning?
What to expect:
- AI analyzes your specification
- Lists 5-10 potential gaps or ambiguities
- Asks clarifying questions
- Organizes findings and update specification
Step 2: Re-Run /sp.clarify (Optional)
If you made significant changes, run /sp.clarify again:
I've updated my specification based on your feedback.
Please analyze it again for remaining gaps.
Should I proceed to planning, or are there more clarifications needed?
Most specifications need 1-2 clarification rounds. After that, they're ready for planning.
Clarify Your Calculator Specification
Now let's clarify YOUR calculator specification.
Step 1: Run /sp.clarify on Your Specification
In Claude Code, from your calculator-project directory, run:
/sp.clarify
My calculator specification is at specs/calculator/spec.md
Please analyze it for:
1. Ambiguous terms (words that could mean different things)
2. Missing assumptions (things I might have assumed but didn't state)
3. Incomplete requirements (operations or cases not fully specified)
4. Edge cases not covered
5. Conflicts with my project Constitution
List any gaps or questions. Which ones should I address before planning?
Step 2: Verify Readiness
Ask your AI companion:
Is my specification now ready for the planning phase?
Or are there critical gaps I should address first?
Cascade Quality Validation
Now test the cascade effect: Does your clarified specification improve planning potential?
Ask yourself:
- ✅ Can a developer read your spec and understand exactly what to build?
- ✅ Are all edge cases documented?
- ✅ Are error behaviors explicit (which exception, which message)?
- ✅ Is precision defined?
- ✅ Are operation interfaces clear?
If yes to all, your spec is ready for planning.
Common Mistakes
Mistake 1: Skipping /sp.clarify Because "Spec Looks Good to Me"
The Error: "I wrote a detailed spec. I don't need clarification."
Why It's Wrong: We're blind to our own ambiguities. What's "obvious" to you may be unclear on paper.
The Fix: Always run /sp.clarify. You'll be surprised what gaps emerge. Most specs need 1-2 clarification rounds.
Mistake 2: Accepting All AI Suggestions Without Critical Thinking
The Error: AI says "Consider adding X" → immediately adding X without evaluating necessity
Why It's Wrong: Not all suggestions improve your spec. Some add unnecessary complexity.
The Fix: Evaluate each suggestion:
- Is this edge case likely in real use?
- Does this improve clarity or add noise?
- Does this align with my Constitution?
Then decide: Accept, Reject, or Modify.
Try With AI: Validate Clarification Progress
Use your AI companion to validate that your clarification has improved the specification.
Setup
Tool: Claude Code (or your configured AI orchestrator)
Context: Your original specification + clarification changes
Goal: Confirm specification is clear, complete, and ready for planning
What this exercise teaches:
- ❌ DON'T ask: "Fix my specification for me"
- ❌ DON'T ask: "Write the missing sections"
- ✅ DO ask: "What ambiguities did you find in my spec?"
- ✅ DO ask: "Can a developer implement from my specification alone?"
- ✅ DO ask: "Are there critical gaps I should address?"
Your role: Interpret feedback, decide which changes to make, refine specifications AI's role: Identify gaps, suggest clarifications, validate improvements
Prompt Set (Copy-Paste Ready)
Prompt 1 - Clarification Impact Assessment
Copy and paste this into Claude Code:
I've clarified my calculator specification based on initial feedback.
Can a developer now implement this calculator from my specification alone?
Any remaining critical gaps?
Prompt 2 - Specification Quality Self-Assessment
Finally, ask:
Let me self-assess my specification quality:
My specification now:
- ✅ Clearly defines 5 operations (add, subtract, multiply, divide, power)
- ✅ Specifies error handling for each operation
- ✅ Defines precision expectations (float, 6+ decimals)
- ✅ Covers edge cases (negative numbers, zero, large numbers)
- ✅ Respects project Constitution
Is this assessment accurate? What would you add?