Feature Spec Writer
When to Use
- •User wants to create or update a feature spec
- •Planning a new feature before implementation
- •Documenting an existing feature
Process
- •Ask clarifying questions about user value, workflows, edge cases
- •Draft the spec with acceptance criteria
- •Iterate based on feedback
- •Save to
spec/features/YYYY-MM-DD-<name>.md
Questions to Ask
User Value:
- •Who is this for?
- •What problem does it solve?
How It Works:
- •Walk through a typical interaction
- •What edge cases matter?
Acceptance Criteria:
- •How do we know it's done?
- •What must be included?
Template
markdown
# Feature: [Name] **Date**: YYYY-MM-DD **Status**: WIP | Active | Inactive **Last updated**: YYYY-MM-DD ## User Value [1 paragraph: Why does the user care?] ## How It Works [2-3 paragraphs: User-centric description] ## Key Interactions - **When [scenario]**: [behavior] - **Edge case [X]**: [how handled] ## Acceptance Criteria - [ ] User can [action] - [ ] System [behavior] - [ ] [Requirement] ## Related Features - [Feature] — [relationship] ## Design Decisions - **Why this approach?** [Rationale] ## Notes - [Implementation hints]
Tips
User Value:
- •❌ "Allow users to configure settings"
- •✅ "Users can adjust difficulty to match their level"
Acceptance Criteria:
- •❌ "Feature works"
- •✅ "User can adjust timer from 5–90 minutes"
Keep it concise:
- •User Value: 1 paragraph
- •How It Works: 2-3 paragraphs
- •Acceptance Criteria: 5-8 items
After Writing
- •Save to
spec/features/YYYY-MM-DD-<name>.md - •Update
spec/features/README.md - •Proceed to SPEC LOCK