| name | spec |
| description | Interview the user about a feature, then write a detailed spec to SPEC.md. |
| argument-hint | [feature-description] |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Edit |
I want to build: $ARGUMENTS
Interview me in detail using the AskUserQuestion tool (or direct questions if unavailable).
Ask about:
- Functional requirements: what exactly should this do? What inputs/outputs?
- Edge cases: what happens when things go wrong? Empty inputs? Concurrent access?
- UI/UX (if applicable): what does the user see? What's the interaction flow?
- Data model: what entities, relationships, constraints?
- Integration points: what external services, APIs, or existing code is involved?
- Non-functional: performance targets, security requirements, compliance?
- Tradeoffs: what's the MVP vs. the ideal? What can we cut?
Don't ask obvious questions. Dig into the hard parts I might not have considered.
Keep interviewing until we've covered everything, then write a complete spec to SPEC.md with:
- Overview
- Requirements (functional + non-functional)
- Technical design
- Data model
- API contracts (if applicable)
- Edge cases and error handling
- Test plan
- Open questions
After the spec is written, suggest: "Start a fresh session to implement from SPEC.md"