spec-first, Spec Kit and BMAD

All three write a spec before the code. They differ in what gets checked, and when.

Questionspec-firstSpec KitBMAD
Spec checked against the code before the buildA script resolves every cited file and line, then a fresh reviewer answers BUILD, BUILD WITH CUTS or REFUSEanalyze checks spec, plan and tasks against each otherNot described
Code checked against the spec after the buildDone criteria, and the verify stages in the commit gateconverge compares the code with the spec and adds missing tasksBMad Loop builds and verifies an epic unattended
Commit blocked while a check is redBuilt inPossible through extensionsNot described
Decision log per changeChose, over, why: one file per specdecision.md for assessmentsDecisions carried as durable context
Agents working in parallelA worktree per spec; ids from the date plus random hexSpec numbers come from counting the existing specsNot described
Spec formatYAML with a schemaMarkdownMarkdown
BreadthA focused method: nine skills and a gateDozens of agent integrations, extensions, presets, bug and assessment processesPersonas for product, architecture, UX, development and testing, with modules

From each project's own documentation on 28 October 2026: github/spec-kit and its spec-driven.md, and bmad-code-org/BMAD-METHOD. "Not described" means their documentation doesn't say, not that the feature can't exist. Corrections are welcome as a GitHub issue.

When to pick which

Spec Kit and BMAD cover more ground: more agents, more roles, more process. Pick one of them if you want a broad framework from idea to plan.

spec-first is narrower and stricter. Pick it if the failures you see are wrong assumptions about existing code, specs that don't match what was built, and "done" that wasn't. It checks the spec against the code before the build and blocks the commit until your checks pass.

Read the field report for what 1,300 specs of this looked like in practice.