Marketplace

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: ๋˜๋Š” "๋ช…์„ธ ์ž‘์„ฑ", "๊ธฐ๋Šฅ ์ •์˜"

์‹คํ–‰ ์ ˆ์ฐจ

  1. .sdd/specs/ ๋””๋ ‰ํ† ๋ฆฌ ํ™•์ธ/์ƒ์„ฑ
  2. ๊ธฐ์กด specs ์Šค์บ”ํ•˜์—ฌ ๋‹ค์Œ ๋ฒˆํ˜ธ ๊ฒฐ์ • (001, 002, ...)
  3. ๊ธฐ๋Šฅ๋ช…์—์„œ branch-name ์ƒ์„ฑ (์˜ˆ: "photo-albums")
  4. ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ: .sdd/specs/NNN-feature-name/
  5. 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: ๋˜๋Š” "๊ณ„ํš ์ˆ˜๋ฆฝ", "๊ธฐ์ˆ  ์„ค๊ณ„"

์‹คํ–‰ ์ ˆ์ฐจ

  1. ํ˜„์žฌ feature์˜ spec.md ์ฝ๊ธฐ
  2. ์‚ฌ์šฉ์ž ์ž…๋ ฅ์—์„œ ๊ธฐ์ˆ  ์Šคํƒ ์ถ”์ถœ
  3. plan.md ์ž‘์„ฑ (ํ…œํ”Œ๋ฆฟ ์ฐธ์กฐ: @templates/plan-template.md)
  4. data-model.md ์ƒ์„ฑ (์—”ํ‹ฐํ‹ฐ, ๊ด€๊ณ„)
  5. 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 ๋˜๋Š” "ํƒœ์Šคํฌ ์ƒ์„ฑ", "์ž‘์—… ๋ถ„ํ•ด"

์‹คํ–‰ ์ ˆ์ฐจ

  1. spec.md์—์„œ User Stories ์ถ”์ถœ (์šฐ์„ ์ˆœ์œ„ ํฌํ•จ)
  2. plan.md์—์„œ ๊ธฐ์ˆ  ๊ตฌ์กฐ ์ถ”์ถœ
  3. data-model.md์—์„œ ์—”ํ‹ฐํ‹ฐ ์ถ”์ถœ (์žˆ์œผ๋ฉด)
  4. User Story๋ณ„๋กœ ํƒœ์Šคํฌ ๊ทธ๋ฃนํ™”
  5. 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 ๋˜๋Š” "๊ตฌํ˜„ ์‹œ์ž‘"

์‹คํ–‰ ์ ˆ์ฐจ

  1. tasks.md ์ฝ๊ธฐ
  2. Phase ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰
  3. ๊ฐ ํƒœ์Šคํฌ ์™„๋ฃŒ ์‹œ [X]๋กœ ํ‘œ์‹œ
  4. ์ฒดํฌํฌ์ธํŠธ์—์„œ ๊ฒ€์ฆ

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 ์ˆœ์„œ
์šฐ์„ ์ˆœ์œ„ ์—†๋Š” StoryP1, 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