@kood/claude-code 0.6.0 → 0.6.2
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 +1 -1
- package/package.json +1 -1
- package/templates/.claude/instructions/agent-patterns/delegation-patterns.md +389 -0
- package/templates/.claude/instructions/context-optimization/phase-based-execution.md +410 -0
- package/templates/.claude/instructions/context-optimization/redundant-exploration-prevention.md +646 -0
- package/templates/.claude/instructions/context-optimization/sub-agent-distribution.md +476 -0
- package/templates/.claude/instructions/glossary.md +48 -0
- package/templates/.claude/instructions/project-context-template.md +453 -0
- package/templates/.claude/instructions/skill-integration.md +90 -0
- package/templates/.claude/instructions/sourcing/reliable-search.md +411 -0
- package/templates/.claude/instructions/validation/forbidden-patterns.md +47 -0
- package/templates/.claude/instructions/validation/required-behaviors.md +120 -0
- package/templates/.claude/instructions/validation/scope-completeness.md +367 -0
- package/templates/.claude/instructions/workflow-patterns/todowrite-pattern.md +2 -0
- package/templates/.claude/skills/brainstorm/SKILL.md +110 -644
- package/templates/.claude/skills/bug-fix/SKILL.md +9 -137
- package/templates/.claude/skills/docs-fetch/CLAUDE.md +3 -0
- package/templates/.claude/skills/docs-fetch/SKILL.md +458 -0
- package/templates/.claude/skills/elon-musk/CLAUDE.md +3 -0
- package/templates/.claude/skills/elon-musk/SKILL.md +367 -0
- package/templates/.claude/skills/execute/SKILL.md +18 -397
- package/templates/.claude/skills/plan/SKILL.md +12 -986
- package/templates/.claude/skills/prd/SKILL.md +225 -586
- package/templates/.claude/skills/prd/references/ai-native-prd.md +116 -0
- package/templates/.claude/skills/prd/references/anti-patterns.md +82 -0
- package/templates/.claude/skills/prd/references/frameworks.md +216 -0
- package/templates/.claude/skills/prd/references/pm-leaders.md +106 -0
- package/templates/.claude/skills/prd/references/trends-2026.md +157 -0
- package/templates/.claude/skills/ralph/SKILL.md +15 -497
- package/templates/.claude/skills/refactor/SKILL.md +11 -655
- package/templates/.claude/skills/research/SKILL.md +257 -0
- package/templates/.claude/skills/research/report-template.md +88 -0
|
@@ -7,6 +7,9 @@ user-invocable: true
|
|
|
7
7
|
@../../instructions/workflow-patterns/sequential-thinking.md
|
|
8
8
|
@../../instructions/agent-patterns/parallel-execution.md
|
|
9
9
|
@../../instructions/agent-patterns/model-routing.md
|
|
10
|
+
@../../instructions/sourcing/reliable-search.md
|
|
11
|
+
@../../instructions/context-optimization/redundant-exploration-prevention.md
|
|
12
|
+
@../../instructions/validation/scope-completeness.md
|
|
10
13
|
@../../instructions/validation/forbidden-patterns.md
|
|
11
14
|
@../../instructions/validation/required-behaviors.md
|
|
12
15
|
|
|
@@ -333,36 +336,9 @@ npm run build
|
|
|
333
336
|
|
|
334
337
|
## Parallel Agent Execution
|
|
335
338
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|--------|----------|------|----------|
|
|
340
|
-
| **LOW** | 단순 버그 | haiku | 오타, 명백한 로직 오류, 누락된 import |
|
|
341
|
-
| **MEDIUM** | 일반 버그 | sonnet | 기능 오작동, 상태 관리 이슈, API 에러 |
|
|
342
|
-
| **HIGH** | 복잡한 버그 | opus | 아키텍처 설계 결함, 성능 이슈, 보안 취약점 |
|
|
343
|
-
|
|
344
|
-
**에이전트 호출 시 항상 `model` 파라미터 명시:**
|
|
345
|
-
|
|
346
|
-
```typescript
|
|
347
|
-
Task(subagent_type="implementation-executor", model="sonnet", ...)
|
|
348
|
-
Task(subagent_type="explore", model="haiku", ...)
|
|
349
|
-
Task(subagent_type="architect", model="opus", ...)
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### Recommended Agents
|
|
353
|
-
|
|
354
|
-
| 도메인 | 에이전트 | 권장 모델 | 용도 |
|
|
355
|
-
|--------|---------|----------|------|
|
|
356
|
-
| 탐색 | explore | haiku | 버그 재현 경로, 관련 파일 탐색 |
|
|
357
|
-
| 아키텍처 | architect | sonnet/opus | 근본 원인 분석, 설계 논의 (READ-ONLY) |
|
|
358
|
-
| 구현 | implementation-executor | sonnet | 버그 수정 구현 |
|
|
359
|
-
| 검증 | code-reviewer | opus | 수정 후 코드 리뷰, 회귀 검증 |
|
|
360
|
-
| 린트 | lint-fixer | sonnet | tsc/eslint 오류 수정 |
|
|
361
|
-
| 문서 | document-writer | haiku/sonnet | 버그 리포트, 수정 내역 문서화 |
|
|
362
|
-
| 보안 | security-reviewer | opus | 보안 취약점 버그, SQL Injection, XSS |
|
|
363
|
-
| 테스트 | qa-tester | sonnet | 수정 후 CLI/서비스 테스트 검증 |
|
|
364
|
-
| 조사 | researcher | sonnet | 외부 라이브러리 버그, API 문서 조사 |
|
|
365
|
-
| 시각 | vision | sonnet | UI 버그 스크린샷 분석, 레이아웃 검증 |
|
|
339
|
+
@../../instructions/agent-patterns/delegation-patterns.md
|
|
340
|
+
@../../instructions/agent-patterns/parallel-execution.md
|
|
341
|
+
@../../instructions/agent-patterns/model-routing.md
|
|
366
342
|
|
|
367
343
|
### Bug Severity별 병렬 처리
|
|
368
344
|
|
|
@@ -497,111 +473,7 @@ Task({
|
|
|
497
473
|
// → 3가지 테스트 레벨을 동시에 검증
|
|
498
474
|
```
|
|
499
475
|
|
|
500
|
-
### Parallel
|
|
501
|
-
|
|
502
|
-
### Read 도구 병렬화
|
|
503
|
-
|
|
504
|
-
**프로젝트 분석 시 파일 병렬 읽기:**
|
|
505
|
-
|
|
506
|
-
```typescript
|
|
507
|
-
// ❌ 순차 읽기 (느림)
|
|
508
|
-
Read({ file_path: "src/file1.ts" })
|
|
509
|
-
// 대기...
|
|
510
|
-
Read({ file_path: "src/file2.ts" })
|
|
511
|
-
|
|
512
|
-
// ✅ 병렬 읽기 (빠름)
|
|
513
|
-
Read({ file_path: "src/file1.ts" })
|
|
514
|
-
Read({ file_path: "src/file2.ts" })
|
|
515
|
-
Read({ file_path: "src/file3.ts" })
|
|
516
|
-
Read({ file_path: "docs/api.md" })
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
**복잡한 탐색은 explore 에이전트 활용:**
|
|
520
|
-
|
|
521
|
-
```typescript
|
|
522
|
-
// 여러 영역 동시 탐색
|
|
523
|
-
Task(subagent_type="explore", model="haiku",
|
|
524
|
-
prompt="영역 1 파일 구조 및 패턴 분석")
|
|
525
|
-
Task(subagent_type="explore", model="haiku",
|
|
526
|
-
prompt="영역 2 의존성 및 관계 분석")
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
---
|
|
530
|
-
|
|
531
|
-
#### 패턴 1: 탐색 + 분석 병렬
|
|
532
|
-
|
|
533
|
-
```typescript
|
|
534
|
-
// ❌ 순차 실행 (느림)
|
|
535
|
-
Task({
|
|
536
|
-
subagent_type: 'explore',
|
|
537
|
-
model: 'haiku',
|
|
538
|
-
prompt: '간헐적 500 에러 재현 경로 탐색'
|
|
539
|
-
})
|
|
540
|
-
// 대기...
|
|
541
|
-
Task({
|
|
542
|
-
subagent_type: 'architect',
|
|
543
|
-
model: 'sonnet',
|
|
544
|
-
prompt: '500 에러 근본 원인 분석'
|
|
545
|
-
})
|
|
546
|
-
|
|
547
|
-
// ✅ 병렬 실행 (빠름)
|
|
548
|
-
Task({
|
|
549
|
-
subagent_type: 'explore',
|
|
550
|
-
model: 'haiku',
|
|
551
|
-
prompt: '간헐적 500 에러 재현 경로 탐색 및 재현 조건 파악'
|
|
552
|
-
})
|
|
553
|
-
Task({
|
|
554
|
-
subagent_type: 'architect',
|
|
555
|
-
model: 'sonnet',
|
|
556
|
-
prompt: '500 에러 패턴 분석 및 근본 원인 파악 (로그, 스택 트레이스 기반)'
|
|
557
|
-
})
|
|
558
|
-
|
|
559
|
-
// → 탐색 결과와 분석 결과를 종합하여 수정 방향 결정
|
|
560
|
-
```
|
|
561
|
-
|
|
562
|
-
#### 패턴 2: 수정 + 문서화 병렬
|
|
563
|
-
|
|
564
|
-
```typescript
|
|
565
|
-
// ✅ 코드 수정과 동시에 문서화
|
|
566
|
-
Task({
|
|
567
|
-
subagent_type: 'implementation-executor',
|
|
568
|
-
model: 'sonnet',
|
|
569
|
-
prompt: '인증 버그 수정: 토큰 재발급 로직 개선'
|
|
570
|
-
})
|
|
571
|
-
Task({
|
|
572
|
-
subagent_type: 'document-writer',
|
|
573
|
-
model: 'haiku',
|
|
574
|
-
prompt: '버그 리포트 작성: 원인, 수정 내용, 영향 범위'
|
|
575
|
-
})
|
|
576
|
-
Task({
|
|
577
|
-
subagent_type: 'document-writer',
|
|
578
|
-
model: 'haiku',
|
|
579
|
-
prompt: 'CHANGELOG.md 업데이트: 버그 수정 항목 추가'
|
|
580
|
-
})
|
|
581
|
-
```
|
|
582
|
-
|
|
583
|
-
#### 패턴 3: 다중 검증 병렬
|
|
584
|
-
|
|
585
|
-
```typescript
|
|
586
|
-
// ✅ 수정 후 여러 관점에서 동시 검토
|
|
587
|
-
Task({
|
|
588
|
-
subagent_type: 'code-reviewer',
|
|
589
|
-
model: 'opus',
|
|
590
|
-
prompt: '보안 검토: 수정으로 인한 새로운 취약점 확인'
|
|
591
|
-
})
|
|
592
|
-
Task({
|
|
593
|
-
subagent_type: 'code-reviewer',
|
|
594
|
-
model: 'opus',
|
|
595
|
-
prompt: '성능 검토: 수정이 성능에 미치는 영향 분석'
|
|
596
|
-
})
|
|
597
|
-
Task({
|
|
598
|
-
subagent_type: 'code-reviewer',
|
|
599
|
-
model: 'opus',
|
|
600
|
-
prompt: '회귀 검토: 다른 기능에 부작용 없는지 확인'
|
|
601
|
-
})
|
|
602
|
-
```
|
|
603
|
-
|
|
604
|
-
### Practical Examples (시간 비교 포함)
|
|
476
|
+
### Bug-Fix-Specific Parallel Patterns
|
|
605
477
|
|
|
606
478
|
#### 예시 1: 여러 독립 버그 동시 수정
|
|
607
479
|
|
|
@@ -852,11 +724,11 @@ Task({
|
|
|
852
724
|
**상황:** 외부 라이브러리 버전 업그레이드 후 오류 발생
|
|
853
725
|
|
|
854
726
|
```typescript
|
|
855
|
-
// ✅ 라이브러리 버그 조사 + 수정 병렬
|
|
727
|
+
// ✅ 라이브러리 버그 조사 + 수정 병렬 (@reliable-search.md 적용)
|
|
856
728
|
Task({
|
|
857
729
|
subagent_type: 'researcher',
|
|
858
730
|
model: 'sonnet',
|
|
859
|
-
prompt: 'TanStack Query v5.60.0 breaking changes 조사 및 마이그레이션 가이드
|
|
731
|
+
prompt: 'TanStack Query v5.60.0 breaking changes 2026 조사 및 마이그레이션 가이드 탐색. 검색 시 현재 연도 포함. 출처: URL + 발행일 + 소스유형(공식/블로그/커뮤니티). 공식 changelog 우선.'
|
|
860
732
|
})
|
|
861
733
|
Task({
|
|
862
734
|
subagent_type: 'explore',
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-fetch
|
|
3
|
+
description: 라이브러리 공식 문서를 수집하여 AI Agent 최적화 문서 자동 생성. llms.txt → GitHub → Firecrawl/SearXNG 순서로 소싱.
|
|
4
|
+
metadata:
|
|
5
|
+
author: kood
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
user-invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
@../../instructions/workflow-patterns/sequential-thinking.md
|
|
11
|
+
@../../instructions/agent-patterns/parallel-execution.md
|
|
12
|
+
@../../instructions/agent-patterns/model-routing.md
|
|
13
|
+
@../../instructions/validation/forbidden-patterns.md
|
|
14
|
+
@../../instructions/validation/required-behaviors.md
|
|
15
|
+
@../../instructions/sourcing/reliable-search.md
|
|
16
|
+
|
|
17
|
+
# Docs Fetch Skill
|
|
18
|
+
|
|
19
|
+
> 라이브러리/프레임워크 공식 문서 수집 → AI Agent 최적화 문서 자동 생성
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
<purpose>
|
|
24
|
+
|
|
25
|
+
Context7 업데이트 지연, Tavily 비용 문제를 해결.
|
|
26
|
+
공식 문서를 직접 읽고, 기존 `docs-creator` 포맷으로 AI 최적화 문서 생성.
|
|
27
|
+
|
|
28
|
+
**입력:** 라이브러리명 또는 URL
|
|
29
|
+
**출력:** `docs/library/[name]/index.md` + 주제별 상세 파일
|
|
30
|
+
|
|
31
|
+
</purpose>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
<trigger_conditions>
|
|
36
|
+
|
|
37
|
+
| 트리거 | 반응 |
|
|
38
|
+
|--------|------|
|
|
39
|
+
| `/docs-fetch prisma@7` | 라이브러리명+버전으로 문서 생성 |
|
|
40
|
+
| `/docs-fetch https://tanstack.com/start/latest/docs` | URL로 문서 생성 |
|
|
41
|
+
| "라이브러리 문서 만들어줘" | 라이브러리명 확인 후 실행 |
|
|
42
|
+
| "OO 최신 문서로 업데이트" | 기존 문서 재생성 |
|
|
43
|
+
|
|
44
|
+
</trigger_conditions>
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
<argument_validation>
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
ARGUMENT 없음 → 즉시 질문:
|
|
52
|
+
|
|
53
|
+
"어떤 라이브러리 문서를 생성할까요?
|
|
54
|
+
|
|
55
|
+
예시:
|
|
56
|
+
- /docs-fetch prisma@7
|
|
57
|
+
- /docs-fetch zod@4
|
|
58
|
+
- /docs-fetch https://tanstack.com/start/latest/docs"
|
|
59
|
+
|
|
60
|
+
ARGUMENT 있음 → 다음 단계 진행
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
</argument_validation>
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<sourcing_strategy>
|
|
68
|
+
|
|
69
|
+
## 소싱 우선순위 (docs-fetch 특화)
|
|
70
|
+
|
|
71
|
+
| 순서 | 소스 | 이유 |
|
|
72
|
+
|------|------|------|
|
|
73
|
+
| **1** | `llms.txt` / `llms-full.txt` | AI 최적화 완료, 토큰 효율 최고 |
|
|
74
|
+
| **2** | GitHub MCP + gh CLI | README, docs/, CHANGELOG 직접 접근 |
|
|
75
|
+
| **3** | Firecrawl `/map`→`/crawl` + SearXNG 검색 | 문서 일괄 수집 + breaking changes 보충 (동시 실행) |
|
|
76
|
+
| **4** | Context7 MCP | 라이브러리 문서 즉시 조회, 업데이트 지연 가능성 있음 |
|
|
77
|
+
| **5** | WebFetch | 개별 페이지 직접 읽기 |
|
|
78
|
+
| **6** | WebSearch | 최후 보충 검색 |
|
|
79
|
+
|
|
80
|
+
**Smart Tier Fallback 및 MCP 통합 전략**: @../../instructions/sourcing/reliable-search.md 참조
|
|
81
|
+
|
|
82
|
+
</sourcing_strategy>
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
<workflow>
|
|
87
|
+
|
|
88
|
+
## Phase 0: 환경 감지 + 입력 파싱
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
1. 입력 파싱
|
|
92
|
+
- "prisma@7" → name: prisma, version: 7
|
|
93
|
+
- "https://..." → URL에서 라이브러리명 추론
|
|
94
|
+
|
|
95
|
+
2. MCP 도구 감지 (ToolSearch로 감지)
|
|
96
|
+
- Firecrawl, SearXNG, Context7, GitHub MCP 활성화 여부 확인
|
|
97
|
+
|
|
98
|
+
3. 버전 최신성 확인
|
|
99
|
+
- npm registry에서 latest 버전 확인 (WebFetch 'https://registry.npmjs.org/{name}/latest')
|
|
100
|
+
- 사용자 지정 버전과 비교, 최신 아니면 경고 표시
|
|
101
|
+
|
|
102
|
+
4. 기존 문서 확인
|
|
103
|
+
- docs/library/[name]/ 이미 존재? → 생성일 확인
|
|
104
|
+
- 6개월 이상 경과 → "기존 문서 업데이트 권장" 표시
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Phase 1: 정보 수집 (병렬)
|
|
110
|
+
|
|
111
|
+
### Step 1-1: llms.txt 확인 (최우선)
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
// 공식 사이트 llms.txt 확인
|
|
115
|
+
WebFetch("{공식사이트}/llms.txt", "문서 구조와 핵심 링크 목록 추출")
|
|
116
|
+
WebFetch("{공식사이트}/llms-full.txt", "전체 문서 내용 추출")
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**llms.txt 있으면** → 핵심 링크 목록 획득, Phase 2에서 링크된 페이지만 읽기
|
|
120
|
+
**llms-full.txt 있으면** → 전체 내용 이미 확보, Phase 2 대부분 스킵 가능
|
|
121
|
+
|
|
122
|
+
### Step 1-2: 메타데이터 + GitHub + 코드 탐색 (병렬)
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
// 병렬 실행 (researcher + explore 동시)
|
|
126
|
+
Task(subagent_type="researcher", model="haiku",
|
|
127
|
+
prompt="npm registry에서 {name} 패키지 메타데이터 조회:
|
|
128
|
+
- 최신 버전, GitHub repo URL, 공식 사이트 URL
|
|
129
|
+
- WebFetch('https://registry.npmjs.org/{name}/latest')")
|
|
130
|
+
|
|
131
|
+
Task(subagent_type="researcher", model="haiku",
|
|
132
|
+
prompt="GitHub에서 {name} 문서 수집:
|
|
133
|
+
- gh api repos/{owner}/{repo}/readme
|
|
134
|
+
- gh api repos/{owner}/{repo}/contents/docs
|
|
135
|
+
- CHANGELOG.md 또는 RELEASES
|
|
136
|
+
- GitHub MCP 사용 가능하면 get_file_contents 활용")
|
|
137
|
+
|
|
138
|
+
Task(subagent_type="explore", model="haiku",
|
|
139
|
+
prompt="{name} GitHub repo 코드 구조 탐색:
|
|
140
|
+
- 주요 export 패턴 (public API surface)
|
|
141
|
+
- 타입 정의 파일 (*.d.ts, types/)
|
|
142
|
+
- 설정 파일 패턴 (config, setup)
|
|
143
|
+
- 예제 코드 (examples/, __tests__/)")
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Step 1-3: Context7 조회 (병렬)
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// Context7 MCP 있으면 → 라이브러리 문서 즉시 조회
|
|
150
|
+
// Context7는 업데이트 지연 가능성 있으므로 다른 소스와 교차 확인
|
|
151
|
+
Task(subagent_type="researcher", model="haiku",
|
|
152
|
+
prompt="Context7 MCP로 {name} 라이브러리 문서 조회.
|
|
153
|
+
Context7 MCP 없으면 스킵.")
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Step 1-4: 보충 검색 (병렬, 현재 연도 포함 필수)
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
// 현재 연도 포함 필수 (2026년 기준)
|
|
160
|
+
Task(subagent_type="researcher", model="haiku",
|
|
161
|
+
prompt="{name} v{version} breaking changes 2026 migration guide 검색.
|
|
162
|
+
검색 쿼리에 현재 연도 포함, 12개월 이내 자료 우선.
|
|
163
|
+
'v{version} [2026] migration', '{name} breaking changes 2026' 패턴 사용.")
|
|
164
|
+
|
|
165
|
+
Task(subagent_type="researcher", model="haiku",
|
|
166
|
+
prompt="{name} v{version} best practices 2026, common mistakes 검색.
|
|
167
|
+
현재 연도 포함, 최신 트렌드 반영.")
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Phase 2: 핵심 페이지 읽기
|
|
173
|
+
|
|
174
|
+
| Tier | 경로 | 실행 |
|
|
175
|
+
|------|------|------|
|
|
176
|
+
| **1 (MCP)** | Firecrawl + SearXNG | `firecrawl_map` → `firecrawl_crawl` (최대 50p) + `searxng_search` 병렬 |
|
|
177
|
+
| **2 (내장)** | WebFetch | llms.txt 링크 우선, 없으면 GitHub docs/ + 공식 문서 10-15p (5개씩 병렬) |
|
|
178
|
+
|
|
179
|
+
### 공통: Breaking Changes 추출
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
CHANGELOG.md에서 추출할 정보:
|
|
183
|
+
- 더 이상 사용 불가한 API → <forbidden>
|
|
184
|
+
- 새로 필수가 된 설정 → <required>
|
|
185
|
+
- 패키지명 변경 → <forbidden> + <required>
|
|
186
|
+
- 기본값 변경 → <required>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Phase 2.5: 수집 정보 분석 (analyst + architect 병렬)
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
Task(subagent_type="analyst", model="sonnet",
|
|
195
|
+
prompt=`수집된 {name} v{version} 정보 분석:
|
|
196
|
+
- 수집 자료 발행일 검증 (12개월 초과 시 최신 자료 보충 검색)
|
|
197
|
+
- 핵심 주제 식별, 누락 영역 확인
|
|
198
|
+
- forbidden/required 패턴 추출, breaking changes 정리`)
|
|
199
|
+
|
|
200
|
+
Task(subagent_type="architect", model="sonnet",
|
|
201
|
+
prompt=`{name} v{version} 아키텍처 분석:
|
|
202
|
+
- 핵심 API surface, 사용 패턴/안티패턴
|
|
203
|
+
- quick_reference 코드 패턴 선별`)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Phase 3: 문서 생성 (병렬 writer)
|
|
209
|
+
|
|
210
|
+
```typescript
|
|
211
|
+
// index.md 생성 (핵심 문서)
|
|
212
|
+
Task(subagent_type="document-writer", model="sonnet",
|
|
213
|
+
prompt=`다음 정보를 기반으로 AI Agent 최적화 문서 생성.
|
|
214
|
+
|
|
215
|
+
[수집된 정보 전달]
|
|
216
|
+
|
|
217
|
+
출력 형식: 아래 템플릿 참조.
|
|
218
|
+
파일 경로: docs/library/{name}/index.md
|
|
219
|
+
|
|
220
|
+
필수 섹션: <context>, <forbidden>, <required>, <quick_reference>, <version_info>
|
|
221
|
+
선택 섹션: <setup>, <configuration>, 주제별 섹션`)
|
|
222
|
+
|
|
223
|
+
// 주제별 상세 문서 (필요시 병렬)
|
|
224
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
225
|
+
prompt="[주제1] 상세 문서 생성: docs/library/{name}/[topic1].md")
|
|
226
|
+
Task(subagent_type="document-writer", model="haiku",
|
|
227
|
+
prompt="[주제2] 상세 문서 생성: docs/library/{name}/[topic2].md")
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Phase 4: 저장 + 연결
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
1. docs/library/[name]/ 폴더 생성 (없으면)
|
|
236
|
+
2. 생성된 파일 저장
|
|
237
|
+
3. CLAUDE.md에 @참조 추가 제안
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Phase 5: 품질 검증 (critic)
|
|
243
|
+
|
|
244
|
+
```typescript
|
|
245
|
+
Task(subagent_type="critic", model="sonnet",
|
|
246
|
+
prompt=`생성된 docs/library/{name}/index.md 검증:
|
|
247
|
+
- 필수 섹션 (<context>, <forbidden>, <required>, <quick_reference>, <version_info>)
|
|
248
|
+
- 버전 최신성 (npm latest 버전과 비교)
|
|
249
|
+
- 코드 예시 복사 가능 여부
|
|
250
|
+
- 기존 docs/ 포맷 일관성
|
|
251
|
+
OKAY/REJECT 판정.`)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**REJECT** → document-writer 재실행 | **OKAY** → 결과 리포트 (파일 목록, 소싱 경로, 검증 결과)
|
|
255
|
+
|
|
256
|
+
</workflow>
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
<output_template>
|
|
261
|
+
|
|
262
|
+
## index.md 출력 형식
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
# {라이브러리명}
|
|
266
|
+
|
|
267
|
+
> **Version {X.x}** | {한줄 설명}
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
<context>
|
|
272
|
+
**Purpose:** {목적}
|
|
273
|
+
**Generated:** {YYYY-MM-DD}
|
|
274
|
+
**Source:** {소스 URL 목록}
|
|
275
|
+
**Key Features:**
|
|
276
|
+
- {기능 1}
|
|
277
|
+
- {기능 2}
|
|
278
|
+
- {기능 3}
|
|
279
|
+
</context>
|
|
280
|
+
|
|
281
|
+
<forbidden>
|
|
282
|
+
| 분류 | 금지 | 이유 |
|
|
283
|
+
|------|------|------|
|
|
284
|
+
| {분류} | ❌ {금지 패턴} | {이유} |
|
|
285
|
+
</forbidden>
|
|
286
|
+
|
|
287
|
+
<required>
|
|
288
|
+
| 분류 | 필수 | 상세 |
|
|
289
|
+
|------|------|------|
|
|
290
|
+
| {분류} | ✅ {필수 패턴} | {상세} |
|
|
291
|
+
</required>
|
|
292
|
+
|
|
293
|
+
<setup>
|
|
294
|
+
## 설치
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
{설치 명령어}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## 초기 설정
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
// {설정 코드}
|
|
304
|
+
```
|
|
305
|
+
</setup>
|
|
306
|
+
|
|
307
|
+
<quick_reference>
|
|
308
|
+
```typescript
|
|
309
|
+
// {자주 사용하는 패턴 - 복사 가능}
|
|
310
|
+
```
|
|
311
|
+
</quick_reference>
|
|
312
|
+
|
|
313
|
+
<version_info>
|
|
314
|
+
**Version:** {X.x}
|
|
315
|
+
**Package:** {패키지명}
|
|
316
|
+
**Breaking Changes:**
|
|
317
|
+
- {변경 1}
|
|
318
|
+
- {변경 2}
|
|
319
|
+
</version_info>
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### 주제별 상세 파일
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
docs/library/{name}/
|
|
326
|
+
├── index.md # 개요 + forbidden + required + quick_reference
|
|
327
|
+
├── setup.md # 설치 + 초기 설정 (상세)
|
|
328
|
+
├── [topic].md # 주제별 상세 가이드
|
|
329
|
+
└── migration.md # 마이그레이션 가이드 (메이저 버전 변경 시)
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
</output_template>
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
<parallel_agent_execution>
|
|
337
|
+
|
|
338
|
+
## Agent 활용 패턴
|
|
339
|
+
|
|
340
|
+
| Phase | Agent | Model | 용도 |
|
|
341
|
+
|-------|-------|-------|------|
|
|
342
|
+
| **1** | researcher x3 | haiku | npm 메타데이터, llms.txt, GitHub 문서 수집 |
|
|
343
|
+
| **1** | explore | haiku | GitHub repo 코드 구조 탐색 (API surface, 타입, 예제) |
|
|
344
|
+
| **1** | researcher | haiku | Context7 MCP 문서 조회 |
|
|
345
|
+
| **1** | researcher x2 | haiku | Firecrawl+SearXNG / WebSearch 보충 검색 |
|
|
346
|
+
| **2** | researcher x3 | haiku | WebFetch 멀티페이지 (5개씩 병렬) |
|
|
347
|
+
| **2.5** | analyst | sonnet | 수집 정보 분석, 핵심 주제 식별, 누락 영역 발견 |
|
|
348
|
+
| **2.5** | architect | sonnet | 라이브러리 아키텍처 분석, API 패턴, 안티패턴 |
|
|
349
|
+
| **3** | document-writer | sonnet | index.md 핵심 문서 생성 |
|
|
350
|
+
| **3** | document-writer x N | haiku | 주제별 상세 문서 생성 |
|
|
351
|
+
| **5** | critic | sonnet | 생성된 문서 품질 검증 (OKAY/REJECT) |
|
|
352
|
+
|
|
353
|
+
### 병렬 실행 규칙
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
Phase 1: 7개 동시 실행 (researcher x5 + explore x1 + llms.txt WebFetch)
|
|
357
|
+
Phase 2: 3개 researcher 동시 실행 (WebFetch 5페이지씩)
|
|
358
|
+
Phase 2.5: 2개 동시 실행 (analyst + architect)
|
|
359
|
+
Phase 3: 1 sonnet + N haiku 동시 실행 (index.md + 주제별)
|
|
360
|
+
Phase 4: 순차 (저장 + 연결)
|
|
361
|
+
Phase 5: critic 검증 → REJECT 시 Phase 3 재실행
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Agent 협업 흐름
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
researcher(수집) ──┐
|
|
368
|
+
explore(탐색) ──┤
|
|
369
|
+
├→ analyst(분석) + architect(패턴) ──→ document-writer(생성) ──→ critic(검증)
|
|
370
|
+
researcher(검색) ──┘ │
|
|
371
|
+
REJECT → 재생성
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
</parallel_agent_execution>
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
<mcp_integration>
|
|
379
|
+
|
|
380
|
+
## MCP 도구별 용도
|
|
381
|
+
|
|
382
|
+
| MCP | 도구 | 용도 |
|
|
383
|
+
|-----|------|------|
|
|
384
|
+
| **Firecrawl** | `firecrawl_map/crawl/scrape` | 문서 사이트 구조 파악 → 일괄 수집 (MD 변환) |
|
|
385
|
+
| **SearXNG** | `web_search` | Breaking changes 검색 (연도 포함 필수) |
|
|
386
|
+
| **Context7** | `resolve-library-id`, `get-library-docs` | 라이브러리 문서 즉시 조회 (업데이트 지연 가능) |
|
|
387
|
+
| **GitHub** | `get_file_contents`, `get_latest_release` | README, docs/, CHANGELOG |
|
|
388
|
+
|
|
389
|
+
**MCP 미설치** → WebFetch (페이지별) + WebSearch (내장) + `gh api` (CLI) 폴백
|
|
390
|
+
|
|
391
|
+
</mcp_integration>
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
<chaining>
|
|
396
|
+
|
|
397
|
+
## Skill 체이닝
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
/docs-fetch prisma@7
|
|
401
|
+
↓ 문서 생성 완료
|
|
402
|
+
/docs-refactor docs/library/prisma/index.md
|
|
403
|
+
↓ 토큰 50% 최적화
|
|
404
|
+
/docs-creator
|
|
405
|
+
↓ CLAUDE.md에 @참조 추가
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
| 순서 | Skill | 역할 |
|
|
409
|
+
|------|-------|------|
|
|
410
|
+
| 1 | **docs-fetch** | 외부 문서 수집 + AI 최적화 문서 생성 |
|
|
411
|
+
| 2 | **docs-refactor** | 생성된 문서 토큰 효율 개선 (선택) |
|
|
412
|
+
| 3 | **docs-creator** | CLAUDE.md 업데이트, @참조 추가 (선택) |
|
|
413
|
+
|
|
414
|
+
</chaining>
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
<examples>
|
|
419
|
+
|
|
420
|
+
## 핵심 예시: llms.txt 있는 라이브러리
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
/docs-fetch zod@4
|
|
424
|
+
|
|
425
|
+
Phase 0: npm latest 확인 → 4.x 최신 ✅
|
|
426
|
+
Phase 1: llms.txt ✅ + GitHub + 검색 (병렬, 연도 포함)
|
|
427
|
+
Phase 2: llms.txt 링크 10페이지 WebFetch
|
|
428
|
+
Phase 2.5: analyst (발행일 검증 + 주제 식별) + architect (패턴 선별)
|
|
429
|
+
Phase 3: index.md + validation.md 생성
|
|
430
|
+
Phase 5: critic 검증 ✅ → docs/library/zod/ 저장
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
**Firecrawl MCP 있으면**: `/map` → `/crawl` 50페이지 일괄 수집
|
|
434
|
+
**URL 지정**: `/docs-fetch https://www.prisma.io/docs/orm` → 직접 WebFetch
|
|
435
|
+
|
|
436
|
+
</examples>
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
<validation>
|
|
441
|
+
|
|
442
|
+
## 검증 체크리스트
|
|
443
|
+
|
|
444
|
+
| 단계 | 체크 |
|
|
445
|
+
|------|------|
|
|
446
|
+
| **실행 전** | ARGUMENT, MCP 감지, llms.txt 확인, npm latest 버전 확인 |
|
|
447
|
+
| **수집 후** | 최소 README + 1p 문서, 수집 자료 발행일 12개월 이내, Breaking Changes 확인 |
|
|
448
|
+
| **생성 후** | 필수 섹션 (`<context>`, `<forbidden>`, `<required>`, `<quick_reference>`, `<version_info>`) |
|
|
449
|
+
| **저장 후** | docs/library/[name]/ 저장, 결과 리포트, CLAUDE.md @참조 제안 |
|
|
450
|
+
|
|
451
|
+
## 절대 금지
|
|
452
|
+
|
|
453
|
+
- ❌ llms.txt 확인 없이 크롤링
|
|
454
|
+
- ❌ 단일 소스만으로 문서 생성 (최소 2개 교차)
|
|
455
|
+
- ❌ 버전 정보 누락, 연도 없는 검색 쿼리
|
|
456
|
+
- ❌ 기존 docs 포맷과 다른 형식
|
|
457
|
+
|
|
458
|
+
</validation>
|