Sample SDD Repo - MathBuddy
A standards-driven development (SDD) course material repo. Follow the phases below to set up and build your venture project.
= Human input required at this step
Clone the course material repo parallel to your project repo, then copy STD-002 (VKF) and STD-001 (SDD) skills, commands, and state into this repo.
Command
What it does
cp -r (manual)
- Copies .claude/skills/venture-foundation/ (VKF skill + 5 reference guides)
- Copies .claude/commands/vkf/ (12 commands: init, validate, constitution, etc.)
- Copies .claude/commands/sdd/ (4 commands: start, status, implement, complete)
- Copies .claude/state/vkf-state.yaml and sdd-state.yaml (tracking state files)
Status: Done — details
Run VKF commands to scaffold the knowledge foundation before writing any specs.
Command
What it does
/vkf:init
- Creates specs/constitution/ with 8 template files (mission, pmf-thesis, principles, etc.)
- Creates specs/features/ directory for feature specs
- Creates changes/ and archive/ directories for SDD change management
/vkf:constitution
- Interactively fills Core constitution files (mission, pmf-thesis, principles, index)
- Replaces all [REQUIRED] placeholders with actual product decisions
/vkf:validate
- Audits repo against all 4 STD-002 requirements (structure, constitution, freshness, workflows)
- Must pass all checks before moving to Phase III
Status: Done — details
Phase III — Spec-Driven Development
Adopt STD-001: every behavior-changing feature gets a specification before implementation begins. First cycle: basic-calculator.
Command
What it does
/sdd:start {slug}
- Creates changes/{slug}/ with proposal.md, spec-delta.md, and tasks.md
- Sets sdd-state.yaml cycle to phase: proposal
- Commits with [spec] prefix
Fill [REQUIRED] sections
- Review and approve proposal, spec-delta, and tasks before implementation
/sdd:status
- Shows current cycle state, task progress, and unfilled [REQUIRED] placeholders
/sdd:implement
- Reads spec-delta and executes tasks one by one following the spec exactly
- Marks tasks [x] in tasks.md, transitions state to phase: implementation
- Commits each task with [impl] prefix
Verify feature
- Test the feature works as specified before completing the cycle
/sdd:complete
- Merges spec-delta into canonical specs/features/ (creates new spec files or updates existing ones)
- Moves changes/{slug}/ to archive/{slug}/
- Clears sdd-state.yaml cycle and adds entry to history
- Commits with [spec] and [archive] prefixes
Status: Done — details
Phase IV — Adding New Features
Repeatable playbook for every new feature. Same SDD loop, no exceptions for behavior-changing code.
Command
What it does
/sdd:start {slug}
- Creates changes/{slug}/ folder with proposal.md, spec-delta.md, and tasks.md
- All three files contain [REQUIRED] placeholders to fill before implementing
- Updates sdd-state.yaml with active cycle slug and phase: proposal
Fill [REQUIRED] sections
- Review and approve the proposal, spec-delta, and tasks that Claude drafts
- This is where you shape what gets built — if the spec is wrong, the code will be wrong
/sdd:implement
- Picks next unchecked task from tasks.md and implements it following spec-delta
- Modifies source files (src/), marks task [x], transitions to phase: implementation
- Commits with [impl] prefix; run multiple times or with --all for all tasks
Verify feature
- Test the feature in the browser or run tests before completing the cycle
/sdd:complete
- Creates new folder in specs/features/ with merged spec from spec-delta
- Updates existing spec files with MODIFIED sections from spec-delta
- Moves changes/{slug}/ to archive/{slug}/ (change directory is now empty)
- Updates sdd-state.yaml: clears active cycle, adds to history array
- Three commits: [spec] for spec merge, [archive] for move, [state] for cleanup
Status: Next — details