Spec-Driven Development with Coding Agents: How to Ship Without Losing Control

· AI

Coding agents can write a lot of code, fast. That’s both the promise and the problem. Without a disciplined workflow around them, you end up with a sprawling codebase you didn’t fully design, specs that no longer match reality, and a growing sense that the agent is driving and you’re just along for the ride.

Spec-driven development puts you back in control. Here’s the framework.


Your Specs Are the Source of Truth

Before any agent writes a line of code, your specs need to be solid — and they need to stay solid throughout the project. This means maintaining:

Agents don’t have institutional knowledge. Your specs are how you give it to them.


Structure Every Feature Phase Around Three Documents

Each feature moves through three documents before implementation begins:

This structure creates a hard separation between the planning phase and the implementation phase. That separation matters: mixing the two is the fastest way to overflow the agent’s context and your own.


The Feature Phase Checklist

Before starting any new feature, run through this checklist to ensure you’re starting clean:

  1. Do I have unfinished work? Resolve it before opening a new branch.
  2. Is the last feature branch merged to main? Don’t stack work on unreviewed code.
  3. Is the next roadmap item still the right thing to build? Re-evaluate after every merge.
  4. Have I cleared the agent’s context? Make sure the specs capture your current intent before spinning up a new session.

Starting in the right flow state is not a soft concern — it directly affects the quality of what gets generated.


Ship in Small, Manageable Stages

Coding agents produce a lot of output quickly. The risk isn’t that they’ll write too little — it’s that they’ll write too much, in the wrong direction, before you catch it. A few principles to manage this:


Replanning Is Part of the Process

After each feature ships, take time to replan before moving on:


Trust the Agent, but Verify Independently

Agents can produce a lot of code with a lot of confidence. That confidence is not always warranted. Two practices help:


Agent Skills: Giving Your Coding Agent the Right Context on Demand

One reason coding agents underperform isn’t lack of capability — it’s lack of context. Agent Skills solve this by packaging procedural knowledge and codebase-specific context that the agent can load on demand.

Think of skills as the institutional knowledge layer for your agent. Instead of re-explaining your architecture, your conventions, or your deployment process every session, you encode it once in a skill and the agent loads it when relevant.

What Skills Enable for Software Development

For teams, skills are version-controlled packages of organisational knowledge. For individual developers, they’re how you stop repeating yourself every time you open a new agent session.


The Core Insight

The bottleneck when developing software with coding agents is not the agent’s capability. It’s spec quality, context management, and phase discipline.

Write the spec. Keep it honest. Ship in small stages. Replan often. The agent handles the code — you handle the architecture of thought around it.