Loading...
Loading...
Transform conversations and ideas into structured technical specifications. Outputs: User stories, acceptance criteria, technical requirements, edge cases. Use when user wants to document requirements before coding. Triggers: write spec, create user stories, document requirements, /spec
npx skill4agent add vibery-studio/templates spec-writerIF user provided: problem statement + target users + success criteria
→ Proceed to Phase 2
ELSE
→ Gather missing information below (one question at a time)| Item | Question | Why Required |
|---|---|---|
| Problem | "What problem are you solving?" | Defines scope boundaries |
| Users | "Who will use this?" | Shapes UX requirements |
| Success | "How will you know it works?" | Creates acceptance criteria |
| Constraints | "Any technical/business constraints?" | Prevents wasted effort |
IF Phase 1 complete:
→ Analyze and categorize requirements
ELSE
→ Return to Phase 1FOR each requirement mentioned:
Classify as:
- MUST: Core functionality, non-negotiable
- SHOULD: Important but has workarounds
- COULD: Nice to have, time permitting
- WON'T: Explicitly out of scope (important to document)| ID | Requirement | Priority | Rationale |
|---|---|---|---|
| R1 | [requirement] | MUST/SHOULD/COULD | [why this priority] |
FOR each MUST requirement:
Ask: "What happens when [edge case]?"
Common edge cases to probe:
- Empty/null inputs
- Maximum scale (1000x normal)
- Concurrent access
- Network failure
- Permission denied
- Invalid data formatIF requirements table complete + edge cases documented:
→ Generate user stories
ELSE
→ Return to Phase 2AS A [user type]
I WANT TO [action]
SO THAT [benefit]
ACCEPTANCE CRITERIA:
- GIVEN [context]
WHEN [action]
THEN [expected result]
EDGE CASES:
- [edge case]: [expected behavior]
TECHNICAL NOTES:
- [implementation hints, if relevant]FOR each MUST requirement:
→ Generate 1 user story
→ Include 2-4 acceptance criteria
→ Include 1-3 edge cases
FOR each SHOULD requirement:
→ Generate 1 user story (simpler format)
→ Include 1-2 acceptance criteriaIF user stories generated:
→ Ask: "Ready for technical spec, or need to adjust stories first?"
IF user confirms:
→ Generate technical specification
ELSE
→ Revise stories based on feedback## Technical Specification: [Feature Name]
### Overview
[1-2 sentences describing the feature]
### Data Models
[If new data structures needed]
### API Endpoints
[If applicable]
| Method | Path | Request | Response |
|--------|------|---------|----------|
### State Changes
[What changes when this feature runs]
### Dependencies
[External services, libraries, existing code]
### Security Considerations
[Auth, validation, rate limits]
### Testing Strategy
- Unit: [what to unit test]
- Integration: [what to integration test]
- E2E: [critical user flows]IF user's project has existing spec format:
→ Match that format
ELSE IF user specified format preference:
→ Use requested format
ELSE
→ Use default markdown format below# [Feature Name] Specification
## Summary
[One paragraph overview]
## Requirements
[Requirements table from Phase 2]
## User Stories
[Stories from Phase 3]
## Technical Specification
[Spec from Phase 4]
## Out of Scope
[Explicitly excluded items - prevents scope creep]
## Open Questions
[Unresolved items needing decisions]AFTER spec complete:
Suggest: "Spec ready. Next steps:"
- "Use /prd to expand into full PRD"
- "Use architect-planner to design structure"
- "Start coding with this spec as context"