Spec-driven development

Write a durable specification first (requirements, design, tasks), then have a coding agent implement against it. The spec is context you control (context-engineering) and survives across sessions (claude-md-and-agent-instructions).

Tools

  • GitHub Spec Kit (github/spec-kit, MIT, Python 3.11+ and uv; install uv tool install specify-cli): agent commands /speckit-constitution (project principles), /speckit-specify, /speckit-plan, /speckit-tasks, /speckit-implement and /speckit-converge (validate completion). Default integration is GitHub Copilot, with other agents configurable. Also has bug-fixing and idea-assessment flows. KB note: speckit.
  • Kiro (AWS IDE/CLI/web): each spec yields requirements.md (or bugfix.md), design.md and tasks.md; three phases (requirements, design, tasks); independent tasks can run in parallel waves. KB note: kiro.
  • Agent OS and Design OS (Builder Methods): agent-os, design-os.
  • Cross-tool instruction file: agents-md.

Trade-offs

Benefit: fewer misinterpretations and reusable artefacts. Cost: upfront effort and more files to keep in sync (stale specs mislead agents). Whether it beats lighter plan-mode workflows is not settled by any source I checked.

Sources