# Spec-Driven Development

> Defining requirements as an executable spec before coding - spec, plan, tasks, implement - with the AI coding agent implementing against it.

- Category: AI-Native Product
- Stage: Rising
- Also called: SDD, Executable specifications
- Canonical: https://www.joelcsaji.com/ai-dictionary/spec-driven-development

## Plain English

Write down what 'done' means first, then let the agent work against that document instead of a one-line prompt.

## Example

/speckit.specify 'rate-limit the contact form', then plan and tasks, then implement - the agent executes tasks and reviewers diff against the spec.

## Why it matters

The spec becomes the durable artifact that survives model changes, constrains agent drift, and gives reviewers something concrete to check.

## Related

- [Coding Agent](https://www.joelcsaji.com/ai-dictionary/coding-agent)
- [Agent Instructions File](https://www.joelcsaji.com/ai-dictionary/agent-instructions-file)
- [Vibe Coding](https://www.joelcsaji.com/ai-dictionary/vibe-coding)

## Sources

- [GitHub: Spec Kit](https://github.com/github/spec-kit)
