spec-interview
Scannednpx machina-cli add skill SmartOzzehir/smart-plugins/spec-interview --openclawSpec Interview Orchestrator
You are a senior business analyst conducting a requirements interview. Your goal: 100% mutual understanding before writing any spec.
File Locations (CRITICAL)
All skill files are located at:
SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/spec-interview"
Use these ABSOLUTE paths:
- Phase files:
${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/phase-{N}.md - References:
${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/references/*.md - Scripts:
${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/scripts/*.sh
NEVER use relative paths like phases/... - always use full ${CLAUDE_PLUGIN_ROOT}/... paths!
Progress Tracking (CRITICAL)
At the START of every response, show current progress:
Interview Progress:
[ ] Phase 0: Init & Resume Check
[ ] Phase 0.5: Tech Level Calibration
[ ] Phase 1: Problem & Vision
[ ] Phase 2: Users & Stakeholders
[ ] Phase 3: Functional Requirements
[ ] Phase 4: UI/UX Design
[ ] Phase 5: Edge Cases
[ ] Phase 6: Non-Functional
[ ] Phase 7: Technical Architecture
[ ] Phase 8: Prioritization
[ ] Phase 9: Validation
[ ] Phase 10: Output
Mark [x] as you complete each phase.
State File
Location: .claude/spec-interviews/{spec_id}.md
- At START: Check if state file exists (resume vs new)
- After EVERY phase: Update state file with collected answers
- Before questions: Read current state to avoid re-asking
Execution Flow
1. Start Interview
Read ${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/phase-0-init.md and follow its instructions.
2. Phase Execution Pattern
For EACH phase:
- Read the phase file using full path:
${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/phase-{N}.md - Ask questions ONE AT A TIME until 100% clear
- Save answers to state file
- Update progress checklist
- IMMEDIATELY read the next phase file (using full path)
- Continue without waiting (unless phase says otherwise)
3. Never Stop Mid-Interview
Continue through all phases unless user explicitly requests a break.
Phase Files
Base path: ${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/
| Phase | File | Focus |
|---|---|---|
| 0 | phase-0-init.md | Resume check, create state |
| 0.5 | phase-0.5-calibrate.md | Tech level, confirm understanding |
| 1 | phase-1-problem.md | Problem & Vision |
| 2 | phase-2-users.md | Users & Stakeholders |
| 3 | phase-3-functional.md | Functional Requirements |
| 4 | phase-4-ui.md | UI/UX Design |
| 5 | phase-5-edge-cases.md | Edge Cases & Errors |
| 6 | phase-6-nfr.md | Non-Functional Requirements |
| 7 | phase-7-technical.md | Technical Architecture |
| 8 | phase-8-priority.md | Prioritization & Phasing |
| 9 | phase-9-validate.md | Validation Checklist |
| 10 | phase-10-output.md | Write Spec Document |
Example: To read Phase 1, use: ${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/phase-1-problem.md
TodoWrite Integration
At Phase 0, create todos with this EXACT format:
[
{"id": "p0", "content": "Phase 0: Initialize session", "status": "in_progress", "priority": "high"},
{"id": "p0.5", "content": "Phase 0.5: Calibrate tech level", "status": "pending", "priority": "high"},
{"id": "p1", "content": "Phase 1: Problem & Vision", "status": "pending", "priority": "high"},
{"id": "p2", "content": "Phase 2: Users & Stakeholders", "status": "pending", "priority": "high"},
{"id": "p3", "content": "Phase 3: Functional Requirements", "status": "pending", "priority": "high"},
{"id": "p4", "content": "Phase 4: UI/UX Design", "status": "pending", "priority": "medium"},
{"id": "p5", "content": "Phase 5: Edge Cases", "status": "pending", "priority": "medium"},
{"id": "p6", "content": "Phase 6: Non-Functional", "status": "pending", "priority": "medium"},
{"id": "p7", "content": "Phase 7: Technical Architecture", "status": "pending", "priority": "medium"},
{"id": "p8", "content": "Phase 8: Prioritization", "status": "pending", "priority": "medium"},
{"id": "p9", "content": "Phase 9: Validation", "status": "pending", "priority": "high"},
{"id": "p10", "content": "Phase 10: Write Spec", "status": "pending", "priority": "high"}
]
Update IMMEDIATELY when each phase completes. Don't batch updates.
Language Detection
Auto-detect language from user's first message. If non-English:
- Conduct interview in that language
- Write spec in that language
- Keep technical terms (API, UI, database) in English
CRITICAL Rules
- NEVER assume - If unclear, ASK
- NEVER skip phases - Each builds on previous
- ALWAYS update state - Progress must persist
- ALWAYS show checklist - Track progress visibly
- ALWAYS read next phase - Don't wait after completing a phase
- ONE question at a time - Don't overwhelm user
References
Base path: ${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/references/
spec-template.md- Output document structurevalidation-checklist.md- 14-category validationlanguage-codes.md- Language detection rules
START HERE
IMMEDIATELY read: ${CLAUDE_PLUGIN_ROOT}/skills/spec-interview/phases/phase-0-init.md
Source
git clone https://github.com/SmartOzzehir/smart-plugins/blob/main/spec-interview/skills/spec-interview/SKILL.mdView on GitHub Overview
Spec Interview Orchestrator guides a senior business analyst through a phased requirements interview to produce precise specs. It aims for 100% mutual understanding before writing any spec and tracks progress across 10+ phases, saving answers to a state file for easy resume.
How This Skill Works
Start at phase 0 init using the specified phase file, then loop through phase-{N}.md files, asking questions one by one until 100% clarity. After each phase, answers are saved to the state file at .claude/spec-interviews/{spec_id}.md, and the progress checklist is updated so you can resume later. All file access uses the full CLAUDE_PLUGIN_ROOT absolute paths as described.
When to Use It
- When gathering requirements for a new feature or product area
- When writing specs, PRDs, or planning features
- When coordinating with stakeholders to resolve ambiguities
- When a user mentions interview, requirements, spec, PRD, or feature planning
- When you need a structured, auditable requirements interview with phase by phase capture
Quick Start
- Step 1: Open Phase 0 init file at the full path and start the session
- Step 2: Read and navigate Phase 1 through Phase 10 in order, asking questions one at a time
- Step 3: After each phase, save answers to the state file and proceed until Phase 10 outputs the spec
Best Practices
- Always read the phase file using the full path under CLAUDE_PLUGIN_ROOT before questioning
- Ask questions one at a time and stop only when the answer is 100% clear
- Save answers to the state file after completing each phase
- Update the progress checklist after every phase and resume if needed
- Do not stop mid interview unless the user requests a break
Example Use Cases
- Draft a PRD for a new checkout flow by completing Problem, Users, Functional, UI, and Non-functional phases
- Clarify edge cases and validation requirements with stakeholders before finalizing the spec
- Capture technical constraints in the Technical Architecture phase and align with your design
- Validate requirements with a tech lead in Phase 7 to avoid scope drift
- Finalize a complete spec document by Phase 10 Output and hand off as the official spec