Specification-Driven Development Methodology
A systematic approach to software development that starts with comprehensive specifications before implementation.
Workflow Overview
The spec workflow consists of four phases:
/spec:create -> /spec:validate -> /spec:decompose -> /spec:execute
Phase 1: Create (/spec:create)
Generate a comprehensive specification document using first-principles thinking:
- •Problem Analysis: Strip away solution assumptions, identify root cause
- •Validation: Confirm real user need, audit assumptions
- •Technical Discovery: Search codebase, identify conflicts/dependencies
- •Specification Writing: 17-section template covering all aspects
When to use: Starting any non-trivial feature or bugfix
Phase 2: Validate (/spec:validate)
Analyze the specification for completeness and detect overengineering:
- •WHY Analysis: Intent, goals, success criteria
- •WHAT Analysis: Scope, requirements, deliverables
- •HOW Analysis: Implementation details, error handling, testing
- •YAGNI Check: Cut unnecessary features aggressively
When to use: Before decomposing, after major spec revisions
Phase 3: Decompose (/spec:decompose)
Break the validated spec into actionable implementation tasks:
- •Task Breakdown: Single-objective tasks with clear acceptance criteria
- •Dependency Mapping: Identify blocking vs parallel work
- •Content Preservation: Copy ALL details, don't summarize
- •Task Management: Create in STM or TodoWrite
When to use: After spec passes validation
Phase 4: Execute (/spec:execute)
Implement using orchestrated specialist agents:
- •Implement: Launch domain expert agents
- •Test: Write comprehensive tests
- •Review: Code review for completeness AND quality
- •Fix: Address issues before marking complete
- •Commit: Atomic commits per task
When to use: After decomposition creates tasks
Key Principles
First Principles Problem Analysis
Before any solution, validate the problem:
- •What is the core problem separate from solutions?
- •Why does this problem exist?
- •What would success look like with unlimited resources?
- •Could we solve this without building anything?
YAGNI (You Aren't Gonna Need It)
Be aggressive about cutting scope:
- •Unsure if needed? Cut it
- •For "future flexibility"? Cut it
- •Only 20% of users need it? Cut it
- •Adds complexity? Question it, probably cut it
Content Preservation
When creating tasks from specs:
- •COPY implementation details verbatim
- •Include complete code examples
- •Never write "as specified in spec"
- •Each task must be self-contained
Quality Gates
Each phase has validation checkpoints:
- •Specs require 8+/10 quality score
- •Tasks require code review approval
- •Implementation requires all tests passing
Integration with Task Management
STM (Session Task Manager)
If installed, provides persistent task tracking:
stm init # Initialize stm add "Task" --details "..." # Create task stm list --pretty # View tasks stm update [id] --status done # Complete task
TodoWrite (Fallback)
Built-in session task tracking when STM unavailable.
See Also
- •references/spec-template.md - Full 17-section specification template
- •references/overengineering-patterns.md - Common patterns to avoid