@kood/claude-code 0.5.1 → 0.5.3
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 +163 -28
- package/package.json +1 -1
- package/templates/.claude/agents/analyst.md +6 -14
- package/templates/.claude/agents/architect.md +6 -14
- package/templates/.claude/agents/code-reviewer.md +8 -14
- package/templates/.claude/agents/dependency-manager.md +8 -14
- package/templates/.claude/agents/deployment-validator.md +8 -14
- package/templates/.claude/agents/designer.md +8 -0
- package/templates/.claude/agents/document-writer.md +6 -14
- package/templates/.claude/agents/explore.md +8 -3
- package/templates/.claude/agents/git-operator.md +63 -17
- package/templates/.claude/agents/implementation-executor.md +14 -37
- package/templates/.claude/agents/ko-to-en-translator.md +8 -13
- package/templates/.claude/agents/lint-fixer.md +8 -172
- package/templates/.claude/agents/planner.md +6 -14
- package/templates/.claude/agents/refactor-advisor.md +8 -14
- package/templates/.claude/commands/git-all.md +3 -167
- package/templates/.claude/commands/git-session.md +3 -71
- package/templates/.claude/commands/lint-fix.md +119 -82
- package/templates/.claude/commands/lint-init.md +2 -54
- package/templates/.claude/commands/pre-deploy.md +143 -82
- package/templates/.claude/commands/version-update.md +171 -66
- package/templates/.claude/instructions/agent-patterns/agent-coordination.md +208 -0
- package/templates/.claude/instructions/agent-patterns/index.md +264 -0
- package/templates/.claude/instructions/agent-patterns/model-routing.md +167 -0
- package/templates/.claude/instructions/agent-patterns/parallel-execution.md +91 -0
- package/templates/.claude/instructions/agent-patterns/read-parallelization.md +106 -0
- package/templates/.claude/instructions/index.md +350 -0
- package/templates/.claude/instructions/multi-agent/agent-roster.md +811 -0
- package/templates/.claude/{PARALLEL_AGENTS.md → instructions/multi-agent/coordination-guide.md} +27 -336
- package/templates/.claude/instructions/{parallel-agent-execution.md → multi-agent/execution-patterns.md} +127 -438
- package/templates/.claude/instructions/multi-agent/index.md +282 -0
- package/templates/.claude/instructions/multi-agent/performance-optimization.md +456 -0
- package/templates/.claude/instructions/tech-stack/design-standards.md +282 -0
- package/templates/.claude/instructions/tech-stack/index.md +70 -0
- package/templates/.claude/instructions/tech-stack/prisma-patterns.md +352 -0
- package/templates/.claude/instructions/tech-stack/tanstack-patterns.md +275 -0
- package/templates/.claude/instructions/validation/forbidden-patterns.md +281 -0
- package/templates/.claude/instructions/validation/index.md +32 -0
- package/templates/.claude/instructions/validation/required-behaviors.md +331 -0
- package/templates/.claude/instructions/validation/verification-checklist.md +318 -0
- package/templates/.claude/instructions/workflow-patterns/index.md +18 -0
- package/templates/.claude/instructions/workflow-patterns/phase-based-workflow.md +250 -0
- package/templates/.claude/instructions/workflow-patterns/sequential-thinking.md +217 -0
- package/templates/.claude/instructions/workflow-patterns/todowrite-pattern.md +215 -0
- package/templates/.claude/skills/bug-fix/SKILL.md +972 -0
- package/templates/.claude/skills/docs-creator/AGENTS.md +4 -1
- package/templates/.claude/skills/docs-creator/SKILL.md +258 -0
- package/templates/.claude/skills/docs-refactor/AGENTS.md +4 -1
- package/templates/.claude/skills/docs-refactor/SKILL.md +145 -0
- package/templates/.claude/skills/execute/SKILL.md +15 -242
- package/templates/.claude/skills/figma-to-code/AGENTS.md +4 -1
- package/templates/.claude/skills/figma-to-code/SKILL.md +306 -0
- package/templates/.claude/skills/global-uiux-design/AGENTS.md +4 -1
- package/templates/.claude/skills/global-uiux-design/SKILL.md +455 -125
- package/templates/.claude/skills/korea-uiux-design/AGENTS.md +4 -1
- package/templates/.claude/skills/korea-uiux-design/SKILL.md +461 -116
- package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +177 -0
- package/templates/.claude/skills/plan/SKILL.md +1102 -98
- package/templates/.claude/skills/prd/SKILL.md +367 -66
- package/templates/.claude/skills/ralph/AGENTS.md +4 -1
- package/templates/.claude/skills/ralph/SKILL.md +83 -0
- package/templates/.claude/skills/refactor/SKILL.md +1214 -0
- package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +149 -0
- package/templates/.claude/commands/bug-fix.md +0 -510
- package/templates/.claude/commands/refactor.md +0 -788
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan
|
|
3
|
+
description: 개발 진행 방법 검토 및 옵션 제시
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
@../../instructions/workflow-patterns/sequential-thinking.md
|
|
8
|
+
@../../instructions/agent-patterns/parallel-execution.md
|
|
9
|
+
@../../instructions/agent-patterns/model-routing.md
|
|
10
|
+
@../../instructions/validation/forbidden-patterns.md
|
|
11
|
+
@../../instructions/validation/required-behaviors.md
|
|
12
|
+
|
|
1
13
|
# Plan Skill
|
|
2
14
|
|
|
3
15
|
> 개발 진행 방법 검토 및 옵션 제시
|
|
@@ -35,7 +47,8 @@ Task({
|
|
|
35
47
|
|
|
36
48
|
- 2-3개 옵션 제시 (장단점, 영향 범위)
|
|
37
49
|
- 추천안 및 근거
|
|
38
|
-
- 선택 후 `.claude/plans/[기능명]
|
|
50
|
+
- 선택 후 `.claude/plans/[기능명]-{timestamp}/` 폴더에 여러 문서 자동 생성
|
|
51
|
+
- OVERVIEW.md, OPTIONS.md, IMPLEMENTATION.md, RISKS.md, REFERENCES.md
|
|
39
52
|
|
|
40
53
|
</when_to_use>
|
|
41
54
|
|
|
@@ -51,13 +64,42 @@ Task({
|
|
|
51
64
|
|-------|-------|------|--------|
|
|
52
65
|
| **@planner** | opus | 계획 수립, 체계적 분석 | HIGH |
|
|
53
66
|
| **@explore** | haiku/sonnet | 코드베이스 탐색, 구조 파악 | LOW-MEDIUM |
|
|
54
|
-
| **@architect** | sonnet/opus | 아키텍처 분석, 설계 검토 | MEDIUM-HIGH |
|
|
55
|
-
| **@analyst** | sonnet | 요구사항 분석, 기술
|
|
67
|
+
| **@architect** | sonnet/opus | 아키텍처 분석, 설계 검토 (READ-ONLY) | MEDIUM-HIGH |
|
|
68
|
+
| **@analyst** | sonnet | 요구사항 분석, 기술 조사, 가정 검증 | MEDIUM |
|
|
56
69
|
|
|
57
70
|
---
|
|
58
71
|
|
|
59
72
|
### Parallel Execution Patterns
|
|
60
73
|
|
|
74
|
+
### Read 도구 병렬화
|
|
75
|
+
|
|
76
|
+
**프로젝트 분석 시 파일 병렬 읽기:**
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// ❌ 순차 읽기 (느림)
|
|
80
|
+
Read({ file_path: "src/file1.ts" })
|
|
81
|
+
// 대기...
|
|
82
|
+
Read({ file_path: "src/file2.ts" })
|
|
83
|
+
|
|
84
|
+
// ✅ 병렬 읽기 (빠름)
|
|
85
|
+
Read({ file_path: "src/file1.ts" })
|
|
86
|
+
Read({ file_path: "src/file2.ts" })
|
|
87
|
+
Read({ file_path: "src/file3.ts" })
|
|
88
|
+
Read({ file_path: "docs/api.md" })
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**복잡한 탐색은 explore 에이전트 활용:**
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
// 여러 영역 동시 탐색
|
|
95
|
+
Task(subagent_type="explore", model="haiku",
|
|
96
|
+
prompt="영역 1 파일 구조 및 패턴 분석")
|
|
97
|
+
Task(subagent_type="explore", model="haiku",
|
|
98
|
+
prompt="영역 2 의존성 및 관계 분석")
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
61
103
|
**1. 탐색 + 분석 병렬**
|
|
62
104
|
|
|
63
105
|
복잡한 시스템에서 여러 영역을 동시에 조사할 때 사용:
|
|
@@ -133,24 +175,368 @@ Task({
|
|
|
133
175
|
})
|
|
134
176
|
```
|
|
135
177
|
|
|
178
|
+
**4. 다중 대안 병렬 분석**
|
|
179
|
+
|
|
180
|
+
여러 옵션을 동시에 평가하여 비교:
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
// Option A, B, C를 각각 다른 analyst에게 동시 분석
|
|
184
|
+
Task({
|
|
185
|
+
subagent_type: 'analyst',
|
|
186
|
+
model: 'sonnet',
|
|
187
|
+
description: 'Option A 분석',
|
|
188
|
+
prompt: `
|
|
189
|
+
상태 관리 옵션 A (Zustand) 분석:
|
|
190
|
+
- 학습 곡선, 번들 크기, 성능
|
|
191
|
+
- TanStack Router 통합
|
|
192
|
+
- 장단점, 리스크
|
|
193
|
+
`
|
|
194
|
+
})
|
|
195
|
+
|
|
196
|
+
Task({
|
|
197
|
+
subagent_type: 'analyst',
|
|
198
|
+
model: 'sonnet',
|
|
199
|
+
description: 'Option B 분석',
|
|
200
|
+
prompt: `
|
|
201
|
+
상태 관리 옵션 B (Jotai) 분석:
|
|
202
|
+
- 원자적 상태, 리렌더 최적화
|
|
203
|
+
- TanStack Router 통합
|
|
204
|
+
- 장단점, 리스크
|
|
205
|
+
`
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
Task({
|
|
209
|
+
subagent_type: 'analyst',
|
|
210
|
+
model: 'sonnet',
|
|
211
|
+
description: 'Option C 분석',
|
|
212
|
+
prompt: `
|
|
213
|
+
상태 관리 옵션 C (Context API) 분석:
|
|
214
|
+
- 빌트인, 별도 의존성 없음
|
|
215
|
+
- 성능 이슈, 최적화 방법
|
|
216
|
+
- 장단점, 리스크
|
|
217
|
+
`
|
|
218
|
+
})
|
|
219
|
+
|
|
220
|
+
// → 결과 비교 후 최적 옵션 추천
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**5. 기술 스택 조사 동시 실행**
|
|
224
|
+
|
|
225
|
+
프레임워크, 라이브러리, 인프라를 병렬 조사:
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
// 신규 프로젝트 기술 스택 조사
|
|
229
|
+
Task({
|
|
230
|
+
subagent_type: 'analyst',
|
|
231
|
+
model: 'sonnet',
|
|
232
|
+
description: '프레임워크 조사',
|
|
233
|
+
prompt: `
|
|
234
|
+
프론트엔드 프레임워크 비교:
|
|
235
|
+
- Next.js, Remix, TanStack Start
|
|
236
|
+
- SSR/SSG 지원, 라우팅, 성능
|
|
237
|
+
- 생태계, 유지보수성
|
|
238
|
+
`
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
Task({
|
|
242
|
+
subagent_type: 'analyst',
|
|
243
|
+
model: 'sonnet',
|
|
244
|
+
description: '데이터베이스 조사',
|
|
245
|
+
prompt: `
|
|
246
|
+
데이터베이스 옵션 비교:
|
|
247
|
+
- PostgreSQL, MySQL, Prisma (ORM)
|
|
248
|
+
- 스키마 설계, 마이그레이션
|
|
249
|
+
- 스케일링, 백업 전략
|
|
250
|
+
`
|
|
251
|
+
})
|
|
252
|
+
|
|
253
|
+
Task({
|
|
254
|
+
subagent_type: 'analyst',
|
|
255
|
+
model: 'sonnet',
|
|
256
|
+
description: '인프라 조사',
|
|
257
|
+
prompt: `
|
|
258
|
+
배포 인프라 비교:
|
|
259
|
+
- Vercel, Cloudflare, AWS
|
|
260
|
+
- CI/CD, 모니터링, 비용
|
|
261
|
+
- 제약사항, 확장성
|
|
262
|
+
`
|
|
263
|
+
})
|
|
264
|
+
|
|
265
|
+
// → 통합 기술 스택 제안
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**6. 리스크 평가 병렬화**
|
|
269
|
+
|
|
270
|
+
기술적, 일정, 비용, 인력 리스크를 동시 평가:
|
|
271
|
+
|
|
272
|
+
```typescript
|
|
273
|
+
// 마이그레이션 프로젝트 리스크 평가
|
|
274
|
+
Task({
|
|
275
|
+
subagent_type: 'analyst',
|
|
276
|
+
model: 'sonnet',
|
|
277
|
+
description: '기술적 리스크',
|
|
278
|
+
prompt: `
|
|
279
|
+
레거시 → 현대 스택 마이그레이션 기술 리스크:
|
|
280
|
+
- 호환성 문제
|
|
281
|
+
- 데이터 마이그레이션
|
|
282
|
+
- 의존성 충돌
|
|
283
|
+
`
|
|
284
|
+
})
|
|
285
|
+
|
|
286
|
+
Task({
|
|
287
|
+
subagent_type: 'planner',
|
|
288
|
+
model: 'opus',
|
|
289
|
+
description: '일정 리스크',
|
|
290
|
+
prompt: `
|
|
291
|
+
마이그레이션 일정 리스크:
|
|
292
|
+
- 병목 구간 예측
|
|
293
|
+
- 불확실성 요소
|
|
294
|
+
- 완충 시간 필요성
|
|
295
|
+
`
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
Task({
|
|
299
|
+
subagent_type: 'analyst',
|
|
300
|
+
model: 'sonnet',
|
|
301
|
+
description: '비용 리스크',
|
|
302
|
+
prompt: `
|
|
303
|
+
마이그레이션 비용 리스크:
|
|
304
|
+
- 인프라 전환 비용
|
|
305
|
+
- 예상 외 비용 요소
|
|
306
|
+
- ROI 분석
|
|
307
|
+
`
|
|
308
|
+
})
|
|
309
|
+
|
|
310
|
+
Task({
|
|
311
|
+
subagent_type: 'planner',
|
|
312
|
+
model: 'sonnet',
|
|
313
|
+
description: '인력 리스크',
|
|
314
|
+
prompt: `
|
|
315
|
+
마이그레이션 인력 리스크:
|
|
316
|
+
- 기술 스택 학습 시간
|
|
317
|
+
- 외부 전문가 필요성
|
|
318
|
+
- 팀 역량 갭
|
|
319
|
+
`
|
|
320
|
+
})
|
|
321
|
+
|
|
322
|
+
// → 종합 리스크 보고서 생성
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**7. 아키텍처 다이어그램 + 기술 문서 동시 생성**
|
|
326
|
+
|
|
327
|
+
설계와 문서화를 병렬 처리:
|
|
328
|
+
|
|
329
|
+
```typescript
|
|
330
|
+
// 계획 수립 중 문서화 동시 진행
|
|
331
|
+
Task({
|
|
332
|
+
subagent_type: 'architect',
|
|
333
|
+
model: 'opus',
|
|
334
|
+
description: '아키텍처 설계',
|
|
335
|
+
prompt: `
|
|
336
|
+
마이크로서비스 아키텍처 설계:
|
|
337
|
+
- 서비스 분리 전략
|
|
338
|
+
- API Gateway, 인증, DB
|
|
339
|
+
- Mermaid 다이어그램 작성
|
|
340
|
+
`
|
|
341
|
+
})
|
|
342
|
+
|
|
343
|
+
Task({
|
|
344
|
+
subagent_type: 'planner',
|
|
345
|
+
model: 'sonnet',
|
|
346
|
+
description: '기술 문서 초안',
|
|
347
|
+
prompt: `
|
|
348
|
+
기술 문서 초안 작성:
|
|
349
|
+
- 서비스 책임 정의
|
|
350
|
+
- 통신 프로토콜
|
|
351
|
+
- 배포 전략
|
|
352
|
+
`
|
|
353
|
+
})
|
|
354
|
+
|
|
355
|
+
Task({
|
|
356
|
+
subagent_type: 'analyst',
|
|
357
|
+
model: 'sonnet',
|
|
358
|
+
description: '보안 요구사항',
|
|
359
|
+
prompt: `
|
|
360
|
+
보안 요구사항 분석:
|
|
361
|
+
- 인증/인가 방식
|
|
362
|
+
- 데이터 암호화
|
|
363
|
+
- 감사 로그
|
|
364
|
+
`
|
|
365
|
+
})
|
|
366
|
+
|
|
367
|
+
// → 아키텍처 문서 + 다이어그램 + 보안 가이드
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**8. 다중 관점 검증 (병렬 평가)**
|
|
371
|
+
|
|
372
|
+
보안, 성능, 확장성, 유지보수성을 동시 검토:
|
|
373
|
+
|
|
374
|
+
```typescript
|
|
375
|
+
// 계획된 접근 방식을 여러 관점에서 평가
|
|
376
|
+
Task({
|
|
377
|
+
subagent_type: 'analyst',
|
|
378
|
+
model: 'opus',
|
|
379
|
+
description: '보안 관점 검증',
|
|
380
|
+
prompt: `
|
|
381
|
+
계획된 접근 방식 보안 검증:
|
|
382
|
+
- 인증/인가 취약점
|
|
383
|
+
- 데이터 노출 위험
|
|
384
|
+
- 보안 베스트 프랙티스 준수
|
|
385
|
+
`
|
|
386
|
+
})
|
|
387
|
+
|
|
388
|
+
Task({
|
|
389
|
+
subagent_type: 'analyst',
|
|
390
|
+
model: 'opus',
|
|
391
|
+
description: '성능 관점 검증',
|
|
392
|
+
prompt: `
|
|
393
|
+
계획된 접근 방식 성능 검증:
|
|
394
|
+
- 병목 구간 예측
|
|
395
|
+
- 스케일링 전략
|
|
396
|
+
- 캐싱, 최적화 방안
|
|
397
|
+
`
|
|
398
|
+
})
|
|
399
|
+
|
|
400
|
+
Task({
|
|
401
|
+
subagent_type: 'architect',
|
|
402
|
+
model: 'opus',
|
|
403
|
+
description: '확장성 검증',
|
|
404
|
+
prompt: `
|
|
405
|
+
계획된 접근 방식 확장성 검증:
|
|
406
|
+
- 수평/수직 확장 가능성
|
|
407
|
+
- 모듈화, 느슨한 결합
|
|
408
|
+
- 향후 변경 용이성
|
|
409
|
+
`
|
|
410
|
+
})
|
|
411
|
+
|
|
412
|
+
Task({
|
|
413
|
+
subagent_type: 'analyst',
|
|
414
|
+
model: 'sonnet',
|
|
415
|
+
description: '유지보수성 검증',
|
|
416
|
+
prompt: `
|
|
417
|
+
계획된 접근 방식 유지보수성 검증:
|
|
418
|
+
- 코드 복잡도
|
|
419
|
+
- 테스트 가능성
|
|
420
|
+
- 문서화 전략
|
|
421
|
+
`
|
|
422
|
+
})
|
|
423
|
+
|
|
424
|
+
// → 통합 검증 보고서 생성
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
**패턴 9: 계획 문서 병렬 작성 (Plan 특화)**
|
|
428
|
+
|
|
429
|
+
옵션 선택 후 여러 문서를 동시에 작성:
|
|
430
|
+
|
|
431
|
+
```typescript
|
|
432
|
+
// 옵션 선택 후 5개 문서 동시 작성
|
|
433
|
+
Task({
|
|
434
|
+
subagent_type: 'document-writer',
|
|
435
|
+
model: 'haiku',
|
|
436
|
+
description: 'OVERVIEW.md 작성',
|
|
437
|
+
prompt: `
|
|
438
|
+
OVERVIEW.md 작성:
|
|
439
|
+
- 개요 (목표, 범위)
|
|
440
|
+
- 현재 상태 분석
|
|
441
|
+
- 선택된 옵션 및 이유
|
|
442
|
+
`
|
|
443
|
+
})
|
|
444
|
+
|
|
445
|
+
Task({
|
|
446
|
+
subagent_type: 'document-writer',
|
|
447
|
+
model: 'haiku',
|
|
448
|
+
description: 'OPTIONS.md 작성',
|
|
449
|
+
prompt: `
|
|
450
|
+
OPTIONS.md 작성:
|
|
451
|
+
- 모든 옵션 비교표 (1, 2, 3)
|
|
452
|
+
- 장단점, 영향 범위
|
|
453
|
+
- 추천 옵션 및 근거
|
|
454
|
+
`
|
|
455
|
+
})
|
|
456
|
+
|
|
457
|
+
Task({
|
|
458
|
+
subagent_type: 'document-writer',
|
|
459
|
+
model: 'sonnet',
|
|
460
|
+
description: 'IMPLEMENTATION.md 작성',
|
|
461
|
+
prompt: `
|
|
462
|
+
IMPLEMENTATION.md 작성:
|
|
463
|
+
- 구현 단계 (1단계, 2단계, ...)
|
|
464
|
+
- 각 단계별 작업 체크리스트
|
|
465
|
+
- 변경 파일 목록
|
|
466
|
+
`
|
|
467
|
+
})
|
|
468
|
+
|
|
469
|
+
Task({
|
|
470
|
+
subagent_type: 'document-writer',
|
|
471
|
+
model: 'haiku',
|
|
472
|
+
description: 'RISKS.md 작성',
|
|
473
|
+
prompt: `
|
|
474
|
+
RISKS.md 작성:
|
|
475
|
+
- 기술적 리스크
|
|
476
|
+
- 일정 리스크
|
|
477
|
+
- 완화 방안
|
|
478
|
+
`
|
|
479
|
+
})
|
|
480
|
+
|
|
481
|
+
Task({
|
|
482
|
+
subagent_type: 'document-writer',
|
|
483
|
+
model: 'haiku',
|
|
484
|
+
description: 'REFERENCES.md 작성',
|
|
485
|
+
prompt: `
|
|
486
|
+
REFERENCES.md 작성:
|
|
487
|
+
- 코드베이스 분석 결과
|
|
488
|
+
- 관련 문서 링크
|
|
489
|
+
- 참고 자료
|
|
490
|
+
`
|
|
491
|
+
})
|
|
492
|
+
|
|
493
|
+
// → 5개 문서 병렬 생성으로 빠르게 계획 문서화
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**모델 선택:**
|
|
497
|
+
- IMPLEMENTATION.md는 복잡하므로 sonnet
|
|
498
|
+
- 나머지는 haiku로 충분
|
|
499
|
+
|
|
136
500
|
---
|
|
137
501
|
|
|
138
502
|
### Model Routing
|
|
139
503
|
|
|
140
|
-
| 복잡도 | 조건 | 권장 Model | 예시 |
|
|
141
|
-
|
|
142
|
-
| **LOW** | 단순
|
|
143
|
-
| **MEDIUM** | 일반
|
|
144
|
-
| **HIGH** | 복잡한
|
|
504
|
+
| 복잡도 | 조건 | 권장 Model | Agent | 예시 |
|
|
505
|
+
|--------|------|-----------|-------|------|
|
|
506
|
+
| **LOW** | 단순 탐색, 파일 목록 | haiku | explore | 파일 구조 파악, 간단한 조사 |
|
|
507
|
+
| **MEDIUM** | 일반 분석, 기술 조사 | sonnet | analyst, planner | 요구사항 분석, 옵션 비교 |
|
|
508
|
+
| **HIGH** | 복잡한 설계, 아키텍처 | opus | planner, architect | 시스템 재설계, 아키텍처 결정 |
|
|
145
509
|
|
|
146
510
|
**Model 선택 가이드:**
|
|
147
511
|
|
|
148
512
|
```text
|
|
149
|
-
✅ haiku:
|
|
150
|
-
|
|
151
|
-
|
|
513
|
+
✅ haiku:
|
|
514
|
+
- 빠른 탐색, 파일 목록, 구조 파악
|
|
515
|
+
- 간단한 조사, 문서 초안
|
|
516
|
+
- 병렬 실행 시 비용 최적화
|
|
517
|
+
|
|
518
|
+
✅ sonnet:
|
|
519
|
+
- 일반 분석, 코드 리뷰, 패턴 도출
|
|
520
|
+
- 요구사항 분석, 기술 조사
|
|
521
|
+
- 옵션 비교, 리스크 평가
|
|
522
|
+
- 균형잡힌 품질/비용
|
|
523
|
+
|
|
524
|
+
✅ opus:
|
|
525
|
+
- 복잡한 설계, 아키텍처 결정
|
|
526
|
+
- 체계적 계획, 전략 수립
|
|
527
|
+
- 다중 관점 검증 (보안, 성능)
|
|
528
|
+
- 최고 품질 필요 시
|
|
152
529
|
```
|
|
153
530
|
|
|
531
|
+
**Agent별 모델 추천:**
|
|
532
|
+
|
|
533
|
+
| Agent | 기본 모델 | 복잡한 경우 | 이유 |
|
|
534
|
+
|-------|----------|------------|------|
|
|
535
|
+
| **explore** | haiku | sonnet | 탐색은 빠르게, 복잡한 분석은 sonnet |
|
|
536
|
+
| **analyst** | sonnet | opus | 일반 조사는 sonnet, 전략적 결정은 opus |
|
|
537
|
+
| **planner** | opus | opus | 계획은 항상 고품질 |
|
|
538
|
+
| **architect** | sonnet | opus | 일반 분석은 sonnet, 설계는 opus |
|
|
539
|
+
|
|
154
540
|
---
|
|
155
541
|
|
|
156
542
|
### Practical Examples
|
|
@@ -180,7 +566,19 @@ Task({
|
|
|
180
566
|
prompt: 'User 테이블, 세션 테이블, 관계 분석'
|
|
181
567
|
})
|
|
182
568
|
|
|
183
|
-
// 2단계: 아키텍처 분석 (
|
|
569
|
+
// 2단계: 요구사항 및 아키텍처 분석 (병렬)
|
|
570
|
+
Task({
|
|
571
|
+
subagent_type: 'analyst',
|
|
572
|
+
model: 'sonnet',
|
|
573
|
+
description: '요구사항 분석',
|
|
574
|
+
prompt: `
|
|
575
|
+
인증 시스템 요구사항 분석:
|
|
576
|
+
- 가정 검증 (소셜 로그인, 2FA, 비밀번호 재설정)
|
|
577
|
+
- 엣지 케이스 (세션 만료, 동시 로그인)
|
|
578
|
+
- 보안 요구사항
|
|
579
|
+
`
|
|
580
|
+
})
|
|
581
|
+
|
|
184
582
|
Task({
|
|
185
583
|
subagent_type: 'architect',
|
|
186
584
|
model: 'opus',
|
|
@@ -282,38 +680,347 @@ Task({
|
|
|
282
680
|
// → 결과 비교 후 기술 스택 추천
|
|
283
681
|
```
|
|
284
682
|
|
|
285
|
-
|
|
683
|
+
**예시 4: 신규 프로젝트 계획 (기술 스택 + 아키텍처 병렬)**
|
|
286
684
|
|
|
287
|
-
|
|
685
|
+
```typescript
|
|
686
|
+
// 신규 프로젝트 초기 계획 수립
|
|
687
|
+
Task({
|
|
688
|
+
subagent_type: 'analyst',
|
|
689
|
+
model: 'sonnet',
|
|
690
|
+
description: '요구사항 분석',
|
|
691
|
+
prompt: `
|
|
692
|
+
신규 프로젝트 요구사항 분석:
|
|
693
|
+
- 핵심 기능 정의
|
|
694
|
+
- 비기능 요구사항 (성능, 보안, 확장성)
|
|
695
|
+
- 제약사항 및 우선순위
|
|
696
|
+
`
|
|
697
|
+
})
|
|
288
698
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
699
|
+
Task({
|
|
700
|
+
subagent_type: 'analyst',
|
|
701
|
+
model: 'sonnet',
|
|
702
|
+
description: '기술 스택 조사',
|
|
703
|
+
prompt: `
|
|
704
|
+
기술 스택 비교 분석:
|
|
705
|
+
- 프론트엔드 (React 기반 프레임워크)
|
|
706
|
+
- 백엔드 (Node.js vs Python)
|
|
707
|
+
- 데이터베이스 (SQL vs NoSQL)
|
|
708
|
+
- 인프라 (클라우드 옵션)
|
|
709
|
+
`
|
|
710
|
+
})
|
|
294
711
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
712
|
+
Task({
|
|
713
|
+
subagent_type: 'architect',
|
|
714
|
+
model: 'opus',
|
|
715
|
+
description: '아키텍처 설계',
|
|
716
|
+
prompt: `
|
|
717
|
+
시스템 아키텍처 초안:
|
|
718
|
+
- 레이어 분리 전략
|
|
719
|
+
- API 설계 원칙
|
|
720
|
+
- 데이터 흐름
|
|
721
|
+
- Mermaid 다이어그램
|
|
722
|
+
`
|
|
723
|
+
})
|
|
299
724
|
|
|
300
|
-
|
|
725
|
+
Task({
|
|
726
|
+
subagent_type: 'planner',
|
|
727
|
+
model: 'opus',
|
|
728
|
+
description: '프로젝트 일정 수립',
|
|
729
|
+
prompt: `
|
|
730
|
+
프로젝트 일정 계획:
|
|
731
|
+
- MVP 범위 정의
|
|
732
|
+
- 단계별 마일스톤
|
|
733
|
+
- 리스크 및 완충 시간
|
|
734
|
+
`
|
|
735
|
+
})
|
|
301
736
|
|
|
302
|
-
|
|
737
|
+
// → 종합 프로젝트 계획서 생성
|
|
738
|
+
```
|
|
303
739
|
|
|
304
|
-
|
|
740
|
+
**예시 5: 레거시 마이그레이션 (리스크 평가 + 전략 수립)**
|
|
305
741
|
|
|
306
|
-
|
|
742
|
+
```typescript
|
|
743
|
+
// 레거시 시스템 → 현대 스택 마이그레이션 계획
|
|
744
|
+
Task({
|
|
745
|
+
subagent_type: 'explore',
|
|
746
|
+
model: 'haiku',
|
|
747
|
+
description: '레거시 구조 분석',
|
|
748
|
+
prompt: '레거시 시스템 구조, 의존성, 기술 스택 파악'
|
|
749
|
+
})
|
|
307
750
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
751
|
+
Task({
|
|
752
|
+
subagent_type: 'analyst',
|
|
753
|
+
model: 'sonnet',
|
|
754
|
+
description: '기술적 리스크',
|
|
755
|
+
prompt: `
|
|
756
|
+
마이그레이션 기술 리스크:
|
|
757
|
+
- 호환성 문제
|
|
758
|
+
- 데이터 무결성
|
|
759
|
+
- 의존성 충돌
|
|
760
|
+
`
|
|
761
|
+
})
|
|
315
762
|
|
|
316
|
-
|
|
763
|
+
Task({
|
|
764
|
+
subagent_type: 'planner',
|
|
765
|
+
model: 'opus',
|
|
766
|
+
description: '일정 리스크',
|
|
767
|
+
prompt: `
|
|
768
|
+
마이그레이션 일정 리스크:
|
|
769
|
+
- 병목 구간
|
|
770
|
+
- 예상 외 지연 요인
|
|
771
|
+
- 완충 시간 확보
|
|
772
|
+
`
|
|
773
|
+
})
|
|
774
|
+
|
|
775
|
+
Task({
|
|
776
|
+
subagent_type: 'architect',
|
|
777
|
+
model: 'opus',
|
|
778
|
+
description: '마이그레이션 전략',
|
|
779
|
+
prompt: `
|
|
780
|
+
단계적 마이그레이션 전략:
|
|
781
|
+
- Strangler Fig 패턴
|
|
782
|
+
- 점진적 전환 계획
|
|
783
|
+
- 롤백 시나리오
|
|
784
|
+
`
|
|
785
|
+
})
|
|
786
|
+
|
|
787
|
+
// → 마이그레이션 로드맵 생성
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
**예시 6: 성능 최적화 계획 (다중 관점 분석)**
|
|
791
|
+
|
|
792
|
+
```typescript
|
|
793
|
+
// 성능 문제 분석 및 개선 계획
|
|
794
|
+
Task({
|
|
795
|
+
subagent_type: 'explore',
|
|
796
|
+
model: 'haiku',
|
|
797
|
+
description: '성능 병목 탐색',
|
|
798
|
+
prompt: '느린 페이지, API 엔드포인트, DB 쿼리 식별'
|
|
799
|
+
})
|
|
800
|
+
|
|
801
|
+
Task({
|
|
802
|
+
subagent_type: 'analyst',
|
|
803
|
+
model: 'sonnet',
|
|
804
|
+
description: '프론트엔드 성능',
|
|
805
|
+
prompt: `
|
|
806
|
+
프론트엔드 성능 분석:
|
|
807
|
+
- 번들 크기, 불필요한 리렌더
|
|
808
|
+
- 이미지 최적화, 코드 스플리팅
|
|
809
|
+
- 개선 방안
|
|
810
|
+
`
|
|
811
|
+
})
|
|
812
|
+
|
|
813
|
+
Task({
|
|
814
|
+
subagent_type: 'analyst',
|
|
815
|
+
model: 'sonnet',
|
|
816
|
+
description: '백엔드 성능',
|
|
817
|
+
prompt: `
|
|
818
|
+
백엔드 성능 분석:
|
|
819
|
+
- DB 쿼리 최적화 (N+1 문제)
|
|
820
|
+
- 캐싱 전략
|
|
821
|
+
- API 응답 시간 개선
|
|
822
|
+
`
|
|
823
|
+
})
|
|
824
|
+
|
|
825
|
+
Task({
|
|
826
|
+
subagent_type: 'architect',
|
|
827
|
+
model: 'opus',
|
|
828
|
+
description: '인프라 최적화',
|
|
829
|
+
prompt: `
|
|
830
|
+
인프라 최적화 전략:
|
|
831
|
+
- CDN, 로드 밸런싱
|
|
832
|
+
- 스케일링 전략
|
|
833
|
+
- 모니터링 및 알림
|
|
834
|
+
`
|
|
835
|
+
})
|
|
836
|
+
|
|
837
|
+
// → 통합 성능 최적화 계획
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
**예시 7: 보안 강화 계획 (다중 관점 검증)**
|
|
841
|
+
|
|
842
|
+
```typescript
|
|
843
|
+
// 보안 취약점 분석 및 강화 계획
|
|
844
|
+
Task({
|
|
845
|
+
subagent_type: 'analyst',
|
|
846
|
+
model: 'opus',
|
|
847
|
+
description: '인증/인가 보안',
|
|
848
|
+
prompt: `
|
|
849
|
+
인증/인가 보안 검토:
|
|
850
|
+
- 세션 관리 취약점
|
|
851
|
+
- 권한 상승 위험
|
|
852
|
+
- 개선 방안
|
|
853
|
+
`
|
|
854
|
+
})
|
|
855
|
+
|
|
856
|
+
Task({
|
|
857
|
+
subagent_type: 'analyst',
|
|
858
|
+
model: 'opus',
|
|
859
|
+
description: 'API 보안',
|
|
860
|
+
prompt: `
|
|
861
|
+
API 보안 검토:
|
|
862
|
+
- SQL Injection, XSS, CSRF
|
|
863
|
+
- 입력 검증, 출력 인코딩
|
|
864
|
+
- Rate Limiting
|
|
865
|
+
`
|
|
866
|
+
})
|
|
867
|
+
|
|
868
|
+
Task({
|
|
869
|
+
subagent_type: 'analyst',
|
|
870
|
+
model: 'sonnet',
|
|
871
|
+
description: '데이터 보안',
|
|
872
|
+
prompt: `
|
|
873
|
+
데이터 보안 검토:
|
|
874
|
+
- 민감 정보 암호화
|
|
875
|
+
- 접근 제어, 감사 로그
|
|
876
|
+
- GDPR 준수
|
|
877
|
+
`
|
|
878
|
+
})
|
|
879
|
+
|
|
880
|
+
Task({
|
|
881
|
+
subagent_type: 'architect',
|
|
882
|
+
model: 'opus',
|
|
883
|
+
description: '인프라 보안',
|
|
884
|
+
prompt: `
|
|
885
|
+
인프라 보안 검토:
|
|
886
|
+
- 네트워크 분리, 방화벽
|
|
887
|
+
- 의존성 취약점 스캔
|
|
888
|
+
- 모니터링 및 경고
|
|
889
|
+
`
|
|
890
|
+
})
|
|
891
|
+
|
|
892
|
+
// → 보안 강화 로드맵 생성
|
|
893
|
+
```
|
|
894
|
+
|
|
895
|
+
**예시 8: 대규모 리팩토링 (모듈별 병렬 계획)**
|
|
896
|
+
|
|
897
|
+
```typescript
|
|
898
|
+
// 여러 모듈을 동시에 분석하고 계획 수립
|
|
899
|
+
Task({
|
|
900
|
+
subagent_type: 'analyst',
|
|
901
|
+
model: 'sonnet',
|
|
902
|
+
description: 'User 모듈 분석',
|
|
903
|
+
prompt: `
|
|
904
|
+
User 모듈 현황 분석:
|
|
905
|
+
- 복잡도, 의존성
|
|
906
|
+
- 테스트 커버리지
|
|
907
|
+
- 리팩토링 우선순위
|
|
908
|
+
`
|
|
909
|
+
})
|
|
910
|
+
|
|
911
|
+
Task({
|
|
912
|
+
subagent_type: 'analyst',
|
|
913
|
+
model: 'sonnet',
|
|
914
|
+
description: 'Payment 모듈 분석',
|
|
915
|
+
prompt: `
|
|
916
|
+
Payment 모듈 현황 분석:
|
|
917
|
+
- 트랜잭션 안정성
|
|
918
|
+
- 에러 핸들링 품질
|
|
919
|
+
- 개선 필요 항목
|
|
920
|
+
`
|
|
921
|
+
})
|
|
922
|
+
|
|
923
|
+
Task({
|
|
924
|
+
subagent_type: 'analyst',
|
|
925
|
+
model: 'sonnet',
|
|
926
|
+
description: 'Notification 모듈 분석',
|
|
927
|
+
prompt: `
|
|
928
|
+
Notification 모듈 현황 분석:
|
|
929
|
+
- 템플릿 구조
|
|
930
|
+
- 다국어 지원 현황
|
|
931
|
+
- 개선 필요 항목
|
|
932
|
+
`
|
|
933
|
+
})
|
|
934
|
+
|
|
935
|
+
Task({
|
|
936
|
+
subagent_type: 'planner',
|
|
937
|
+
model: 'opus',
|
|
938
|
+
description: '통합 리팩토링 계획',
|
|
939
|
+
prompt: `
|
|
940
|
+
모듈별 분석 결과 기반 통합 계획:
|
|
941
|
+
- 우선순위 및 일정
|
|
942
|
+
- 의존성 관리
|
|
943
|
+
- 단계별 마일스톤
|
|
944
|
+
`
|
|
945
|
+
})
|
|
946
|
+
|
|
947
|
+
// → 모듈별 리팩토링 계획 + 통합 로드맵
|
|
948
|
+
```
|
|
949
|
+
|
|
950
|
+
---
|
|
951
|
+
|
|
952
|
+
### 병렬 실행 시 고려사항
|
|
953
|
+
|
|
954
|
+
```text
|
|
955
|
+
✅ DO:
|
|
956
|
+
- 독립적인 작업만 병렬 실행 (의존성 없는 경우)
|
|
957
|
+
- 결과 취합 후 통합 분석 수행
|
|
958
|
+
- 모델 선택 시 복잡도 고려 (haiku/sonnet/opus)
|
|
959
|
+
- 병렬 실행 수는 3-5개 권장 (너무 많으면 복잡)
|
|
960
|
+
- 각 에이전트에게 명확한 범위 전달
|
|
961
|
+
- 다중 관점 검증 시 병렬 활용 (보안/성능/확장성)
|
|
962
|
+
- 기술 스택 조사 시 병렬 조사 후 비교
|
|
963
|
+
|
|
964
|
+
❌ DON'T:
|
|
965
|
+
- 순차 의존성이 있는 작업 병렬화 금지
|
|
966
|
+
- 결과 취합 없이 개별 결과만 사용
|
|
967
|
+
- 모든 작업에 opus 사용 (비용/시간 낭비)
|
|
968
|
+
- 병렬 실행 수 너무 많음 (5개 초과)
|
|
969
|
+
- 같은 영역을 중복 분석
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
---
|
|
973
|
+
|
|
974
|
+
### 병렬 에이전트 체크리스트
|
|
975
|
+
|
|
976
|
+
계획 수립 전 확인:
|
|
977
|
+
|
|
978
|
+
```text
|
|
979
|
+
✅ 탐색 단계
|
|
980
|
+
[ ] 여러 영역 동시 탐색 가능? → explore (haiku) 병렬 실행
|
|
981
|
+
[ ] 요구사항 불명확? → analyst (sonnet) 병렬 분석
|
|
982
|
+
|
|
983
|
+
✅ 분석 단계
|
|
984
|
+
[ ] 다중 옵션 비교 필요? → analyst (sonnet) 병렬 평가
|
|
985
|
+
[ ] 기술 스택 조사 필요? → analyst (sonnet) 병렬 조사
|
|
986
|
+
[ ] 리스크 평가 필요? → analyst + planner 병렬 평가
|
|
987
|
+
|
|
988
|
+
✅ 설계 단계
|
|
989
|
+
[ ] 아키텍처 + 문서화? → architect + planner 병렬
|
|
990
|
+
[ ] 여러 모듈 설계? → planner (opus) 병렬 수립
|
|
991
|
+
|
|
992
|
+
✅ 검증 단계
|
|
993
|
+
[ ] 다중 관점 검증? → analyst/architect (opus) 병렬 검토
|
|
994
|
+
[ ] 보안/성능/확장성 검토? → 각 관점별 병렬 실행
|
|
995
|
+
|
|
996
|
+
✅ 모델 선택
|
|
997
|
+
[ ] 복잡도 LOW → haiku
|
|
998
|
+
[ ] 복잡도 MEDIUM → sonnet
|
|
999
|
+
[ ] 복잡도 HIGH → opus
|
|
1000
|
+
|
|
1001
|
+
✅ 병렬 실행 수
|
|
1002
|
+
[ ] 3-5개 권장
|
|
1003
|
+
[ ] 독립성 확인
|
|
1004
|
+
[ ] 결과 통합 계획
|
|
1005
|
+
```
|
|
1006
|
+
|
|
1007
|
+
</parallel_agent_execution>
|
|
1008
|
+
|
|
1009
|
+
---
|
|
1010
|
+
|
|
1011
|
+
<workflow>
|
|
1012
|
+
|
|
1013
|
+
## 실행 흐름
|
|
1014
|
+
|
|
1015
|
+
| 단계 | 작업 | 도구 |
|
|
1016
|
+
|------|------|------|
|
|
1017
|
+
| 1. 복잡도 판단 | Sequential Thinking으로 분석 범위 결정 | sequentialthinking (1단계) |
|
|
1018
|
+
| 2. 코드베이스 탐색 | 현재 상태 파악, 관련 파일 탐색 | Task (Explore/planner) |
|
|
1019
|
+
| 3. 옵션 도출 | 가능한 접근 4-5개 → 주요 2-3개 선정 | sequentialthinking (2-6단계) |
|
|
1020
|
+
| 4. 옵션 제시 | 장단점, 영향 범위, 추천안 제시 | - |
|
|
1021
|
+
| 5. 문서 생성 | 옵션 선택 대기 후 계획 문서 병렬 생성 | Task (document-writer) 병렬 |
|
|
1022
|
+
|
|
1023
|
+
### Agent 선택 기준
|
|
317
1024
|
|
|
318
1025
|
| 복잡도 | 조건 | 사용 Agent |
|
|
319
1026
|
|--------|------|-----------|
|
|
@@ -333,6 +1040,272 @@ Task({
|
|
|
333
1040
|
|
|
334
1041
|
---
|
|
335
1042
|
|
|
1043
|
+
<state_management>
|
|
1044
|
+
|
|
1045
|
+
## 상태 관리 및 문서화
|
|
1046
|
+
|
|
1047
|
+
### 폴더 구조
|
|
1048
|
+
|
|
1049
|
+
옵션 선택 후 `.claude/plans/[기능명]-{timestamp}/` 폴더 생성:
|
|
1050
|
+
|
|
1051
|
+
```
|
|
1052
|
+
.claude/plans/realtime-notification-2026-01-24_14-30/
|
|
1053
|
+
├── OVERVIEW.md # 개요, 현재 상태, 선택된 옵션
|
|
1054
|
+
├── OPTIONS.md # 모든 옵션 비교 분석 (장단점, 영향 범위)
|
|
1055
|
+
├── IMPLEMENTATION.md # 구현 단계 상세 계획
|
|
1056
|
+
├── RISKS.md # 리스크 및 완화 방안
|
|
1057
|
+
└── REFERENCES.md # 참조 자료, 코드베이스 분석 결과
|
|
1058
|
+
```
|
|
1059
|
+
|
|
1060
|
+
**폴더명 형식:** `[기능명]-YYYY-MM-DD_HH-MM`
|
|
1061
|
+
|
|
1062
|
+
### 문서 역할
|
|
1063
|
+
|
|
1064
|
+
| 파일 | 내용 | 담당 에이전트 |
|
|
1065
|
+
|------|------|--------------|
|
|
1066
|
+
| **OVERVIEW.md** | 개요 (목표, 범위), 현재 상태 분석, 선택된 옵션 및 이유 | document-writer (haiku) |
|
|
1067
|
+
| **OPTIONS.md** | 모든 옵션 비교표, 장단점/영향 범위, 추천 옵션 및 근거 | document-writer (haiku) |
|
|
1068
|
+
| **IMPLEMENTATION.md** | 구현 단계 (1단계, 2단계, ...), 작업 체크리스트, 변경 파일 목록 | document-writer (sonnet) |
|
|
1069
|
+
| **RISKS.md** | 기술적 리스크, 일정 리스크, 완화 방안 | document-writer (haiku) |
|
|
1070
|
+
| **REFERENCES.md** | 코드베이스 분석 결과, 관련 문서 링크, 참고 자료 | document-writer (haiku) |
|
|
1071
|
+
|
|
1072
|
+
### 문서 작성
|
|
1073
|
+
|
|
1074
|
+
**우선순위: document-writer 에이전트 병렬 실행**
|
|
1075
|
+
|
|
1076
|
+
| 작업 | 방법 | 모델 |
|
|
1077
|
+
|------|------|------|
|
|
1078
|
+
| 5개 문서 동시 생성 | `Task(subagent_type="document-writer", ...)` 병렬 호출 | haiku (4개), sonnet (1개) |
|
|
1079
|
+
| 복잡한 IMPLEMENTATION.md | `Task(subagent_type="document-writer", model="sonnet", ...)` | sonnet |
|
|
1080
|
+
|
|
1081
|
+
**병렬 실행 패턴:**
|
|
1082
|
+
|
|
1083
|
+
```typescript
|
|
1084
|
+
// ✅ 5개 문서 동시 작성 (빠름)
|
|
1085
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
1086
|
+
prompt="OVERVIEW.md 생성: 개요, 현재 상태, 선택된 옵션")
|
|
1087
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
1088
|
+
prompt="OPTIONS.md 생성: 옵션 비교 분석")
|
|
1089
|
+
Task(subagent_type="document-writer", model="sonnet",
|
|
1090
|
+
prompt="IMPLEMENTATION.md 생성: 구현 단계 상세 계획")
|
|
1091
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
1092
|
+
prompt="RISKS.md 생성: 리스크 및 완화 방안")
|
|
1093
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
1094
|
+
prompt="REFERENCES.md 생성: 코드베이스 분석 결과")
|
|
1095
|
+
|
|
1096
|
+
// ❌ 순차 실행 (느림)
|
|
1097
|
+
Write({ file_path: "OVERVIEW.md", ... }) // 대기...
|
|
1098
|
+
Write({ file_path: "OPTIONS.md", ... }) // 대기...
|
|
1099
|
+
```
|
|
1100
|
+
|
|
1101
|
+
### 문서 템플릿
|
|
1102
|
+
|
|
1103
|
+
#### OVERVIEW.md
|
|
1104
|
+
|
|
1105
|
+
```markdown
|
|
1106
|
+
# [기능명] 계획 개요
|
|
1107
|
+
|
|
1108
|
+
생성: {{TIMESTAMP}}
|
|
1109
|
+
|
|
1110
|
+
## 목표
|
|
1111
|
+
|
|
1112
|
+
[무엇을 달성할 것인가]
|
|
1113
|
+
|
|
1114
|
+
## 범위
|
|
1115
|
+
|
|
1116
|
+
- 포함: [범위 1, 2, 3]
|
|
1117
|
+
- 제외: [범위 외 항목]
|
|
1118
|
+
|
|
1119
|
+
## 현재 상태 분석
|
|
1120
|
+
|
|
1121
|
+
### 코드베이스
|
|
1122
|
+
|
|
1123
|
+
- 관련 파일: `src/`, `lib/`
|
|
1124
|
+
- 현재 구조: [설명]
|
|
1125
|
+
|
|
1126
|
+
### 제약사항
|
|
1127
|
+
|
|
1128
|
+
- 제약 1
|
|
1129
|
+
- 제약 2
|
|
1130
|
+
|
|
1131
|
+
## 선택된 옵션
|
|
1132
|
+
|
|
1133
|
+
**옵션 [N]: [옵션 이름]**
|
|
1134
|
+
|
|
1135
|
+
**선택 이유:**
|
|
1136
|
+
1. 이유 1
|
|
1137
|
+
2. 이유 2
|
|
1138
|
+
3. 이유 3
|
|
1139
|
+
```
|
|
1140
|
+
|
|
1141
|
+
#### OPTIONS.md
|
|
1142
|
+
|
|
1143
|
+
```markdown
|
|
1144
|
+
# 옵션 비교 분석
|
|
1145
|
+
|
|
1146
|
+
## 옵션 1: [옵션 이름] (추천)
|
|
1147
|
+
|
|
1148
|
+
**접근 방식:**
|
|
1149
|
+
- 설명 1
|
|
1150
|
+
- 설명 2
|
|
1151
|
+
|
|
1152
|
+
| 장점 | 단점 |
|
|
1153
|
+
|------|------|
|
|
1154
|
+
| 장점 1 | 단점 1 |
|
|
1155
|
+
| 장점 2 | 단점 2 |
|
|
1156
|
+
|
|
1157
|
+
**영향 범위:**
|
|
1158
|
+
- 파일: `src/auth/`, `src/api/`
|
|
1159
|
+
- 예상 변경 규모: 중간
|
|
1160
|
+
- 리스크: 낮음
|
|
1161
|
+
|
|
1162
|
+
---
|
|
1163
|
+
|
|
1164
|
+
## 옵션 2: [옵션 이름]
|
|
1165
|
+
|
|
1166
|
+
[동일 형식]
|
|
1167
|
+
|
|
1168
|
+
---
|
|
1169
|
+
|
|
1170
|
+
## 옵션 3: [옵션 이름]
|
|
1171
|
+
|
|
1172
|
+
[동일 형식]
|
|
1173
|
+
|
|
1174
|
+
---
|
|
1175
|
+
|
|
1176
|
+
## 추천 및 근거
|
|
1177
|
+
|
|
1178
|
+
옵션 [N]을 추천합니다.
|
|
1179
|
+
|
|
1180
|
+
**근거:**
|
|
1181
|
+
1. 근거 1
|
|
1182
|
+
2. 근거 2
|
|
1183
|
+
3. 근거 3
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
#### IMPLEMENTATION.md
|
|
1187
|
+
|
|
1188
|
+
```markdown
|
|
1189
|
+
# 구현 단계
|
|
1190
|
+
|
|
1191
|
+
## 1단계: [단계 이름]
|
|
1192
|
+
|
|
1193
|
+
**작업:**
|
|
1194
|
+
- [ ] 작업 1
|
|
1195
|
+
- [ ] 작업 2
|
|
1196
|
+
- [ ] 작업 3
|
|
1197
|
+
|
|
1198
|
+
**변경 파일:**
|
|
1199
|
+
- `src/file1.ts`: [변경 내용]
|
|
1200
|
+
- `src/file2.ts`: [변경 내용]
|
|
1201
|
+
|
|
1202
|
+
**예상 소요 시간:** [시간]
|
|
1203
|
+
|
|
1204
|
+
---
|
|
1205
|
+
|
|
1206
|
+
## 2단계: [단계 이름]
|
|
1207
|
+
|
|
1208
|
+
**작업:**
|
|
1209
|
+
- [ ] 작업 4
|
|
1210
|
+
- [ ] 작업 5
|
|
1211
|
+
|
|
1212
|
+
**변경 파일:**
|
|
1213
|
+
- `src/file3.ts`: [변경 내용]
|
|
1214
|
+
|
|
1215
|
+
**예상 소요 시간:** [시간]
|
|
1216
|
+
|
|
1217
|
+
---
|
|
1218
|
+
|
|
1219
|
+
## 3단계: [단계 이름]
|
|
1220
|
+
|
|
1221
|
+
[동일 형식]
|
|
1222
|
+
|
|
1223
|
+
---
|
|
1224
|
+
|
|
1225
|
+
## 검증 방법
|
|
1226
|
+
|
|
1227
|
+
- [ ] 테스트 항목 1
|
|
1228
|
+
- [ ] 테스트 항목 2
|
|
1229
|
+
- [ ] 통합 테스트
|
|
1230
|
+
```
|
|
1231
|
+
|
|
1232
|
+
#### RISKS.md
|
|
1233
|
+
|
|
1234
|
+
```markdown
|
|
1235
|
+
# 리스크 및 완화 방안
|
|
1236
|
+
|
|
1237
|
+
## 기술적 리스크
|
|
1238
|
+
|
|
1239
|
+
| 리스크 | 영향도 | 완화 방안 |
|
|
1240
|
+
|--------|--------|----------|
|
|
1241
|
+
| 리스크 1 | 높음 | 방안 1 |
|
|
1242
|
+
| 리스크 2 | 중간 | 방안 2 |
|
|
1243
|
+
| 리스크 3 | 낮음 | 방안 3 |
|
|
1244
|
+
|
|
1245
|
+
## 일정 리스크
|
|
1246
|
+
|
|
1247
|
+
| 리스크 | 영향도 | 완화 방안 |
|
|
1248
|
+
|--------|--------|----------|
|
|
1249
|
+
| 병목 구간 1 | 높음 | 완충 시간 확보 |
|
|
1250
|
+
| 불확실성 1 | 중간 | 프로토타입 검증 |
|
|
1251
|
+
|
|
1252
|
+
## 의존성
|
|
1253
|
+
|
|
1254
|
+
- 외부 라이브러리: [목록]
|
|
1255
|
+
- 다른 시스템: [목록]
|
|
1256
|
+
- 팀 역량: [필요 기술]
|
|
1257
|
+
|
|
1258
|
+
## 롤백 계획
|
|
1259
|
+
|
|
1260
|
+
문제 발생 시 롤백 방법:
|
|
1261
|
+
1. 단계 1
|
|
1262
|
+
2. 단계 2
|
|
1263
|
+
3. 단계 3
|
|
1264
|
+
```
|
|
1265
|
+
|
|
1266
|
+
#### REFERENCES.md
|
|
1267
|
+
|
|
1268
|
+
```markdown
|
|
1269
|
+
# 참조 자료
|
|
1270
|
+
|
|
1271
|
+
## 코드베이스 분석 결과
|
|
1272
|
+
|
|
1273
|
+
### 현재 구조
|
|
1274
|
+
|
|
1275
|
+
- 파일 1: [분석 내용]
|
|
1276
|
+
- 파일 2: [분석 내용]
|
|
1277
|
+
|
|
1278
|
+
### 패턴 및 규칙
|
|
1279
|
+
|
|
1280
|
+
- 패턴 1: [설명]
|
|
1281
|
+
- 패턴 2: [설명]
|
|
1282
|
+
|
|
1283
|
+
## 관련 문서
|
|
1284
|
+
|
|
1285
|
+
- [문서 1](링크)
|
|
1286
|
+
- [문서 2](링크)
|
|
1287
|
+
|
|
1288
|
+
## 참고 자료
|
|
1289
|
+
|
|
1290
|
+
- 라이브러리 문서: [링크]
|
|
1291
|
+
- 베스트 프랙티스: [링크]
|
|
1292
|
+
- 관련 아티클: [링크]
|
|
1293
|
+
|
|
1294
|
+
## 탐색 결과
|
|
1295
|
+
|
|
1296
|
+
### Explore Agent 1
|
|
1297
|
+
|
|
1298
|
+
[탐색 내용 요약]
|
|
1299
|
+
|
|
1300
|
+
### Explore Agent 2
|
|
1301
|
+
|
|
1302
|
+
[탐색 내용 요약]
|
|
1303
|
+
```
|
|
1304
|
+
|
|
1305
|
+
</state_management>
|
|
1306
|
+
|
|
1307
|
+
---
|
|
1308
|
+
|
|
336
1309
|
<option_presentation>
|
|
337
1310
|
|
|
338
1311
|
## 옵션 제시 형식
|
|
@@ -396,78 +1369,99 @@ Task({
|
|
|
396
1369
|
|
|
397
1370
|
<document_generation>
|
|
398
1371
|
|
|
399
|
-
## 계획 문서
|
|
400
|
-
|
|
401
|
-
사용자가 옵션을 선택하면 자동으로 `.claude/plans/[기능명].md`에 계획 문서를 생성합니다.
|
|
402
|
-
|
|
403
|
-
### 계획 문서 템플릿
|
|
404
|
-
|
|
405
|
-
**파일 위치:** `.claude/plans/[기능명].md`
|
|
406
|
-
|
|
407
|
-
```markdown
|
|
408
|
-
# [기능명] 구현 계획
|
|
409
|
-
|
|
410
|
-
## 개요
|
|
411
|
-
|
|
412
|
-
**목표:** [무엇을 달성할 것인가]
|
|
413
|
-
**선택된 접근 방식:** [옵션 N]
|
|
414
|
-
**예상 영향 범위:** [파일/모듈 목록]
|
|
415
|
-
|
|
416
|
-
## 현재 상태
|
|
417
|
-
|
|
418
|
-
- 현재 구조 설명
|
|
419
|
-
- 관련 코드 위치
|
|
420
|
-
- 기존 제약사항
|
|
421
|
-
|
|
422
|
-
## 구현 단계
|
|
423
|
-
|
|
424
|
-
### 1단계: [단계 이름]
|
|
425
|
-
|
|
426
|
-
**작업:**
|
|
427
|
-
- [ ] 작업 1
|
|
428
|
-
- [ ] 작업 2
|
|
429
|
-
|
|
430
|
-
**변경 파일:**
|
|
431
|
-
- `src/file1.ts`
|
|
432
|
-
- `src/file2.ts`
|
|
1372
|
+
## 계획 문서 병렬 생성
|
|
433
1373
|
|
|
434
|
-
|
|
1374
|
+
사용자가 옵션을 선택하면 `.claude/plans/[기능명]-{timestamp}/` 폴더에 여러 문서를 **병렬로** 생성합니다.
|
|
435
1375
|
|
|
436
|
-
|
|
437
|
-
- [ ] 작업 3
|
|
1376
|
+
### 병렬 생성 워크플로우
|
|
438
1377
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
1378
|
+
```text
|
|
1379
|
+
1. 폴더 생성: .claude/plans/[기능명]-{YYYY-MM-DD_HH-MM}/
|
|
1380
|
+
2. document-writer 에이전트 5개 병렬 호출
|
|
1381
|
+
- OVERVIEW.md (haiku)
|
|
1382
|
+
- OPTIONS.md (haiku)
|
|
1383
|
+
- IMPLEMENTATION.md (sonnet)
|
|
1384
|
+
- RISKS.md (haiku)
|
|
1385
|
+
- REFERENCES.md (haiku)
|
|
1386
|
+
3. 모든 에이전트 완료 대기
|
|
1387
|
+
4. 사용자에게 폴더 경로 안내
|
|
1388
|
+
```
|
|
443
1389
|
|
|
444
|
-
###
|
|
1390
|
+
### 에이전트 호출 예시
|
|
445
1391
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
1392
|
+
```typescript
|
|
1393
|
+
// 옵션 선택 후 실행
|
|
1394
|
+
const projectName = "realtime-notification"
|
|
1395
|
+
const timestamp = "2026-01-24_14-30"
|
|
1396
|
+
const basePath = `.claude/plans/${projectName}-${timestamp}`
|
|
450
1397
|
|
|
451
|
-
|
|
1398
|
+
// 5개 문서 병렬 생성
|
|
1399
|
+
Task({
|
|
1400
|
+
subagent_type: 'document-writer',
|
|
1401
|
+
model: 'haiku',
|
|
1402
|
+
description: 'OVERVIEW.md 작성',
|
|
1403
|
+
prompt: `
|
|
1404
|
+
${basePath}/OVERVIEW.md 생성:
|
|
1405
|
+
- 개요: ${목표}, ${범위}
|
|
1406
|
+
- 현재 상태: ${코드베이스_분석}
|
|
1407
|
+
- 선택된 옵션: 옵션 ${선택번호}
|
|
1408
|
+
`
|
|
1409
|
+
})
|
|
452
1410
|
|
|
453
|
-
|
|
454
|
-
-
|
|
1411
|
+
Task({
|
|
1412
|
+
subagent_type: 'document-writer',
|
|
1413
|
+
model: 'haiku',
|
|
1414
|
+
description: 'OPTIONS.md 작성',
|
|
1415
|
+
prompt: `
|
|
1416
|
+
${basePath}/OPTIONS.md 생성:
|
|
1417
|
+
- 옵션 1, 2, 3 비교표
|
|
1418
|
+
- 장단점, 영향 범위
|
|
1419
|
+
- 추천 근거
|
|
1420
|
+
`
|
|
1421
|
+
})
|
|
455
1422
|
|
|
456
|
-
|
|
1423
|
+
Task({
|
|
1424
|
+
subagent_type: 'document-writer',
|
|
1425
|
+
model: 'sonnet',
|
|
1426
|
+
description: 'IMPLEMENTATION.md 작성',
|
|
1427
|
+
prompt: `
|
|
1428
|
+
${basePath}/IMPLEMENTATION.md 생성:
|
|
1429
|
+
- 구현 단계 (1, 2, 3, ...)
|
|
1430
|
+
- 작업 체크리스트
|
|
1431
|
+
- 변경 파일 목록
|
|
1432
|
+
`
|
|
1433
|
+
})
|
|
457
1434
|
|
|
458
|
-
|
|
1435
|
+
Task({
|
|
1436
|
+
subagent_type: 'document-writer',
|
|
1437
|
+
model: 'haiku',
|
|
1438
|
+
description: 'RISKS.md 작성',
|
|
1439
|
+
prompt: `
|
|
1440
|
+
${basePath}/RISKS.md 생성:
|
|
1441
|
+
- 기술적 리스크
|
|
1442
|
+
- 일정 리스크
|
|
1443
|
+
- 완화 방안
|
|
1444
|
+
`
|
|
1445
|
+
})
|
|
459
1446
|
|
|
460
|
-
|
|
1447
|
+
Task({
|
|
1448
|
+
subagent_type: 'document-writer',
|
|
1449
|
+
model: 'haiku',
|
|
1450
|
+
description: 'REFERENCES.md 작성',
|
|
1451
|
+
prompt: `
|
|
1452
|
+
${basePath}/REFERENCES.md 생성:
|
|
1453
|
+
- 코드베이스 분석 결과
|
|
1454
|
+
- 관련 문서 링크
|
|
1455
|
+
- Explore 에이전트 결과 요약
|
|
1456
|
+
`
|
|
1457
|
+
})
|
|
461
1458
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
- 통합 테스트
|
|
1459
|
+
// → 모든 문서 동시 생성 완료 후 사용자 안내
|
|
1460
|
+
```
|
|
465
1461
|
|
|
466
|
-
|
|
1462
|
+
### 문서 템플릿
|
|
467
1463
|
|
|
468
|
-
|
|
469
|
-
- 참고 자료
|
|
470
|
-
```
|
|
1464
|
+
문서 템플릿은 `<state_management>` 섹션 참조.
|
|
471
1465
|
|
|
472
1466
|
</document_generation>
|
|
473
1467
|
|
|
@@ -497,7 +1491,8 @@ Task({
|
|
|
497
1491
|
3. planner agent 프로세스:
|
|
498
1492
|
- 인터뷰: 요구사항, 제약사항, 리스크 허용도 파악
|
|
499
1493
|
- 코드베이스 조사: Explore agent로 현재 구조 분석
|
|
500
|
-
- 계획 생성: .claude/plans/session-auth
|
|
1494
|
+
- 계획 생성: .claude/plans/session-auth-{timestamp}/
|
|
1495
|
+
- 5개 문서 병렬 생성 (OVERVIEW, OPTIONS, IMPLEMENTATION, RISKS, REFERENCES)
|
|
501
1496
|
- 사용자 확인 후 핸드오프
|
|
502
1497
|
|
|
503
1498
|
→ 복잡한 작업은 planner에게 위임하여 체계적으로 처리
|
|
@@ -533,7 +1528,13 @@ Task({
|
|
|
533
1528
|
|
|
534
1529
|
4. 사용자 선택: 1
|
|
535
1530
|
|
|
536
|
-
5.
|
|
1531
|
+
5. document-writer 에이전트 5개 병렬 호출로 문서 생성
|
|
1532
|
+
- .claude/plans/realtime-notification-2026-01-24_14-30/
|
|
1533
|
+
├── OVERVIEW.md
|
|
1534
|
+
├── OPTIONS.md
|
|
1535
|
+
├── IMPLEMENTATION.md
|
|
1536
|
+
├── RISKS.md
|
|
1537
|
+
└── REFERENCES.md
|
|
537
1538
|
```
|
|
538
1539
|
|
|
539
1540
|
### 예시 3: 간단한 리팩토링
|
|
@@ -559,7 +1560,7 @@ Task({
|
|
|
559
1560
|
- 장점: 깔끔함
|
|
560
1561
|
- 단점: 테스트 필요
|
|
561
1562
|
|
|
562
|
-
4. 사용자 선택 → 계획 문서 생성
|
|
1563
|
+
4. 사용자 선택 → document-writer 에이전트 병렬 호출로 계획 문서 생성
|
|
563
1564
|
```
|
|
564
1565
|
|
|
565
1566
|
</examples>
|
|
@@ -578,17 +1579,20 @@ Task({
|
|
|
578
1579
|
✅ 옵션 최소 2개, 권장 3개
|
|
579
1580
|
✅ 각 옵션에 장단점 명시
|
|
580
1581
|
✅ 영향 범위 및 예상 작업량 제시
|
|
1582
|
+
✅ document-writer 에이전트 병렬 호출로 문서 생성
|
|
1583
|
+
✅ .claude/plans/[기능명]-{timestamp}/ 폴더 구조 사용
|
|
581
1584
|
```
|
|
582
1585
|
|
|
583
1586
|
절대 금지:
|
|
584
1587
|
|
|
585
1588
|
```text
|
|
586
|
-
❌ Edit 도구 사용 (
|
|
1589
|
+
❌ Edit/Write 도구 직접 사용 (문서 작성은 document-writer 에이전트)
|
|
587
1590
|
❌ Sequential Thinking 3단계 미만
|
|
588
1591
|
❌ 옵션 1개만 제시
|
|
589
1592
|
❌ 코드 탐색 없이 추측으로 옵션 제시
|
|
590
1593
|
❌ 사용자 선택 없이 구현 시작
|
|
591
1594
|
❌ 장단점 없이 옵션만 나열
|
|
1595
|
+
❌ 단일 파일로 문서 생성 (여러 파일로 분리 필수)
|
|
592
1596
|
```
|
|
593
1597
|
|
|
594
1598
|
</validation>
|