spec-driven-development

Creates structured specifications through a gated specify-plan-tasks-implement workflow before coding.

1|Updated Mar 2, 2025
One-click install
npx skills add https://github.com/marjorg/setup --skill spec-driven-development-marjorg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec-driven-development
Source: https://github.com/marjorg/setup/tree/main/home/.agents/skills/spec-driven-development
Command: npx skills add https://github.com/marjorg/setup --skill spec-driven-development-marjorg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It prevents wasted engineering effort caused by ambiguous requirements by forcing a written, human-approved specification before any code is written, surfacing assumptions and defining testable success criteria up front. ## Core Features & Use Cases - Gated Four-Phase Workflow: Enforces Specify, Plan, Tasks, and Implement phases, each requiring human review before advancing. - Capability Decomposition: Detects when one request bundles multiple independently testable capabilities and produces an approved capability map with module ids, dependencies, and build order. - Spec Template & Boundaries: Provides a six-section spec template covering objective, commands, structure, code style, testing strategy, and Always/Ask First/Never boundaries. - Use Case: When asked to build a new billing feature with vague requirements, draft a spec with concrete success criteria, get it approved, then decompose it into ordered tasks with acceptance criteria before implementing. ## Quick Start Ask the agent to write a specification for the new feature you have in mind before any code is written.

Frequently Asked Questions about spec-driven-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a software specification before coding?

Start by listing your assumptions explicitly, then write a spec covering six areas: objective, commands, project structure, code style, testing strategy, and boundaries. Reframe vague requirements into specific, testable success criteria and get human approval before planning.

When should I use spec-driven development?

Use it for new projects or features, ambiguous requirements, changes touching multiple files, architectural decisions, or tasks taking more than 30 minutes. Skip it for single-line fixes, typos, or unambiguous self-contained changes.

How do I break a large feature into smaller specs?

Detect when one requirement bundles independently testable capabilities, then propose a capability map with kebab-case module ids, one-way dependencies, and a build order. After human approval, run the full specify-plan-tasks-implement cycle per module in dependency order.

Can I use this workflow with OpenSpec or other spec tools?

Yes, the workflow is format-agnostic. If a project already uses OpenSpec or another specification system, keep that tool's artifact format and storage conventions while this workflow owns the clarification, content, and approval gates.

What are the limitations of writing specs upfront?

Specs require human review at each phase, which adds overhead for trivial changes. They also must be maintained as living documents when decisions or scope change, otherwise they drift out of sync with the implementation.