1. Habit
  2. Skills
  3. Spec-Driven Development skill
Addy Osmani · 62K installsAnthropic · Claude Code · Learning JavaScript Design Patterns

Spec-Driven Development skill
Runs by itself, when you start a new feature.

Less rework and fewer wrong builds.

Install the Spec-Driven Development skill and make it a habit: follow https://gethabit.dev/skills/addyosmani/spec-driven-development.md

  1. 1Copy
  2. 2Paste into Claude Code, Codex or Cursor
  3. 3It runs by itself

62K installs109K starsMIT licenceSource on GitHub ↗

Spec-Driven Development

by Addy Osmani · 62K installs

The skill

Makes your agent write a plan you approve before it writes any code.

Only when you ask.

Less rework

Less rework and fewer wrong builds. Every feature starts from a plan you approved.

↻ Runs by itselfwhen you start a new feature

How the habit works.
You don't have to.

Three questionsWhen does it start? How does it check its work? What does it remember?

One run, step by step.
Then it stops.

Stop ruleStops after one phase per run; the next phase starts only after you approve.

  1. 01

    Scope check

    If the request bundles several separately testable capabilities, propose a capability map with module ids and build order for your review.

  2. 02

    State assumptions

    List what the agent assumes and ask you clarifying questions until the requirements are concrete.

  3. 03

    Write the spec

    Cover the six core areas, success criteria and open questions, save it, and stop for your approval.

  4. 04

    Plan

    After approval, follow planning-and-task-breakdown and save the plan to tasks/plan.md.

  5. 05

    Tasks

    Record small tasks with acceptance criteria and a verify step in tasks/todo.md, then wait for your review.

  6. 06

    Implement

    Build tasks one by one with incremental-implementation, test-driven-development and context-engineering.

  7. 07

    Keep it alive

    Update and commit the spec when decisions or scope change.

What it may do.
Nothing more.

Safe by defaultIt writes only in its own folder and asks you before anything goes out.

Is it for you?
Use it when it fits.

Quick checkRead both lists. If the left one sounds like you, the Spec-Driven Development skill helps.

Use it when

  • ✓ You start a new project or feature
  • ✓ Requirements are vague or incomplete
  • ✓ The change touches many files or modules

Skip it when

  • – It is a one-line fix or typo
  • – The requirement is already clear and self-contained

Questions

Spec-Driven Development skill, answered.

Why does it stop after the spec?

The skill requires your approval before planning starts, in a later turn.

What if my project already uses OpenSpec?

The loop keeps that tool's format and does not create a second SPEC.md.

Does it fit small fixes?

No. One-line fixes and typos skip the spec.

How do I install the Spec-Driven Development skill?

Copy the prompt at the top into your agent. It installs the skill from addyosmani/agent-skills and sets up the habit. Or run npx skills add addyosmani/agent-skills --skill spec-driven-development.

Is the Spec-Driven Development skill free?

Yes. It is published under MIT. Habit is free too.

Spec-Driven Development. Now as a habit.

Install the Spec-Driven Development skill and make it a habit: follow https://gethabit.dev/skills/addyosmani/spec-driven-development.md

  • Free
  • No account
  • Undo in one line

All Addy Osmani skills →More planning skills →

Works in

  • Claude Code
  • Codex
  • Cursor
  • ChatGPT
  • Claude app

Made by Addy Osmani, published under MIT. Habit links to the original and never changes it. Is this your skill?

Copying didn't work here. Select the line and copy it by hand.