spec-driven-development
Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.
Security Assessment
About spec-driven-development
The 'spec-driven-development' skill facilitates the creation of structured specifications before any code is written, ensuring clarity and alignment between developers and human engineers. It addresses the common problem of ambiguous or incomplete requirements, reducing the risk of rework and misunderstandings by establishing a clear plan and agreed-upon success criteria prior to implementation. By emphasizing assumptions, objectives, and boundaries, it transforms the coding process from guesswork into a methodical, verifiable workflow.
This skill offers a gated workflow divided into four phases: Specify, Plan, Tasks, and Implement. Each phase requires human validation before moving forward, promoting rigorous review and collaboration. Key features include crafting a detailed spec covering objective, commands, project structure, code style, testing strategy, and boundaries. It encourages surfacing assumptions, asking clarifying questions, and defining testable success criteria. The workflow ensures that developers address architectural decisions, multi-file changes, and ambiguous requirements systematically.
Spec-driven-development is particularly useful for engineers starting new projects, implementing substantial features, or tackling complex changes that may affect multiple modules. It suits scenarios where requirements are unclear, evolving, or only vaguely defined. The skill is ideal for software engineers, team leads, and technical product managers seeking structured guidance to maintain code quality, enforce consistency, and minimize miscommunication during the early stages of development. It is less appropriate for trivial fixes or straightforward changes with fully defined requirements.
FAQ
When should I use the spec-driven-development skill?
Use it when starting a new project or feature, when requirements are unclear or incomplete, when changes affect multiple files or modules, or when making architectural decisions. Avoid using it for single-line fixes or fully defined, self-contained changes.
What are the core phases of the workflow?
The workflow consists of four phases: Specify, Plan, Tasks, and Implement. Each phase requires human review before proceeding to the next to ensure alignment and prevent misunderstandings.
Does this skill define coding standards and testing requirements?
Yes. It includes guidance for code style with example snippets, testing strategies including frameworks and coverage expectations, and clear boundaries for actions that must always, sometimes, or never be performed.
What assumptions does the skill make by default?
Typical assumptions include the type of application (e.g., web vs. native), authentication methods, database choices, and supported browsers. These assumptions should be reviewed and confirmed with the human engineer before proceeding.
Who is the target user for this skill?
Software engineers, technical leads, and product managers working on new features or complex changes where specifications are not yet defined or are ambiguous.
Install spec-driven-development
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
addyosmani/agent-skills