DraftlizeVOL. 1 · 2026 EDITION
Start free →
Guide · Spec-driven development

Spec-driven development,
when the agent writes the code.

Spec-driven development makes the specification the source of truth: you decide precisely what to build, and the implementation follows from the spec — increasingly written by an AI coding agent like Claude Code or Cursor. It works right up until the spec and the code diverge. The spec sits in a doc, the agent writes from a copy, a decision upstream changes, and now the spec, the code, and the agent's context all disagree — quietly, until something breaks. Draftlize makes the spec an addressable card the agent reads over MCP before it writes, and flips it to drift_detected the moment the implementation no longer matches.

Start free with $5No card. Pay only for what you use.
TL;DR

A spec in a doc vs a spec the agent reads.

Spec-driven development lives or dies on whether the spec still matches the code. A markdown spec cannot tell you when it stopped matching; a card that knows its dependencies can.

DraftlizeSpec in a doc / markdown
What the agent readsLive cards over MCPA copy pasted into the prompt
A decision changesDependent specs flag staleThe spec silently goes wrong
Implementation statusFlips to drift_detected on its ownWhatever the doc said last
One decision, six specsOne card, cited from all sixSix copies that drift apart
Who keeps spec and code alignedThe substrate tracks itYour memory

Why spec-driven development breaks down.

I

The spec and the code drift apart

You write the spec, the agent builds it, and both are correct on day one. Then the code evolves in pull requests the spec never hears about, and the spec evolves in edits the code never sees. Two sources of truth, diverging — which is the same as having none.

II

The agent writes from a stale copy

When you paste a spec into a prompt, the agent builds from a snapshot frozen at copy time. Change a decision after that and the agent keeps implementing the old one — confidently, because nothing told it the ground moved.

III

One decision changes, six specs lie

Flip a decision the API contract rested on and every spec that assumed it is now wrong. Nothing links the decision to the specs, so they read as truth until an engineer — or the agent — trips over the contradiction in review.

Spec-driven development on a live substrate.

I

The spec is a card the agent reads first

Claude Code or Cursor pulls the relevant spec and the decisions under it over MCP before it writes a line — so it implements the current definition, not a paste from last week. The spec is context the agent reads on every turn, not a document it saw once.

II

Change a decision, dependent specs flag stale

Each spec card declares what it depends on. Change an upstream decision and every spec built on it turns stale automatically — the way a build system invalidates everything downstream of a changed file.

III

Implementation flips to drift_detected

When the spec moves after the code was written, the implementation status flips itself to drift_detected — so the gap between spec and code surfaces the moment it opens, not three sprints later in a post-mortem.

Spec-driven development is only as strong as the link between the spec and the code. Make that link something the substrate maintains, not something you remember to.
Write the spec once. Let the agent read the live version, every turn.
FAQ

Common questions.

What is spec-driven development?

Spec-driven development is an approach where a precise specification is the source of truth and the implementation follows from it, rather than the design emerging from the code as you write. In the AI era the spec is often what a human writes and the code is what an agent generates from it, which makes keeping the two in sync the central problem.

How is spec-driven development different from test-driven development?

Test-driven development writes a failing test first, then code to pass it. Spec-driven development writes the specification first, then implements to satisfy it — and tests can be one expression of that spec. The two are complementary: the spec says what to build and why, the tests check that the build matches.

Does spec-driven development work with AI coding agents?

It is arguably where it matters most. An agent like Claude Code or Cursor implements from whatever spec it is given, so the freshness of the spec directly determines the code. The failure mode is the agent building from a stale copy — which is exactly what an addressable, agent-read spec avoids.

How do you keep the spec and the code in sync?

Stop storing the spec as a static copy. Draftlize makes the spec a card the agent reads over MCP before it writes, wires each spec to the decisions it depends on, and flips implementation status to drift_detected when an upstream decision changes — so divergence surfaces the moment it happens instead of in review.

Give your agent a spec that stays true — free with $5.

New accounts get $5 freePay only for what you useBalance never expires

Write specs as cards, connect Claude Code or Cursor over MCP, and let the implementation flag drift the moment a decision moves. See Draftlize for developers.

Start free with $5

Spec-driven development