skills/spec-driven-development/SKILL.md
Use when starting any non-trivial feature — enforces requirements → design → tasks workflow with explicit approval gates before writing code. Prevents wasted implementation effort.
npx skillsauth add kienbui1995/magic-powers spec-driven-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Approve the spec before writing the plan. Approve the plan before writing code. This catches wrong assumptions early, when they're cheap to fix.
<HARD-GATE> Do NOT write any implementation code until you have completed all 3 phases and received explicit user approval at each gate. No exceptions. </HARD-GATE>Phase 1: Requirements → [GATE: user approves]
Phase 2: Design → [GATE: user approves]
Phase 3: Tasks → [GATE: user approves]
↓
writing-plans + executing-plans
Goal: Know exactly what to build before deciding how.
Ask the user one question at a time:
Then write a structured requirements doc:
# Requirements: [Feature Name]
Date: YYYY-MM-DD
## Problem
[1-2 sentences. What pain does this solve?]
## Users
[Who uses this and in what context]
## Requirements
### Must Have
- WHEN [trigger], the system SHALL [behavior]
- WHEN [user action], the system SHALL [response] WITHIN [constraint]
### Should Have
- [Nice-to-have, won't block launch]
### Out of Scope
- [Explicit exclusions — prevents scope creep]
## Success Criteria
- [ ] [Measurable, testable criterion]
- [ ] [Measurable, testable criterion]
Save to docs/specs/YYYY-MM-DD-<feature>-requirements.md and commit.
Gate 1:
"Requirements written. Please review
<path>before we move to design. Any corrections or additions?"
Wait for explicit approval. Do not proceed without it.
Goal: Decide how to build it before building.
Use @architect (Opus) for complex designs. For simple features, Sonnet is fine.
Cover:
# Design: [Feature Name]
## Architecture
[Diagram or description of components and data flow]
## Data Model
[Schemas, types, key fields]
## API / Interface
[Endpoints or function signatures with types]
## Error Handling
[What fails, how to handle each case]
## Testing
[What to test, what not to test]
## Open Questions
[Unresolved decisions — resolve before implementing]
Save to docs/specs/YYYY-MM-DD-<feature>-design.md and commit.
Run @reviewer (Haiku) to check the design for inconsistencies. Fix issues, then:
Gate 2:
"Design written. Please review
<path>. Are there any open questions to resolve before we break this into tasks?"
Wait for explicit approval. Do not proceed without it.
Goal: Break the design into atomic, executable tasks with clear dependencies.
Each task must be:
# Tasks: [Feature Name]
## Dependencies
- [ ] Task 1 must complete before Task 3
- [ ] Tasks 2 and 3 can run in parallel
## Task 1: [Name]
**Depends on:** none
**Done when:** [test passes / endpoint returns X / UI shows Y]
Steps:
- [ ] Write failing test
- [ ] Implement minimal code
- [ ] Verify test passes
- [ ] Commit
## Task 2: [Name]
...
Save to docs/specs/YYYY-MM-DD-<feature>-tasks.md and commit.
Gate 3:
"Task breakdown ready at
<path>. Ready to start implementation?
- Subagent-driven (recommended) — fresh agent per task, review between
- Inline — execute in this session with checkpoints"
magic-powers:subagent-driven-developmentmagic-powers:executing-plansmagic-powers:writing-plans| Phase | Agent | Model | Why |
|---|---|---|---|
| Requirements | Default | Sonnet | Dialogue, light reasoning |
| Design | @architect | Opus | Deep system thinking |
| Design review | @reviewer | Haiku | Fast consistency check |
| Tasks | Default | Sonnet | Structured breakdown |
| Implementation | Per-task agents | Varies | Cost-optimized routing |
content-media
Use when designing for XR (AR/VR/MR), choosing interaction modes, or adapting 2D UI patterns for spatial computing
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment
development
Use when you have a spec or requirements for a multi-step task, before touching code
development
Use when executing a structured workflow — select and run a feature, bugfix, refactor, research, or incident template with correct agent and model assignments per phase.