Spec-First Ship
FeaturedOn demandAbout Spec-First Ship
This loop treats spec.md as the source of truth. Each round picks an unchecked requirement, implements it, and runs the tests to confirm the result. Once it passes, the item is checked off in spec.md and the next round takes up what remains. It is started manually and runs at most 15 rounds.
Key features
- 01Uses the checkbox state in spec.md to track progress
- 02Verifies each change with npm test
- 03Manual trigger, capped at 15 rounds
- 04Works with Claude Code and Cursor
Use cases
- 01Delivering a new feature from a written requirements document
- 02Working through a list of requirements while keeping a checked-off record
- 03Advancing a large change in test-guarded increments
- Goal
- Every requirement in spec.md is implemented and checked off.
- Exit when
- Stop when spec.md contains no unchecked requirements.
- Between iterations run
- npm test
Launch prompt
Paste into Claude Code / Cursor. The agent repeats the steps below until the exit condition is met.
Start the "Spec-First Ship" loop. Goal: Every requirement in spec.md is implemented and checked off. Max iterations: 15. Step 1: Pick a requirement — Read spec.md, choose the next unchecked requirement and decide which code needs to change. Step 2: Implement the change — Write or modify code for that requirement, limiting edits to what the item needs. Step 3: Run verification — Run npm test. If tests fail, fix them within the round or carry the work into the next; the requirement counts as done only when everything passes. `npm test` Step 4: Check off the item — After the tests pass, tick the requirement in spec.md and look for any remaining unchecked items. Between iterations run: `npm test` Exit when: Stop when spec.md contains no unchecked requirements.
Steps
Each round runs in order; if the exit condition isn’t met, another round starts, up to 15.
Read spec.md, choose the next unchecked requirement and decide which code needs to change.
Write or modify code for that requirement, limiting edits to what the item needs.
Run npm test. If tests fail, fix them within the round or carry the work into the next; the requirement counts as done only when everything passes.
npm testAfter the tests pass, tick the requirement in spec.md and look for any remaining unchecked items.
Supported agents
Coding agents that can run this loop directly.