SPEC-Based Development - Interview
SPEC-based development workflow from Anthropic engineer Thariq.
Triggers
- "spec", "specification", "interview", "feature design"
Workflow
Step 1: Check or Create SPEC.md
Check if SPEC.md exists in the current directory.
- If yes: Read it and start interview
- If no: Ask user for basic idea, then generate draft
Step 2: In-Depth Interview
Must use AskUserQuestion tool to ask questions in the following areas:
Technical Implementation
- What tech stack to use
- Integration method with existing codebase
- Performance requirements
UI & UX
- User flows
- Design patterns
- Accessibility requirements
Concerns
- Security considerations
- Scalability issues
- Maintenance complexity
Trade-offs
- Time vs quality
- Simplicity vs functionality
- Flexibility vs performance
Step 3: Question Rules
- No obvious questions: Skip clear ones like "what language?"
- Go deep: 40+ questions are fine
- Continuous interview: Keep asking until complete
- 1-2 questions at a time: Easy for user to answer
Step 4: Specification Writing
After interview completion, update SPEC.md file in detail:
# [Feature Name] Specification
## Overview
[One sentence description]
## Goals
- [ ] Goal 1
- [ ] Goal 2
## Tech Stack
- ...
## Detailed Requirements
### Functional Requirements
1. ...
### Non-Functional Requirements
1. ...
## UI/UX Specification
- ...
## API Design (if applicable)
- ...
## Data Model (if applicable)
- ...
## Security Considerations
- ...
## Test Plan
- ...
## Milestones
1. [ ] Phase 1
2. [ ] Phase 2
## Open Questions / Decisions Needed
- ...
Step 5: Guidance
After completing the specification, guide the user:
"The specification is complete. Start implementation in a new session with the following command:"
Read SPEC.md and start implementingAfter implementation, verify:
/spec-verify
Core Principles
- Context separation: Interview session != Implementation session
- User control: User decides direction through questions
- Detailed documentation: Sufficient detail for immediate execution in the next session