@kood/claude-code 0.5.3 → 0.5.4
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 +548 -340
- package/package.json +1 -1
- package/templates/.claude/agents/document-writer.md +71 -304
- package/templates/.claude/instructions/agent-patterns/index.md +7 -7
- package/templates/.claude/instructions/document-templates/ralph-templates.md +71 -0
- package/templates/.claude/instructions/index.md +14 -14
- package/templates/.claude/instructions/multi-agent/agent-roster.md +14 -14
- package/templates/.claude/instructions/multi-agent/index.md +4 -4
- package/templates/.claude/skills/docs-creator/AGENTS.md +54 -176
- package/templates/.claude/skills/docs-creator/SKILL.md +97 -463
- package/templates/.claude/skills/docs-refactor/AGENTS.md +61 -190
- package/templates/.claude/skills/docs-refactor/SKILL.md +66 -442
- package/templates/.claude/skills/execute/SKILL.md +540 -13
- package/templates/.claude/skills/plan/SKILL.md +83 -17
- package/templates/.claude/skills/ralph/SKILL.md +17 -14
- package/templates/.claude/skills/refactor/AGENTS.md +269 -0
- package/templates/.claude/skills/refactor/SKILL.md +424 -66
- package/templates/.claude/skills/stitch-design/README.md +34 -0
- package/templates/.claude/skills/stitch-design/SKILL.md +213 -0
- package/templates/.claude/skills/stitch-design/examples/DESIGN.md +154 -0
- package/templates/.claude/skills/stitch-loop/README.md +54 -0
- package/templates/.claude/skills/stitch-loop/SKILL.md +316 -0
- package/templates/.claude/skills/stitch-loop/examples/SITE.md +73 -0
- package/templates/.claude/skills/stitch-loop/examples/next-prompt.md +25 -0
- package/templates/.claude/skills/stitch-loop/resources/baton-schema.md +61 -0
- package/templates/.claude/skills/stitch-loop/resources/site-template.md +104 -0
- package/templates/.claude/skills/stitch-react/README.md +36 -0
- package/templates/.claude/skills/stitch-react/SKILL.md +323 -0
- package/templates/.claude/skills/stitch-react/examples/gold-standard-card.tsx +88 -0
- package/templates/.claude/skills/stitch-react/package-lock.json +231 -0
- package/templates/.claude/skills/stitch-react/package.json +16 -0
- package/templates/.claude/skills/stitch-react/resources/architecture-checklist.md +15 -0
- package/templates/.claude/skills/stitch-react/resources/component-template.tsx +37 -0
- package/templates/.claude/skills/stitch-react/resources/stitch-api-reference.md +14 -0
- package/templates/.claude/skills/stitch-react/resources/style-guide.json +24 -0
- package/templates/.claude/skills/stitch-react/scripts/fetch-stitch.sh +30 -0
- package/templates/.claude/skills/stitch-react/scripts/validate.js +77 -0
|
@@ -47,7 +47,7 @@ Task({
|
|
|
47
47
|
|
|
48
48
|
- 2-3개 옵션 제시 (장단점, 영향 범위)
|
|
49
49
|
- 추천안 및 근거
|
|
50
|
-
- 선택 후 `.claude/plans/[기능명]
|
|
50
|
+
- 선택 후 `.claude/plans/00.[기능명]/` 폴더에 여러 문서 자동 생성
|
|
51
51
|
- OVERVIEW.md, OPTIONS.md, IMPLEMENTATION.md, RISKS.md, REFERENCES.md
|
|
52
52
|
|
|
53
53
|
</when_to_use>
|
|
@@ -634,7 +634,7 @@ Task({
|
|
|
634
634
|
`
|
|
635
635
|
})
|
|
636
636
|
|
|
637
|
-
// → 각 모듈별 .claude/plans/ 문서 생성
|
|
637
|
+
// → 각 모듈별 .claude/plans/00.User_모듈/, 01.Payment_모듈/ 문서 생성
|
|
638
638
|
```
|
|
639
639
|
|
|
640
640
|
**예시 3: 실시간 기능 기술 조사 (조사 병렬)**
|
|
@@ -1019,6 +1019,7 @@ Task({
|
|
|
1019
1019
|
| 3. 옵션 도출 | 가능한 접근 4-5개 → 주요 2-3개 선정 | sequentialthinking (2-6단계) |
|
|
1020
1020
|
| 4. 옵션 제시 | 장단점, 영향 범위, 추천안 제시 | - |
|
|
1021
1021
|
| 5. 문서 생성 | 옵션 선택 대기 후 계획 문서 병렬 생성 | Task (document-writer) 병렬 |
|
|
1022
|
+
| 6. 구현 시작 | 문서 완료 즉시 구현 진행 (확인 불필요) | Skill (execute) |
|
|
1022
1023
|
|
|
1023
1024
|
### Agent 선택 기준
|
|
1024
1025
|
|
|
@@ -1046,10 +1047,10 @@ Task({
|
|
|
1046
1047
|
|
|
1047
1048
|
### 폴더 구조
|
|
1048
1049
|
|
|
1049
|
-
옵션 선택 후 `.claude/plans/[기능명]
|
|
1050
|
+
옵션 선택 후 `.claude/plans/00.[기능명]/` 폴더 생성:
|
|
1050
1051
|
|
|
1051
1052
|
```
|
|
1052
|
-
.claude/plans/
|
|
1053
|
+
.claude/plans/00.실시간_알림/
|
|
1053
1054
|
├── OVERVIEW.md # 개요, 현재 상태, 선택된 옵션
|
|
1054
1055
|
├── OPTIONS.md # 모든 옵션 비교 분석 (장단점, 영향 범위)
|
|
1055
1056
|
├── IMPLEMENTATION.md # 구현 단계 상세 계획
|
|
@@ -1057,7 +1058,8 @@ Task({
|
|
|
1057
1058
|
└── REFERENCES.md # 참조 자료, 코드베이스 분석 결과
|
|
1058
1059
|
```
|
|
1059
1060
|
|
|
1060
|
-
**폴더명 형식:** `[기능명]
|
|
1061
|
+
**폴더명 형식:** `00.[기능명]` (넘버링 + 한글 설명, 언더스코어로 구분)
|
|
1062
|
+
**넘버링:** 기존 plans 폴더 목록 조회 → 다음 번호 자동 부여 (00, 01, 02...)
|
|
1061
1063
|
|
|
1062
1064
|
### 문서 역할
|
|
1063
1065
|
|
|
@@ -1376,26 +1378,34 @@ Write({ file_path: "OPTIONS.md", ... }) // 대기...
|
|
|
1376
1378
|
### 병렬 생성 워크플로우
|
|
1377
1379
|
|
|
1378
1380
|
```text
|
|
1379
|
-
1.
|
|
1380
|
-
2.
|
|
1381
|
+
1. 넘버링 결정: ls .claude/plans/ → 다음 번호 자동 부여
|
|
1382
|
+
2. 폴더 생성: .claude/plans/00.[기능명]/
|
|
1383
|
+
3. document-writer 에이전트 5개 병렬 호출
|
|
1381
1384
|
- OVERVIEW.md (haiku)
|
|
1382
1385
|
- OPTIONS.md (haiku)
|
|
1383
1386
|
- IMPLEMENTATION.md (sonnet)
|
|
1384
1387
|
- RISKS.md (haiku)
|
|
1385
1388
|
- REFERENCES.md (haiku)
|
|
1386
|
-
|
|
1387
|
-
|
|
1389
|
+
4. 모든 에이전트 완료 대기
|
|
1390
|
+
5. 사용자에게 폴더 경로 안내
|
|
1391
|
+
6. /execute 스킬 즉시 호출 (확인 불필요)
|
|
1392
|
+
- IMPLEMENTATION.md 기반 자동 구현 시작
|
|
1388
1393
|
```
|
|
1389
1394
|
|
|
1390
1395
|
### 에이전트 호출 예시
|
|
1391
1396
|
|
|
1392
1397
|
```typescript
|
|
1393
1398
|
// 옵션 선택 후 실행
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
const
|
|
1399
|
+
// 1. 넘버링 결정
|
|
1400
|
+
Bash("ls .claude/plans/ | grep -E '^[0-9]+' | wc -l")
|
|
1401
|
+
const nextNumber = "00" // 결과 기반 계산
|
|
1402
|
+
const projectName = "실시간_알림"
|
|
1403
|
+
const basePath = `.claude/plans/${nextNumber}.${projectName}`
|
|
1397
1404
|
|
|
1398
|
-
//
|
|
1405
|
+
// 2. 폴더 생성
|
|
1406
|
+
Bash(`mkdir -p ${basePath}`)
|
|
1407
|
+
|
|
1408
|
+
// 3. 5개 문서 병렬 생성
|
|
1399
1409
|
Task({
|
|
1400
1410
|
subagent_type: 'document-writer',
|
|
1401
1411
|
model: 'haiku',
|
|
@@ -1467,6 +1477,51 @@ Task({
|
|
|
1467
1477
|
|
|
1468
1478
|
---
|
|
1469
1479
|
|
|
1480
|
+
<auto_implementation>
|
|
1481
|
+
|
|
1482
|
+
## 자동 구현 시작
|
|
1483
|
+
|
|
1484
|
+
계획 문서 생성 완료 후 **사용자 확인 없이** 즉시 구현을 시작합니다.
|
|
1485
|
+
|
|
1486
|
+
### 워크플로우
|
|
1487
|
+
|
|
1488
|
+
```text
|
|
1489
|
+
1. 계획 문서 병렬 생성 완료
|
|
1490
|
+
2. IMPLEMENTATION.md 존재 확인
|
|
1491
|
+
3. /execute 스킬 즉시 호출
|
|
1492
|
+
4. 1단계부터 순차 구현
|
|
1493
|
+
```
|
|
1494
|
+
|
|
1495
|
+
### 구현 시작 패턴
|
|
1496
|
+
|
|
1497
|
+
```typescript
|
|
1498
|
+
// 문서 생성 완료 후 즉시 실행
|
|
1499
|
+
Skill({
|
|
1500
|
+
skill: 'execute',
|
|
1501
|
+
args: `@.claude/plans/${nextNumber}.${projectName}/IMPLEMENTATION.md 1단계부터 구현`
|
|
1502
|
+
})
|
|
1503
|
+
```
|
|
1504
|
+
|
|
1505
|
+
### 금지 사항
|
|
1506
|
+
|
|
1507
|
+
```text
|
|
1508
|
+
❌ "구현을 시작할까요?" 물어보기
|
|
1509
|
+
❌ "어떤 방식으로 진행할까요?" 선택지 제시
|
|
1510
|
+
❌ 사용자 확인 대기
|
|
1511
|
+
```
|
|
1512
|
+
|
|
1513
|
+
### 허용 사항
|
|
1514
|
+
|
|
1515
|
+
```text
|
|
1516
|
+
✅ 문서 생성 완료 즉시 /execute 호출
|
|
1517
|
+
✅ IMPLEMENTATION.md 1단계부터 자동 시작
|
|
1518
|
+
✅ 구현 중 문제 발생 시에만 사용자 확인
|
|
1519
|
+
```
|
|
1520
|
+
|
|
1521
|
+
</auto_implementation>
|
|
1522
|
+
|
|
1523
|
+
---
|
|
1524
|
+
|
|
1470
1525
|
<examples>
|
|
1471
1526
|
|
|
1472
1527
|
## 실전 예시
|
|
@@ -1491,7 +1546,7 @@ Task({
|
|
|
1491
1546
|
3. planner agent 프로세스:
|
|
1492
1547
|
- 인터뷰: 요구사항, 제약사항, 리스크 허용도 파악
|
|
1493
1548
|
- 코드베이스 조사: Explore agent로 현재 구조 분석
|
|
1494
|
-
- 계획 생성: .claude/plans/
|
|
1549
|
+
- 계획 생성: .claude/plans/00.세션_인증/
|
|
1495
1550
|
- 5개 문서 병렬 생성 (OVERVIEW, OPTIONS, IMPLEMENTATION, RISKS, REFERENCES)
|
|
1496
1551
|
- 사용자 확인 후 핸드오프
|
|
1497
1552
|
|
|
@@ -1529,12 +1584,17 @@ Task({
|
|
|
1529
1584
|
4. 사용자 선택: 1
|
|
1530
1585
|
|
|
1531
1586
|
5. document-writer 에이전트 5개 병렬 호출로 문서 생성
|
|
1532
|
-
- .claude/plans/
|
|
1587
|
+
- .claude/plans/00.실시간_알림/
|
|
1533
1588
|
├── OVERVIEW.md
|
|
1534
1589
|
├── OPTIONS.md
|
|
1535
1590
|
├── IMPLEMENTATION.md
|
|
1536
1591
|
├── RISKS.md
|
|
1537
1592
|
└── REFERENCES.md
|
|
1593
|
+
|
|
1594
|
+
6. 구현 자동 시작:
|
|
1595
|
+
Skill({ skill: 'execute' })
|
|
1596
|
+
- IMPLEMENTATION.md 읽고 1단계부터 구현
|
|
1597
|
+
- 확인 절차 없이 즉시 진행
|
|
1538
1598
|
```
|
|
1539
1599
|
|
|
1540
1600
|
### 예시 3: 간단한 리팩토링
|
|
@@ -1561,6 +1621,11 @@ Task({
|
|
|
1561
1621
|
- 단점: 테스트 필요
|
|
1562
1622
|
|
|
1563
1623
|
4. 사용자 선택 → document-writer 에이전트 병렬 호출로 계획 문서 생성
|
|
1624
|
+
- .claude/plans/00.타입스크립트_전환/
|
|
1625
|
+
|
|
1626
|
+
5. 구현 자동 시작:
|
|
1627
|
+
Skill({ skill: 'execute' })
|
|
1628
|
+
- 계획 문서 기반 즉시 구현
|
|
1564
1629
|
```
|
|
1565
1630
|
|
|
1566
1631
|
</examples>
|
|
@@ -1579,8 +1644,9 @@ Task({
|
|
|
1579
1644
|
✅ 옵션 최소 2개, 권장 3개
|
|
1580
1645
|
✅ 각 옵션에 장단점 명시
|
|
1581
1646
|
✅ 영향 범위 및 예상 작업량 제시
|
|
1647
|
+
✅ 넘버링 자동 결정 (ls .claude/plans/)
|
|
1582
1648
|
✅ document-writer 에이전트 병렬 호출로 문서 생성
|
|
1583
|
-
✅ .claude/plans/[기능명]
|
|
1649
|
+
✅ .claude/plans/00.[기능명]/ 폴더 구조 사용 (한글 설명)
|
|
1584
1650
|
```
|
|
1585
1651
|
|
|
1586
1652
|
절대 금지:
|
|
@@ -1590,9 +1656,9 @@ Task({
|
|
|
1590
1656
|
❌ Sequential Thinking 3단계 미만
|
|
1591
1657
|
❌ 옵션 1개만 제시
|
|
1592
1658
|
❌ 코드 탐색 없이 추측으로 옵션 제시
|
|
1593
|
-
❌ 사용자 선택 없이 구현 시작
|
|
1594
1659
|
❌ 장단점 없이 옵션만 나열
|
|
1595
1660
|
❌ 단일 파일로 문서 생성 (여러 파일로 분리 필수)
|
|
1661
|
+
❌ 문서 생성 후 "구현을 시작할까요?" 물어보기 (즉시 진행)
|
|
1596
1662
|
```
|
|
1597
1663
|
|
|
1598
1664
|
</validation>
|
|
@@ -537,17 +537,18 @@ Task(subagent_type="ko-to-en-translator", model="haiku",
|
|
|
537
537
|
|
|
538
538
|
### 문서화 폴더 구조
|
|
539
539
|
|
|
540
|
-
세션 시작 시 `.claude/ralph/
|
|
540
|
+
세션 시작 시 `.claude/ralph/00.[작업명]/` 폴더 생성:
|
|
541
541
|
|
|
542
542
|
```
|
|
543
|
-
.claude/ralph/
|
|
543
|
+
.claude/ralph/00.사용자_인증_구현/
|
|
544
544
|
├── TASKS.md # 작업 체크리스트
|
|
545
545
|
├── PROCESS.md # 진행 단계 및 의사결정
|
|
546
546
|
├── VERIFICATION.md # 검증 결과 기록
|
|
547
547
|
└── NOTES.md # 추가 메모
|
|
548
548
|
```
|
|
549
549
|
|
|
550
|
-
**폴더명 형식:** `
|
|
550
|
+
**폴더명 형식:** `00.[작업명]` (넘버링 + 한글 설명, 언더스코어로 구분)
|
|
551
|
+
**넘버링:** 기존 ralph 폴더 목록 조회 → 다음 번호 자동 부여 (00, 01, 02...)
|
|
551
552
|
|
|
552
553
|
### 문서 역할
|
|
553
554
|
|
|
@@ -680,7 +681,7 @@ Context compaction 후 세션 재개 시:
|
|
|
680
681
|
|
|
681
682
|
```text
|
|
682
683
|
1. pwd 실행 → 작업 디렉토리 확인
|
|
683
|
-
2. ls .claude/ralph/ → 최신 세션 폴더 식별
|
|
684
|
+
2. ls .claude/ralph/ → 최신 세션 폴더 식별 (가장 큰 번호)
|
|
684
685
|
3. TASKS.md 읽기 → 요구사항 및 진행 상태 파악
|
|
685
686
|
4. PROCESS.md 읽기 → 현재 Phase 및 다음 단계 확인
|
|
686
687
|
5. VERIFICATION.md 읽기 → 검증 결과 확인
|
|
@@ -700,12 +701,13 @@ Context compaction 후 세션 재개 시:
|
|
|
700
701
|
|
|
701
702
|
```text
|
|
702
703
|
1. 원본 작업 요구사항 분석
|
|
703
|
-
2. .claude/ralph/
|
|
704
|
-
3.
|
|
705
|
-
4.
|
|
706
|
-
5.
|
|
707
|
-
6.
|
|
708
|
-
7.
|
|
704
|
+
2. 넘버링 결정 (ls .claude/ralph/)
|
|
705
|
+
3. .claude/ralph/00.[작업명]/ 폴더 생성 (한글 설명)
|
|
706
|
+
4. TASKS.md 작성 (체크리스트)
|
|
707
|
+
5. PROCESS.md 작성 (Phase 1 시작 기록)
|
|
708
|
+
6. 구현 실행 (병렬/백그라운드 활용)
|
|
709
|
+
7. 각 요구사항 완료 시 TASKS.md 업데이트
|
|
710
|
+
8. 주요 의사결정 시 PROCESS.md 기록
|
|
709
711
|
```
|
|
710
712
|
|
|
711
713
|
**병렬 에이전트 활용 예시:**
|
|
@@ -1045,16 +1047,17 @@ Task(subagent_type="code-reviewer", model="opus", ...)
|
|
|
1045
1047
|
[RALPH MODE ON - 작업 시작]
|
|
1046
1048
|
```
|
|
1047
1049
|
1. 원본 작업(`{{PROMPT}}`) 읽기
|
|
1048
|
-
2.
|
|
1049
|
-
3.
|
|
1050
|
-
4.
|
|
1050
|
+
2. 넘버링 결정 (ls .claude/ralph/ → 다음 번호 자동 부여)
|
|
1051
|
+
3. `.claude/ralph/00.[작업명]/` 폴더 생성 (한글 설명)
|
|
1052
|
+
4. TASKS.md, PROCESS.md, VERIFICATION.md 초기화
|
|
1053
|
+
5. 요구사항 분석 후 TASKS.md에 체크리스트 작성
|
|
1051
1054
|
|
|
1052
1055
|
**Context Compaction 후 재개:**
|
|
1053
1056
|
```
|
|
1054
1057
|
[RALPH MODE ON - 작업 재개]
|
|
1055
1058
|
```
|
|
1056
1059
|
1. `pwd` → 작업 디렉토리 확인
|
|
1057
|
-
2. `ls .claude/ralph/` → 최신 세션 폴더 찾기
|
|
1060
|
+
2. `ls .claude/ralph/` → 최신 세션 폴더 찾기 (가장 큰 번호)
|
|
1058
1061
|
3. TASKS.md 읽기 → 요구사항 및 완료 상태
|
|
1059
1062
|
4. PROCESS.md 읽기 → 현재 Phase 및 다음 단계
|
|
1060
1063
|
5. VERIFICATION.md 읽기 → 검증 결과
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# Refactor Skill - Agents
|
|
2
|
+
|
|
3
|
+
## refactor-advisor
|
|
4
|
+
|
|
5
|
+
**역할:** 코드 품질 개선을 위한 리팩토링 계획 수립 및 조언 (READ-ONLY)
|
|
6
|
+
|
|
7
|
+
**도구:**
|
|
8
|
+
- Read: 코드 파일 읽기
|
|
9
|
+
- Grep: 코드 패턴 검색
|
|
10
|
+
- Glob: 파일 목록 조회
|
|
11
|
+
- Bash: git, 메트릭 도구 실행 (읽기 전용)
|
|
12
|
+
- sequentialthinking: 분석 사고 과정
|
|
13
|
+
|
|
14
|
+
**금지:**
|
|
15
|
+
- Edit: 코드 수정 금지
|
|
16
|
+
- Write: 파일 생성 금지
|
|
17
|
+
- Task: 하위 에이전트 호출 금지
|
|
18
|
+
|
|
19
|
+
**특징:**
|
|
20
|
+
- 읽기 전용 에이전트
|
|
21
|
+
- 코드 분석 및 개선 방향 조언만 제공
|
|
22
|
+
- 실제 구현은 implementation-executor에게 위임
|
|
23
|
+
|
|
24
|
+
**사용 시점:**
|
|
25
|
+
- 코드 복잡도, 중복률, 타입 안정성 분석 필요 시
|
|
26
|
+
- 리팩토링 우선순위 결정 필요 시
|
|
27
|
+
- 점진적 개선 전략 수립 필요 시
|
|
28
|
+
|
|
29
|
+
**권장 모델:** sonnet
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## implementation-executor
|
|
34
|
+
|
|
35
|
+
**역할:** 리팩토링 계획을 실제로 구현
|
|
36
|
+
|
|
37
|
+
**도구:**
|
|
38
|
+
- Read, Edit, Write: 파일 읽기/수정/생성
|
|
39
|
+
- Bash: 테스트, 빌드, git 실행
|
|
40
|
+
- sequentialthinking: 구현 사고 과정
|
|
41
|
+
|
|
42
|
+
**사용 시점:**
|
|
43
|
+
- refactor-advisor의 계획을 실제로 코드로 구현
|
|
44
|
+
- PLAN.md 기반 단계별 리팩토링 실행
|
|
45
|
+
|
|
46
|
+
**권장 모델:**
|
|
47
|
+
- 단순 작업 (변수명 변경, 포맷팅): haiku
|
|
48
|
+
- 일반 작업 (함수 분리, 중복 제거): sonnet
|
|
49
|
+
- 복잡한 작업 (아키텍처 변경): opus
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## code-reviewer
|
|
54
|
+
|
|
55
|
+
**역할:** 리팩토링 후 품질 검증
|
|
56
|
+
|
|
57
|
+
**도구:**
|
|
58
|
+
- Read: 변경된 코드 읽기
|
|
59
|
+
- Bash: 테스트, 린트, 타입 체크 실행
|
|
60
|
+
- sequentialthinking: 검토 사고 과정
|
|
61
|
+
|
|
62
|
+
**금지:**
|
|
63
|
+
- Edit/Write: 검토만 수행, 수정은 하지 않음
|
|
64
|
+
|
|
65
|
+
**사용 시점:**
|
|
66
|
+
- 리팩토링 완료 후 품질 검증
|
|
67
|
+
- 다중 관점 코드 리뷰 (성능, 보안, 가독성, 유지보수성)
|
|
68
|
+
|
|
69
|
+
**권장 모델:** opus (세밀한 검토 필요)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## architect
|
|
74
|
+
|
|
75
|
+
**역할:** 아키텍처 분석 및 구조 개선 방향 제시 (READ-ONLY)
|
|
76
|
+
|
|
77
|
+
**도구:**
|
|
78
|
+
- Read, Grep, Glob: 코드베이스 탐색
|
|
79
|
+
- Bash: 의존성 분석 도구 실행 (읽기 전용)
|
|
80
|
+
- sequentialthinking: 아키텍처 분석
|
|
81
|
+
|
|
82
|
+
**금지:**
|
|
83
|
+
- Edit/Write: 분석만 수행, 수정은 하지 않음
|
|
84
|
+
|
|
85
|
+
**사용 시점:**
|
|
86
|
+
- 아키텍처 문제점 분석
|
|
87
|
+
- 모듈 구조 개선 방향 제시
|
|
88
|
+
- 레이어드 아키텍처 전환 전략
|
|
89
|
+
|
|
90
|
+
**권장 모델:**
|
|
91
|
+
- 일반 분석: sonnet
|
|
92
|
+
- 복잡한 설계: opus
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## analyst
|
|
97
|
+
|
|
98
|
+
**역할:** 코드 메트릭 분석, 엣지 케이스 검증
|
|
99
|
+
|
|
100
|
+
**도구:**
|
|
101
|
+
- Read, Grep, Glob: 코드 분석
|
|
102
|
+
- Bash: 메트릭 도구 실행 (복잡도, 중복률 등)
|
|
103
|
+
- sequentialthinking: 분석 사고 과정
|
|
104
|
+
|
|
105
|
+
**사용 시점:**
|
|
106
|
+
- 복잡도, 중복률, 타입 안정성 메트릭 수집
|
|
107
|
+
- Before/After 비교 분석
|
|
108
|
+
- 리팩토링 우선순위 결정
|
|
109
|
+
|
|
110
|
+
**권장 모델:** sonnet
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## explore
|
|
115
|
+
|
|
116
|
+
**역할:** 코드베이스 탐색, 의존성 파악
|
|
117
|
+
|
|
118
|
+
**도구:**
|
|
119
|
+
- Read, Grep, Glob: 파일 탐색
|
|
120
|
+
- Bash: find, tree 등 탐색 명령
|
|
121
|
+
|
|
122
|
+
**사용 시점:**
|
|
123
|
+
- 중복 코드 패턴 탐색
|
|
124
|
+
- 모듈 간 의존성 그래프 생성
|
|
125
|
+
- any 타입 사용 지점 전수 조사
|
|
126
|
+
|
|
127
|
+
**권장 모델:** haiku (빠른 탐색)
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## document-writer
|
|
132
|
+
|
|
133
|
+
**역할:** 리팩토링 계획 및 결과 문서화
|
|
134
|
+
|
|
135
|
+
**도구:**
|
|
136
|
+
- Read: 기존 문서 읽기
|
|
137
|
+
- Write: 문서 생성
|
|
138
|
+
- sequentialthinking: 문서 구조화
|
|
139
|
+
|
|
140
|
+
**사용 시점:**
|
|
141
|
+
- ANALYSIS.md, PLAN.md, METRICS.md 생성
|
|
142
|
+
- 리팩토링 가이드, 마이그레이션 문서 작성
|
|
143
|
+
|
|
144
|
+
**권장 모델:**
|
|
145
|
+
- 간단한 문서 (ANALYSIS.md, METRICS.md): haiku
|
|
146
|
+
- 복잡한 문서 (PLAN.md, 상세 가이드): sonnet
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Model Routing
|
|
151
|
+
|
|
152
|
+
| 복잡도 | 리팩토링 유형 | Model | Agent | 예시 |
|
|
153
|
+
|--------|--------------|-------|-------|------|
|
|
154
|
+
| **LOW** | 단순 개선 | haiku | implementation-executor, explore, document-writer | 변수명 변경, 코드 포맷팅, 파일 탐색 |
|
|
155
|
+
| **MEDIUM** | 일반 리팩토링 | sonnet | refactor-advisor, implementation-executor, analyst, architect, document-writer | 함수 분리, 중복 제거, 타입 개선, 메트릭 분석 |
|
|
156
|
+
| **HIGH** | 복잡한 구조 변경 | opus | architect, code-reviewer | 아키텍처 재설계, 모듈 분리, 품질 검증 |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Agent 조합 패턴
|
|
161
|
+
|
|
162
|
+
### 패턴 1: 분석 + 계획
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
// 코드 분석과 리팩토링 계획 동시 진행
|
|
166
|
+
Task({
|
|
167
|
+
subagent_type: "refactor-advisor",
|
|
168
|
+
model: "sonnet",
|
|
169
|
+
prompt: "코드 분석 및 리팩토링 계획 수립"
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
Task({
|
|
173
|
+
subagent_type: "analyst",
|
|
174
|
+
model: "sonnet",
|
|
175
|
+
prompt: "복잡도, 중복률 메트릭 수집"
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
Task({
|
|
179
|
+
subagent_type: "architect",
|
|
180
|
+
model: "opus",
|
|
181
|
+
prompt: "아키텍처 문제점 분석 (READ-ONLY)"
|
|
182
|
+
})
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 패턴 2: 탐색 + 실행
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
// 의존성 파악과 독립 모듈 리팩토링 동시 진행
|
|
189
|
+
Task({
|
|
190
|
+
subagent_type: "explore",
|
|
191
|
+
model: "haiku",
|
|
192
|
+
prompt: "모듈 간 의존성 그래프 생성"
|
|
193
|
+
})
|
|
194
|
+
|
|
195
|
+
Task({
|
|
196
|
+
subagent_type: "implementation-executor",
|
|
197
|
+
model: "sonnet",
|
|
198
|
+
prompt: "독립 유틸리티 함수 리팩토링 (의존성 없음)"
|
|
199
|
+
})
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 패턴 3: 구현 + 검증 + 문서
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
// 리팩토링, 검증, 문서화 동시 진행
|
|
206
|
+
Task({
|
|
207
|
+
subagent_type: "implementation-executor",
|
|
208
|
+
model: "sonnet",
|
|
209
|
+
prompt: "함수 분리 리팩토링 실행"
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
Task({
|
|
213
|
+
subagent_type: "code-reviewer",
|
|
214
|
+
model: "opus",
|
|
215
|
+
prompt: "리팩토링 후 품질 검증"
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
Task({
|
|
219
|
+
subagent_type: "document-writer",
|
|
220
|
+
model: "haiku",
|
|
221
|
+
prompt: "리팩토링 변경 사항 문서화"
|
|
222
|
+
})
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 패턴 4: 다중 관점 검증
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
// 리팩토링 후 여러 관점에서 동시 검증
|
|
229
|
+
Task({
|
|
230
|
+
subagent_type: "code-reviewer",
|
|
231
|
+
model: "opus",
|
|
232
|
+
prompt: "성능 검토: 불필요한 리렌더, N+1 쿼리"
|
|
233
|
+
})
|
|
234
|
+
|
|
235
|
+
Task({
|
|
236
|
+
subagent_type: "code-reviewer",
|
|
237
|
+
model: "opus",
|
|
238
|
+
prompt: "보안 검토: 타입 안정성, 입력 검증"
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
Task({
|
|
242
|
+
subagent_type: "code-reviewer",
|
|
243
|
+
model: "opus",
|
|
244
|
+
prompt: "가독성 검토: 명명 규칙, 함수 길이"
|
|
245
|
+
})
|
|
246
|
+
|
|
247
|
+
Task({
|
|
248
|
+
subagent_type: "code-reviewer",
|
|
249
|
+
model: "opus",
|
|
250
|
+
prompt: "유지보수성 검토: 테스트 커버리지, 확장성"
|
|
251
|
+
})
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 주의사항
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
✅ 권장:
|
|
260
|
+
- refactor-advisor: READ-ONLY, 조언만 제공
|
|
261
|
+
- 독립적인 모듈/파일 → 병렬 실행
|
|
262
|
+
- 분석 작업 (읽기 전용) → 병렬 실행
|
|
263
|
+
- 다중 관점 검증 → 병렬 실행
|
|
264
|
+
|
|
265
|
+
❌ 금지:
|
|
266
|
+
- refactor-advisor에서 Edit/Write 사용
|
|
267
|
+
- 같은 파일 동시 수정 (충돌 발생)
|
|
268
|
+
- 순차 의존성 있는 작업 병렬화
|
|
269
|
+
```
|