@kood/claude-code 0.7.5 → 0.7.6

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.
@@ -0,0 +1,575 @@
1
+ ---
2
+ name: teams
3
+ description: Agent Teams 자동 오케스트레이션. 작업 분석 → 팀 구성 → 실행 → 정리. 복잡한 작업을 팀 단위로 병렬 처리.
4
+ user-invocable: true
5
+ ---
6
+
7
+ @../../instructions/workflow-patterns/sequential-thinking.md
8
+ @../../instructions/agent-patterns/agent-teams-usage.md
9
+ @../../instructions/agent-patterns/parallel-execution.md
10
+ @../../instructions/agent-patterns/model-routing.md
11
+ @../../instructions/validation/forbidden-patterns.md
12
+ @../../instructions/validation/required-behaviors.md
13
+
14
+ # Team Skill - Agent Teams 자동 오케스트레이션
15
+
16
+ > 작업 설명 하나로 팀 구성 → 실행 → 정리 자동화
17
+
18
+ ---
19
+
20
+ <quick_reference>
21
+
22
+ ## 핵심 요약
23
+
24
+ | 항목 | 설명 |
25
+ |------|------|
26
+ | **입력** | `/teams [작업 설명] [--pattern=패턴명]` |
27
+ | **출력** | 팀 협업 결과 + 종합 보고 |
28
+ | **자동화** | TeamCreate → Task × N → shutdown → TeamDelete |
29
+
30
+ ### 4가지 팀 패턴
31
+
32
+ | 패턴 | 팀원 | 적합 작업 | 키워드 |
33
+ |------|------|----------|--------|
34
+ | **병렬-리뷰** | security + code + qa | PR 리뷰, 코드 감사 | 리뷰, 검토, PR |
35
+ | **파이프라인** | researcher → planner → implementer → tester | 기능 개발 | 구현, 개발, 기능 |
36
+ | **크로스-레이어** | frontend + backend + tester | 풀스택 구현 | API, 엔드포인트 |
37
+ | **가설-검증** | analyst × 3 + synthesizer | 버그 조사, 아키텍처 | 버그, 원인, 분석 |
38
+
39
+ </quick_reference>
40
+
41
+ ---
42
+
43
+ <trigger_conditions>
44
+
45
+ | 트리거 | 반응 |
46
+ |--------|------|
47
+ | `/teams [작업 설명]` | 자동 패턴 선택 → 팀 실행 |
48
+ | `/teams --pattern=병렬-리뷰 [작업]` | 지정 패턴으로 팀 실행 |
49
+ | `/teams --members=a,b,c [작업]` | 지정 팀원으로 팀 실행 |
50
+ | "팀으로 [작업] 해줘" | `/teams` 자동 호출 |
51
+ | "Agent Teams로 [작업]" | `/teams` 자동 호출 |
52
+
53
+ **ARGUMENT 없음 → 즉시 질문: "어떤 작업을 팀으로 처리할까요?"**
54
+
55
+ </trigger_conditions>
56
+
57
+ ---
58
+
59
+ <workflow>
60
+
61
+ ## 실행 흐름
62
+
63
+ ```
64
+ /teams [작업 설명]
65
+
66
+ ┌─────────────────────────────────────────────────────────────┐
67
+ │ Phase 0: 환경 감지 │
68
+ │ - Agent Teams 가용성 확인 │
69
+ │ - 미가용 → Subagent 폴백 모드 │
70
+ └─────────────────────────────────────────────────────────────┘
71
+
72
+ ┌─────────────────────────────────────────────────────────────┐
73
+ │ Phase 1: 작업 분석 (Sequential Thinking) │
74
+ │ - 작업 유형 파악 (구현/리뷰/연구/디버깅) │
75
+ │ - 복잡도 평가 (LOW/MEDIUM/HIGH) │
76
+ │ - 필요 전문성 식별 │
77
+ │ - 팀 패턴 자동 선택 또는 사용자 지정 적용 │
78
+ └─────────────────────────────────────────────────────────────┘
79
+
80
+ ┌─────────────────────────────────────────────────────────────┐
81
+ │ Phase 2: 팀 구성 │
82
+ │ - TeamCreate({ team_name, description }) │
83
+ │ - TaskCreate × N (작업 분해) │
84
+ │ - 팀원 역할 및 모델 결정 │
85
+ └─────────────────────────────────────────────────────────────┘
86
+
87
+ ┌─────────────────────────────────────────────────────────────┐
88
+ │ Phase 3: 팀원 스폰 및 실행 │
89
+ │ - Task({ subagent_type, team_name, name, model, ... }) │
90
+ │ - 병렬 스폰 (독립 작업) / 순차 스폰 (의존성) │
91
+ │ - Lead가 delegate 모드로 조율 │
92
+ └─────────────────────────────────────────────────────────────┘
93
+
94
+ ┌─────────────────────────────────────────────────────────────┐
95
+ │ Phase 4: 진행 관리 │
96
+ │ - TaskList() 주기적 확인 │
97
+ │ - 팀원 idle 시 다음 작업 할당 │
98
+ │ - 블로커 해결 또는 에스컬레이션 │
99
+ └─────────────────────────────────────────────────────────────┘
100
+
101
+ ┌─────────────────────────────────────────────────────────────┐
102
+ │ Phase 5: 정리 │
103
+ │ - 모든 Task 완료 확인 │
104
+ │ - shutdown_request → shutdown_response 대기 │
105
+ │ - TeamDelete() │
106
+ │ - 결과 종합 보고 │
107
+ └─────────────────────────────────────────────────────────────┘
108
+ ```
109
+
110
+ </workflow>
111
+
112
+ ---
113
+
114
+ <phase_details>
115
+
116
+ ## Phase 0: 환경 감지
117
+
118
+ ```typescript
119
+ // Agent Teams 가용성 확인
120
+ const AGENT_TEAMS_AVAILABLE = await checkAvailability()
121
+
122
+ // 확인 방법:
123
+ // 1. 환경변수: CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
124
+ // 2. settings.json: "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
125
+ // 3. .claude/agents/ 디렉토리 존재
126
+
127
+ if (!AGENT_TEAMS_AVAILABLE) {
128
+ // Subagent 폴백 모드
129
+ // @./references/fallback-strategy.md 참조
130
+ }
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Phase 1: 작업 분석
136
+
137
+ ```typescript
138
+ // Sequential Thinking 2단계
139
+ mcp__sequential-thinking__sequentialthinking({
140
+ thought: `작업 분석:
141
+ 1. 작업 유형: ${detectType(prompt)} // 구현/리뷰/연구/디버깅
142
+ 2. 복잡도: ${evaluateComplexity(prompt)} // LOW/MEDIUM/HIGH
143
+ 3. 필요 전문성: ${identifyExpertise(prompt)}
144
+ 4. 추천 패턴: ${recommendPattern(prompt)}`,
145
+ thoughtNumber: 1,
146
+ totalThoughts: 2
147
+ })
148
+
149
+ mcp__sequential-thinking__sequentialthinking({
150
+ thought: `팀 구성 결정:
151
+ 패턴: ${pattern}
152
+ 팀원: ${teammates.join(', ')}
153
+ 모델: ${modelRouting}
154
+ 예상 작업 수: ${taskCount}`,
155
+ thoughtNumber: 2,
156
+ totalThoughts: 2
157
+ })
158
+ ```
159
+
160
+ ### 패턴 자동 선택 매트릭스
161
+
162
+ | 키워드 | 패턴 | 이유 |
163
+ |--------|------|------|
164
+ | 리뷰, 검토, PR, 감사 | 병렬-리뷰 | 다각도 동시 검토 |
165
+ | 구현, 개발, 기능, 추가 | 파이프라인 | 순차적 구현 흐름 |
166
+ | API, 엔드포인트, 풀스택 | 크로스-레이어 | 프론트/백 동시 |
167
+ | 버그, 원인, 분석, 조사 | 가설-검증 | 경쟁적 분석 |
168
+
169
+ ---
170
+
171
+ ## Phase 2: 팀 구성
172
+
173
+ ```typescript
174
+ // 1. 팀 생성
175
+ TeamCreate({
176
+ team_name: `team-${taskType}-${Date.now()}`,
177
+ description: prompt
178
+ })
179
+
180
+ // 2. 작업 분해 (TaskCreate × N)
181
+ TaskCreate({
182
+ subject: "보안 검토",
183
+ description: "OWASP Top 10, 인증/인가, 입력 검증",
184
+ activeForm: "보안 검토 중"
185
+ })
186
+ TaskCreate({
187
+ subject: "코드 품질 검토",
188
+ description: "가독성, 유지보수성, 패턴 준수",
189
+ activeForm: "코드 품질 검토 중"
190
+ })
191
+ // ...추가 작업
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Phase 3: 팀원 스폰
197
+
198
+ ```typescript
199
+ // 병렬 스폰 (독립 작업)
200
+ Task({
201
+ subagent_type: "security-reviewer",
202
+ team_name: "team-review-1234",
203
+ name: "security",
204
+ model: "opus",
205
+ prompt: "보안 취약점 분석..."
206
+ })
207
+ Task({
208
+ subagent_type: "code-reviewer",
209
+ team_name: "team-review-1234",
210
+ name: "quality",
211
+ model: "sonnet",
212
+ prompt: "코드 품질 검토..."
213
+ })
214
+ Task({
215
+ subagent_type: "qa-tester",
216
+ team_name: "team-review-1234",
217
+ name: "testing",
218
+ model: "sonnet",
219
+ prompt: "테스트 커버리지 분석..."
220
+ })
221
+
222
+ // 순차 스폰 (의존성 있는 작업 - 파이프라인)
223
+ Task({ ..., name: "researcher" }) // 먼저 실행
224
+ // researcher 완료 대기
225
+ Task({ ..., name: "planner" }) // 다음 실행
226
+ ```
227
+
228
+ ### 모델 라우팅
229
+
230
+ | 복잡도 | 모델 | 역할 | 비용 |
231
+ |--------|------|------|------|
232
+ | **LOW** | haiku | explore, document-writer | 💰 |
233
+ | **MEDIUM** | sonnet | implementer, reviewer, tester | 💰💰 |
234
+ | **HIGH** | opus | analyst, planner, security | 💰💰💰 |
235
+
236
+ ---
237
+
238
+ ## Phase 4: 진행 관리
239
+
240
+ ```typescript
241
+ // 주기적 상태 확인
242
+ TaskList()
243
+
244
+ // 팀원 메시지 처리
245
+ // - idle 알림 → 다음 작업 할당 또는 대기
246
+ // - 블로커 보고 → 해결 또는 에스컬레이션
247
+ // - 완료 보고 → 결과 수집
248
+
249
+ // 팀원 간 조율 (필요 시)
250
+ SendMessage({
251
+ type: "message",
252
+ recipient: "implementer",
253
+ content: "researcher 결과: ...",
254
+ summary: "조사 결과 전달"
255
+ })
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Phase 5: 정리
261
+
262
+ ```typescript
263
+ // 1. 모든 Task 완료 확인
264
+ TaskList() // pending/in_progress = 0
265
+
266
+ // 2. 팀원별 shutdown 요청
267
+ SendMessage({
268
+ type: "shutdown_request",
269
+ recipient: "security",
270
+ content: "작업 완료, 종료 요청"
271
+ })
272
+ SendMessage({
273
+ type: "shutdown_request",
274
+ recipient: "quality",
275
+ content: "작업 완료, 종료 요청"
276
+ })
277
+ // ...모든 팀원
278
+
279
+ // 3. shutdown_response 대기
280
+
281
+ // 4. 팀 해산
282
+ TeamDelete()
283
+
284
+ // 5. 결과 종합 보고
285
+ ```
286
+
287
+ </phase_details>
288
+
289
+ ---
290
+
291
+ <patterns>
292
+
293
+ ## 팀 패턴 상세
294
+
295
+ @./references/patterns.md
296
+
297
+ ### 패턴 1: 병렬-리뷰
298
+
299
+ ```
300
+ 변경사항
301
+
302
+ ├──► security-reviewer (opus) → 보안 취약점
303
+ ├──► code-reviewer (sonnet) → 코드 품질
304
+ └──► qa-tester (sonnet) → 테스트 커버리지
305
+
306
+
307
+ Lead (종합 판정)
308
+ ```
309
+
310
+ **사용 예시:**
311
+ ```bash
312
+ /teams PR #123 리뷰해줘
313
+ /teams --pattern=병렬-리뷰 코드 감사 진행
314
+ ```
315
+
316
+ ---
317
+
318
+ ### 패턴 2: 파이프라인
319
+
320
+ ```
321
+ researcher → planner → implementer → tester
322
+ │ │ │ │
323
+ [Task 1] → [Task 2] → [Task 3] → [Task 4]
324
+ blockedBy blockedBy blockedBy
325
+ ```
326
+
327
+ **사용 예시:**
328
+ ```bash
329
+ /teams 사용자 인증 기능 구현
330
+ /teams --pattern=파이프라인 결제 시스템 리팩토링
331
+ ```
332
+
333
+ ---
334
+
335
+ ### 패턴 3: 크로스-레이어
336
+
337
+ ```
338
+ ┌── frontend (sonnet) ──┐
339
+ API Spec ─┼── backend (sonnet) ──┼─► integration (tester)
340
+ └── explore (haiku) ────┘
341
+ ```
342
+
343
+ **사용 예시:**
344
+ ```bash
345
+ /teams 결제 API 엔드포인트 추가
346
+ /teams --pattern=크로스-레이어 사용자 프로필 페이지
347
+ ```
348
+
349
+ ---
350
+
351
+ ### 패턴 4: 가설-검증
352
+
353
+ ```
354
+ ┌── analyst-1 (opus, 보수적)
355
+ ├── analyst-2 (opus, 혁신적)
356
+ Lead ┼── analyst-3 (opus, 실용적)
357
+ └── synthesizer (sonnet, 종합)
358
+ ```
359
+
360
+ **사용 예시:**
361
+ ```bash
362
+ /teams 메모리 누수 원인 조사
363
+ /teams --pattern=가설-검증 성능 병목 분석
364
+ ```
365
+
366
+ </patterns>
367
+
368
+ ---
369
+
370
+ <fallback>
371
+
372
+ ## Subagent 폴백
373
+
374
+ @./references/fallback-strategy.md
375
+
376
+ **Agent Teams 미가용 시:**
377
+
378
+ ```typescript
379
+ // 병렬 Subagent로 대체
380
+ Task({
381
+ subagent_type: "security-reviewer",
382
+ // team_name 없음
383
+ prompt: "보안 취약점 분석..."
384
+ })
385
+ Task({
386
+ subagent_type: "code-reviewer",
387
+ prompt: "코드 품질 검토..."
388
+ })
389
+ Task({
390
+ subagent_type: "qa-tester",
391
+ prompt: "테스트 커버리지 분석..."
392
+ })
393
+
394
+ // 결과 수집 후 종합
395
+ ```
396
+
397
+ **차이점:**
398
+
399
+ | 항목 | Agent Teams | Subagent 폴백 |
400
+ |------|-------------|---------------|
401
+ | 팀원 간 통신 | ✅ Inbox | ❌ Lead 경유 |
402
+ | 공유 Task List | ✅ | ❌ |
403
+ | 비용 | 높음 | 중간 |
404
+ | 복잡도 | 높음 | 낮음 |
405
+
406
+ </fallback>
407
+
408
+ ---
409
+
410
+ <cost_guardrails>
411
+
412
+ ## 비용 가드레일
413
+
414
+ | 규칙 | 임계값 | 행동 |
415
+ |------|--------|------|
416
+ | 팀 규모 | 5명 초과 | 사용자 확인 필요 |
417
+ | 실행 시간 | 30분 초과 | 중간 보고 필수 |
418
+ | 브로드캐스트 | 3회 초과 | 경고 로그 |
419
+ | 실패 반복 | 3회 연속 | 에스컬레이션 |
420
+
421
+ ### 비용 최적화
422
+
423
+ | 전략 | 효과 |
424
+ |------|------|
425
+ | 모델 티어링 (haiku/sonnet/opus) | ~40% 절감 |
426
+ | 작업 그래뉼래리티 (2-4시간 단위) | 병렬성 향상 |
427
+ | 조기 종료 (maxTurns 설정) | 불필요 세션 방지 |
428
+
429
+ </cost_guardrails>
430
+
431
+ ---
432
+
433
+ <examples>
434
+
435
+ ## 실행 예시
436
+
437
+ ### 예시 1: 자동 패턴 선택
438
+
439
+ ```bash
440
+ /teams PR #123 코드 리뷰해줘
441
+
442
+ # 자동 분석:
443
+ # - 키워드: "리뷰" → 병렬-리뷰 패턴
444
+ # - 팀원: security-reviewer, code-reviewer, qa-tester
445
+ # - 모델: opus(보안), sonnet(품질/테스트)
446
+
447
+ # 실행:
448
+ TeamCreate({ team_name: "team-review-pr123" })
449
+ Task({ subagent_type: "security-reviewer", ... })
450
+ Task({ subagent_type: "code-reviewer", ... })
451
+ Task({ subagent_type: "qa-tester", ... })
452
+ # ...결과 종합 후 정리
453
+ ```
454
+
455
+ ---
456
+
457
+ ### 예시 2: 패턴 명시
458
+
459
+ ```bash
460
+ /teams --pattern=파이프라인 사용자 알림 시스템 구현
461
+
462
+ # 실행:
463
+ TeamCreate({ team_name: "team-pipeline-notify" })
464
+
465
+ # 순차 실행:
466
+ Task({ subagent_type: "researcher", name: "researcher", ... })
467
+ # 완료 대기
468
+ Task({ subagent_type: "planner", name: "planner", ... })
469
+ # 완료 대기
470
+ Task({ subagent_type: "implementation-executor", name: "implementer", ... })
471
+ # 완료 대기
472
+ Task({ subagent_type: "tdd-guide", name: "tester", ... })
473
+ # ...결과 종합 후 정리
474
+ ```
475
+
476
+ ---
477
+
478
+ ### 예시 3: 팀원 직접 지정
479
+
480
+ ```bash
481
+ /teams --members=architect,security-reviewer,designer API 설계 검토
482
+
483
+ # 지정된 팀원으로 구성:
484
+ Task({ subagent_type: "architect", ... })
485
+ Task({ subagent_type: "security-reviewer", ... })
486
+ Task({ subagent_type: "designer", ... })
487
+ ```
488
+
489
+ </examples>
490
+
491
+ ---
492
+
493
+ <validation>
494
+
495
+ ## 검증 체크리스트
496
+
497
+ | 단계 | 체크 |
498
+ |------|------|
499
+ | **Phase 0** | Agent Teams 가용성 확인 |
500
+ | **Phase 1** | Sequential Thinking으로 분석 |
501
+ | **Phase 2** | TeamCreate + TaskCreate 완료 |
502
+ | **Phase 3** | 모든 팀원 스폰 완료 |
503
+ | **Phase 4** | TaskList 확인, 블로커 해결 |
504
+ | **Phase 5** | shutdown → TeamDelete 완료 |
505
+
506
+ ## 금지 사항
507
+
508
+ | 금지 | 이유 |
509
+ |------|------|
510
+ | 팀 정리 없이 종료 | 고아 세션 발생 |
511
+ | 5명+ 무조건 생성 | 비용 폭증 |
512
+ | 브로드캐스트 남발 | 비용 × 팀원 수 |
513
+ | 한 파일 여러 팀원 수정 | 충돌 발생 |
514
+ | 팀원 컨텍스트 가정 | spawn 시 상세 프롬프트 필수 |
515
+
516
+ </validation>
517
+
518
+ ---
519
+
520
+ <instructions>
521
+
522
+ ## 실행 지침
523
+
524
+ ### 1. ARGUMENT 파싱
525
+
526
+ ```typescript
527
+ const args = parseArguments(ARGUMENTS)
528
+ // args.prompt: 작업 설명
529
+ // args.pattern: 패턴 (선택)
530
+ // args.members: 팀원 (선택)
531
+ ```
532
+
533
+ ### 2. 환경 확인
534
+
535
+ ```bash
536
+ # Agent Teams 가용성 체크
537
+ .claude/scripts/agent-teams/check-availability.sh
538
+ ```
539
+
540
+ ### 3. 작업 분석
541
+
542
+ ```typescript
543
+ mcp__sequential-thinking__sequentialthinking({
544
+ thought: `작업 "${args.prompt}" 분석:
545
+ - 유형: ${type}
546
+ - 복잡도: ${complexity}
547
+ - 전문성: ${expertise}
548
+ - 패턴: ${args.pattern || autoPattern}`,
549
+ thoughtNumber: 1,
550
+ totalThoughts: 2
551
+ })
552
+ ```
553
+
554
+ ### 4. 팀 실행
555
+
556
+ - Agent Teams 가용 → Phase 2-5 실행
557
+ - Agent Teams 미가용 → Subagent 폴백
558
+
559
+ ### 5. 결과 보고
560
+
561
+ ```markdown
562
+ ## 팀 작업 완료
563
+
564
+ **패턴:** ${pattern}
565
+ **팀원:** ${teammates}
566
+ **소요 시간:** ${duration}
567
+
568
+ ### 결과 요약
569
+ - [팀원별 결과 종합]
570
+
571
+ ### 다음 단계
572
+ - [권장 후속 작업]
573
+ ```
574
+
575
+ </instructions>