@kood/claude-code 0.4.1 → 0.5.0

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.
Files changed (149) hide show
  1. package/dist/index.js +53 -7
  2. package/package.json +2 -1
  3. package/templates/.claude/PARALLEL_AGENTS.md +737 -0
  4. package/templates/.claude/agents/analyst.md +416 -0
  5. package/templates/.claude/agents/architect.md +569 -0
  6. package/templates/.claude/agents/code-reviewer.md +132 -133
  7. package/templates/.claude/agents/dependency-manager.md +93 -94
  8. package/templates/.claude/agents/deployment-validator.md +64 -65
  9. package/templates/.claude/agents/designer.md +655 -0
  10. package/templates/.claude/agents/document-writer.md +500 -0
  11. package/templates/.claude/agents/explore.md +499 -0
  12. package/templates/.claude/agents/git-operator.md +74 -75
  13. package/templates/.claude/agents/implementation-executor.md +138 -109
  14. package/templates/.claude/agents/ko-to-en-translator.md +18 -22
  15. package/templates/.claude/agents/lint-fixer.md +250 -93
  16. package/templates/.claude/agents/planner.md +356 -0
  17. package/templates/.claude/agents/refactor-advisor.md +135 -136
  18. package/templates/.claude/commands/bug-fix.md +296 -207
  19. package/templates/.claude/commands/git-all.md +199 -46
  20. package/templates/.claude/commands/git-session.md +113 -57
  21. package/templates/.claude/commands/lint-fix.md +219 -153
  22. package/templates/.claude/commands/lint-init.md +113 -76
  23. package/templates/.claude/commands/pre-deploy.md +190 -124
  24. package/templates/.claude/commands/refactor.md +407 -162
  25. package/templates/.claude/commands/version-update.md +138 -37
  26. package/templates/.claude/instructions/context-engineering/ANTHROPIC_CONTEXT_ENGINEERING.md +178 -0
  27. package/templates/.claude/instructions/context-engineering/references/claude-4x.md +215 -0
  28. package/templates/.claude/instructions/context-engineering/references/core-principles.md +137 -0
  29. package/templates/.claude/instructions/context-engineering/references/examples.md +351 -0
  30. package/templates/.claude/instructions/context-engineering/references/techniques.md +162 -0
  31. package/templates/.claude/instructions/parallel-agent-execution.md +874 -0
  32. package/templates/.claude/skills/docs-creator/AGENTS.md +238 -0
  33. package/templates/.claude/{commands/docs-creator.md → skills/docs-creator/SKILL.md} +61 -75
  34. package/templates/.claude/skills/docs-refactor/AGENTS.md +270 -0
  35. package/templates/.claude/{commands/docs-refactor.md → skills/docs-refactor/SKILL.md} +30 -44
  36. package/templates/.claude/skills/execute/SKILL.md +451 -0
  37. package/templates/.claude/skills/figma-to-code/AGENTS.md +287 -0
  38. package/templates/.claude/skills/figma-to-code/SKILL.md +225 -225
  39. package/templates/.claude/skills/figma-to-code/references/design-tokens.md +75 -73
  40. package/templates/.claude/skills/figma-to-code/references/figma-mcp-tools.md +73 -73
  41. package/templates/.claude/skills/figma-to-code/references/layout-mapping.md +104 -104
  42. package/templates/.claude/skills/figma-to-code/references/responsive-design.md +99 -99
  43. package/templates/.claude/skills/figma-to-code/references/verification.md +91 -91
  44. package/templates/.claude/skills/global-uiux-design/AGENTS.md +317 -0
  45. package/templates/.claude/skills/global-uiux-design/SKILL.md +738 -0
  46. package/templates/.claude/skills/global-uiux-design/references/accessibility.md +401 -0
  47. package/templates/.claude/skills/global-uiux-design/references/color-system.md +275 -0
  48. package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +206 -0
  49. package/templates/.claude/skills/global-uiux-design/references/design-systems.md +446 -0
  50. package/templates/.claude/skills/korea-uiux-design/AGENTS.md +307 -0
  51. package/templates/.claude/skills/korea-uiux-design/SKILL.md +170 -0
  52. package/templates/.claude/skills/nextjs-react-best-practices/AGENTS.md +95 -116
  53. package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +134 -152
  54. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-event-handler-refs.md +6 -6
  55. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-use-latest.md +5 -5
  56. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-api-routes.md +5 -5
  57. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-defer-await.md +22 -22
  58. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-dependencies.md +5 -5
  59. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-parallel.md +4 -4
  60. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-suspense-boundaries.md +21 -21
  61. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  62. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-conditional.md +4 -4
  63. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  64. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-dynamic-imports.md +4 -4
  65. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-preload.md +5 -5
  66. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-event-listeners.md +9 -9
  67. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-swr-dedup.md +7 -7
  68. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-batch-dom-css.md +13 -13
  69. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-function-results.md +14 -14
  70. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-property-access.md +4 -4
  71. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-storage.md +10 -10
  72. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-combine-iterations.md +4 -4
  73. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-early-exit.md +7 -7
  74. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-hoist-regexp.md +6 -6
  75. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-index-maps.md +6 -6
  76. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-length-check-first.md +14 -14
  77. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-min-max-loop.md +16 -16
  78. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-set-map-lookups.md +4 -4
  79. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  80. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-activity.md +4 -4
  81. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  82. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-conditional-render.md +8 -8
  83. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-content-visibility.md +4 -4
  84. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  85. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hydration-no-flicker.md +14 -14
  86. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-svg-precision.md +5 -5
  87. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-defer-reads.md +4 -4
  88. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-dependencies.md +7 -7
  89. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-derived-state.md +5 -5
  90. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  91. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  92. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-memo.md +5 -5
  93. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-transitions.md +4 -4
  94. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-after-nonblocking.md +24 -24
  95. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-lru.md +10 -10
  96. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-react.md +4 -4
  97. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-parallel-fetching.md +5 -5
  98. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-serialization.md +6 -6
  99. package/templates/.claude/skills/plan/SKILL.md +594 -0
  100. package/templates/.claude/skills/prd/SKILL.md +496 -0
  101. package/templates/.claude/skills/ralph/AGENTS.md +393 -0
  102. package/templates/.claude/skills/ralph/SKILL.md +1035 -0
  103. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +100 -121
  104. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +139 -157
  105. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-defer-await.md +22 -22
  106. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-dependencies.md +5 -5
  107. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-loader.md +7 -7
  108. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-parallel.md +4 -4
  109. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  110. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-conditional.md +4 -4
  111. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  112. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-lazy-routes.md +12 -12
  113. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-preload.md +5 -5
  114. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-event-listeners.md +9 -9
  115. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-tanstack-query.md +12 -12
  116. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-batch-dom-css.md +13 -13
  117. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-function-results.md +14 -14
  118. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-property-access.md +4 -4
  119. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-storage.md +10 -10
  120. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-combine-iterations.md +4 -4
  121. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-early-exit.md +7 -7
  122. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-hoist-regexp.md +6 -6
  123. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-index-maps.md +6 -6
  124. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-length-check-first.md +14 -14
  125. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-min-max-loop.md +16 -16
  126. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-set-map-lookups.md +4 -4
  127. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  128. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  129. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-conditional-render.md +8 -8
  130. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-content-visibility.md +4 -4
  131. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  132. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-svg-precision.md +5 -5
  133. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-defer-reads.md +4 -4
  134. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-dependencies.md +7 -7
  135. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-derived-state.md +5 -5
  136. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  137. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  138. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-memo.md +5 -5
  139. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-transitions.md +4 -4
  140. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-cache-lru.md +12 -12
  141. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +14 -14
  142. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-parallel-fetching.md +9 -9
  143. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +6 -6
  144. package/templates/.claude/commands/agent-creator.md +0 -370
  145. package/templates/.claude/commands/command-creator.md +0 -524
  146. package/templates/.claude/commands/execute.md +0 -469
  147. package/templates/.claude/commands/git.md +0 -98
  148. package/templates/.claude/commands/plan.md +0 -526
  149. package/templates/.claude/commands/prd.md +0 -629
