@kood/claude-code 0.5.10 → 0.6.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.
- package/dist/index.js +117 -67
- package/package.json +1 -1
- package/templates/.claude/agents/build-fixer.md +371 -0
- package/templates/.claude/agents/critic.md +223 -0
- package/templates/.claude/agents/deep-executor.md +320 -0
- package/templates/.claude/agents/git-operator.md +15 -0
- package/templates/.claude/agents/planner.md +11 -7
- package/templates/.claude/agents/qa-tester.md +488 -0
- package/templates/.claude/agents/researcher.md +189 -0
- package/templates/.claude/agents/scientist.md +544 -0
- package/templates/.claude/agents/security-reviewer.md +549 -0
- package/templates/.claude/agents/tdd-guide.md +413 -0
- package/templates/.claude/agents/vision.md +165 -0
- package/templates/.claude/commands/pre-deploy.md +79 -2
- package/templates/.claude/instructions/agent-patterns/model-routing.md +2 -2
- package/templates/.claude/skills/brainstorm/SKILL.md +889 -0
- package/templates/.claude/skills/bug-fix/SKILL.md +69 -0
- package/templates/.claude/skills/crawler/SKILL.md +156 -0
- package/templates/.claude/skills/crawler/references/anti-bot-checklist.md +162 -0
- package/templates/.claude/skills/crawler/references/code-templates.md +119 -0
- package/templates/.claude/skills/crawler/references/crawling-patterns.md +167 -0
- package/templates/.claude/skills/crawler/references/document-templates.md +147 -0
- package/templates/.claude/skills/crawler/references/network-crawling.md +141 -0
- package/templates/.claude/skills/crawler/references/playwriter-commands.md +172 -0
- package/templates/.claude/skills/crawler/references/pre-crawl-checklist.md +221 -0
- package/templates/.claude/skills/crawler/references/selector-strategies.md +140 -0
- package/templates/.claude/skills/execute/SKILL.md +5 -0
- package/templates/.claude/skills/feedback/SKILL.md +570 -0
- package/templates/.claude/skills/figma-to-code/SKILL.md +1 -0
- package/templates/.claude/skills/global-uiux-design/SKILL.md +1 -0
- package/templates/.claude/skills/korea-uiux-design/SKILL.md +1 -0
- package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +1 -0
- package/templates/.claude/skills/plan/SKILL.md +44 -0
- package/templates/.claude/skills/ralph/SKILL.md +16 -18
- package/templates/.claude/skills/refactor/SKILL.md +19 -0
- package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +1 -0
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feedback
|
|
3
|
+
description: QA 피드백 기반 전반적 수정. 수정 범위 분석, 옵션 제시, 일괄 구현.
|
|
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
|
+
|
|
13
|
+
# Feedback Skill
|
|
14
|
+
|
|
15
|
+
> QA 피드백 기반 전반적 수정. 수정 범위 분석, 옵션 제시, 일괄 구현.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<when_to_use>
|
|
20
|
+
|
|
21
|
+
## 사용 시점
|
|
22
|
+
|
|
23
|
+
| 상황 | 예시 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| **QA 피드백** | "전체적으로 버튼 크기가 너무 작음" |
|
|
26
|
+
| **디자인 일괄 수정** | "모든 카드 컴포넌트에 그림자 추가" |
|
|
27
|
+
| **UX 개선** | "폼 제출 후 로딩 상태 표시 필요" |
|
|
28
|
+
| **일관성 수정** | "에러 메시지 스타일 통일" |
|
|
29
|
+
| **반복 패턴 수정** | "모든 테이블에 페이지네이션 추가" |
|
|
30
|
+
|
|
31
|
+
## 호출 방법
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 직접 처리
|
|
35
|
+
Skill: feedback <QA 피드백 내용>
|
|
36
|
+
|
|
37
|
+
# 예시
|
|
38
|
+
/feedback 버튼이 전체적으로 너무 작아서 모바일에서 터치하기 어려움
|
|
39
|
+
/feedback 에러 발생 시 사용자에게 피드백이 없음
|
|
40
|
+
/feedback 로딩 상태가 표시되지 않아 사용자가 혼란스러워함
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 결과물
|
|
44
|
+
|
|
45
|
+
- 수정 범위 분석 (영향받는 파일/컴포넌트)
|
|
46
|
+
- 2-3개 수정 옵션 제시 (장단점, 영향 범위)
|
|
47
|
+
- 추천안 및 근거
|
|
48
|
+
- 선택 후 일괄 수정 + 검증
|
|
49
|
+
|
|
50
|
+
</when_to_use>
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
<argument_validation>
|
|
55
|
+
|
|
56
|
+
## ARGUMENT 필수 확인
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
$ARGUMENTS 없음 → 즉시 질문:
|
|
60
|
+
|
|
61
|
+
"어떤 피드백을 반영해야 하나요? 구체적으로 알려주세요.
|
|
62
|
+
|
|
63
|
+
예시:
|
|
64
|
+
- QA 피드백 내용
|
|
65
|
+
- 문제가 되는 화면/컴포넌트
|
|
66
|
+
- 기대하는 수정 방향
|
|
67
|
+
- 스크린샷 또는 참고 이미지"
|
|
68
|
+
|
|
69
|
+
$ARGUMENTS 있음 → 다음 단계 진행
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
</argument_validation>
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
<workflow>
|
|
77
|
+
|
|
78
|
+
## 실행 흐름
|
|
79
|
+
|
|
80
|
+
| 단계 | 작업 | 도구 |
|
|
81
|
+
|------|------|------|
|
|
82
|
+
| 1. 입력 확인 | ARGUMENT 검증, 없으면 질문 | - |
|
|
83
|
+
| 2. 범위 분석 | Sequential Thinking으로 수정 범위 결정 | sequentialthinking (1-2단계) |
|
|
84
|
+
| 3. 영향 파악 | Task (Explore)로 관련 파일 탐색 | Task (Explore) 병렬 |
|
|
85
|
+
| 4. 옵션 도출 | 수정 방법 2-3개 도출 | sequentialthinking (3-4단계) |
|
|
86
|
+
| 5. 옵션 제시 | 장단점, 영향 범위, 작업량 제시 | - |
|
|
87
|
+
| 6. 사용자 선택 | 수정 방법 선택 대기 | - |
|
|
88
|
+
| 7. 일괄 구현 | 선택된 방법으로 병렬 수정 | Task (implementation-executor) 병렬 |
|
|
89
|
+
| 8. 검증 | 빌드/린트 확인 | Bash |
|
|
90
|
+
|
|
91
|
+
</workflow>
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
<thinking_strategy>
|
|
96
|
+
|
|
97
|
+
## Sequential Thinking 가이드
|
|
98
|
+
|
|
99
|
+
### 복잡도 판단 (thought 1)
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
thought 1: 범위 분석
|
|
103
|
+
- 피드백 유형: UI/UX/기능/성능
|
|
104
|
+
- 영향 범위: 특정 페이지 vs 전역 컴포넌트
|
|
105
|
+
- 수정 파일 수: 1-3 (간단) / 4-10 (보통) / 10+ (복잡)
|
|
106
|
+
- 일관성 요구: 기존 패턴 유지 vs 새 패턴 도입
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 복잡도별 전략
|
|
110
|
+
|
|
111
|
+
| 복잡도 | 사고 횟수 | 판단 기준 | 사고 패턴 |
|
|
112
|
+
|--------|----------|----------|----------|
|
|
113
|
+
| **간단** | 3 | 1-3 파일, 단순 스타일 | 범위 분석 → 수정 방법 → 구현 |
|
|
114
|
+
| **보통** | 4 | 4-10 파일, 컴포넌트 수정 | 범위 분석 → 영향 파악 → 옵션 비교 → 추천안 |
|
|
115
|
+
| **복잡** | 5+ | 10+ 파일, 패턴 변경 | 범위 분석 → 심층 탐색 → 옵션 분석 → 병렬 전략 → 추천안 |
|
|
116
|
+
|
|
117
|
+
### 보통 복잡도 패턴 (4단계)
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
thought 1: 범위 분석 - 피드백 유형, 영향 범위
|
|
121
|
+
thought 2: 관련 파일 탐색 결과 분석
|
|
122
|
+
thought 3: 수정 방법 2-3개 비교
|
|
123
|
+
thought 4: 최종 추천안 및 근거
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</thinking_strategy>
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
<exploration>
|
|
131
|
+
|
|
132
|
+
## Task (Explore) 활용
|
|
133
|
+
|
|
134
|
+
### 탐색 전략
|
|
135
|
+
|
|
136
|
+
| 피드백 유형 | 탐색 대상 | prompt 예시 |
|
|
137
|
+
|------------|----------|-------------|
|
|
138
|
+
| **UI 일괄 수정** | 컴포넌트 사용처 | "Button 컴포넌트 사용 파일 전체 탐색" |
|
|
139
|
+
| **스타일 통일** | 스타일 정의 | "에러 메시지 스타일 사용 패턴 분석" |
|
|
140
|
+
| **기능 추가** | 관련 컴포넌트 | "폼 컴포넌트 및 제출 핸들러 탐색" |
|
|
141
|
+
| **UX 개선** | 사용자 흐름 | "로딩 상태 처리 패턴 분석" |
|
|
142
|
+
|
|
143
|
+
### 병렬 탐색 패턴
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
// ✅ 여러 영역 동시 탐색
|
|
147
|
+
Task({
|
|
148
|
+
subagent_type: 'explore',
|
|
149
|
+
model: 'haiku',
|
|
150
|
+
prompt: 'Button 컴포넌트 정의 및 props 분석'
|
|
151
|
+
})
|
|
152
|
+
|
|
153
|
+
Task({
|
|
154
|
+
subagent_type: 'explore',
|
|
155
|
+
model: 'haiku',
|
|
156
|
+
prompt: 'Button 사용처 전체 목록 및 사용 패턴'
|
|
157
|
+
})
|
|
158
|
+
|
|
159
|
+
Task({
|
|
160
|
+
subagent_type: 'explore',
|
|
161
|
+
model: 'haiku',
|
|
162
|
+
prompt: '기존 버튼 크기 관련 스타일 시스템'
|
|
163
|
+
})
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
</exploration>
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
<option_presentation>
|
|
171
|
+
|
|
172
|
+
## 옵션 제시 형식
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
## 피드백 분석 결과
|
|
176
|
+
|
|
177
|
+
**피드백:** [원본 피드백]
|
|
178
|
+
|
|
179
|
+
**영향 범위:**
|
|
180
|
+
- 파일 수: X개
|
|
181
|
+
- 컴포넌트: [목록]
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
### 옵션 1: [수정 방법] (추천)
|
|
186
|
+
|
|
187
|
+
**수정 내용:**
|
|
188
|
+
- 변경 사항 1
|
|
189
|
+
- 변경 사항 2
|
|
190
|
+
|
|
191
|
+
| 장점 | 단점 |
|
|
192
|
+
|------|------|
|
|
193
|
+
| 장점 1 | 단점 1 |
|
|
194
|
+
| 장점 2 | 단점 2 |
|
|
195
|
+
|
|
196
|
+
**수정 파일:** X개
|
|
197
|
+
- `src/components/Button.tsx`
|
|
198
|
+
- `src/routes/*/page.tsx` (5개)
|
|
199
|
+
|
|
200
|
+
**작업량:** 낮음/중간/높음
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
### 옵션 2: [수정 방법]
|
|
205
|
+
|
|
206
|
+
**수정 내용:**
|
|
207
|
+
...
|
|
208
|
+
|
|
209
|
+
| 장점 | 단점 |
|
|
210
|
+
|------|------|
|
|
211
|
+
| ... | ... |
|
|
212
|
+
|
|
213
|
+
**수정 파일:** Y개
|
|
214
|
+
**작업량:** 중간
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### 옵션 3: [수정 방법] (최소 수정)
|
|
219
|
+
|
|
220
|
+
**수정 내용:**
|
|
221
|
+
...
|
|
222
|
+
|
|
223
|
+
**작업량:** 낮음
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## 추천 및 근거
|
|
228
|
+
|
|
229
|
+
옵션 1을 추천합니다.
|
|
230
|
+
- 근거 1
|
|
231
|
+
- 근거 2
|
|
232
|
+
|
|
233
|
+
어떤 옵션으로 수정하시겠습니까? (1/2/3)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
</option_presentation>
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
<implementation>
|
|
241
|
+
|
|
242
|
+
## 일괄 구현 가이드
|
|
243
|
+
|
|
244
|
+
### 병렬 수정 전략
|
|
245
|
+
|
|
246
|
+
| 수정 유형 | 병렬화 방법 | 예시 |
|
|
247
|
+
|----------|------------|------|
|
|
248
|
+
| **컴포넌트 수정** | 파일별 에이전트 | Button, Card, Modal 각각 |
|
|
249
|
+
| **스타일 통일** | 영역별 에이전트 | 헤더, 본문, 푸터 |
|
|
250
|
+
| **기능 추가** | 모듈별 에이전트 | 프론트엔드, 백엔드 |
|
|
251
|
+
|
|
252
|
+
### 병렬 구현 패턴
|
|
253
|
+
|
|
254
|
+
```typescript
|
|
255
|
+
// ✅ 독립 파일 동시 수정
|
|
256
|
+
Task({
|
|
257
|
+
subagent_type: 'implementation-executor',
|
|
258
|
+
model: 'haiku',
|
|
259
|
+
prompt: 'src/components/Button.tsx: 버튼 크기 lg → xl 변경'
|
|
260
|
+
})
|
|
261
|
+
|
|
262
|
+
Task({
|
|
263
|
+
subagent_type: 'implementation-executor',
|
|
264
|
+
model: 'haiku',
|
|
265
|
+
prompt: 'src/components/IconButton.tsx: 버튼 크기 lg → xl 변경'
|
|
266
|
+
})
|
|
267
|
+
|
|
268
|
+
Task({
|
|
269
|
+
subagent_type: 'implementation-executor',
|
|
270
|
+
model: 'haiku',
|
|
271
|
+
prompt: 'src/components/SubmitButton.tsx: 버튼 크기 lg → xl 변경'
|
|
272
|
+
})
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 검증 체크리스트
|
|
276
|
+
|
|
277
|
+
```text
|
|
278
|
+
✅ 모든 파일 수정 완료
|
|
279
|
+
✅ 빌드 성공 (npm run build)
|
|
280
|
+
✅ 타입 에러 없음 (tsc --noEmit)
|
|
281
|
+
✅ 린트 통과 (npm run lint)
|
|
282
|
+
✅ 시각적 확인 (개발 서버)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
</implementation>
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
<parallel_agent_execution>
|
|
290
|
+
|
|
291
|
+
## Parallel Agent Execution
|
|
292
|
+
|
|
293
|
+
### Model Routing
|
|
294
|
+
|
|
295
|
+
| 복잡도 | 수정 유형 | 모델 | 예시 |
|
|
296
|
+
|--------|----------|------|------|
|
|
297
|
+
| **LOW** | 단순 스타일 | haiku | 크기, 색상, 간격 변경 |
|
|
298
|
+
| **MEDIUM** | 컴포넌트 수정 | sonnet | props 추가, 로직 변경 |
|
|
299
|
+
| **HIGH** | 패턴 변경 | opus | 새 시스템 도입, 아키텍처 |
|
|
300
|
+
|
|
301
|
+
### Recommended Agents
|
|
302
|
+
|
|
303
|
+
| Agent | Model | 용도 |
|
|
304
|
+
|-------|-------|------|
|
|
305
|
+
| **@implementation-executor** | haiku/sonnet | 파일별 수정 구현 |
|
|
306
|
+
| **@explore** | haiku | 영향 범위 탐색 |
|
|
307
|
+
| **@qa-tester** | sonnet | UI/UX 변경 후 테스트 검증 |
|
|
308
|
+
| **@vision** | sonnet | 스크린샷/목업 분석, 디자인 비교 |
|
|
309
|
+
|
|
310
|
+
### 병렬 실행 패턴
|
|
311
|
+
|
|
312
|
+
**패턴 1: 다중 파일 동시 수정**
|
|
313
|
+
|
|
314
|
+
```typescript
|
|
315
|
+
// 10개 파일 동시 수정 (3-5분)
|
|
316
|
+
Task({
|
|
317
|
+
subagent_type: 'implementation-executor',
|
|
318
|
+
model: 'haiku',
|
|
319
|
+
prompt: 'src/routes/home/page.tsx: 버튼 크기 수정'
|
|
320
|
+
})
|
|
321
|
+
Task({
|
|
322
|
+
subagent_type: 'implementation-executor',
|
|
323
|
+
model: 'haiku',
|
|
324
|
+
prompt: 'src/routes/profile/page.tsx: 버튼 크기 수정'
|
|
325
|
+
})
|
|
326
|
+
// ... 더 많은 파일
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**패턴 2: 컴포넌트 + 사용처 동시 수정**
|
|
330
|
+
|
|
331
|
+
```typescript
|
|
332
|
+
// 컴포넌트 정의와 사용처 동시 수정
|
|
333
|
+
Task({
|
|
334
|
+
subagent_type: 'implementation-executor',
|
|
335
|
+
model: 'sonnet',
|
|
336
|
+
prompt: 'Button 컴포넌트: size prop 기본값 변경 + 새 xl 사이즈 추가'
|
|
337
|
+
})
|
|
338
|
+
|
|
339
|
+
Task({
|
|
340
|
+
subagent_type: 'implementation-executor',
|
|
341
|
+
model: 'haiku',
|
|
342
|
+
prompt: '모든 Button 사용처: size="lg" → size="xl" 변경'
|
|
343
|
+
})
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**패턴 3: 탐색 + 수정 동시**
|
|
347
|
+
|
|
348
|
+
```typescript
|
|
349
|
+
// 탐색과 수정 병렬 진행
|
|
350
|
+
Task({
|
|
351
|
+
subagent_type: 'explore',
|
|
352
|
+
model: 'haiku',
|
|
353
|
+
prompt: '추가로 수정 필요한 버튼 컴포넌트 탐색'
|
|
354
|
+
})
|
|
355
|
+
|
|
356
|
+
Task({
|
|
357
|
+
subagent_type: 'implementation-executor',
|
|
358
|
+
model: 'sonnet',
|
|
359
|
+
prompt: '이미 파악된 파일들 수정 시작'
|
|
360
|
+
})
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**패턴 4: UI 수정 + 시각적 검증 병렬**
|
|
364
|
+
|
|
365
|
+
```typescript
|
|
366
|
+
// UI 수정과 동시에 목업/스크린샷 비교
|
|
367
|
+
Task({
|
|
368
|
+
subagent_type: 'implementation-executor',
|
|
369
|
+
model: 'sonnet',
|
|
370
|
+
prompt: 'Button 컴포넌트 크기 수정'
|
|
371
|
+
})
|
|
372
|
+
|
|
373
|
+
Task({
|
|
374
|
+
subagent_type: 'vision',
|
|
375
|
+
model: 'sonnet',
|
|
376
|
+
prompt: '제공된 목업과 현재 UI 비교 분석'
|
|
377
|
+
})
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
**패턴 5: 수정 후 기능 테스트**
|
|
381
|
+
|
|
382
|
+
```typescript
|
|
383
|
+
// 구현 완료 후 즉시 테스트 검증
|
|
384
|
+
Task({
|
|
385
|
+
subagent_type: 'qa-tester',
|
|
386
|
+
model: 'sonnet',
|
|
387
|
+
prompt: 'tmux로 개발 서버 실행 후 수정된 UI 동작 테스트'
|
|
388
|
+
})
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### Time Optimization
|
|
392
|
+
|
|
393
|
+
| 작업 유형 | 순차 실행 | 병렬 실행 | 시간 절감 |
|
|
394
|
+
|----------|----------|----------|----------|
|
|
395
|
+
| 5개 파일 스타일 수정 | 15분 | 3-5분 | **3배** |
|
|
396
|
+
| 10개 컴포넌트 수정 | 30분 | 5-7분 | **5배** |
|
|
397
|
+
| 전역 패턴 변경 | 60분 | 15-20분 | **3배** |
|
|
398
|
+
|
|
399
|
+
</parallel_agent_execution>
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
<examples>
|
|
404
|
+
|
|
405
|
+
## 실전 예시
|
|
406
|
+
|
|
407
|
+
### 예시 1: UI 일괄 수정 (버튼 크기)
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
사용자: /feedback 버튼이 전체적으로 너무 작아서 모바일에서 터치하기 어려움
|
|
411
|
+
|
|
412
|
+
1. Sequential Thinking (3단계):
|
|
413
|
+
thought 1: "UI 수정 - 보통 복잡도, Button 컴포넌트 + 사용처"
|
|
414
|
+
thought 2: "영향 범위: Button 컴포넌트 + 사용 파일 10개+"
|
|
415
|
+
thought 3: "옵션: 컴포넌트 기본값 변경 vs 개별 수정 vs 새 variant"
|
|
416
|
+
|
|
417
|
+
2. Task 탐색 (병렬):
|
|
418
|
+
Task (Explore): "Button 컴포넌트 구조 분석"
|
|
419
|
+
Task (Explore): "Button 사용처 전체 목록"
|
|
420
|
+
→ 컴포넌트 1개, 사용처 12개 파악
|
|
421
|
+
|
|
422
|
+
3. 옵션 제시:
|
|
423
|
+
옵션 1: Button 컴포넌트 기본 크기 변경 (추천)
|
|
424
|
+
- 수정 파일: 1개
|
|
425
|
+
- 장점: 일괄 적용, 유지보수 용이
|
|
426
|
+
- 단점: 기존 작은 버튼도 커짐
|
|
427
|
+
|
|
428
|
+
옵션 2: 새 size="xl" variant 추가 + 개별 적용
|
|
429
|
+
- 수정 파일: 13개
|
|
430
|
+
- 장점: 기존 호환성 유지
|
|
431
|
+
- 단점: 작업량 많음
|
|
432
|
+
|
|
433
|
+
옵션 3: 모바일만 반응형 크기 조정
|
|
434
|
+
- 수정 파일: 1개
|
|
435
|
+
- 장점: 데스크톱 영향 없음
|
|
436
|
+
- 단점: 복잡한 스타일
|
|
437
|
+
|
|
438
|
+
4. 사용자 선택: 1
|
|
439
|
+
|
|
440
|
+
5. 구현:
|
|
441
|
+
Edit: src/components/ui/Button.tsx
|
|
442
|
+
→ size 기본값 "md" → "lg" 변경
|
|
443
|
+
|
|
444
|
+
6. 검증:
|
|
445
|
+
npm run build → 성공
|
|
446
|
+
개발 서버 → 모바일 뷰 확인
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### 예시 2: UX 개선 (로딩 상태)
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
사용자: /feedback 폼 제출 시 로딩 상태가 없어서 사용자가 중복 클릭함
|
|
453
|
+
|
|
454
|
+
1. Sequential Thinking (4단계):
|
|
455
|
+
thought 1: "UX 개선 - 보통 복잡도, 폼 컴포넌트들"
|
|
456
|
+
thought 2: "영향 범위: 모든 폼 제출 버튼 (예상 8개)"
|
|
457
|
+
thought 3: "옵션: 글로벌 로딩 훅 vs 개별 isLoading vs UI 라이브러리"
|
|
458
|
+
thought 4: "글로벌 훅 + 버튼 컴포넌트 통합 추천"
|
|
459
|
+
|
|
460
|
+
2. Task 탐색 (병렬):
|
|
461
|
+
Task (Explore): "폼 제출 패턴 분석"
|
|
462
|
+
Task (Explore): "mutation 사용 패턴 분석"
|
|
463
|
+
→ 폼 8개, mutation 훅 사용 중
|
|
464
|
+
|
|
465
|
+
3. 옵션 제시:
|
|
466
|
+
옵션 1: Button에 isLoading prop + mutation 연동 (추천)
|
|
467
|
+
- 수정: Button 컴포넌트 + 폼 8개
|
|
468
|
+
- 장점: 일관된 UX, 재사용 가능
|
|
469
|
+
|
|
470
|
+
옵션 2: 개별 폼에 로딩 상태 추가
|
|
471
|
+
- 수정: 폼 8개
|
|
472
|
+
- 장점: 빠른 구현
|
|
473
|
+
- 단점: 중복 코드
|
|
474
|
+
|
|
475
|
+
4. 사용자 선택: 1
|
|
476
|
+
|
|
477
|
+
5. 병렬 구현:
|
|
478
|
+
Task (sonnet): "Button 컴포넌트에 isLoading prop 추가"
|
|
479
|
+
Task (haiku): "LoginForm 로딩 상태 연동"
|
|
480
|
+
Task (haiku): "SignupForm 로딩 상태 연동"
|
|
481
|
+
Task (haiku): "ProfileForm 로딩 상태 연동"
|
|
482
|
+
// ... 나머지 폼
|
|
483
|
+
|
|
484
|
+
6. 검증:
|
|
485
|
+
npm run build → 성공
|
|
486
|
+
각 폼 제출 테스트 → 로딩 스피너 확인
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
### 예시 3: 전역 스타일 통일 (에러 메시지)
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
사용자: /feedback 에러 메시지 스타일이 페이지마다 다름
|
|
493
|
+
|
|
494
|
+
1. Sequential Thinking (4단계):
|
|
495
|
+
thought 1: "스타일 통일 - 보통 복잡도, 에러 표시 컴포넌트들"
|
|
496
|
+
thought 2: "영향 범위: 폼 에러, API 에러, 토스트 에러"
|
|
497
|
+
thought 3: "옵션: 통합 ErrorMessage 컴포넌트 vs 스타일만 통일 vs 토스트 통합"
|
|
498
|
+
thought 4: "ErrorMessage 컴포넌트 + 기존 사용처 교체 추천"
|
|
499
|
+
|
|
500
|
+
2. Task 탐색 (병렬):
|
|
501
|
+
Task (Explore): "현재 에러 메시지 표시 패턴 분석"
|
|
502
|
+
Task (Explore): "에러 관련 스타일 정의 탐색"
|
|
503
|
+
→ 3가지 다른 패턴 발견, 15개 파일
|
|
504
|
+
|
|
505
|
+
3. 옵션 제시:
|
|
506
|
+
옵션 1: ErrorMessage 컴포넌트 생성 + 전체 교체 (추천)
|
|
507
|
+
- 수정: 1개 생성 + 15개 교체
|
|
508
|
+
- 장점: 완전한 일관성, 유지보수 용이
|
|
509
|
+
|
|
510
|
+
옵션 2: CSS만 통일 (클래스명 표준화)
|
|
511
|
+
- 수정: 스타일 1개 + 클래스명 15개
|
|
512
|
+
- 장점: 빠른 구현
|
|
513
|
+
- 단점: 마크업 불일치 유지
|
|
514
|
+
|
|
515
|
+
4. 사용자 선택: 1
|
|
516
|
+
|
|
517
|
+
5. 병렬 구현:
|
|
518
|
+
Task (sonnet): "ErrorMessage 컴포넌트 생성"
|
|
519
|
+
// 컴포넌트 완료 후
|
|
520
|
+
Task (haiku): "LoginForm 에러 메시지 교체"
|
|
521
|
+
Task (haiku): "SignupForm 에러 메시지 교체"
|
|
522
|
+
// ... 나머지 파일
|
|
523
|
+
|
|
524
|
+
6. 검증:
|
|
525
|
+
npm run build → 성공
|
|
526
|
+
각 페이지 에러 상태 확인 → 스타일 일관성 확인
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
</examples>
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
<validation>
|
|
534
|
+
|
|
535
|
+
## 검증 체크리스트
|
|
536
|
+
|
|
537
|
+
실행 전 확인:
|
|
538
|
+
|
|
539
|
+
```text
|
|
540
|
+
✅ ARGUMENT 확인 (없으면 질문)
|
|
541
|
+
✅ Sequential Thinking 최소 3단계
|
|
542
|
+
✅ Task (Explore)로 영향 범위 탐색
|
|
543
|
+
✅ 옵션 최소 2개, 권장 3개
|
|
544
|
+
✅ 각 옵션에 장단점 + 작업량 명시
|
|
545
|
+
✅ 수정 파일 목록 명시
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
절대 금지:
|
|
549
|
+
|
|
550
|
+
```text
|
|
551
|
+
❌ ARGUMENT 없이 수정 시작
|
|
552
|
+
❌ Sequential Thinking 3단계 미만
|
|
553
|
+
❌ 영향 범위 파악 없이 수정
|
|
554
|
+
❌ 옵션 1개만 제시
|
|
555
|
+
❌ 사용자 선택 없이 수정 시작
|
|
556
|
+
❌ 수정 후 검증 생략
|
|
557
|
+
❌ 같은 파일 여러 에이전트 동시 수정
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
## 병렬 실행 체크리스트
|
|
561
|
+
|
|
562
|
+
```text
|
|
563
|
+
✅ 독립적인 파일만 병렬 수정
|
|
564
|
+
✅ 컴포넌트 수정 → 사용처 수정 순서 유지
|
|
565
|
+
✅ 모델 선택: 스타일(haiku) / 로직(sonnet) / 패턴(opus)
|
|
566
|
+
✅ 병렬 실행 3-5개 권장
|
|
567
|
+
✅ 결과 통합 후 전체 검증
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
</validation>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: global-uiux-design
|
|
3
3
|
description: Implement modern, accessible UI/UX design for global audiences. Apply industry-standard patterns from Material Design, Apple HIG, Fluent, and other leading design systems.
|
|
4
4
|
user-invocable: true
|
|
5
|
+
ui-only: true
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
@../../instructions/agent-patterns/read-parallelization.md
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: nextjs-react-best-practices
|
|
3
3
|
description: Vercel Engineering의 React와 Next.js 성능 최적화 가이드. React 컴포넌트, Next.js 페이지 작성/리뷰/리팩토링 시 최적 성능 패턴 보장. React 컴포넌트, Next.js 페이지, 데이터 페칭, 번들 최적화, 성능 개선 작업에 트리거.
|
|
4
4
|
license: MIT
|
|
5
|
+
framework: nextjs
|
|
5
6
|
metadata:
|
|
6
7
|
author: vercel
|
|
7
8
|
version: "1.0.0"
|
|
@@ -66,6 +66,9 @@ Task({
|
|
|
66
66
|
| **@explore** | haiku/sonnet | 코드베이스 탐색, 구조 파악 | LOW-MEDIUM |
|
|
67
67
|
| **@architect** | sonnet/opus | 아키텍처 분석, 설계 검토 (READ-ONLY) | MEDIUM-HIGH |
|
|
68
68
|
| **@analyst** | sonnet | 요구사항 분석, 기술 조사, 가정 검증 | MEDIUM |
|
|
69
|
+
| **@critic** | opus | 계획 리뷰, OKAY/REJECT 판정 | HIGH |
|
|
70
|
+
| **@researcher** | sonnet | 외부 문서/API/라이브러리 조사 | MEDIUM |
|
|
71
|
+
| **@scientist** | sonnet | 데이터 분석 프로젝트 계획, 통계 연구 | MEDIUM |
|
|
69
72
|
|
|
70
73
|
---
|
|
71
74
|
|
|
@@ -499,6 +502,45 @@ Task({
|
|
|
499
502
|
|
|
500
503
|
---
|
|
501
504
|
|
|
505
|
+
**패턴 10: 계획 수립 후 검증 (critic)**
|
|
506
|
+
|
|
507
|
+
계획 완료 후 별도 에이전트로 검증:
|
|
508
|
+
|
|
509
|
+
```typescript
|
|
510
|
+
// ✅ 계획 수립 후 검증
|
|
511
|
+
Task({
|
|
512
|
+
subagent_type: 'planner',
|
|
513
|
+
model: 'opus',
|
|
514
|
+
prompt: '인증 시스템 재설계 계획 수립'
|
|
515
|
+
})
|
|
516
|
+
// 계획 완료 후
|
|
517
|
+
Task({
|
|
518
|
+
subagent_type: 'critic',
|
|
519
|
+
model: 'opus',
|
|
520
|
+
prompt: '.claude/plan/00.인증_시스템/IMPLEMENTATION.md 계획 검증 - OKAY/REJECT 판정'
|
|
521
|
+
})
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
**패턴 11: 기술 조사 병렬 (researcher)**
|
|
525
|
+
|
|
526
|
+
외부 문서 조사와 내부 분석을 병렬 실행:
|
|
527
|
+
|
|
528
|
+
```typescript
|
|
529
|
+
// ✅ 기술 조사 + 내부 분석 병렬
|
|
530
|
+
Task({
|
|
531
|
+
subagent_type: 'researcher',
|
|
532
|
+
model: 'sonnet',
|
|
533
|
+
prompt: 'WebSocket vs SSE 공식 문서 및 성능 비교 조사'
|
|
534
|
+
})
|
|
535
|
+
Task({
|
|
536
|
+
subagent_type: 'analyst',
|
|
537
|
+
model: 'sonnet',
|
|
538
|
+
prompt: '현재 프로젝트에서 실시간 통신 요구사항 분석'
|
|
539
|
+
})
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
502
544
|
### Model Routing
|
|
503
545
|
|
|
504
546
|
| 복잡도 | 조건 | 권장 Model | Agent | 예시 |
|
|
@@ -536,6 +578,8 @@ Task({
|
|
|
536
578
|
| **analyst** | sonnet | opus | 일반 조사는 sonnet, 전략적 결정은 opus |
|
|
537
579
|
| **planner** | opus | opus | 계획은 항상 고품질 |
|
|
538
580
|
| **architect** | sonnet | opus | 일반 분석은 sonnet, 설계는 opus |
|
|
581
|
+
| **critic** | opus | opus | 계획 검증은 높은 품질 필요 |
|
|
582
|
+
| **researcher** | sonnet | sonnet | 외부 조사는 sonnet으로 충분 |
|
|
539
583
|
|
|
540
584
|
---
|
|
541
585
|
|