Spec-Driven Development (SDD) Skill
This skill integrates PRD (Requirements) and SA (Analysis) knowledge, defining a standard development workflow. The core principle is "No Spec, No Code".
Core Principles
- •Spec-First: Specs come before code
- •Traceability: Every requirement can be traced to design and implementation
- •Acceptance-Driven: Every requirement has verifiable acceptance criteria
- •Version Control: Spec documents are version-controlled with change processes
- •Living Documentation: Code changes must sync with spec updates to maintain consistency
Workflow Overview
mermaid
flowchart LR
A[User Request] --> B[PRD Phase]
B --> C{Review}
C -->|Approved| D[SA Phase]
C -->|Rejected| B
D --> E{Review}
E -->|Approved| F[Implementation]
E -->|Rejected| D
F --> G[Verification]
G -->|Pass| H[Done]
G -->|Fail| F
Configuration
⚠️ Required: Before using this skill, customize the spec directory path to match your project structure.
By default, this skill references /docs/specs/ as the documentation location. Update paths in:
- •This file (
sdd/SKILL.md) - •
sdd/references/tasks.md
Recommended Directory Structure
code
your-project/ ├── docs/ │ └── specs/ ← Customize this path │ ├── feature/ │ │ └── ISSUE-101_feature-name/ │ │ ├── PRD_spec.md │ │ └── SA_spec.md │ └── fix/ │ └── ISSUE-102_bug-name/ │ ├── PRD_spec.md │ └── SA_spec.md
Core Workflow
This workflow uses a three-phase development model. All artifacts are stored in a configurable specs directory.
Phase 1: Product Requirement (PRD)
- •Goal: Define "What" and "Why".
- •File Location:
{SPECS_DIR}/{type}/{ID-PREFIX}_{desc}/PRD_spec.md - •Reference Skill:
prd(See../prd/SKILL.md) - •Quick Guide:
sdd/references/requirements.md - •Key Content:
- •User Stories (US-XX)
- •Functional Requirements (FR-XX, EARS syntax)
- •Acceptance Criteria (Given-When-Then) ⭐ Required
- •Success Metrics / Out of Scope
- •Version Control: Use Version field (e.g., v1.0)
Phase 2: System Analysis (SA)
- •Goal: Define "How". Transform business requirements into technical specs.
- •File Location:
{SPECS_DIR}/{type}/{ID-PREFIX}_{desc}/SA_spec.md - •Reference Skill:
sa(See../sa/SKILL.md) - •Quick Guide:
sdd/references/design.md - •Key Content:
- •Requirement Traceability Matrix ⭐ Required
- •System Architecture (Mermaid)
- •API Specifications / Data Models
- •Test Impact Analysis ⭐ Required
- •Version Control: Note the corresponding PRD version
Phase 3: Implementation
- •Goal: Execute tasks defined in the SA phase.
- •Reference Guide:
sdd/references/tasks.md - •Prerequisites: Both PRD and SA must be in Approved/Frozen status
- •Actions:
- •Code based on
SA_spec.md - •Sync: If implementation reveals design adjustments needed, must update SA/PRD first
- •Verify against Acceptance Criteria from
PRD_spec.md
- •Code based on
Naming Convention
Directory name format: {ID_PREFIX}_{short-description}
ID_PREFIX has three types:
- •ISSUE (Standard): Corresponds to GitHub Issue ID.
- •Example:
ISSUE-123_tab-groups - •Use: General feature development and bug fixes.
- •Example:
- •PR (External): Corresponds to Pull Request ID (if no Issue exists).
- •Example:
PR-456_typo-fix - •Use: PRs submitted directly by external contributors.
- •Example:
- •BASE (Baseline/Historical): Project initialization or retrospective specs.
- •Example:
BASE-001_initial-architecture - •Use: Historical debt or foundational architecture documents without corresponding Issues.
- •Example:
Directory Structure Example
text
{SPECS_DIR}/
├── feature/
│ └── ISSUE-101_tab-groups/ <-- Standard Flow
│ ├── PRD_spec.md
│ └── SA_spec.md
└── fix/
└── BASE-002_sync-bug/ <-- Legacy/Baseline
├── PRD_spec.md
└── SA_spec.md
Agent Operation Guide
When receiving a user task:
- •Check Requirements: Determine if the task warrants full SDD process.
- •Scaffold: Use
mkdir -pto create the correct folder path. - •Draft PRD: Write
PRD_spec.md, must include Acceptance Criteria. - •Review Gate: Request User Review, wait for approval.
- •Draft SA: Write
SA_spec.md, must include Requirement Traceability. - •Review Gate: Request User Review, wait for approval.
- •Code: After approval, begin implementation.
- •Verify: Verify against Acceptance Criteria.
Spec Change Process
After a Spec enters Frozen status, any changes require:
- •Create new version (e.g., v1.0 → v1.1)
- •Record change reason in Revision History
- •Re-obtain Reviewer approval
- •Update related Traceability Matrix
Skill Contents
code
sdd/
├── SKILL.md # This file - Orchestration workflow
└── references/
├── requirements.md # Quick PRD reference
├── design.md # Quick SA reference
└── tasks.md # Implementation task template
References
| Phase | Quick Guide | Full Template |
|---|---|---|
| PRD | sdd/references/requirements.md | prd/references/template_comprehensive.md |
| SA | sdd/references/design.md | sa/references/system_design_doc.md |
| Tasks | sdd/references/tasks.md | - |