@@ -0,0 +1,496 @@
1
+ # PRD Skill
2
+
3
+ > Product Requirements Document 생성
4
+
5
+ <when_to_use>
6
+
7
+ | 시나리오 | 설명 |
8
+ |---------|------|
9
+ | **신규 기능** | 3개 이상 파일 수정이 예상되는 기능 |
10
+ | **아키텍처 변경** | 새로운 시스템/모듈 추가 |
11
+ | **복잡한 요구사항** | 다중 의존성, 여러 팀 협업 |
12
+ | **기획 문서화** | 아이디어/회의 메모를 구조화된 문서로 변환 |
13
+
14
+ **호출 시점**: 구현 전 요구사항 정리, 팀 커뮤니케이션, 의사결정 기록
15
+
16
+ </when_to_use>
17
+
18
+ ---
19
+
20
+ <parallel_agent_execution>
21
+
22
+ ## 병렬 Agent 실행
23
+
24
+ PRD 작성 시 여러 Agent를 병렬로 실행하여 효율성 향상.
25
+
26
+ ### Recommended Agents
27
+
28
+ | Agent | Model | 용도 |
29
+ |-------|-------|------|
30
+ | **@analyst** | sonnet/opus | 요구사항 분석, 문제 정의 |
31
+ | **@document-writer** | sonnet | PRD 작성, 문서화 |
32
+ | **@explore** | haiku | 기존 문서/코드 조사 |
33
+ | **@architect** | sonnet | 기술 아키텍처 검토 |
34
+
35
+ ### Parallel Execution Patterns
36
+
37
+ | 패턴 | 조합 | 시나리오 |
38
+ |------|------|----------|
39
+ | **조사 + 분석** | explore + analyst | 기존 구조 파악 + 요구사항 분석 |
40
+ | **다중 기능 PRD** | document-writer x N | 독립적인 기능마다 병렬 작성 |
41
+ | **분석 + 아키텍처** | analyst + architect | 요구사항 분석 + 기술 검토 동시 진행 |
42
+
43
+ ### Model Routing
44
+
45
+ | 복잡도 | Model | 기준 |
46
+ |--------|-------|------|
47
+ | **LOW** | haiku/sonnet | 단순 기능 PRD (CRUD, 단일 화면) |
48
+ | **MEDIUM** | sonnet | 일반 기능 PRD (다중 화면, API 통합) |
49
+ | **HIGH** | opus | 복잡한 시스템 PRD (신규 아키텍처, 다중 의존성) |
50
+
51
+ ### Practical Examples
52
+
53
+ #### 조사 + 분석 병렬
54
+
55
+ ```typescript
56
+ // ✅ 기존 인증 구조 조사 + 신규 요구사항 분석
57
+ Task({
58
+ subagent_type: 'explore',
59
+ model: 'haiku',
60
+ prompt: '기존 인증 구조 조사 (Better Auth, 미들웨어, 세션 관리)'
61
+ })
62
+
63
+ Task({
64
+ subagent_type: 'analyst',
65
+ model: 'sonnet',
66
+ prompt: '소셜 로그인 추가 요구사항 분석 (Google, GitHub)'
67
+ })
68
+ ```
69
+
70
+ #### 다중 기능 PRD 병렬
71
+
72
+ ```typescript
73
+ // ✅ 독립적인 기능마다 PRD 작성
74
+ Task({
75
+ subagent_type: 'document-writer',
76
+ model: 'sonnet',
77
+ prompt: 'User 관리 PRD 작성 (프로필 편집, 권한 관리)'
78
+ })
79
+
80
+ Task({
81
+ subagent_type: 'document-writer',
82
+ model: 'sonnet',
83
+ prompt: 'Payment 연동 PRD 작성 (결제 플로우, 환불 처리)'
84
+ })
85
+ ```
86
+
87
+ #### 분석 + 아키텍처 병렬
88
+
89
+ ```typescript
90
+ // ✅ 요구사항 분석 + 기술 아키텍처 검토
91
+ Task({
92
+ subagent_type: 'analyst',
93
+ model: 'sonnet',
94
+ prompt: '실시간 알림 요구사항 분석 (사용자 니즈, 우선순위)'
95
+ })
96
+
97
+ Task({
98
+ subagent_type: 'architect',
99
+ model: 'sonnet',
100
+ prompt: '실시간 알림 기술 아키텍처 검토 (WebSocket vs SSE vs Firebase)'
101
+ })
102
+ ```
103
+
104
+ #### 복잡한 시스템 PRD
105
+
106
+ ```typescript
107
+ // ✅ 조사 → 분석 → PRD 작성 (순차 + 병렬)
108
+ // 1단계: 조사 (병렬)
109
+ Task({ subagent_type: 'explore', model: 'haiku', prompt: '현재 데이터 구조 조사' })
110
+ Task({ subagent_type: 'explore', model: 'haiku', prompt: '기존 통합 API 조사' })
111
+
112
+ // 2단계: 분석 + 아키텍처 (병렬)
113
+ Task({ subagent_type: 'analyst', model: 'opus', prompt: '신규 시스템 요구사항 분석' })
114
+ Task({ subagent_type: 'architect', model: 'sonnet', prompt: '기술 스택 및 아키텍처 검토' })
115
+
116
+ // 3단계: PRD 작성
117
+ Task({ subagent_type: 'document-writer', model: 'sonnet', prompt: '통합 PRD 작성' })
118
+ ```
119
+
120
+ </parallel_agent_execution>
121
+
122
+ ---
123
+
124
+ <workflow>
125
+
126
+ ## 실행 흐름
127
+
128
+ | 단계 | 작업 | 도구 |
129
+ |------|------|------|
130
+ | 1 | 복잡도 판단 및 PRD 구조 계획 | Sequential Thinking (3-5단계) |
131
+ | 2 | 코드베이스/문서 조사 (필요시) | Task (Explore) |
132
+ | 3 | 병렬 Agent 실행 (복잡한 경우) | Task (analyst, architect, document-writer) |
133
+ | 4 | 15개 섹션 구조로 PRD 작성 | Write → `.claude/plans/` 또는 `docs/prd/` |
134
+
135
+ **핵심 원칙**:
136
+ - 짧고 명확한 문장, 구체적 예시
137
+ - User Stories + Functional + Non-functional 구분
138
+ - 현재값 → 목표값 형태 지표
139
+ - 불확실한 부분은 Open Questions에 명시
140
+
141
+ </workflow>
142
+
143
+ ---
144
+
145
+ <prd_structure>
146
+
147
+ ## PRD 15개 섹션 구조
148
+
149
+ ### 1. 메타데이터
150
+ 제목, 작성자, 버전, 날짜, 관련 문서 링크
151
+
152
+ ### 2. 비전 & 배경
153
+ - 제품 비전 (1-2문장)
154
+ - 배경/컨텍스트 (왜 지금?)
155
+ - 기존 한계 (간단히)
156
+
157
+ ### 3. 문제 정의 & 목표
158
+ - **문제**: 어떤 문제/기회 (유저 피드백, 지표)
159
+ - **목표**: 측정 가능한 KPI (비즈니스/사용자)
160
+
161
+ ### 4. 범위 (Scope)
162
+ - **In Scope**: P0/P1 기능
163
+ - **Out of Scope**: 후속 릴리즈
164
+
165
+ ### 5. 타깃 유저 & 페르소나
166
+ - 주요 세그먼트
167
+ - 페르소나 (이름, 역할, 목표, Pain Point)
168
+ - Primary Persona
169
+
170
+ ### 6. 사용자 여정 & 시나리오
171
+ - 여정 단계 (해당 구간 표시)
172
+ - 대표 시나리오 (사용자 목적과 단계)
173
+
174
+ ### 7. 기능 요구사항
175
+ 각 기능마다:
176
+ - **User Stories**: As a [유저], I want to [행동] so that [가치]
177
+ - **기능 설명**: Happy Path, Alternative Flow, Edge Case
178
+ - **Functional Requirements**: 시스템 동작 명세
179
+ - **Non-functional Requirements**: 성능, 보안, 사용성
180
+
181
+ ### 8. UX/UI 요구사항
182
+ - 핵심 원칙 (디자인 제약)
183
+ - 필수 정보/액션
184
+ - 접근성 (다국어, 키보드, 대비)
185
+
186
+ ### 9. 기술/데이터 요구사항
187
+ - 기술 스택, 통합/의존성
188
+ - 데이터 구조 (엔티티)
189
+ - 보안/규제 (인증, 개인정보)
190
+
191
+ ### 10. 성공 지표 & KPI
192
+
193
+ | 지표 | 현재값 | 목표값 | 측정 방법 |
194
+ |------|--------|--------|----------|
195
+ | ... | ... | ... | ... |
196
+
197
+ ### 11. 리스크, 가정, 의존성
198
+ - 가정 (전제 조건)
199
+ - 리스크 (기술/비즈니스/UX, 완화 방안)
200
+ - 의존성 (다른 팀/프로젝트)
201
+
202
+ ### 12. 릴리즈 전략 & 마일스톤
203
+ - 릴리즈 전략 (전체/단계적/A/B)
204
+ - 마일스톤 (타임라인)
205
+ - 롤백 계획 (Feature Flag)
206
+
207
+ ### 13. 오픈 이슈 & Todo
208
+
209
+ | 질문 | 결정자 | 기한 |
210
+ |------|--------|------|
211
+ | ... | ... | ... |
212
+
213
+ ### 14. 작성 스타일 가이드
214
+ - 짧고 명확한 문장, 수식어 제거
215
+ - "좋은 UX" → 구체적 기준/예시
216
+ - 트레이드오프 선택 이유 명시
217
+
218
+ ### 15. Claude 최종 지시
219
+ - 15개 섹션 구조 준수
220
+ - 기능/요구사항: User Stories + Functional + Non-functional
221
+ - 불명확한 부분 → Open Questions
222
+ - 기존 PRD 수정 시 → Change log
223
+
224
+ </prd_structure>
225
+
226
+ ---
227
+
228
+ <template>
229
+
230
+ ## PRD 템플릿
231
+
232
+ ```markdown
233
+ # [제품/기능명] PRD
234
+
235
+ ## 메타데이터
236
+
237
+ | 항목 | 내용 |
238
+ |------|------|
239
+ | **작성자** | [이름] |
240
+ | **버전** | v0.1 |
241
+ | **작성일** | YYYY-MM-DD |
242
+ | **수정일** | YYYY-MM-DD |
243
+ | **관련 문서** | [링크] |
244
+
245
+ ---
246
+
247
+ ## 1. 비전 & 배경
248
+
249
+ **비전**: [1-2문장]
250
+
251
+ **배경**: [왜 지금 하는지]
252
+
253
+ **기존 한계**: [간단히]
254
+
255
+ ---
256
+
257
+ ## 2. 문제 정의 & 목표
258
+
259
+ ### 문제
260
+ [어떤 문제/기회]
261
+
262
+ **인사이트**:
263
+ - 유저 피드백: [요약]
264
+ - 지표: 전환율 15%, 이탈률 50%
265
+
266
+ ### 목표
267
+
268
+ | 분류 | 목표 |
269
+ |------|------|
270
+ | **비즈니스** | 결제 완료율 +5% |
271
+ | **사용자** | 작업 시간 30% 단축 |
272
+
273
+ ---
274
+
275
+ ## 3. 범위
276
+
277
+ ### In Scope (P0/P1)
278
+ - [ ] 기능 1 (P0)
279
+ - [ ] 기능 2 (P1)
280
+
281
+ ### Out of Scope
282
+ - 기능 X (후속 릴리즈)
283
+
284
+ ---
285
+
286
+ ## 4. 타깃 유저 & 페르소나
287
+
288
+ ### 주요 세그먼트
289
+ - 세그먼트 1
290
+ - 세그먼트 2
291
+
292
+ ### 페르소나
293
+
294
+ **이름**: 김OO
295
+ **역할**: 소규모 쇼핑몰 운영자
296
+ **목표**: 재고 관리 자동화
297
+ **Pain Point**: 수동 입력 시간 과다
298
+
299
+ **Primary Persona**: 김OO
300
+
301
+ ---
302
+
303
+ ## 5. 사용자 여정 & 시나리오
304
+
305
+ ### 여정 단계
306
+ `랜딩 → [가입 → 첫 세팅] → 핵심 기능 → 반복 → 업그레이드`
307
+
308
+ ### 대표 시나리오
309
+ 사용자는 재고를 빠르게 등록하기 위해 앱을 연다.
310
+ ...
311
+ 5분 안에 100개 상품을 등록할 수 있다.
312
+
313
+ ---
314
+
315
+ ## 6. 기능 요구사항
316
+
317
+ ### 기능 1: [이름]
318
+
319
+ **설명**: [1-2문장]
320
+
321
+ **목표**: [어떤 문제 해결]
322
+
323
+ **우선순위**: P0
324
+
325
+ #### User Stories
326
+ - As a 쇼핑몰 운영자, I want to 엑셀로 재고를 일괄 등록 so that 시간을 절약할 수 있다
327
+
328
+ #### 기능 설명
329
+ - 엑셀 파일 업로드 (최대 1,000행)
330
+ - 검증: 필수 필드, 중복 체크
331
+ - 성공/실패 피드백
332
+
333
+ #### Functional Requirements
334
+ - 시스템은 엑셀 업로드 시 필수 필드(상품명, 가격) 검증해야 함
335
+ - 중복 상품은 경고 표시 후 사용자 선택(덮어쓰기/건너뛰기)
336
+ - 성공 시 재고 목록 페이지로 이동
337
+
338
+ #### Non-functional Requirements
339
+ - 성능: 1,000행 처리 < 3초
340
+ - 보안: 파일 크기 제한 5MB
341
+ - 사용성: 진행률 표시
342
+
343
+ ---
344
+
345
+ ### 기능 2: [이름]
346
+ ...
347
+
348
+ ---
349
+
350
+ ## 7. UX/UI 요구사항
351
+
352
+ | 항목 | 내용 |
353
+ |------|------|
354
+ | **핵심 원칙** | 간편함 우선, 3클릭 이내 완료 |
355
+ | **필수 정보** | 진행률 바, 에러 메시지 |
356
+ | **접근성** | 키보드 네비게이션, 한/영 지원 |
357
+
358
+ ---
359
+
360
+ ## 8. 기술/데이터 요구사항
361
+
362
+ | 항목 | 내용 |
363
+ |------|------|
364
+ | **기술 스택** | React, TanStack Query, Prisma |
365
+ | **통합** | Excel Parser (xlsx.js) |
366
+ | **데이터** | Product 테이블 (name, price, quantity) |
367
+ | **보안** | JWT 인증, File validation |
368
+
369
+ ---
370
+
371
+ ## 9. 성공 지표 & KPI
372
+
373
+ | 지표 | 현재값 | 목표값 | 측정 방법 |
374
+ |------|--------|--------|----------|
375
+ | 등록 시간 | 평균 15분 | 5분 이하 | 업로드 완료 이벤트 |
376
+ | 에러율 | 30% | 10% 이하 | 실패 업로드 / 전체 |
377
+ | 주간 활성 | 500명 | 800명 | GA 이벤트 |
378
+
379
+ ---
380
+
381
+ ## 10. 리스크, 가정, 의존성
382
+
383
+ | 분류 | 내용 |
384
+ |------|------|
385
+ | **가정** | 사용자는 엑셀 형식을 알고 있음 |
386
+ | **리스크** | 대용량 파일 처리 성능 (완화: 행 수 제한) |
387
+ | **의존성** | xlsx.js 라이브러리 |
388
+
389
+ ---
390
+
391
+ ## 11. 릴리즈 전략
392
+
393
+ **전략**: 단계적 롤아웃 (베타 → GA)
394
+
395
+ **마일스톤**:
396
+ - 설계 완료: 2025-02-20
397
+ - 베타 릴리즈: 2025-03-10 (100명)
398
+ - GA: 2025-03-25
399
+
400
+ **롤백**: Feature Flag 사용
401
+
402
+ ---
403
+
404
+ ## 12. 오픈 이슈
405
+
406
+ | 질문 | 결정자 | 기한 |
407
+ |------|--------|------|
408
+ | 엑셀 템플릿 제공 여부 | PM | 2025-02-15 |
409
+ | 에러 메시지 문구 확정 | UX | 2025-02-20 |
410
+ ```
411
+
412
+ </template>
413
+
414
+ ---
415
+
416
+ <examples>
417
+
418
+ ## 실전 예시
419
+
420
+ ### 예시 1: 사용자 프로필 편집
421
+
422
+ ```bash
423
+ 사용자: 사용자 프로필 편집 기능 PRD 작성
424
+
425
+ 1. Sequential Thinking (5단계):
426
+ thought 1: "프로필 편집 - 보통 복잡도, CRUD 기본 기능"
427
+ thought 2: "현재 User 모델 확인 필요, 인증 방식 파악"
428
+ thought 3: "편집 가능 필드: 이름, 이메일, 프로필 이미지"
429
+ thought 4: "검증: 이메일 중복, 이미지 크기, 형식"
430
+ thought 5: "API: PUT /api/user/:id, 클라이언트: useQuery + useMutation"
431
+
432
+ 2. Task 탐색:
433
+ Task (Explore): "User 모델 및 인증 구조 분석"
434
+
435
+ 3. PRD 작성:
436
+ → .claude/plans/profile-edit-prd.md
437
+
438
+ 4. 주요 섹션:
439
+ - 문제: 사용자가 정보를 수정할 방법이 없음
440
+ - 목표: 프로필 편집 완료율 90% 이상
441
+ - 기능: 이름/이메일/이미지 편집, 실시간 검증
442
+ - KPI: 편집 완료율, 에러율
443
+ ```
444
+
445
+ ### 예시 2: 실시간 알림
446
+
447
+ ```bash
448
+ 사용자: 실시간 알림 시스템 PRD 작성
449
+
450
+ 1. Sequential Thinking (7단계):
451
+ thought 1: "실시간 알림 - 복잡도 높음, 새 인프라 필요"
452
+ thought 2: "현재 통신: REST만, 폴링 없음"
453
+ thought 3: "제약: 서버 부하, 클라이언트 연결 관리"
454
+ thought 4: "접근: WebSocket vs SSE vs Firebase"
455
+ thought 5: "WebSocket - 양방향, 복잡. SSE - 단방향, 간단"
456
+ thought 6: "옵션 3개: WebSocket(추천), SSE, Firebase"
457
+ thought 7: "WebSocket 추천 - 확장성, 제어 가능"
458
+
459
+ 2. 병렬 실행:
460
+ Task({ subagent_type: 'analyst', prompt: '알림 요구사항 분석' })
461
+ Task({ subagent_type: 'architect', prompt: 'WebSocket 아키텍처 검토' })
462
+
463
+ 3. PRD 작성:
464
+ - 비전: "사용자가 즉시 중요한 업데이트를 받는다"
465
+ - 범위:
466
+ * In: 주문 상태, 메시지 알림
467
+ * Out: 푸시 알림 (후속)
468
+ - 기술: WebSocket (ws 라이브러리), Redis Pub/Sub
469
+ - 리스크: 연결 안정성 (완화: 자동 재연결)
470
+ ```
471
+
472
+ ### 예시 3: 대시보드 분석 기능
473
+
474
+ ```bash
475
+ 사용자: 대시보드 분석 기능 PRD - 매출, 주문, 트래픽 차트
476
+
477
+ 1. Sequential Thinking (5단계):
478
+ thought 1: "대시보드 - 보통 복잡도, 데이터 집계 + 시각화"
479
+ thought 2: "데이터: Order, Payment, Analytics 테이블"
480
+ thought 3: "차트: 라인(트렌드), 바(비교), 파이(비율)"
481
+ thought 4: "필터: 기간(일/주/월), 카테고리"
482
+ thought 5: "성능: 집계 쿼리 최적화, 캐싱 필요"
483
+
484
+ 2. PRD 핵심:
485
+ - 문제: 매출 데이터를 확인하려면 여러 페이지 접근 필요
486
+ - 목표: 대시보드 사용률 70% 이상
487
+ - 기능 요구사항:
488
+ * User Story: "As a 관리자, I want to 매출 트렌드를 한눈에 보고 싶다"
489
+ * Functional: 기간별 매출 집계, 차트 렌더링
490
+ * Non-functional: 쿼리 < 500ms, 캐싱 5분
491
+ - 성공 지표:
492
+ * 페이지뷰: 0 → 500/일
493
+ * 로딩 시간: - → 500ms 이하
494
+ ```
495
+
496
+ </examples>