Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Conducts a deep, multi-round interview to clarify ambiguous requirements and produces a structured specification document. Automatically discovers requirement files and asks probing, non-obvious questions across technical implementation, UX/UI, trade-offs, edge cases, and architectural decisions.
.claude/skills/kangminhyuk1111-spec-interview/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 9% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 37% | 0% |
| case-15 | ✓→✗ | ▼ Worse | 58% | 0% |
| case-16 | ✓→✗ | ▼ Worse | 98% | 0% |
This skill transforms vague or incomplete requirements into a comprehensive, actionable specification through structured interviewing. It reads existing requirement documents in the project, identifies gaps and ambiguities, then conducts a rigorous multi-round interview using the AskUserQuestion tool. The interview continues until all critical dimensions are clarified. Upon completion, it produces a structured markdown specification file.
**/SPEC.md, **/spec.md, **/SPEC*.md**/PRD.md, **/prd.md**/REQUIREMENTS.md, **/requirements.md**/README.md (if it contains requirement-like content)**/docs/requirements/**, **/docs/specs/**AskUserQuestion. Follow these principles:Question Quality Rules:
Interview Dimensions (cover all that are relevant):
Interview Flow:
SPEC.md (or update the existing file if the user prefers).markdown# [Project/Feature Name] Specification ## 1. Overview - Problem statement - Solution summary - Key goals and success criteria ## 2. Functional Requirements ### 2.1 Core Features - Feature descriptions with acceptance criteria ### 2.2 User Flows - Step-by-step user interactions ### 2.3 Edge Cases & Error Handling - Defined behavior for exceptional scenarios ## 3. Technical Architecture ### 3.1 System Design - High-level architecture decisions - Component boundaries ### 3.2 Data Model - Key entities and relationships ### 3.3 API Design - Endpoints, contracts, error responses ### 3.4 State Management - Client/server state boundaries ## 4. UX/UI Specification ### 4.1 Interaction Patterns - Key interactions and feedback ### 4.2 States - Loading, empty, error, success states ### 4.3 Accessibility - Requirements and standards ## 5. Non-Functional Requirements ### 5.1 Performance - Targets and constraints ### 5.2 Security - Authentication, authorization, data protection ### 5.3 Scalability - Growth expectations and limits ## 6. Constraints & Trade-offs - Explicit decisions made and their rationale - What was deliberately excluded and why ## 7. Open Questions - Any remaining items that need future clarification
/spec-interview(With a SPEC.md file in the project containing: "Build a notification system for the app")
Questions asked:
1. "The document mentions 'notifications' but doesn't specify the delivery channels.
Are we talking about in-app only, or also push/email/SMS? If multiple, which is
the primary channel and which are fallbacks?"
2. "What triggers a notification? Is it purely event-driven from backend actions,
or can other users trigger notifications (e.g., mentions, shares)?"
3. "Should notifications be real-time (WebSocket/SSE) or is polling acceptable?
What's the maximum acceptable delay between event and notification?"Questions asked:
1. "You mentioned push notifications are needed. If the user has denied push
permissions, should the system fall back to email, show an in-app prompt to
re-enable, or silently degrade?"
2. "For real-time delivery: if the WebSocket connection drops, should queued
notifications be delivered on reconnect, or only show new ones from that point?"
3. "You said 'mentions' trigger notifications. In a thread with 50 participants,
does @all notify everyone? Is there a rate limit to prevent notification storms?"A structured SPEC.md file with all ambiguities resolved, containing specific implementation details derived from the interview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,482 | 4,565 | -17% | 1 | 1 | 0% | 1,003 | 2,039 | +103% | 0 | 0 | — |
case-02 | fail→fail | 6,588 | 2,408 | -63% | 1 | 1 | 0% | 1,381 | 2,065 | +50% | 0 | 0 | — |
case-03 | fail→fail | 6,613 | 1,464 | -78% | 1 | 1 | 0% | 1,171 | 2,041 | +74% | 0 | 0 | — |
case-04 | pass→pass | 13,192 | 16,499 | +25% | 1 | 1 | 0% | 2,904 | 5,145 | +77% | 0 | 0 | — |
case-05 | pass→pass | 7,829 | 7,392 | -6% | 1 | 1 | 0% | 1,490 | 3,133 | +110% | 0 | 0 | — |
case-06 | pass→pass | 6,676 | 5,483 | -18% | 1 | 1 | 0% | 1,852 | 3,276 | +77% | 0 | 0 | — |
case-07 | fail→fail | 11,554 | 6,824 | -41% | 1 | 1 | 0% | 2,166 | 2,193 | +1% | 0 | 0 | — |
case-08 | fail→fail | 4,711 | 3,890 | -17% | 1 | 1 | 0% | 838 | 2,036 | +143% | 0 | 0 | — |
case-09 | pass→fail | 11,127 | 3,392 | -70% | 1 | 1 | 0% | 1,792 | 1,947 | +9% | 0 | 0 | — |
case-10 | pass→fail | 8,655 | 4,612 | -47% | 1 | 1 | 0% | 1,470 | 2,014 | +37% | 0 | 0 | — |
case-11 | pass→pass | 9,129 | 7,271 | -20% | 1 | 1 | 0% | 1,649 | 3,130 | +90% | 0 | 0 | — |
case-12 | fail→fail | 19,231 | 33,779 | +76% | 1 | 1 | 0% | 3,736 | 8,190 | +119% | 0 | 0 | — |
case-13 | pass→pass | 16,360 | 18,625 | +14% | 1 | 1 | 0% | 2,995 | 5,168 | +73% | 0 | 0 | — |
case-14 | fail→fail | 20,022 | 26,234 | +31% | 1 | 1 | 0% | 3,661 | 6,564 | +79% | 0 | 0 | — |
case-15 | pass→fail | 7,030 | 4,561 | -35% | 1 | 1 | 0% | 1,271 | 2,009 | +58% | 0 | 0 | — |
case-16 | pass→fail | 6,316 | 3,331 | -47% | 1 | 1 | 0% | 1,026 | 2,030 | +98% | 0 | 0 | — |
case-17 | pass→fail | 7,277 | 9,430 | +30% | 1 | 1 | 0% | 1,236 | 2,194 | +78% | 0 | 0 | — |
case-18 | fail→fail | 6,180 | 6,304 | +2% | 1 | 1 | 0% | 1,006 | 2,026 | +101% | 0 | 0 | — |
case-19 | pass→fail | 5,328 | 5,156 | -3% | 1 | 1 | 0% | 922 | 2,037 | +121% | 0 | 0 | — |
case-20 | pass→fail | 8,005 | 4,571 | -43% | 1 | 1 | 0% | 1,357 | 2,113 | +56% | 0 | 0 | — |
case-21 | pass→fail | 6,312 | 3,227 | -49% | 1 | 1 | 0% | 1,064 | 1,933 | +82% | 0 | 0 | — |
case-22 | pass→fail | 11,121 | 5,422 | -51% | 1 | 1 | 0% | 1,861 | 1,975 | +6% | 0 | 0 | — |
case-23 | pass→fail | 8,560 | 5,975 | -30% | 1 | 1 | 0% | 1,568 | 2,208 | +41% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 10 counted toward the lift figure. The other 13 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -39 percentage points is the difference between those two pass rates over the 10 comparable cases. 10 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.