@kood/claude-code 0.7.5 → 0.7.7

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 (36) hide show
  1. package/dist/index.js +33 -31
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/codex.md +333 -0
  4. package/templates/.claude/skills/codex/SKILL.md +563 -0
  5. package/templates/.claude/skills/design/SKILL.md +199 -0
  6. package/templates/.claude/skills/design/references/accessibility.md +106 -0
  7. package/templates/.claude/skills/design/references/checklist.md +41 -0
  8. package/templates/.claude/skills/design/references/core-principles.md +66 -0
  9. package/templates/.claude/skills/design/references/global-uiux.md +216 -0
  10. package/templates/.claude/skills/design/references/korea-uiux.md +227 -0
  11. package/templates/.claude/skills/design/references/patterns.md +250 -0
  12. package/templates/.claude/skills/design/references/responsive.md +248 -0
  13. package/templates/.claude/skills/design/references/safe-area.md +202 -0
  14. package/templates/.claude/skills/design/references/systems.md +116 -0
  15. package/templates/.claude/skills/design/references/trends.md +75 -0
  16. package/templates/.claude/skills/teams/SKILL.md +575 -0
  17. package/templates/.claude/skills/teams/references/fallback-strategy.md +288 -0
  18. package/templates/.claude/skills/teams/references/patterns.md +499 -0
  19. package/templates/.claude/skills/global-uiux-design/AGENTS.md +0 -320
  20. package/templates/.claude/skills/global-uiux-design/SKILL.md +0 -1089
  21. package/templates/.claude/skills/global-uiux-design/references/accessibility.md +0 -401
  22. package/templates/.claude/skills/global-uiux-design/references/color-system.md +0 -275
  23. package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +0 -206
  24. package/templates/.claude/skills/global-uiux-design/references/design-systems.md +0 -446
  25. package/templates/.claude/skills/korea-uiux-design/AGENTS.md +0 -310
  26. package/templates/.claude/skills/korea-uiux-design/SKILL.md +0 -980
  27. package/templates/.claude/skills/korea-uiux-design/references/accessibility.md +0 -298
  28. package/templates/.claude/skills/korea-uiux-design/references/checklist.md +0 -107
  29. package/templates/.claude/skills/korea-uiux-design/references/color-system.md +0 -156
  30. package/templates/.claude/skills/korea-uiux-design/references/design-philosophy.md +0 -25
  31. package/templates/.claude/skills/korea-uiux-design/references/icon-guide.md +0 -180
  32. package/templates/.claude/skills/korea-uiux-design/references/micro-interactions.md +0 -259
  33. package/templates/.claude/skills/korea-uiux-design/references/responsive-patterns.md +0 -115
  34. package/templates/.claude/skills/korea-uiux-design/references/service-patterns.md +0 -206
  35. package/templates/.claude/skills/korea-uiux-design/references/state-patterns.md +0 -320
  36. package/templates/.claude/skills/korea-uiux-design/references/typography.md +0 -70
