@kood/claude-code 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/instructions/agent-patterns/delegation-patterns.md +389 -0
- package/templates/.claude/instructions/context-optimization/phase-based-execution.md +410 -0
- package/templates/.claude/instructions/context-optimization/redundant-exploration-prevention.md +646 -0
- package/templates/.claude/instructions/context-optimization/sub-agent-distribution.md +476 -0
- package/templates/.claude/instructions/glossary.md +48 -0
- package/templates/.claude/instructions/project-context-template.md +453 -0
- package/templates/.claude/instructions/skill-integration.md +90 -0
- package/templates/.claude/instructions/sourcing/reliable-search.md +411 -0
- package/templates/.claude/instructions/validation/forbidden-patterns.md +47 -0
- package/templates/.claude/instructions/validation/required-behaviors.md +120 -0
- package/templates/.claude/instructions/validation/scope-completeness.md +367 -0
- package/templates/.claude/instructions/workflow-patterns/todowrite-pattern.md +2 -0
- package/templates/.claude/skills/brainstorm/SKILL.md +110 -644
- package/templates/.claude/skills/bug-fix/SKILL.md +9 -137
- package/templates/.claude/skills/docs-fetch/CLAUDE.md +3 -0
- package/templates/.claude/skills/docs-fetch/SKILL.md +458 -0
- package/templates/.claude/skills/elon-musk/CLAUDE.md +3 -0
- package/templates/.claude/skills/elon-musk/SKILL.md +367 -0
- package/templates/.claude/skills/execute/SKILL.md +18 -397
- package/templates/.claude/skills/plan/SKILL.md +12 -986
- package/templates/.claude/skills/prd/SKILL.md +225 -586
- package/templates/.claude/skills/prd/references/ai-native-prd.md +116 -0
- package/templates/.claude/skills/prd/references/anti-patterns.md +82 -0
- package/templates/.claude/skills/prd/references/frameworks.md +216 -0
- package/templates/.claude/skills/prd/references/pm-leaders.md +106 -0
- package/templates/.claude/skills/prd/references/trends-2026.md +157 -0
- package/templates/.claude/skills/ralph/SKILL.md +15 -497
- package/templates/.claude/skills/refactor/SKILL.md +11 -655
- package/templates/.claude/skills/research/SKILL.md +257 -0
- package/templates/.claude/skills/research/report-template.md +88 -0
|
@@ -6,415 +6,178 @@ user-invocable: true
|
|
|
6
6
|
|
|
7
7
|
@../../instructions/workflow-patterns/sequential-thinking.md
|
|
8
8
|
@../../instructions/agent-patterns/read-parallelization.md
|
|
9
|
+
@../../instructions/sourcing/reliable-search.md
|
|
10
|
+
@../../instructions/context-optimization/redundant-exploration-prevention.md
|
|
9
11
|
@../../instructions/validation/forbidden-patterns.md
|
|
10
12
|
@../../instructions/validation/required-behaviors.md
|
|
11
13
|
|
|
12
14
|
# PRD Skill
|
|
13
15
|
|
|
14
|
-
>
|
|
16
|
+
> Outcome 중심 PRD 생성 (2026 Spec-Driven Development 기반)
|
|
15
17
|
|
|
16
18
|
<when_to_use>
|
|
17
19
|
|
|
18
|
-
| 시나리오 |
|
|
20
|
+
| 시나리오 | 기준 |
|
|
19
21
|
|---------|------|
|
|
20
|
-
| **신규 기능** | 3
|
|
21
|
-
| **아키텍처 변경** |
|
|
22
|
-
| **복잡한 요구사항** | 다중 의존성, 여러 팀
|
|
23
|
-
| **기획 문서화** |
|
|
24
|
-
|
|
25
|
-
**호출 시점**: 구현 전 요구사항 정리, 팀 커뮤니케이션, 의사결정 기록
|
|
22
|
+
| **신규 기능** | 3개+ 파일 수정 예상 |
|
|
23
|
+
| **아키텍처 변경** | 새 시스템/모듈 추가 |
|
|
24
|
+
| **복잡한 요구사항** | 다중 의존성, 여러 팀 |
|
|
25
|
+
| **기획 문서화** | 아이디어 → 구조화 문서 |
|
|
26
26
|
|
|
27
27
|
</when_to_use>
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
## 병렬 Agent 실행
|
|
34
|
-
|
|
35
|
-
PRD 작성 시 여러 Agent를 병렬로 실행하여 효율성 향상.
|
|
36
|
-
|
|
37
|
-
### Recommended Agents & Model Routing
|
|
38
|
-
|
|
39
|
-
| Agent | 권장 모델 | 용도 | 복잡도별 모델 |
|
|
40
|
-
|-------|----------|------|--------------|
|
|
41
|
-
| **analyst** | sonnet/opus | 요구사항 분석, 문제 정의, 가정 검증 | LOW: sonnet, HIGH: opus |
|
|
42
|
-
| **planner** | opus | PRD 구조 설계, 아키텍처 검증 | 항상 opus |
|
|
43
|
-
| **document-writer** | haiku/sonnet | PRD 작성, 문서화 | 단순 문서: haiku, 복잡 PRD: sonnet |
|
|
44
|
-
| **explore** | haiku | 기존 문서/코드 조사 | 항상 haiku |
|
|
45
|
-
| **architect** | sonnet/opus | 기술 아키텍처 검토, 설계 분석 | MEDIUM: sonnet, HIGH: opus |
|
|
46
|
-
| **designer** | sonnet/opus | UI/UX 요구사항 설계 | 일반: sonnet, 복잡: opus |
|
|
47
|
-
|
|
48
|
-
### Smart Model Routing
|
|
31
|
+
<principles>
|
|
49
32
|
|
|
50
|
-
|
|
51
|
-
|--------|------|----------|------|
|
|
52
|
-
| **LOW** | haiku/sonnet | 단순 기능 PRD | CRUD, 단일 화면, 명확한 요구사항 |
|
|
53
|
-
| **MEDIUM** | sonnet | 일반 기능 PRD | 다중 화면, API 통합, 2-3개 의존성 |
|
|
54
|
-
| **HIGH** | opus | 복잡한 시스템 PRD | 신규 아키텍처, 다중 의존성, 불확실성 높음 |
|
|
33
|
+
## 2026 PRD 핵심 원칙
|
|
55
34
|
|
|
56
|
-
|
|
35
|
+
| 원칙 | 설명 | 출처 |
|
|
36
|
+
|------|------|------|
|
|
37
|
+
| **Outcome 중심** | "기능 X 만든다" → "리텐션 10% 증가시킨다" | GitHub Spec Kit |
|
|
38
|
+
| **Discovery First** | PRD는 Discovery 이후 작성, 검증 없는 가정의 문서화 방지 | Marty Cagan/SVPG |
|
|
39
|
+
| **반복적 작성** | "완벽한 스펙" 후 전달 X → "충분한 요구사항"으로 병렬 진행 | Shreyas Doshi |
|
|
40
|
+
| **Living Document** | 정적 문서 X → Brief로 시작, 데이터 학습하며 진화 | OpenAI/Miqdad Jaffer |
|
|
41
|
+
| **문제/솔루션 분리** | 문제 공간 먼저 정의, 솔루션은 별도 섹션 | Kevin Yien, Asana |
|
|
42
|
+
| **간결성** | LLM으로 긴 PRD 생성 금지, 결정 중심 작성 | Aakash Gupta |
|
|
43
|
+
| **PRD = What, CLAUDE.md = How** | PRD는 무엇을/왜, 기술 구현은 별도 문서 | ChatPRD |
|
|
57
44
|
|
|
58
|
-
|
|
59
|
-
Task(subagent_type="analyst", model="sonnet", ...)
|
|
60
|
-
Task(subagent_type="planner", model="opus", ...)
|
|
61
|
-
Task(subagent_type="document-writer", model="haiku", ...)
|
|
62
|
-
```
|
|
45
|
+
</principles>
|
|
63
46
|
|
|
64
47
|
---
|
|
65
48
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
PRD 작성 시 병렬 실행 가능한 8가지 패턴:
|
|
69
|
-
|
|
70
|
-
#### 패턴 1: 사용자 스토리 병렬 작성 (Persona별)
|
|
71
|
-
|
|
72
|
-
**시나리오:** 여러 Persona의 User Stories를 동시에 도출
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
// Persona별로 독립적으로 분석
|
|
76
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
77
|
-
prompt="Persona 1 (관리자) 사용자 스토리 도출: 권한 관리, 대시보드")
|
|
78
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
79
|
-
prompt="Persona 2 (일반 사용자) 사용자 스토리 도출: 프로필, 콘텐츠 소비")
|
|
80
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
81
|
-
prompt="Persona 3 (크리에이터) 사용자 스토리 도출: 콘텐츠 생성, 분석")
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**효과:** 3개 Persona 분석을 순차 대신 병렬로 처리 → 시간 단축
|
|
85
|
-
|
|
86
|
-
---
|
|
49
|
+
<frameworks>
|
|
87
50
|
|
|
88
|
-
|
|
51
|
+
## PRD 프레임워크
|
|
89
52
|
|
|
90
|
-
|
|
53
|
+
| 프레임워크 | 핵심 | 적합한 상황 |
|
|
54
|
+
|-----------|------|------------|
|
|
55
|
+
| **PRFAQ** (Amazon) | 미래 시점 보도자료 + FAQ, Working Backwards | 신규 제품, 큰 비전 |
|
|
56
|
+
| **Shape Up** (Basecamp) | 6주 사이클, Appetite 기반, 적절한 추상화 | 시간 제약 명확, 자율 팀 |
|
|
57
|
+
| **JTBD** | 고객이 "고용"하려는 근본 목표 정의 | 사용자 니즈 중심 기획 |
|
|
58
|
+
| **RICE** | (Reach × Impact × Confidence) / Effort | 기능 우선순위 결정 |
|
|
59
|
+
| **Opportunity Solution Tree** | Outcome → Opportunity → Solution → Experiment | Discovery 단계 |
|
|
60
|
+
| **GitHub Spec Kit** | Specify → Plan → Tasks → Implement 4단계 | AI 에이전트 활용 개발 |
|
|
91
61
|
|
|
92
|
-
|
|
93
|
-
// 각 영역을 독립적으로 분석
|
|
94
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
95
|
-
prompt="Frontend 요구사항 분석: UI 컴포넌트, 상태 관리, 라우팅")
|
|
96
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
97
|
-
prompt="Backend 요구사항 분석: API 엔드포인트, 데이터 모델, 비즈니스 로직")
|
|
98
|
-
Task(subagent_type="architect", model="sonnet",
|
|
99
|
-
prompt="Infrastructure 요구사항 분석: 배포, 스케일링, 모니터링")
|
|
100
|
-
Task(subagent_type="analyst", model="opus",
|
|
101
|
-
prompt="Security 요구사항 분석: 인증/인가, 데이터 암호화, 취약점 대응")
|
|
102
|
-
```
|
|
62
|
+
**선택 기준:** 신규 제품 → PRFAQ, 기능 추가 → JTBD+RICE, AI 구현 → Spec Kit
|
|
103
63
|
|
|
104
|
-
|
|
64
|
+
</frameworks>
|
|
105
65
|
|
|
106
66
|
---
|
|
107
67
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
**시나리오:** PRD 초안 작성 후 여러 관점에서 동시 검토
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
// 역할별로 독립적으로 검증
|
|
114
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
115
|
-
prompt="PM 관점 검증: 비즈니스 목표와 정렬, KPI 타당성, 우선순위")
|
|
116
|
-
Task(subagent_type="architect", model="opus",
|
|
117
|
-
prompt="Engineer 관점 검증: 기술적 실현 가능성, 복잡도, 리스크")
|
|
118
|
-
Task(subagent_type="designer", model="sonnet",
|
|
119
|
-
prompt="Designer 관점 검증: UX 플로우, 접근성, 디자인 시스템 일관성")
|
|
120
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
121
|
-
prompt="QA 관점 검증: 테스트 용이성, 엣지 케이스, 회귀 리스크")
|
|
122
|
-
```
|
|
68
|
+
<ai_optimization>
|
|
123
69
|
|
|
124
|
-
|
|
70
|
+
## AI 에이전트용 PRD 최적화
|
|
125
71
|
|
|
126
|
-
|
|
72
|
+
### 6대 필수 영역 (GitHub 2,500+ 리포지토리 분석)
|
|
127
73
|
|
|
128
|
-
|
|
74
|
+
| 영역 | 포함 내용 |
|
|
75
|
+
|------|----------|
|
|
76
|
+
| **Commands** | 실행 명령어 + 플래그 (`npm test`, `pytest -v`) |
|
|
77
|
+
| **Testing** | 프레임워크, 파일 위치, 커버리지 기대치 |
|
|
78
|
+
| **Project Structure** | 소스, 테스트, 문서 경로 |
|
|
79
|
+
| **Code Style** | 선호 패턴을 코드 스니펫으로 |
|
|
80
|
+
| **Git Workflow** | 브랜치 네이밍, 커밋 형식, PR 요구사항 |
|
|
81
|
+
| **Boundaries** | 3단계 제약: Always Do / Ask First / Never Do |
|
|
129
82
|
|
|
130
|
-
|
|
83
|
+
### 핵심 규칙 (Addy Osmani, David Haberlah)
|
|
131
84
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
141
|
-
prompt="사용자 니즈 분석: 설문조사 결과, 커뮤니티 피드백 요약")
|
|
142
|
-
```
|
|
85
|
+
| 규칙 | 설명 |
|
|
86
|
+
|------|------|
|
|
87
|
+
| **모듈화** | Phase별 30-50개 요구사항 (150-200개 초과 시 성능 저하) |
|
|
88
|
+
| **Non-Goals 필수** | AI는 생략에서 추론 불가 → "X를 구현하지 말 것" 명시 |
|
|
89
|
+
| **원자적 User Stories** | 1 스토리 = 1 요구사항 |
|
|
90
|
+
| **체크 가능한 AC** | Given-When-Then 또는 불릿 포인트 |
|
|
91
|
+
| **단계적 구현** | 의존성 순서의 테스트 가능한 Phase |
|
|
92
|
+
| **기존 기능 보호** | 기존 코드 영향 범위 명시 |
|
|
143
93
|
|
|
144
|
-
|
|
94
|
+
</ai_optimization>
|
|
145
95
|
|
|
146
96
|
---
|
|
147
97
|
|
|
148
|
-
|
|
98
|
+
<anti_patterns>
|
|
149
99
|
|
|
150
|
-
|
|
100
|
+
## PRD 안티패턴
|
|
151
101
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
prompt="기능 2: 결제 처리 - Test Scenario 작성")
|
|
163
|
-
```
|
|
102
|
+
| 안티패턴 | 문제 | 해결 |
|
|
103
|
+
|----------|------|------|
|
|
104
|
+
| **모호한 요구사항** | "빠른 로딩" 측정 불가 | "3G에서 2초 내 로딩" |
|
|
105
|
+
| **기능 과적재** | 스코프 크리프 | MoSCoW/RICE 우선순위 |
|
|
106
|
+
| **솔루션 편향** | 문제 정의 전 솔루션 결정 | 문제 공간 먼저 정의 |
|
|
107
|
+
| **성공 지표 부재** | 성공 여부 판단 불가 | 현재값 → 목표값 KPI |
|
|
108
|
+
| **정적 문서화** | 빠르게 구식화 | 정기 리뷰 + 업데이트 |
|
|
109
|
+
| **LLM 긴 PRD 생성** | 내용 없이 길기만 함 | 결정 중심, 간결 작성 |
|
|
110
|
+
| **Discovery 생략** | 검증 없는 가정 문서화 | Discovery → PRD 순서 |
|
|
111
|
+
| **엣지 케이스 무시** | 사용자 불만 | Alternative Flow, Edge Case 명시 |
|
|
164
112
|
|
|
165
|
-
|
|
113
|
+
</anti_patterns>
|
|
166
114
|
|
|
167
115
|
---
|
|
168
116
|
|
|
169
|
-
|
|
117
|
+
<parallel_agent_execution>
|
|
170
118
|
|
|
171
|
-
|
|
119
|
+
## 병렬 Agent 실행
|
|
172
120
|
|
|
173
|
-
|
|
174
|
-
// 독립적인 기능마다 PRD 작성
|
|
175
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
176
|
-
prompt="User 관리 PRD 작성 (프로필 편집, 권한 관리)")
|
|
177
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
178
|
-
prompt="Payment 연동 PRD 작성 (결제 플로우, 환불 처리)")
|
|
179
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
180
|
-
prompt="Analytics 대시보드 PRD 작성 (지표 시각화, 리포팅)")
|
|
181
|
-
```
|
|
121
|
+
### Agent & Model Routing
|
|
182
122
|
|
|
183
|
-
|
|
123
|
+
| Agent | 용도 | LOW | MEDIUM | HIGH |
|
|
124
|
+
|-------|------|-----|--------|------|
|
|
125
|
+
| **explore** | 기존 문서/코드 조사 | haiku | haiku | haiku |
|
|
126
|
+
| **analyst** | 요구사항 분석, 가정 검증 | sonnet | sonnet | opus |
|
|
127
|
+
| **researcher** | 시장/경쟁사/기술 트렌드 외부 조사 | - | sonnet | sonnet |
|
|
128
|
+
| **architect** | 기술 아키텍처 검토 | - | sonnet | opus |
|
|
129
|
+
| **designer** | UI/UX 요구사항 설계 | - | sonnet | opus |
|
|
130
|
+
| **planner** | PRD 구조 설계 | - | - | opus |
|
|
131
|
+
| **document-writer** | PRD 작성, 문서화 | haiku | sonnet | sonnet |
|
|
184
132
|
|
|
185
|
-
|
|
133
|
+
### 복잡도 판단
|
|
186
134
|
|
|
187
|
-
|
|
135
|
+
| 복잡도 | 기준 | 예시 |
|
|
136
|
+
|--------|------|------|
|
|
137
|
+
| **LOW** | CRUD, 단일 화면, 명확한 요구사항 | 프로필 편집, 목록 CRUD |
|
|
138
|
+
| **MEDIUM** | 다중 화면, API 연동, 2-3개 의존성 | Slack 연동, 결제 처리 |
|
|
139
|
+
| **HIGH** | 신규 아키텍처, 다중 의존성, 높은 불확실성 | 실시간 파이프라인, 소셜 피드 |
|
|
188
140
|
|
|
189
|
-
|
|
141
|
+
### 대표 병렬 패턴
|
|
190
142
|
|
|
143
|
+
**패턴 1: Persona별 사용자 스토리**
|
|
191
144
|
```typescript
|
|
192
|
-
|
|
193
|
-
Task(subagent_type="
|
|
194
|
-
|
|
195
|
-
Task(subagent_type="explore", model="haiku",
|
|
196
|
-
prompt="기존 데이터 구조 조사 (Prisma 스키마, 관계)")
|
|
197
|
-
|
|
198
|
-
// 2단계: 분석 + 아키텍처 (병렬)
|
|
199
|
-
Task(subagent_type="analyst", model="opus",
|
|
200
|
-
prompt="신규 소셜 로그인 요구사항 분석 (Google, GitHub)")
|
|
201
|
-
Task(subagent_type="architect", model="sonnet",
|
|
202
|
-
prompt="소셜 로그인 아키텍처 검토 (OAuth 플로우, 토큰 관리)")
|
|
145
|
+
Task(subagent_type="analyst", model="sonnet", prompt="관리자 사용자 스토리 도출")
|
|
146
|
+
Task(subagent_type="analyst", model="sonnet", prompt="일반 사용자 사용자 스토리 도출")
|
|
147
|
+
Task(subagent_type="analyst", model="sonnet", prompt="크리에이터 사용자 스토리 도출")
|
|
203
148
|
```
|
|
204
149
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
#### 패턴 8: 복잡한 시스템 PRD (3단계 병렬)
|
|
210
|
-
|
|
211
|
-
**시나리오:** 대규모 프로젝트에서 조사 → 분석 → 작성 단계마다 병렬 실행
|
|
212
|
-
|
|
150
|
+
**패턴 2: 기술 영역별 동시 분석**
|
|
213
151
|
```typescript
|
|
214
|
-
|
|
215
|
-
Task(subagent_type="
|
|
216
|
-
Task(subagent_type="
|
|
217
|
-
Task(subagent_type="
|
|
218
|
-
|
|
219
|
-
// 2단계: 다중 관점 분석 + 아키텍처 (병렬)
|
|
220
|
-
Task(subagent_type="analyst", model="opus", prompt="비즈니스 요구사항 분석")
|
|
221
|
-
Task(subagent_type="analyst", model="sonnet", prompt="사용자 요구사항 분석")
|
|
222
|
-
Task(subagent_type="architect", model="opus", prompt="기술 스택 및 아키텍처 검토")
|
|
223
|
-
|
|
224
|
-
// 3단계: 다중 섹션 PRD 작성 (병렬)
|
|
225
|
-
Task(subagent_type="document-writer", model="sonnet", prompt="PRD 섹션 1-5 작성")
|
|
226
|
-
Task(subagent_type="document-writer", model="sonnet", prompt="PRD 섹션 6-10 작성")
|
|
227
|
-
Task(subagent_type="document-writer", model="haiku", prompt="PRD 섹션 11-15 작성")
|
|
152
|
+
Task(subagent_type="analyst", model="sonnet", prompt="Frontend 요구사항 분석")
|
|
153
|
+
Task(subagent_type="analyst", model="sonnet", prompt="Backend 요구사항 분석")
|
|
154
|
+
Task(subagent_type="architect", model="sonnet", prompt="Infrastructure 요구사항 분석")
|
|
155
|
+
Task(subagent_type="analyst", model="opus", prompt="Security 요구사항 분석")
|
|
228
156
|
```
|
|
229
157
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
### 실전 시나리오 (Model Routing 포함)
|
|
235
|
-
|
|
236
|
-
#### 시나리오 1: B2B SaaS - 팀 협업 도구 신규 기능
|
|
237
|
-
|
|
238
|
-
**요구사항:** "슬랙 연동 기능 추가 - 프로젝트 업데이트 자동 알림"
|
|
239
|
-
|
|
240
|
-
**복잡도:** MEDIUM (기존 시스템 + 외부 API 연동)
|
|
241
|
-
|
|
158
|
+
**패턴 3: 다중 관점 검증**
|
|
242
159
|
```typescript
|
|
243
|
-
|
|
244
|
-
Task(subagent_type="
|
|
245
|
-
|
|
246
|
-
Task(subagent_type="explore", model="haiku",
|
|
247
|
-
prompt="Slack API 문서 조사 (Webhook, OAuth, 메시지 포맷)")
|
|
248
|
-
|
|
249
|
-
// 2단계: 분석 (병렬, sonnet)
|
|
250
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
251
|
-
prompt="요구사항 분석: Slack 연동 시나리오, 가정 검증, 엣지 케이스")
|
|
252
|
-
Task(subagent_type="architect", model="sonnet",
|
|
253
|
-
prompt="아키텍처 분석: Slack API 연동 패턴, 에러 핸들링, 재시도 로직")
|
|
254
|
-
|
|
255
|
-
// 3단계: PRD 작성 (sonnet)
|
|
256
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
257
|
-
prompt=`Slack 연동 PRD 작성 (15개 섹션):
|
|
258
|
-
- 비전: 팀 커뮤니케이션 통합
|
|
259
|
-
- 문제: 수동으로 Slack에 업데이트 공유
|
|
260
|
-
- 목표: 알림 자동화율 90%+
|
|
261
|
-
- 기능 요구사항: Slack 연동 설정, 자동 알림, 메시지 템플릿
|
|
262
|
-
- 기술 요구사항: Slack API, OAuth, Webhook
|
|
263
|
-
- 리스크: API Rate Limit, 네트워크 오류`)
|
|
160
|
+
Task(subagent_type="analyst", model="sonnet", prompt="PM 관점 검증: 비즈니스 목표, KPI")
|
|
161
|
+
Task(subagent_type="architect", model="opus", prompt="Engineer 관점 검증: 실현 가능성, 리스크")
|
|
162
|
+
Task(subagent_type="designer", model="sonnet", prompt="Designer 관점 검증: UX, 접근성")
|
|
264
163
|
```
|
|
265
164
|
|
|
266
|
-
|
|
267
|
-
- explore (haiku): 단순 조사 작업
|
|
268
|
-
- analyst/architect (sonnet): 일반적인 API 연동 분석
|
|
269
|
-
- document-writer (sonnet): MEDIUM 복잡도 PRD
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
#### 시나리오 2: 모바일 앱 - 소셜 피드 기능
|
|
274
|
-
|
|
275
|
-
**요구사항:** "Instagram 스타일 피드 + 댓글 + 좋아요 기능"
|
|
276
|
-
|
|
277
|
-
**복잡도:** HIGH (복잡한 UI/UX + 실시간 업데이트 + 성능 최적화)
|
|
278
|
-
|
|
165
|
+
**패턴 4: 시장/경쟁사 외부 조사 (MEDIUM+ 복잡도)**
|
|
279
166
|
```typescript
|
|
280
|
-
//
|
|
281
|
-
Task(subagent_type="
|
|
282
|
-
|
|
283
|
-
Task(subagent_type="
|
|
284
|
-
|
|
285
|
-
Task(subagent_type="explore", model="haiku",
|
|
286
|
-
prompt="Twitter 피드 UX 조사: 실시간 업데이트, 최적화 패턴")
|
|
287
|
-
|
|
288
|
-
// 2단계: 다중 관점 분석 (병렬, opus)
|
|
289
|
-
Task(subagent_type="analyst", model="opus",
|
|
290
|
-
prompt="사용자 요구사항 분석: Persona별 시나리오, 엣지 케이스")
|
|
291
|
-
Task(subagent_type="architect", model="opus",
|
|
292
|
-
prompt="아키텍처 분석: 피드 알고리즘, 실시간 업데이트, 캐싱 전략")
|
|
293
|
-
Task(subagent_type="designer", model="opus",
|
|
294
|
-
prompt="UX 요구사항 분석: 플로우, 접근성, 모바일 최적화")
|
|
295
|
-
|
|
296
|
-
// 3단계: 다중 섹션 PRD 작성 (병렬, sonnet)
|
|
297
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
298
|
-
prompt="소셜 피드 PRD 작성 - 비전, 문제, 목표, 범위 섹션 (1-4)")
|
|
299
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
300
|
-
prompt="소셜 피드 PRD 작성 - 페르소나, 사용자 여정 섹션 (5-6)")
|
|
301
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
302
|
-
prompt="소셜 피드 PRD 작성 - 기능 요구사항 섹션 (7)")
|
|
303
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
304
|
-
prompt="소셜 피드 PRD 작성 - 기술/성능/리스크 섹션 (8-12)")
|
|
167
|
+
// @reliable-search.md 규칙 적용: 현재 연도 포함, 출처 등급 분류
|
|
168
|
+
Task(subagent_type="researcher", model="sonnet",
|
|
169
|
+
prompt="[제품/기능] 시장 트렌드 2026. 검색 시 현재 연도 포함. 출처: URL + 발행일 + 소스유형.")
|
|
170
|
+
Task(subagent_type="researcher", model="sonnet",
|
|
171
|
+
prompt="[제품/기능] 경쟁사/대안 분석 2026. 검색 시 현재 연도 포함. 출처: URL + 발행일 + 소스유형.")
|
|
305
172
|
```
|
|
306
173
|
|
|
307
|
-
|
|
308
|
-
- explore (haiku): 조사 작업
|
|
309
|
-
- analyst/architect/designer (opus): 복잡한 UX/아키텍처 분석
|
|
310
|
-
- document-writer (sonnet): 섹션별 병렬 작성 (opus는 과도)
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
#### 시나리오 3: 내부 도구 - 관리자 대시보드
|
|
315
|
-
|
|
316
|
-
**요구사항:** "사용자 관리 + 지표 모니터링 + 로그 분석 대시보드"
|
|
317
|
-
|
|
318
|
-
**복잡도:** MEDIUM (내부 도구, 요구사항 명확)
|
|
174
|
+
### 실행 순서
|
|
319
175
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
prompt="지표 모니터링 요구사항 분석: 차트, 기간 필터, 실시간 업데이트")
|
|
326
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
327
|
-
prompt="로그 분석 요구사항 분석: 검색, 필터, 내보내기")
|
|
328
|
-
|
|
329
|
-
// 2단계: 다중 기능 PRD 병렬 작성 (haiku/sonnet)
|
|
330
|
-
Task(subagent_type="document-writer", model="haiku",
|
|
331
|
-
prompt="사용자 관리 PRD 작성 (간단한 CRUD)")
|
|
332
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
333
|
-
prompt="지표 모니터링 PRD 작성 (차트, 쿼리 최적화 포함)")
|
|
334
|
-
Task(subagent_type="document-writer", model="haiku",
|
|
335
|
-
prompt="로그 분석 PRD 작성 (검색/필터)")
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
**Model Routing 이유:**
|
|
339
|
-
- analyst (sonnet): 일반적인 내부 도구 요구사항
|
|
340
|
-
- document-writer (haiku): 단순 CRUD PRD
|
|
341
|
-
- document-writer (sonnet): 복잡한 지표 PRD
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
#### 시나리오 4: 데이터 대시보드 - 실시간 분석 플랫폼
|
|
346
|
-
|
|
347
|
-
**요구사항:** "실시간 데이터 수집 + 대시보드 + 알림 시스템"
|
|
348
|
-
|
|
349
|
-
**복잡도:** HIGH (실시간 처리 + 대용량 데이터 + 복잡한 아키텍처)
|
|
350
|
-
|
|
351
|
-
```typescript
|
|
352
|
-
// 1단계: 기술 영역별 분석 (병렬, opus)
|
|
353
|
-
Task(subagent_type="analyst", model="opus",
|
|
354
|
-
prompt="실시간 데이터 파이프라인 요구사항 분석: 수집, 처리, 저장")
|
|
355
|
-
Task(subagent_type="architect", model="opus",
|
|
356
|
-
prompt="아키텍처 분석: Kafka vs RabbitMQ, ClickHouse vs TimescaleDB")
|
|
357
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
358
|
-
prompt="대시보드 요구사항 분석: 차트, 필터, 사용자 커스터마이징")
|
|
359
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
360
|
-
prompt="알림 요구사항 분석: 트리거 조건, 채널 (이메일/슬랙/SMS)")
|
|
361
|
-
|
|
362
|
-
// 2단계: 다중 관점 검증 (병렬)
|
|
363
|
-
Task(subagent_type="analyst", model="sonnet",
|
|
364
|
-
prompt="PM 관점 검증: 비즈니스 가치, 우선순위, ROI")
|
|
365
|
-
Task(subagent_type="architect", model="opus",
|
|
366
|
-
prompt="Engineer 관점 검증: 기술적 리스크, 복잡도, 타임라인")
|
|
367
|
-
Task(subagent_type="designer", model="sonnet",
|
|
368
|
-
prompt="Designer 관점 검증: 대시보드 UX, 정보 계층")
|
|
369
|
-
|
|
370
|
-
// 3단계: PRD 작성 (planner + document-writer)
|
|
371
|
-
Task(subagent_type="planner", model="opus",
|
|
372
|
-
prompt="PRD 구조 설계: 15개 섹션 우선순위, 핵심 리스크 식별")
|
|
373
|
-
Task(subagent_type="document-writer", model="sonnet",
|
|
374
|
-
prompt="실시간 분석 플랫폼 PRD 작성 (Planner 구조 기반)")
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
**Model Routing 이유:**
|
|
378
|
-
- analyst/architect (opus): 복잡한 실시간 시스템 분석
|
|
379
|
-
- planner (opus): PRD 구조 설계 (HIGH 복잡도)
|
|
380
|
-
- document-writer (sonnet): 최종 PRD 작성
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
### 에이전트 활용 체크리스트
|
|
385
|
-
|
|
386
|
-
PRD 작성 시작 전 확인:
|
|
387
|
-
|
|
388
|
-
**복잡도 판단**
|
|
389
|
-
- [ ] 단순 기능 (CRUD, 단일 화면) → LOW → haiku/sonnet
|
|
390
|
-
- [ ] 일반 기능 (다중 화면, API 연동) → MEDIUM → sonnet
|
|
391
|
-
- [ ] 복잡한 시스템 (신규 아키텍처, 높은 불확실성) → HIGH → opus
|
|
392
|
-
|
|
393
|
-
**병렬 실행 가능 확인**
|
|
394
|
-
- [ ] 여러 Persona의 사용자 스토리 → 패턴 1 (analyst x N)
|
|
395
|
-
- [ ] 기술 영역별 요구사항 (Frontend/Backend/Security) → 패턴 2
|
|
396
|
-
- [ ] 다중 관점 검증 (PM/Engineer/Designer/QA) → 패턴 3
|
|
397
|
-
- [ ] 경쟁사 분석 + 시장 조사 → 패턴 4
|
|
398
|
-
- [ ] 기능별 AC + 테스트 시나리오 → 패턴 5
|
|
399
|
-
- [ ] 독립적인 기능 여러 개 → 패턴 6
|
|
400
|
-
|
|
401
|
-
**에이전트 선택**
|
|
402
|
-
- [ ] 요구사항 분석 → analyst (sonnet/opus)
|
|
403
|
-
- [ ] 아키텍처 검토 → architect (sonnet/opus)
|
|
404
|
-
- [ ] PRD 구조 설계 → planner (opus)
|
|
405
|
-
- [ ] PRD 작성 → document-writer (haiku/sonnet)
|
|
406
|
-
- [ ] 기존 시스템 조사 → explore (haiku)
|
|
407
|
-
- [ ] UI/UX 요구사항 → designer (sonnet/opus)
|
|
408
|
-
|
|
409
|
-
**Model 선택**
|
|
410
|
-
- [ ] haiku: 조사, 단순 문서, 명확한 요구사항
|
|
411
|
-
- [ ] sonnet: 일반적인 분석/작성, 균형 잡힌 품질
|
|
412
|
-
- [ ] opus: 복잡한 분석, 아키텍처 설계, 불확실성 높은 작업
|
|
413
|
-
|
|
414
|
-
**실행 순서**
|
|
415
|
-
- [ ] 1단계: 조사 (explore) + 경쟁사 분석 (병렬)
|
|
416
|
-
- [ ] 2단계: 요구사항 분석 (analyst) + 아키텍처 검토 (architect) (병렬)
|
|
417
|
-
- [ ] 3단계: PRD 작성 (document-writer) 또는 섹션별 병렬 작성
|
|
176
|
+
| 단계 | 작업 | 병렬 가능 |
|
|
177
|
+
|------|------|----------|
|
|
178
|
+
| **1** | 조사 (explore) + 외부 조사 (researcher, @reliable-search.md 적용) | O |
|
|
179
|
+
| **2** | 요구사항 분석 (analyst) + 아키텍처 (architect) | O |
|
|
180
|
+
| **3** | PRD 작성 (document-writer), 섹션별 분할 가능 | O |
|
|
418
181
|
|
|
419
182
|
**적극적으로 에이전트 활용. 혼자 하지 말 것.**
|
|
420
183
|
|
|
@@ -428,16 +191,10 @@ PRD 작성 시작 전 확인:
|
|
|
428
191
|
|
|
429
192
|
| 단계 | 작업 | 도구 |
|
|
430
193
|
|------|------|------|
|
|
431
|
-
| 1 | 복잡도
|
|
432
|
-
| 2 | 코드베이스/문서 조사
|
|
433
|
-
| 3 | 병렬 Agent 실행 (
|
|
434
|
-
| 4 |
|
|
435
|
-
|
|
436
|
-
**핵심 원칙**:
|
|
437
|
-
- 짧고 명확한 문장, 구체적 예시
|
|
438
|
-
- User Stories + Functional + Non-functional 구분
|
|
439
|
-
- 현재값 → 목표값 형태 지표
|
|
440
|
-
- 불확실한 부분은 Open Questions에 명시
|
|
194
|
+
| **1** | 복잡도 판단, PRD 프레임워크 선택 | Sequential Thinking |
|
|
195
|
+
| **2** | 코드베이스/문서 조사 | Task (explore) |
|
|
196
|
+
| **3** | 병렬 Agent 실행 (MEDIUM+ 복잡도) | Task (analyst, architect, document-writer) |
|
|
197
|
+
| **4** | PRD 작성 (아래 구조 준수) | Write → `.claude/plan/` 또는 `docs/prd/` |
|
|
441
198
|
|
|
442
199
|
</workflow>
|
|
443
200
|
|
|
@@ -445,82 +202,40 @@ PRD 작성 시작 전 확인:
|
|
|
445
202
|
|
|
446
203
|
<prd_structure>
|
|
447
204
|
|
|
448
|
-
## PRD 15개 섹션
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
### 6. 사용자 여정 & 시나리오
|
|
472
|
-
- 여정 단계 (해당 구간 표시)
|
|
473
|
-
- 대표 시나리오 (사용자 목적과 단계)
|
|
474
|
-
|
|
475
|
-
### 7. 기능 요구사항
|
|
476
|
-
각 기능마다:
|
|
477
|
-
- **User Stories**: As a [유저], I want to [행동] so that [가치]
|
|
478
|
-
- **기능 설명**: Happy Path, Alternative Flow, Edge Case
|
|
479
|
-
- **Functional Requirements**: 시스템 동작 명세
|
|
480
|
-
- **Non-functional Requirements**: 성능, 보안, 사용성
|
|
481
|
-
|
|
482
|
-
### 8. UX/UI 요구사항
|
|
483
|
-
- 핵심 원칙 (디자인 제약)
|
|
484
|
-
- 필수 정보/액션
|
|
485
|
-
- 접근성 (다국어, 키보드, 대비)
|
|
486
|
-
|
|
487
|
-
### 9. 기술/데이터 요구사항
|
|
488
|
-
- 기술 스택, 통합/의존성
|
|
489
|
-
- 데이터 구조 (엔티티)
|
|
490
|
-
- 보안/규제 (인증, 개인정보)
|
|
491
|
-
|
|
492
|
-
### 10. 성공 지표 & KPI
|
|
493
|
-
|
|
494
|
-
| 지표 | 현재값 | 목표값 | 측정 방법 |
|
|
495
|
-
|------|--------|--------|----------|
|
|
496
|
-
| ... | ... | ... | ... |
|
|
497
|
-
|
|
498
|
-
### 11. 리스크, 가정, 의존성
|
|
499
|
-
- 가정 (전제 조건)
|
|
500
|
-
- 리스크 (기술/비즈니스/UX, 완화 방안)
|
|
501
|
-
- 의존성 (다른 팀/프로젝트)
|
|
502
|
-
|
|
503
|
-
### 12. 릴리즈 전략 & 마일스톤
|
|
504
|
-
- 릴리즈 전략 (전체/단계적/A/B)
|
|
505
|
-
- 마일스톤 (타임라인)
|
|
506
|
-
- 롤백 계획 (Feature Flag)
|
|
205
|
+
## PRD 15개 섹션
|
|
206
|
+
|
|
207
|
+
| # | 섹션 | 핵심 내용 |
|
|
208
|
+
|---|------|----------|
|
|
209
|
+
| 1 | **메타데이터** | 제목, 작성자, 버전, 날짜, 관련 문서 |
|
|
210
|
+
| 2 | **비전 & 배경** | 비전 1-2문장, 왜 지금, 기존 한계 |
|
|
211
|
+
| 3 | **문제 정의 & 목표** | 데이터 기반 문제, 측정 가능 KPI (비즈니스/사용자) |
|
|
212
|
+
| 4 | **범위** | In Scope (P0/P1), **Out of Scope (Non-Goals)** |
|
|
213
|
+
| 5 | **타깃 유저 & 페르소나** | 세그먼트, 페르소나 (이름/역할/목표/Pain Point) |
|
|
214
|
+
| 6 | **사용자 여정 & 시나리오** | 여정 단계, JTBD 기반 대표 시나리오 |
|
|
215
|
+
| 7 | **기능 요구사항** | User Stories + Functional + Non-functional (기능별) |
|
|
216
|
+
| 8 | **UX/UI 요구사항** | 핵심 원칙, 필수 정보/액션, 접근성 |
|
|
217
|
+
| 9 | **기술/데이터 요구사항** | 스택, 통합, 데이터 구조, 보안/규제 |
|
|
218
|
+
| 10 | **성공 지표 & KPI** | 현재값 → 목표값, 측정 방법 |
|
|
219
|
+
| 11 | **리스크, 가정, 의존성** | 가정, 리스크 + 완화 방안, 의존성 |
|
|
220
|
+
| 12 | **릴리즈 전략** | 전략 (단계적/A·B), 마일스톤, 롤백 |
|
|
221
|
+
| 13 | **오픈 이슈 & Todo** | 미결정 질문, 결정자, 기한 |
|
|
222
|
+
| 14 | **구현 Phase** | 의존성 순서 단계 분해, 각 Phase에 테스트 체크포인트 |
|
|
223
|
+
| 15 | **변경 이력** | 버전별 변경 사항 추적 |
|
|
224
|
+
|
|
225
|
+
**기능 요구사항 작성법:**
|
|
226
|
+
```markdown
|
|
227
|
+
### 기능 N: [이름] (P0/P1)
|
|
507
228
|
|
|
508
|
-
|
|
229
|
+
**User Story**: As a [유저], I want to [행동] so that [가치]
|
|
509
230
|
|
|
510
|
-
|
|
511
|
-
|------|--------|------|
|
|
512
|
-
| ... | ... | ... |
|
|
231
|
+
**기능 설명**: Happy Path → Alternative Flow → Edge Case
|
|
513
232
|
|
|
514
|
-
|
|
515
|
-
-
|
|
516
|
-
-
|
|
517
|
-
- 트레이드오프 선택 이유 명시
|
|
233
|
+
**Acceptance Criteria** (Given-When-Then):
|
|
234
|
+
- Given [전제조건], When [행동], Then [결과]
|
|
235
|
+
- Given [전제조건], When [예외 행동], Then [에러 처리]
|
|
518
236
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
- 기능/요구사항: User Stories + Functional + Non-functional
|
|
522
|
-
- 불명확한 부분 → Open Questions
|
|
523
|
-
- 기존 PRD 수정 시 → Change log
|
|
237
|
+
**Non-functional**: 성능 (응답 < Nms), 보안, 사용성
|
|
238
|
+
```
|
|
524
239
|
|
|
525
240
|
</prd_structure>
|
|
526
241
|
|
|
@@ -540,7 +255,6 @@ PRD 작성 시작 전 확인:
|
|
|
540
255
|
| **작성자** | [이름] |
|
|
541
256
|
| **버전** | v0.1 |
|
|
542
257
|
| **작성일** | YYYY-MM-DD |
|
|
543
|
-
| **수정일** | YYYY-MM-DD |
|
|
544
258
|
| **관련 문서** | [링크] |
|
|
545
259
|
|
|
546
260
|
---
|
|
@@ -548,9 +262,7 @@ PRD 작성 시작 전 확인:
|
|
|
548
262
|
## 1. 비전 & 배경
|
|
549
263
|
|
|
550
264
|
**비전**: [1-2문장]
|
|
551
|
-
|
|
552
|
-
**배경**: [왜 지금 하는지]
|
|
553
|
-
|
|
265
|
+
**배경**: [왜 지금]
|
|
554
266
|
**기존 한계**: [간단히]
|
|
555
267
|
|
|
556
268
|
---
|
|
@@ -558,18 +270,16 @@ PRD 작성 시작 전 확인:
|
|
|
558
270
|
## 2. 문제 정의 & 목표
|
|
559
271
|
|
|
560
272
|
### 문제
|
|
561
|
-
[
|
|
562
|
-
|
|
563
|
-
**인사이트**:
|
|
273
|
+
[데이터 기반 문제 정의]
|
|
564
274
|
- 유저 피드백: [요약]
|
|
565
|
-
- 지표:
|
|
275
|
+
- 지표: [현재 수치]
|
|
566
276
|
|
|
567
277
|
### 목표
|
|
568
278
|
|
|
569
279
|
| 분류 | 목표 |
|
|
570
280
|
|------|------|
|
|
571
|
-
| **비즈니스** |
|
|
572
|
-
| **사용자** |
|
|
281
|
+
| **비즈니스** | [측정 가능한 목표] |
|
|
282
|
+
| **사용자** | [측정 가능한 목표] |
|
|
573
283
|
|
|
574
284
|
---
|
|
575
285
|
|
|
@@ -579,72 +289,37 @@ PRD 작성 시작 전 확인:
|
|
|
579
289
|
- [ ] 기능 1 (P0)
|
|
580
290
|
- [ ] 기능 2 (P1)
|
|
581
291
|
|
|
582
|
-
### Out of Scope
|
|
583
|
-
-
|
|
292
|
+
### Non-Goals (Out of Scope)
|
|
293
|
+
- [명시적으로 하지 않을 것과 이유]
|
|
584
294
|
|
|
585
295
|
---
|
|
586
296
|
|
|
587
297
|
## 4. 타깃 유저 & 페르소나
|
|
588
298
|
|
|
589
|
-
|
|
590
|
-
-
|
|
591
|
-
-
|
|
592
|
-
|
|
593
|
-
### 페르소나
|
|
594
|
-
|
|
595
|
-
**이름**: 김OO
|
|
596
|
-
**역할**: 소규모 쇼핑몰 운영자
|
|
597
|
-
**목표**: 재고 관리 자동화
|
|
598
|
-
**Pain Point**: 수동 입력 시간 과다
|
|
599
|
-
|
|
600
|
-
**Primary Persona**: 김OO
|
|
299
|
+
**Primary Persona**: [이름]
|
|
300
|
+
- **역할**: [역할]
|
|
301
|
+
- **목표**: [JTBD - 완수하려는 근본 과제]
|
|
302
|
+
- **Pain Point**: [현재 문제]
|
|
601
303
|
|
|
602
304
|
---
|
|
603
305
|
|
|
604
|
-
## 5. 사용자 여정
|
|
605
|
-
|
|
606
|
-
### 여정 단계
|
|
607
|
-
`랜딩 → [가입 → 첫 세팅] → 핵심 기능 → 반복 → 업그레이드`
|
|
306
|
+
## 5. 사용자 여정
|
|
608
307
|
|
|
609
|
-
|
|
610
|
-
사용자는 재고를 빠르게 등록하기 위해 앱을 연다.
|
|
611
|
-
...
|
|
612
|
-
5분 안에 100개 상품을 등록할 수 있다.
|
|
308
|
+
`[진입] → [핵심 행동] → [결과]`
|
|
613
309
|
|
|
614
310
|
---
|
|
615
311
|
|
|
616
312
|
## 6. 기능 요구사항
|
|
617
313
|
|
|
618
|
-
### 기능 1: [이름]
|
|
314
|
+
### 기능 1: [이름] (P0)
|
|
619
315
|
|
|
620
|
-
|
|
316
|
+
**User Story**: As a [유저], I want to [행동] so that [가치]
|
|
621
317
|
|
|
622
|
-
|
|
318
|
+
**Acceptance Criteria**:
|
|
319
|
+
- Given [전제], When [행동], Then [결과]
|
|
320
|
+
- Given [전제], When [예외], Then [에러 처리]
|
|
623
321
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
#### User Stories
|
|
627
|
-
- As a 쇼핑몰 운영자, I want to 엑셀로 재고를 일괄 등록 so that 시간을 절약할 수 있다
|
|
628
|
-
|
|
629
|
-
#### 기능 설명
|
|
630
|
-
- 엑셀 파일 업로드 (최대 1,000행)
|
|
631
|
-
- 검증: 필수 필드, 중복 체크
|
|
632
|
-
- 성공/실패 피드백
|
|
633
|
-
|
|
634
|
-
#### Functional Requirements
|
|
635
|
-
- 시스템은 엑셀 업로드 시 필수 필드(상품명, 가격) 검증해야 함
|
|
636
|
-
- 중복 상품은 경고 표시 후 사용자 선택(덮어쓰기/건너뛰기)
|
|
637
|
-
- 성공 시 재고 목록 페이지로 이동
|
|
638
|
-
|
|
639
|
-
#### Non-functional Requirements
|
|
640
|
-
- 성능: 1,000행 처리 < 3초
|
|
641
|
-
- 보안: 파일 크기 제한 5MB
|
|
642
|
-
- 사용성: 진행률 표시
|
|
643
|
-
|
|
644
|
-
---
|
|
645
|
-
|
|
646
|
-
### 기능 2: [이름]
|
|
647
|
-
...
|
|
322
|
+
**Non-functional**: 성능, 보안, 사용성
|
|
648
323
|
|
|
649
324
|
---
|
|
650
325
|
|
|
@@ -652,9 +327,8 @@ PRD 작성 시작 전 확인:
|
|
|
652
327
|
|
|
653
328
|
| 항목 | 내용 |
|
|
654
329
|
|------|------|
|
|
655
|
-
| **핵심 원칙** |
|
|
656
|
-
|
|
|
657
|
-
| **접근성** | 키보드 네비게이션, 한/영 지원 |
|
|
330
|
+
| **핵심 원칙** | [디자인 제약] |
|
|
331
|
+
| **접근성** | [키보드, 대비, 다국어] |
|
|
658
332
|
|
|
659
333
|
---
|
|
660
334
|
|
|
@@ -662,136 +336,101 @@ PRD 작성 시작 전 확인:
|
|
|
662
336
|
|
|
663
337
|
| 항목 | 내용 |
|
|
664
338
|
|------|------|
|
|
665
|
-
| **기술 스택** |
|
|
666
|
-
|
|
|
667
|
-
|
|
|
668
|
-
| **보안** | JWT 인증, File validation |
|
|
339
|
+
| **기술 스택** | [사용 기술] |
|
|
340
|
+
| **데이터** | [엔티티, 관계] |
|
|
341
|
+
| **보안** | [인증, 개인정보] |
|
|
669
342
|
|
|
670
343
|
---
|
|
671
344
|
|
|
672
|
-
## 9. 성공 지표
|
|
345
|
+
## 9. 성공 지표
|
|
673
346
|
|
|
674
347
|
| 지표 | 현재값 | 목표값 | 측정 방법 |
|
|
675
348
|
|------|--------|--------|----------|
|
|
676
|
-
|
|
|
677
|
-
| 에러율 | 30% | 10% 이하 | 실패 업로드 / 전체 |
|
|
678
|
-
| 주간 활성 | 500명 | 800명 | GA 이벤트 |
|
|
349
|
+
| ... | ... | ... | ... |
|
|
679
350
|
|
|
680
351
|
---
|
|
681
352
|
|
|
682
|
-
## 10.
|
|
353
|
+
## 10. 리스크 & 가정
|
|
683
354
|
|
|
684
|
-
| 분류 | 내용 |
|
|
685
|
-
|
|
686
|
-
| **가정** |
|
|
687
|
-
| **리스크** |
|
|
688
|
-
| **의존성** |
|
|
355
|
+
| 분류 | 내용 | 완화 방안 |
|
|
356
|
+
|------|------|----------|
|
|
357
|
+
| **가정** | [전제 조건] | [검증 방법] |
|
|
358
|
+
| **리스크** | [기술/비즈니스] | [완화 전략] |
|
|
359
|
+
| **의존성** | [외부 팀/라이브러리] | - |
|
|
689
360
|
|
|
690
361
|
---
|
|
691
362
|
|
|
692
363
|
## 11. 릴리즈 전략
|
|
693
364
|
|
|
694
|
-
**전략**:
|
|
365
|
+
**전략**: [전체/단계적/A·B]
|
|
366
|
+
**마일스톤**: [타임라인]
|
|
367
|
+
**롤백**: [Feature Flag 등]
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 12. 구현 Phase
|
|
695
372
|
|
|
696
|
-
|
|
697
|
-
-
|
|
698
|
-
-
|
|
699
|
-
-
|
|
373
|
+
### Phase 1: [기초] (Week 1-2)
|
|
374
|
+
- [ ] 태스크 1
|
|
375
|
+
- [ ] 태스크 2
|
|
376
|
+
- **체크포인트**: [테스트 가능한 검증 기준]
|
|
700
377
|
|
|
701
|
-
|
|
378
|
+
### Phase 2: [핵심] (Week 3-4)
|
|
379
|
+
- [ ] 태스크 3
|
|
380
|
+
- **체크포인트**: [검증 기준]
|
|
702
381
|
|
|
703
382
|
---
|
|
704
383
|
|
|
705
|
-
##
|
|
384
|
+
## 13. 오픈 이슈
|
|
706
385
|
|
|
707
386
|
| 질문 | 결정자 | 기한 |
|
|
708
387
|
|------|--------|------|
|
|
709
|
-
|
|
|
710
|
-
|
|
388
|
+
| ... | ... | ... |
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## 변경 이력
|
|
393
|
+
|
|
394
|
+
| 버전 | 날짜 | 변경 내용 |
|
|
395
|
+
|------|------|----------|
|
|
396
|
+
| v0.1 | YYYY-MM-DD | 초안 작성 |
|
|
711
397
|
```
|
|
712
398
|
|
|
713
399
|
</template>
|
|
714
400
|
|
|
715
401
|
---
|
|
716
402
|
|
|
717
|
-
<
|
|
718
|
-
|
|
719
|
-
## 실전 예시
|
|
403
|
+
<evaluation>
|
|
720
404
|
|
|
721
|
-
|
|
405
|
+
## PRD 품질 평가
|
|
722
406
|
|
|
723
|
-
|
|
724
|
-
|
|
407
|
+
| 항목 | 기준 | 가중치 |
|
|
408
|
+
|------|------|--------|
|
|
409
|
+
| **명확성** | 모호한 용어 없이 측정 가능한 요구사항 | 높음 |
|
|
410
|
+
| **완전성** | 범위, 제약조건, AC, Non-Goals 포함 | 높음 |
|
|
411
|
+
| **전략 정렬** | 비즈니스 목표/OKR과 직접 연결 | 높음 |
|
|
412
|
+
| **성공 메트릭** | 정량적 KPI + 현재값 → 목표값 | 높음 |
|
|
413
|
+
| **사용자 중심** | 페르소나, JTBD, User Stories, AC | 중간 |
|
|
414
|
+
| **우선순위** | MoSCoW/RICE 기반 명확한 우선순위 | 중간 |
|
|
415
|
+
| **가정 명시** | 검증되지 않은 가정 문서화 | 중간 |
|
|
416
|
+
| **AI 실행 가능** | Phase 분해, Non-Goals, 체크포인트 | 중간 |
|
|
725
417
|
|
|
726
|
-
|
|
727
|
-
thought 1: "프로필 편집 - 보통 복잡도, CRUD 기본 기능"
|
|
728
|
-
thought 2: "현재 User 모델 확인 필요, 인증 방식 파악"
|
|
729
|
-
thought 3: "편집 가능 필드: 이름, 이메일, 프로필 이미지"
|
|
730
|
-
thought 4: "검증: 이메일 중복, 이미지 크기, 형식"
|
|
731
|
-
thought 5: "API: PUT /api/user/:id, 클라이언트: useQuery + useMutation"
|
|
418
|
+
</evaluation>
|
|
732
419
|
|
|
733
|
-
|
|
734
|
-
Task (Explore): "User 모델 및 인증 구조 분석"
|
|
420
|
+
---
|
|
735
421
|
|
|
736
|
-
|
|
737
|
-
→ .claude/plan/profile-edit-prd.md
|
|
422
|
+
<references>
|
|
738
423
|
|
|
739
|
-
|
|
740
|
-
- 문제: 사용자가 정보를 수정할 방법이 없음
|
|
741
|
-
- 목표: 프로필 편집 완료율 90% 이상
|
|
742
|
-
- 기능: 이름/이메일/이미지 편집, 실시간 검증
|
|
743
|
-
- KPI: 편집 완료율, 에러율
|
|
744
|
-
```
|
|
424
|
+
## 참고 자료
|
|
745
425
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
thought 2: "현재 통신: REST만, 폴링 없음"
|
|
754
|
-
thought 3: "제약: 서버 부하, 클라이언트 연결 관리"
|
|
755
|
-
thought 4: "접근: WebSocket vs SSE vs Firebase"
|
|
756
|
-
thought 5: "WebSocket - 양방향, 복잡. SSE - 단방향, 간단"
|
|
757
|
-
thought 6: "옵션 3개: WebSocket(추천), SSE, Firebase"
|
|
758
|
-
thought 7: "WebSocket 추천 - 확장성, 제어 가능"
|
|
759
|
-
|
|
760
|
-
2. 병렬 실행:
|
|
761
|
-
Task({ subagent_type: 'analyst', prompt: '알림 요구사항 분석' })
|
|
762
|
-
Task({ subagent_type: 'architect', prompt: 'WebSocket 아키텍처 검토' })
|
|
763
|
-
|
|
764
|
-
3. PRD 작성:
|
|
765
|
-
- 비전: "사용자가 즉시 중요한 업데이트를 받는다"
|
|
766
|
-
- 범위:
|
|
767
|
-
* In: 주문 상태, 메시지 알림
|
|
768
|
-
* Out: 푸시 알림 (후속)
|
|
769
|
-
- 기술: WebSocket (ws 라이브러리), Redis Pub/Sub
|
|
770
|
-
- 리스크: 연결 안정성 (완화: 자동 재연결)
|
|
771
|
-
```
|
|
426
|
+
| 문서 | 내용 |
|
|
427
|
+
|------|------|
|
|
428
|
+
| @references/ai-native-prd.md | AI 에이전트용 PRD 작성법 (Osmani, Haberlah, Spec Kit, ChatPRD) |
|
|
429
|
+
| @references/pm-leaders.md | PM 리더 인사이트 (Cagan, Doshi, Rachitsky, Yien) |
|
|
430
|
+
| @references/frameworks.md | PRD 프레임워크 (PRFAQ, Shape Up, JTBD, RICE, Spec Kit) |
|
|
431
|
+
| @references/trends-2026.md | 2026 트렌드 (Spec-Driven, Outcome 중심, 빅테크 패턴) |
|
|
432
|
+
| @references/anti-patterns.md | 안티패턴 & 평가 기준 (Carnegie Mellon SEI 연구 포함) |
|
|
772
433
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
```bash
|
|
776
|
-
사용자: 대시보드 분석 기능 PRD - 매출, 주문, 트래픽 차트
|
|
777
|
-
|
|
778
|
-
1. Sequential Thinking (5단계):
|
|
779
|
-
thought 1: "대시보드 - 보통 복잡도, 데이터 집계 + 시각화"
|
|
780
|
-
thought 2: "데이터: Order, Payment, Analytics 테이블"
|
|
781
|
-
thought 3: "차트: 라인(트렌드), 바(비교), 파이(비율)"
|
|
782
|
-
thought 4: "필터: 기간(일/주/월), 카테고리"
|
|
783
|
-
thought 5: "성능: 집계 쿼리 최적화, 캐싱 필요"
|
|
784
|
-
|
|
785
|
-
2. PRD 핵심:
|
|
786
|
-
- 문제: 매출 데이터를 확인하려면 여러 페이지 접근 필요
|
|
787
|
-
- 목표: 대시보드 사용률 70% 이상
|
|
788
|
-
- 기능 요구사항:
|
|
789
|
-
* User Story: "As a 관리자, I want to 매출 트렌드를 한눈에 보고 싶다"
|
|
790
|
-
* Functional: 기간별 매출 집계, 차트 렌더링
|
|
791
|
-
* Non-functional: 쿼리 < 500ms, 캐싱 5분
|
|
792
|
-
- 성공 지표:
|
|
793
|
-
* 페이지뷰: 0 → 500/일
|
|
794
|
-
* 로딩 시간: - → 500ms 이하
|
|
795
|
-
```
|
|
434
|
+
**필요 시 해당 문서 참조. 각 문서 하단에 원본 URL 포함.**
|
|
796
435
|
|
|
797
|
-
</
|
|
436
|
+
</references>
|