Implements the Spec-Driven Development lifecycle (Intent, Requirements, Design, Tasks, Build) for structured feature development. Use when the user wants to scaffold a new feature spec, generate EARS requirements, create a technical design, break work into tasks, or check spec status. Trigger on keywords: sdd, spec-driven, ears requirements, feature spec.
Start a fresh conversation. Replace the highlighted placeholders.
Use sdd to create an intent, EARS requirements, technical design, and requirement-linked task plan for [feature], pausing for my approval before each subsequent stage and before any code is generated.
Required inputs
[feature]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: sdddescription: > Implements the Spec-Driven Development lifecycle (Intent, Requirements, Design, Tasks, Build) for structured feature development. Use when the user wants to scaffold a new feature spec, generate EARS requirements, create a technical design, break work into tasks, or check spec status. Trigger on keywords: sdd, spec-driven, ears requirements, feature spec.workflow_stage: engineeringcompatibility: - claude-code - cursor - codex - gemini-cliauthor: Awesome Econ AI Communityversion: 1.0.0tags: - spec-driven-development - requirements - design - documentation
Spec-Driven Development (SDD)
Core Philosophy
Clarity before Code: Never generate code until requirements and design are approved.
Iterative Refinement: Loop through Req → Design → Tasks until solid.
Code via Docs: The truth is in the markdown files, not the chat.
Commands
Execute in the project root (where spec/ and steering/ live).
init
Scaffold the SDD folder structure and template files.
If spec/ already exists, skip or ask before overwriting.
Create spec/ and steering/.
Create spec/intent.md (blank or minimal placeholder).
Copy templates from this skill’s templates/ directory (in the same folder as SKILL.md, or from your install path under ~/.cursor/skills/sdd/ after copying the skill there) into the project: