spec-driven-development
Use when starting new features, building applications from scratch, or needing structured development workflow - provides standalone specification-first methodology without external dependencies, generates specs, plans, tasks directly, with superpowers integration for execution
$ Installieren
git clone https://github.com/moonklabs/aiwf /tmp/aiwf && cp -r /tmp/aiwf/claude-code/aiwf/ko/.claude/skills/spec-driven-development ~/.claude/skills/aiwf// tip: Run this command in your terminal to install the skill
name: spec-driven-development description: Use when starting new features, building applications from scratch, or needing structured development workflow - provides standalone specification-first methodology without external dependencies, generates specs, plans, tasks directly, with superpowers integration for execution
Spec-Driven Development (SDD) - Standalone
Overview
๋ช ์ธ๊ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก . ๋ณ๋ ์ค์น ์์ด Claude๊ฐ ์ง์ ์ํฌํ๋ก์ฐ๋ฅผ ์คํํ๋ค.
ํต์ฌ ์์น: ๋ช ์ธ(WHAT & WHY) โ ๊ณํ(HOW) โ ํ์คํฌ(์คํ ๋จ์) โ ๊ตฌํ(์ฝ๋)
When to Use
์ฌ์ฉ ์์ :
- ์ ํ๋ก์ ํธ/๊ธฐ๋ฅ ๊ฐ๋ฐ ์์
- ์ฒด๊ณ์ ์ธ ์๊ตฌ์ฌํญ ๊ด๋ฆฌ ํ์
- ์ธ๋ถ ๋๊ตฌ ์ค์น ์์ด SDD ์ ์ฉ
์ฌ์ฉํ์ง ๋ง ๊ฒ:
- ๊ฐ๋จํ ๋ฒ๊ทธ ์์ , ํ ์ค ๋ณ๊ฒฝ
Quick Reference
| ๋จ๊ณ | ๋ช ๋ น | ์ถ๋ ฅ |
|---|---|---|
| 1. ๋ช ์ธ | "specify: [๊ธฐ๋ฅ ์ค๋ช ]" | .sdd/specs/NNN-feature/spec.md |
| 2. ๊ณํ | "plan: [๊ธฐ์ ์คํ]" | plan.md, data-model.md |
| 3. ํ์คํฌ | "tasks" | tasks.md |
| 4. ๊ตฌํ | "implement" | ์์ค ์ฝ๋ |
Core Workflow
์ฌ์ฉ์๊ฐ ๋ค์ ํค์๋๋ก ์์ฒญํ๋ฉด ํด๋น ๋จ๊ณ๋ฅผ ์คํํ๋ค:
"specify: ์ฌ์ง ์จ๋ฒ ์ ๋ฆฌ ์ฑ" โ ๋ช
์ธ ์์ฑ
"plan: React + SQLite" โ ๊ณํ ์์ฑ
"tasks" โ ํ์คํฌ ๋ถํด
"implement" โ ๊ตฌํ ์คํ
Phase 1: Specify (๋ช ์ธ ์์ฑ)
ํธ๋ฆฌ๊ฑฐ: specify: ๋๋ "๋ช
์ธ ์์ฑ", "๊ธฐ๋ฅ ์ ์"
์คํ ์ ์ฐจ
.sdd/specs/๋๋ ํ ๋ฆฌ ํ์ธ/์์ฑ- ๊ธฐ์กด specs ์ค์บํ์ฌ ๋ค์ ๋ฒํธ ๊ฒฐ์ (001, 002, ...)
- ๊ธฐ๋ฅ๋ช ์์ branch-name ์์ฑ (์: "photo-albums")
- ๋๋ ํ ๋ฆฌ ์์ฑ:
.sdd/specs/NNN-feature-name/ spec.md์์ฑ (ํ ํ๋ฆฟ ์ฐธ์กฐ: @templates/spec-template.md)
ํต์ฌ ๊ท์น
- WHAT(๋ฌด์)๊ณผ WHY(์)๋ง ๊ธฐ์
- HOW(์ด๋ป๊ฒ)๋ ๊ธ์ง - ๊ธฐ์ ์คํ, API ๊ตฌ์กฐ, ๊ตฌํ ๋ฐฉ์ ์ธ๊ธ ์ํจ
- ๊ฐ User Story๋ ๋ ๋ฆฝ์ ์ผ๋ก ํ ์คํธ ๊ฐ๋ฅํด์ผ ํจ
- ์ฐ์ ์์ ํ์: P1(ํต์ฌ) โ P2 โ P3...
์ถ๋ ฅ ๊ตฌ์กฐ
.sdd/specs/001-photo-albums/
โโโ spec.md # ๊ธฐ๋ฅ ๋ช
์ธ
โโโ checklists/
โโโ requirements.md
spec.md ํ์ ์น์
# Feature Specification: [๊ธฐ๋ฅ๋ช
]
## User Scenarios & Testing
### User Story 1 - [์ ๋ชฉ] (Priority: P1)
- ์ค๋ช
, ์ฐ์ ์์ ์ด์
- Independent Test: ๋
๋ฆฝ ํ
์คํธ ๋ฐฉ๋ฒ
- Acceptance Scenarios: Given-When-Then
## Requirements
### Functional Requirements
- FR-001: System MUST [๊ตฌ์ฒด์ ๊ธฐ๋ฅ]
- [NEEDS CLARIFICATION: ๋ถ๋ช
ํํ ๋ถ๋ถ]
## Success Criteria
- SC-001: [์ธก์ ๊ฐ๋ฅํ ์งํ]
Phase 2: Plan (๊ณํ ์๋ฆฝ)
ํธ๋ฆฌ๊ฑฐ: plan: ๋๋ "๊ณํ ์๋ฆฝ", "๊ธฐ์ ์ค๊ณ"
์คํ ์ ์ฐจ
- ํ์ฌ feature์
spec.md์ฝ๊ธฐ - ์ฌ์ฉ์ ์ ๋ ฅ์์ ๊ธฐ์ ์คํ ์ถ์ถ
plan.md์์ฑ (ํ ํ๋ฆฟ ์ฐธ์กฐ: @templates/plan-template.md)data-model.md์์ฑ (์ํฐํฐ, ๊ด๊ณ)contracts/๋๋ ํ ๋ฆฌ์ API ๋ช ์ธ (ํ์์)
์ถ๋ ฅ ๊ตฌ์กฐ
.sdd/specs/001-photo-albums/
โโโ spec.md
โโโ plan.md # ๊ตฌํ ๊ณํ
โโโ data-model.md # ๋ฐ์ดํฐ ๋ชจ๋ธ
โโโ research.md # ๊ธฐ์ ์กฐ์ฌ (์ ํ)
โโโ contracts/
โโโ api-spec.json
plan.md ํ์ ์น์
# Implementation Plan: [๊ธฐ๋ฅ๋ช
]
## Summary
[spec์์ ์ถ์ถํ ์๊ตฌ์ฌํญ + ๊ธฐ์ ์ ๊ทผ๋ฒ]
## Technical Context
- Language/Version: [์: Python 3.11]
- Primary Dependencies: [์: FastAPI]
- Storage: [์: SQLite]
- Testing: [์: pytest]
## Project Structure
src/
โโโ models/
โโโ services/
โโโ api/
tests/
โโโ ...
Phase 3: Tasks (ํ์คํฌ ๋ถํด)
ํธ๋ฆฌ๊ฑฐ: tasks ๋๋ "ํ์คํฌ ์์ฑ", "์์
๋ถํด"
์คํ ์ ์ฐจ
spec.md์์ User Stories ์ถ์ถ (์ฐ์ ์์ ํฌํจ)plan.md์์ ๊ธฐ์ ๊ตฌ์กฐ ์ถ์ถdata-model.md์์ ์ํฐํฐ ์ถ์ถ (์์ผ๋ฉด)- User Story๋ณ๋ก ํ์คํฌ ๊ทธ๋ฃนํ
tasks.md์์ฑ (ํ ํ๋ฆฟ ์ฐธ์กฐ: @templates/tasks-template.md)
ํ์คํฌ ํ์
- [ ] T001 ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ
- [ ] T002 [P] ์์กด์ฑ ์ค์น
- [ ] T003 [P] [US1] User ๋ชจ๋ธ ์์ฑ in src/models/user.py
- [ ] T004 [US1] UserService ๊ตฌํ in src/services/user.py
[P]: ๋ณ๋ ฌ ์คํ ๊ฐ๋ฅ[US1]: User Story 1 ์์
Phase ๊ตฌ์กฐ
## Phase 1: Setup
## Phase 2: Foundational (๋ชจ๋ User Story ์ ์ ์กฐ๊ฑด)
## Phase 3: User Story 1 (P1) ๐ฏ MVP
## Phase 4: User Story 2 (P2)
## Phase N: Polish & Cross-Cutting
Phase 4: Implement (๊ตฌํ)
ํธ๋ฆฌ๊ฑฐ: implement ๋๋ "๊ตฌํ ์์"
์คํ ์ ์ฐจ
tasks.md์ฝ๊ธฐ- Phase ์์๋๋ก ์คํ
- ๊ฐ ํ์คํฌ ์๋ฃ ์
[X]๋ก ํ์ - ์ฒดํฌํฌ์ธํธ์์ ๊ฒ์ฆ
Superpowers ์ฐ๋
tasks.md โ Superpowers Plan ๋ณํ
tasks ๋จ๊ณ ์๋ฃ ํ ๋ค์ ์ต์
์ ์:
โ
tasks.md๊ฐ ์์ฑ๋์์ต๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ์ ํํ์ธ์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ A) ์ง์ ๊ตฌํ ์์ (implement) โ
โ B) Superpowers Plan์ผ๋ก ๋ณํ ํ /execute-plan ์คํ (๊ถ์ฅ) โ
โ C) ๊ณํ๋ง ์ ์ฅํ๊ณ ๋์ค์ ์คํ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
B ์ ํ ์ ๋ณํ
docs/plans/YYYY-MM-DD-feature-implementation.md ์์ฑ:
# Implementation Plan: [Feature Name]
## Overview
[spec.md์์ ์ถ์ถํ ๊ธฐ๋ฅ ์์ฝ]
## Tasks
### Batch 1: Setup
- [ ] T001: ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ
- [ ] T002: ์์กด์ฑ ์ค์น
### Batch 2: Core (User Story 1)
- [ ] T003: [P] User ๋ชจ๋ธ ์์ฑ
- [ ] T004: UserService ๊ตฌํ
## Review Checkpoints
- Batch 1 ์๋ฃ ํ: ํ๋ก์ ํธ ๋น๋ ํ์ธ
- Batch 2 ์๋ฃ ํ: US1 ๋
๋ฆฝ ํ
์คํธ ํต๊ณผ ํ์ธ
๊ทธ ํ ์๋ด:
๐ Superpowers plan์ด ์์ฑ๋์์ต๋๋ค:
docs/plans/YYYY-MM-DD-feature-implementation.md
์คํํ๋ ค๋ฉด: /superpowers:execute-plan
Directory Structure
project/
โโโ .sdd/ # SDD ์ํน ๋๋ ํ ๋ฆฌ
โ โโโ specs/
โ โโโ 001-feature/
โ โโโ spec.md
โ โโโ plan.md
โ โโโ tasks.md
โ โโโ data-model.md
โ โโโ contracts/
โโโ docs/plans/ # Superpowers plans
โโโ src/ # ์์ค ์ฝ๋
โโโ tests/ # ํ
์คํธ
Common Mistakes
| ์ค์ | ํด๊ฒฐ์ฑ |
|---|---|
| specify์ ๊ธฐ์ ์ธ๊ธ | WHAT/WHY๋ง, ๊ธฐ์ ์ plan์์ |
| User Story ๋ ๋ฆฝ์ฑ ์์ | ๊ฐ Story๋ ๋จ๋ ํ ์คํธ ๊ฐ๋ฅํด์ผ |
| tasks ์์ด implement | ๋ฐ๋์ tasks โ implement ์์ |
| ์ฐ์ ์์ ์๋ Story | P1, P2, P3 ํ์ ์ง์ |
Integration Workflow
Superpowers์ ํจ๊ป ์ฌ์ฉ (๊ถ์ฅ)
1. /superpowers:brainstorm โ ์์ด๋์ด ์ ์
โ
2. specify: [๊ธฐ๋ฅ ์ค๋ช
] โ ๋ช
์ธ ์์ฑ
โ
3. plan: [๊ธฐ์ ์คํ] โ ๊ณํ ์๋ฆฝ
โ
4. tasks (โ B ์ ํ) โ Superpowers plan ๋ณํ
โ
5. /superpowers:execute-plan โ ๋ฐฐ์น๋ณ ์คํ + ๋ฆฌ๋ทฐ
File References
ํ ํ๋ฆฟ ํ์ผ (ํ์์ ์ฐธ์กฐ):
- @templates/spec-template.md
- @templates/plan-template.md
- @templates/tasks-template.md
Repository
