Interviews users to clarify vague requirements using Socratic questioning and ambiguity scoring before coding begins.
How this skill is triggered — by the user, by Claude, or both
Slash command
/spec-driven-development:requirements-clarifierThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Requirements Clarifier implements Socratic questioning with mathematical ambiguity scoring. It replaces vague ideas with crystal-clear specifications by asking targeted questions that expose hidden assumptions, measuring clarity across weighted dimensions, and refusing to proceed until ambiguity drops below the resolved threshold. The output feeds into planning and execution, ensuring maximum c...
Requirements Clarifier implements Socratic questioning with mathematical ambiguity scoring. It replaces vague ideas with crystal-clear specifications by asking targeted questions that expose hidden assumptions, measuring clarity across weighted dimensions, and refusing to proceed until ambiguity drops below the resolved threshold. The output feeds into planning and execution, ensuring maximum clarity at every stage.
Parse the user's idea
Detect brownfield vs greenfield:
For brownfield: Explore relevant codebase areas
Set ambiguity threshold: Default 0.2 (20%)
Announce the interview to the user:
Starting requirements clarification. I'll ask targeted questions to understand your idea thoroughly before building anything. After each answer, I'll show your clarity score. We'll proceed once ambiguity drops below 20%.
Your idea: "{initial_idea}" Project type: {greenfield|brownfield} Current ambiguity: 100%
Repeat until ambiguity ≤ threshold OR user exits early:
Question targeting strategy:
Question styles by dimension:
| Dimension | Question Style | Example |
|---|---|---|
| Goal Clarity | "What exactly happens when...?" | "When you say 'manage tasks', what specific action does a user take first?" |
| Constraint Clarity | "What are the boundaries?" | "Should this work offline, or is internet connectivity assumed?" |
| Success Criteria | "How do we know it works?" | "If I showed you the finished product, what would make you say 'yes, that's it'?" |
| Context Clarity (brownfield) | "How does this fit?" | "I found JWT auth middleware in src/auth/. Should this feature extend that path or diverge?" |
Present it with the current ambiguity context:
Round {n} | Targeting: {weakest_dimension} | Why now: {rationale} | Ambiguity: {score}%
{question}
After receiving the user's answer, score clarity across all dimensions.
Greenfield: ambiguity = 1 - (goal × 0.40 + constraints × 0.30 + criteria × 0.30)
Brownfield: ambiguity = 1 - (goal × 0.35 + constraints × 0.25 + criteria × 0.25 + context × 0.15)
After scoring, show the user their progress:
Round {n} complete.
| Dimension | Score | Weight | Weighted | Gap |
| --- | --- | --- | --- | --- |
| Goal | {s} | {w} | {s*w} | {gap or "Clear"} |
| Constraints | {s} | {w} | {s*w} | {gap or "Clear"} |
| Success Criteria | {s} | {w} | {s*w} | {gap or "Clear"} |
| **Ambiguity** | | | **{score}%** | |
{score <= threshold ? "Clarity threshold met! Ready to proceed." : "Focusing next question on: {weakest_dimension}"}
At specific round thresholds, shift the questioning perspective:
Challenge the user's core assumption. Ask "What if the opposite were true?" or "What if this constraint doesn't actually exist?"
Probe whether complexity can be removed. Ask "What's the simplest version that would still be valuable?"
The ambiguity is still high after 8 rounds, suggesting we may be addressing symptoms rather than the core problem. Ask "What IS this, really?"
Challenge modes are used ONCE each, then return to normal Socratic questioning.
When ambiguity ≤ threshold (or hard cap / early exit):
.specs/requirements-clarifier-{slug}.mdSpec structure:
# Requirements Spec: {title}
## Metadata
- Rounds: {count}
- Final Ambiguity Score: {score}%
- Type: greenfield | brownfield
## Clarity Breakdown
| Dimension | Score | Weight | Weighted |
...
## Goal
{crystal-clear goal statement}
## Constraints
- {constraint 1}
## Non-Goals
- {explicitly excluded scope}
## Acceptance Criteria
- [ ] {testable criterion 1}
## Assumptions Exposed & Resolved
| Assumption | Challenge | Resolution |
...
After the spec is written, present execution options:
.specs/requirements-clarifier-{slug}.md with goal, constraints, non-goals, acceptance criteria, and clarity breakdownGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub yeaight7/agent-powerups --plugin spec-driven-development