@@ -0,0 +1,288 @@
1
+ # Fallback Strategy Reference
2
+
3
+ > Agent Teams 미가용 시 Subagent 폴백 전략
4
+
5
+ ---
6
+
7
+ <availability_check>
8
+
9
+ ## 환경 확인
10
+
11
+ ### 확인 방법
12
+
13
+ ```bash
14
+ # 1. 환경변수 확인
15
+ if [[ "$CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS" == "1" ]]; then
16
+ AGENT_TEAMS_AVAILABLE=true
17
+ fi
18
+
19
+ # 2. settings.json 확인 (글로벌 + 프로젝트)
20
+ for f in ~/.claude/settings.json .claude/settings.json; do
21
+ if grep -q '"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS".*"1"' "$f" 2>/dev/null; then
22
+ AGENT_TEAMS_AVAILABLE=true
23
+ fi
24
+ done
25
+
26
+ # 3. 에이전트 디렉토리 확인
27
+ if [[ -d ".claude/agents" ]] && [[ $(ls .claude/agents/*.md 2>/dev/null | wc -l) -gt 0 ]]; then
28
+ AGENTS_AVAILABLE=true
29
+ fi
30
+ ```
31
+
32
+ ### 스크립트 사용
33
+
34
+ ```bash
35
+ .claude/scripts/agent-teams/check-availability.sh
36
+ ```
37
+
38
+ </availability_check>
39
+
40
+ ---
41
+
42
+ <fallback_decision>
43
+
44
+ ## 폴백 결정 매트릭스
45
+
46
+ | 조건 | 모드 |
47
+ |------|------|
48
+ | Agent Teams 활성화 + tmux/iTerm2 | Agent Teams (split-pane) |
49
+ | Agent Teams 활성화 + 일반 터미널 | Agent Teams (in-process) |
50
+ | Agent Teams 비활성화 | Subagent 폴백 |
51
+
52
+ ### 모드별 특징
53
+
54
+ | 항목 | Agent Teams | Subagent 폴백 |
55
+ |------|-------------|---------------|
56
+ | 팀원 간 통신 | ✅ Inbox 메시징 | ❌ Lead 경유만 |
57
+ | 공유 Task List | ✅ | ❌ |
58
+ | 독립 컨텍스트 | ✅ 각자 유지 | ✅ 각자 유지 |
59
+ | 비용 | 높음 (N × 세션) | 중간 |
60
+ | 복잡도 | 높음 | 낮음 |
61
+ | 조율 | 자기 조율 가능 | Lead가 관리 |
62
+
63
+ </fallback_decision>
64
+
65
+ ---
66
+
67
+ <fallback_patterns>
68
+
69
+ ## 패턴별 폴백 구현
70
+
71
+ ### 병렬-리뷰 폴백
72
+
73
+ ```typescript
74
+ // Agent Teams 모드
75
+ if (AGENT_TEAMS_AVAILABLE) {
76
+ TeamCreate({ team_name: "review-team" })
77
+ Task({ subagent_type: "security-reviewer", team_name: "review-team", ... })
78
+ Task({ subagent_type: "code-reviewer", team_name: "review-team", ... })
79
+ Task({ subagent_type: "qa-tester", team_name: "review-team", ... })
80
+ }
81
+
82
+ // Subagent 폴백
83
+ else {
84
+ // 병렬 Subagent 호출 (team_name 없음)
85
+ Task({ subagent_type: "security-reviewer", prompt: "..." })
86
+ Task({ subagent_type: "code-reviewer", prompt: "..." })
87
+ Task({ subagent_type: "qa-tester", prompt: "..." })
88
+
89
+ // 결과 수집 후 Lead가 직접 종합
90
+ }
91
+ ```
92
+
93
+ ### 파이프라인 폴백
94
+
95
+ ```typescript
96
+ // Agent Teams 모드
97
+ if (AGENT_TEAMS_AVAILABLE) {
98
+ TeamCreate({ team_name: "pipeline-team" })
99
+ // TaskCreate with blockedBy
100
+ // Task spawn (순차)
101
+ }
102
+
103
+ // Subagent 폴백
104
+ else {
105
+ // 순차 Subagent 호출
106
+ const researchResult = await Task({ subagent_type: "researcher", ... })
107
+ const planResult = await Task({ subagent_type: "planner", prompt: `조사 결과: ${researchResult}...` })
108
+ const implResult = await Task({ subagent_type: "implementation-executor", prompt: `계획: ${planResult}...` })
109
+ await Task({ subagent_type: "tdd-guide", prompt: `구현 결과: ${implResult}...` })
110
+ }
111
+ ```
112
+
113
+ ### 크로스-레이어 폴백
114
+
115
+ ```typescript
116
+ // Agent Teams 모드
117
+ if (AGENT_TEAMS_AVAILABLE) {
118
+ TeamCreate({ team_name: "crosslayer-team" })
119
+ // frontend, backend 병렬 → integration 순차
120
+ }
121
+
122
+ // Subagent 폴백
123
+ else {
124
+ // 병렬 호출
125
+ Task({ subagent_type: "designer", prompt: "프론트엔드..." })
126
+ Task({ subagent_type: "implementation-executor", prompt: "백엔드..." })
127
+ // 두 결과 수집 후
128
+ Task({ subagent_type: "qa-tester", prompt: "통합 테스트..." })
129
+ }
130
+ ```
131
+
132
+ ### 가설-검증 폴백
133
+
134
+ ```typescript
135
+ // Agent Teams 모드
136
+ if (AGENT_TEAMS_AVAILABLE) {
137
+ TeamCreate({ team_name: "hypothesis-team" })
138
+ // analyst × 3 병렬 → synthesizer 순차
139
+ }
140
+
141
+ // Subagent 폴백
142
+ else {
143
+ // 병렬 분석
144
+ Task({ subagent_type: "analyst", prompt: "보수적 관점..." })
145
+ Task({ subagent_type: "analyst", prompt: "혁신적 관점..." })
146
+ Task({ subagent_type: "analyst", prompt: "실용적 관점..." })
147
+ // 결과 수집 후 Lead가 직접 종합 또는 architect 위임
148
+ Task({ subagent_type: "architect", prompt: "종합 분석..." })
149
+ }
150
+ ```
151
+
152
+ </fallback_patterns>
153
+
154
+ ---
155
+
156
+ <fallback_limitations>
157
+
158
+ ## 폴백 제한사항
159
+
160
+ | 기능 | Agent Teams | Subagent 폴백 |
161
+ |------|-------------|---------------|
162
+ | 팀원 간 DM | ✅ SendMessage | ❌ |
163
+ | 브로드캐스트 | ✅ | ❌ |
164
+ | 공유 Task List | ✅ | ❌ |
165
+ | 의존성 관리 | ✅ blockedBy | 수동 순차 호출 |
166
+ | 팀원 상태 확인 | ✅ TeamStatus | 결과 대기만 |
167
+ | 중간 조율 | ✅ 메시지 중계 | Lead 직접 관리 |
168
+ | 정리 | ✅ shutdown + TeamDelete | 자동 종료 |
169
+
170
+ ### 폴백 시 추가 작업
171
+
172
+ | 작업 | 설명 |
173
+ |------|------|
174
+ | 컨텍스트 전달 | 각 Subagent에 이전 결과 명시적 포함 |
175
+ | 결과 수집 | Lead가 각 결과 수동 종합 |
176
+ | 순서 관리 | await로 순차 실행 보장 |
177
+
178
+ </fallback_limitations>
179
+
180
+ ---
181
+
182
+ <fallback_best_practices>
183
+
184
+ ## 폴백 베스트 프랙티스
185
+
186
+ ### 1. 컨텍스트 전달
187
+
188
+ ```typescript
189
+ // ❌ 잘못된 방식 (컨텍스트 부족)
190
+ Task({ subagent_type: "planner", prompt: "계획 수립" })
191
+
192
+ // ✅ 올바른 방식 (충분한 컨텍스트)
193
+ Task({
194
+ subagent_type: "planner",
195
+ prompt: `계획 수립:
196
+
197
+ 【조사 결과】
198
+ ${researchResult}
199
+
200
+ 【요구사항】
201
+ ${requirements}
202
+
203
+ 【제약사항】
204
+ ${constraints}`
205
+ })
206
+ ```
207
+
208
+ ### 2. 결과 종합
209
+
210
+ ```typescript
211
+ // 병렬 결과 수집
212
+ const [securityResult, qualityResult, testResult] = await Promise.all([
213
+ Task({ subagent_type: "security-reviewer", ... }),
214
+ Task({ subagent_type: "code-reviewer", ... }),
215
+ Task({ subagent_type: "qa-tester", ... })
216
+ ])
217
+
218
+ // Lead가 직접 종합
219
+ const summary = `
220
+ ## 리뷰 종합
221
+
222
+ ### 보안
223
+ ${securityResult}
224
+
225
+ ### 품질
226
+ ${qualityResult}
227
+
228
+ ### 테스트
229
+ ${testResult}
230
+
231
+ ### 권장사항
232
+ [Lead 분석 기반 권장사항]
233
+ `
234
+ ```
235
+
236
+ ### 3. 에러 처리
237
+
238
+ ```typescript
239
+ try {
240
+ const result = await Task({ subagent_type: "implementer", ... })
241
+ } catch (error) {
242
+ // 재시도 또는 대체 에이전트
243
+ const result = await Task({ subagent_type: "general-purpose", ... })
244
+ }
245
+ ```
246
+
247
+ ### 4. 비용 최적화
248
+
249
+ | 전략 | 적용 |
250
+ |------|------|
251
+ | 모델 티어링 | 탐색=haiku, 구현=sonnet, 분석=opus |
252
+ | 병렬 최대화 | 독립 작업 동시 실행 |
253
+ | 불필요 호출 제거 | 간단한 작업은 Lead 직접 처리 |
254
+
255
+ </fallback_best_practices>
256
+
257
+ ---
258
+
259
+ <migration_guide>
260
+
261
+ ## Agent Teams 전환 가이드
262
+
263
+ ### Subagent → Agent Teams
264
+
265
+ | Subagent | Agent Teams |
266
+ |----------|-------------|
267
+ | `Task({ ... })` | `Task({ ..., team_name: "...", name: "..." })` |
268
+ | 결과 직접 수집 | TaskList + 메시지 |
269
+ | 자동 종료 | shutdown_request + TeamDelete |
270
+
271
+ ### 코드 변환 예시
272
+
273
+ ```typescript
274
+ // Before: Subagent
275
+ Task({ subagent_type: "researcher", prompt: "..." })
276
+ Task({ subagent_type: "implementer", prompt: "..." })
277
+
278
+ // After: Agent Teams
279
+ TeamCreate({ team_name: "feature-team" })
280
+ Task({ subagent_type: "researcher", team_name: "feature-team", name: "r1", prompt: "..." })
281
+ Task({ subagent_type: "implementer", team_name: "feature-team", name: "impl1", prompt: "..." })
282
+ // ...작업 완료 후
283
+ SendMessage({ type: "shutdown_request", recipient: "r1" })
284
+ SendMessage({ type: "shutdown_request", recipient: "impl1" })
285
+ TeamDelete()
286
+ ```
287
+
288
+ </migration_guide>