@kood/claude-code 0.6.1 → 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 +75 -672
- package/templates/.claude/skills/bug-fix/SKILL.md +9 -137
- package/templates/.claude/skills/docs-fetch/SKILL.md +64 -232
- package/templates/.claude/skills/elon-musk/SKILL.md +57 -310
- 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 +13 -1
- 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 +20 -23
|
@@ -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',
|
|
@@ -12,6 +12,7 @@ user-invocable: true
|
|
|
12
12
|
@../../instructions/agent-patterns/model-routing.md
|
|
13
13
|
@../../instructions/validation/forbidden-patterns.md
|
|
14
14
|
@../../instructions/validation/required-behaviors.md
|
|
15
|
+
@../../instructions/sourcing/reliable-search.md
|
|
15
16
|
|
|
16
17
|
# Docs Fetch Skill
|
|
17
18
|
|
|
@@ -65,24 +66,7 @@ ARGUMENT 있음 → 다음 단계 진행
|
|
|
65
66
|
|
|
66
67
|
<sourcing_strategy>
|
|
67
68
|
|
|
68
|
-
##
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
Tier 1 (MCP 도구 우선):
|
|
72
|
-
Firecrawl MCP + SearXNG MCP → /map 구조 파악 → /crawl 수집 + 보충 검색 병렬
|
|
73
|
-
Context7 MCP → 라이브러리 문서 직접 조회
|
|
74
|
-
|
|
75
|
-
Tier 2 (내장 도구):
|
|
76
|
-
llms.txt → WebFetch("{도메인}/llms.txt") 우선 확인
|
|
77
|
-
GitHub → gh API + GitHub MCP (README, docs/, CHANGELOG)
|
|
78
|
-
WebFetch → 공식 문서 핵심 페이지 직접 읽기
|
|
79
|
-
WebSearch → 보충 검색
|
|
80
|
-
|
|
81
|
-
Tier 3 (최후 수단):
|
|
82
|
-
Playwright → SPA 사이트, JS 렌더링 필요 시 crawler skill 연계
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 소싱 우선순위 (항상 이 순서)
|
|
69
|
+
## 소싱 우선순위 (docs-fetch 특화)
|
|
86
70
|
|
|
87
71
|
| 순서 | 소스 | 이유 |
|
|
88
72
|
|------|------|------|
|
|
@@ -93,6 +77,8 @@ Tier 3 (최후 수단):
|
|
|
93
77
|
| **5** | WebFetch | 개별 페이지 직접 읽기 |
|
|
94
78
|
| **6** | WebSearch | 최후 보충 검색 |
|
|
95
79
|
|
|
80
|
+
**Smart Tier Fallback 및 MCP 통합 전략**: @../../instructions/sourcing/reliable-search.md 참조
|
|
81
|
+
|
|
96
82
|
</sourcing_strategy>
|
|
97
83
|
|
|
98
84
|
---
|
|
@@ -106,15 +92,16 @@ Tier 3 (최후 수단):
|
|
|
106
92
|
- "prisma@7" → name: prisma, version: 7
|
|
107
93
|
- "https://..." → URL에서 라이브러리명 추론
|
|
108
94
|
|
|
109
|
-
2. MCP 도구 감지
|
|
110
|
-
- Firecrawl
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
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
|
+
- 사용자 지정 버전과 비교, 최신 아니면 경고 표시
|
|
115
101
|
|
|
116
|
-
|
|
117
|
-
- docs/library/[name]/ 이미 존재? →
|
|
102
|
+
4. 기존 문서 확인
|
|
103
|
+
- docs/library/[name]/ 이미 존재? → 생성일 확인
|
|
104
|
+
- 6개월 이상 경과 → "기존 문서 업데이트 권장" 표시
|
|
118
105
|
```
|
|
119
106
|
|
|
120
107
|
---
|
|
@@ -166,53 +153,28 @@ Task(subagent_type="researcher", model="haiku",
|
|
|
166
153
|
Context7 MCP 없으면 스킵.")
|
|
167
154
|
```
|
|
168
155
|
|
|
169
|
-
### Step 1-4: 보충 검색 (
|
|
156
|
+
### Step 1-4: 보충 검색 (병렬, 현재 연도 포함 필수)
|
|
170
157
|
|
|
171
158
|
```typescript
|
|
172
|
-
//
|
|
159
|
+
// 현재 연도 포함 필수 (2026년 기준)
|
|
173
160
|
Task(subagent_type="researcher", model="haiku",
|
|
174
|
-
prompt="{name} v{version} breaking changes
|
|
175
|
-
|
|
161
|
+
prompt="{name} v{version} breaking changes 2026 migration guide 검색.
|
|
162
|
+
검색 쿼리에 현재 연도 포함, 12개월 이내 자료 우선.
|
|
163
|
+
'v{version} [2026] migration', '{name} breaking changes 2026' 패턴 사용.")
|
|
176
164
|
|
|
177
165
|
Task(subagent_type="researcher", model="haiku",
|
|
178
|
-
prompt="{name} v{version} best practices, common mistakes 검색.
|
|
179
|
-
|
|
166
|
+
prompt="{name} v{version} best practices 2026, common mistakes 검색.
|
|
167
|
+
현재 연도 포함, 최신 트렌드 반영.")
|
|
180
168
|
```
|
|
181
169
|
|
|
182
170
|
---
|
|
183
171
|
|
|
184
172
|
## Phase 2: 핵심 페이지 읽기
|
|
185
173
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// 1. 문서 사이트 URL 구조 파악 + 보충 검색 동시
|
|
191
|
-
firecrawl_map({ url: "{docs_url}" })
|
|
192
|
-
searxng_search("{name} v{version} breaking changes migration")
|
|
193
|
-
|
|
194
|
-
// 2. 핵심 페이지 일괄 크롤링 (최대 50페이지)
|
|
195
|
-
firecrawl_crawl({
|
|
196
|
-
url: "{docs_url}",
|
|
197
|
-
limit: 50,
|
|
198
|
-
scrapeOptions: { formats: ["markdown"] }
|
|
199
|
-
})
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Tier 2 경로 (내장 도구만)
|
|
203
|
-
|
|
204
|
-
```typescript
|
|
205
|
-
// llms.txt 링크가 있으면 → 링크된 페이지만 WebFetch
|
|
206
|
-
// 없으면 → GitHub docs/ + 공식 문서 상위 10-15페이지
|
|
207
|
-
|
|
208
|
-
// 병렬 WebFetch (최대 5개씩)
|
|
209
|
-
Task(subagent_type="researcher", model="haiku",
|
|
210
|
-
prompt="다음 URL들을 WebFetch로 읽기: {url_list_1}")
|
|
211
|
-
Task(subagent_type="researcher", model="haiku",
|
|
212
|
-
prompt="다음 URL들을 WebFetch로 읽기: {url_list_2}")
|
|
213
|
-
Task(subagent_type="researcher", model="haiku",
|
|
214
|
-
prompt="다음 URL들을 WebFetch로 읽기: {url_list_3}")
|
|
215
|
-
```
|
|
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개씩 병렬) |
|
|
216
178
|
|
|
217
179
|
### 공통: Breaking Changes 추출
|
|
218
180
|
|
|
@@ -229,24 +191,18 @@ CHANGELOG.md에서 추출할 정보:
|
|
|
229
191
|
## Phase 2.5: 수집 정보 분석 (analyst + architect 병렬)
|
|
230
192
|
|
|
231
193
|
```typescript
|
|
232
|
-
// 수집된 정보 기반 분석 (Phase 3 전에 실행)
|
|
233
194
|
Task(subagent_type="analyst", model="sonnet",
|
|
234
|
-
prompt=`수집된 {name} v{version}
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
- forbidden/required
|
|
238
|
-
- 버전별 breaking changes 정리`)
|
|
195
|
+
prompt=`수집된 {name} v{version} 정보 분석:
|
|
196
|
+
- 수집 자료 발행일 검증 (12개월 초과 시 최신 자료 보충 검색)
|
|
197
|
+
- 핵심 주제 식별, 누락 영역 확인
|
|
198
|
+
- forbidden/required 패턴 추출, breaking changes 정리`)
|
|
239
199
|
|
|
240
200
|
Task(subagent_type="architect", model="sonnet",
|
|
241
|
-
prompt=`{name} v{version}
|
|
242
|
-
- 핵심 API surface
|
|
243
|
-
-
|
|
244
|
-
- 의존성 관계 및 설정 요구사항
|
|
245
|
-
- quick_reference에 포함할 코드 패턴 선별`)
|
|
201
|
+
prompt=`{name} v{version} 아키텍처 분석:
|
|
202
|
+
- 핵심 API surface, 사용 패턴/안티패턴
|
|
203
|
+
- quick_reference 코드 패턴 선별`)
|
|
246
204
|
```
|
|
247
205
|
|
|
248
|
-
**분석 결과** → Phase 3 document-writer에 전달하여 문서 품질 향상
|
|
249
|
-
|
|
250
206
|
---
|
|
251
207
|
|
|
252
208
|
## Phase 3: 문서 생성 (병렬 writer)
|
|
@@ -286,27 +242,16 @@ Task(subagent_type="document-writer", model="haiku",
|
|
|
286
242
|
## Phase 5: 품질 검증 (critic)
|
|
287
243
|
|
|
288
244
|
```typescript
|
|
289
|
-
// 생성된 문서 품질 검증
|
|
290
245
|
Task(subagent_type="critic", model="sonnet",
|
|
291
|
-
prompt=`생성된 docs/library/{name}/index.md
|
|
292
|
-
- <context>, <forbidden>, <required>, <quick_reference>, <version_info>
|
|
293
|
-
- 버전
|
|
246
|
+
prompt=`생성된 docs/library/{name}/index.md 검증:
|
|
247
|
+
- 필수 섹션 (<context>, <forbidden>, <required>, <quick_reference>, <version_info>)
|
|
248
|
+
- 버전 최신성 (npm latest 버전과 비교)
|
|
294
249
|
- 코드 예시 복사 가능 여부
|
|
295
|
-
- 기존 docs/
|
|
296
|
-
- 한글 주석, ✅/❌ 마커 사용 여부
|
|
250
|
+
- 기존 docs/ 포맷 일관성
|
|
297
251
|
OKAY/REJECT 판정.`)
|
|
298
252
|
```
|
|
299
253
|
|
|
300
|
-
**REJECT
|
|
301
|
-
**OKAY 시** → 결과 리포트 출력
|
|
302
|
-
|
|
303
|
-
```
|
|
304
|
-
결과 리포트:
|
|
305
|
-
- 생성된 파일 목록
|
|
306
|
-
- 소싱 경로 (어떤 Tier 사용했는지)
|
|
307
|
-
- 토큰 수 추정
|
|
308
|
-
- critic 검증 결과
|
|
309
|
-
```
|
|
254
|
+
**REJECT** → document-writer 재실행 | **OKAY** → 결과 리포트 (파일 목록, 소싱 경로, 검증 결과)
|
|
310
255
|
|
|
311
256
|
</workflow>
|
|
312
257
|
|
|
@@ -432,60 +377,16 @@ researcher(검색) ──┘
|
|
|
432
377
|
|
|
433
378
|
<mcp_integration>
|
|
434
379
|
|
|
435
|
-
## MCP
|
|
436
|
-
|
|
437
|
-
### Firecrawl MCP (자체 호스팅)
|
|
438
|
-
|
|
439
|
-
```bash
|
|
440
|
-
# 셋업
|
|
441
|
-
claude mcp add firecrawl \
|
|
442
|
-
-e FIRECRAWL_API_URL=http://localhost:3002 \
|
|
443
|
-
-- npx -y firecrawl-mcp
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
| 도구 | 용도 |
|
|
447
|
-
|------|------|
|
|
448
|
-
| `firecrawl_map` | 문서 사이트 URL 구조 파악 |
|
|
449
|
-
| `firecrawl_crawl` | 핵심 페이지 일괄 수집 (MD 변환) |
|
|
450
|
-
| `firecrawl_scrape` | 단일 페이지 스크랩 |
|
|
451
|
-
|
|
452
|
-
### SearXNG MCP (자체 호스팅)
|
|
380
|
+
## MCP 도구별 용도
|
|
453
381
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
| 용도 | 검색 쿼리 예시 |
|
|
462
|
-
|------|---------------|
|
|
463
|
-
| Breaking Changes | `"{name} v{ver} breaking changes migration"` |
|
|
464
|
-
| Best Practices | `"{name} v{ver} best practices common mistakes"` |
|
|
465
|
-
| 비교 | `"{name} vs {alt} comparison 2026"` |
|
|
466
|
-
|
|
467
|
-
### Context7 MCP
|
|
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 |
|
|
468
388
|
|
|
469
|
-
|
|
470
|
-
|------|------|
|
|
471
|
-
| `resolve-library-id` | 라이브러리 식별자 확인 |
|
|
472
|
-
| `get-library-docs` | 라이브러리 문서 조회 (업데이트 지연 가능성 있음) |
|
|
473
|
-
|
|
474
|
-
### GitHub MCP
|
|
475
|
-
|
|
476
|
-
| 도구 | 용도 |
|
|
477
|
-
|------|------|
|
|
478
|
-
| `get_file_contents` | README.md, docs/ 폴더 내용 |
|
|
479
|
-
| `list_commits` | 최근 변경사항 확인 |
|
|
480
|
-
| `get_latest_release` | 최신 릴리스 + CHANGELOG |
|
|
481
|
-
|
|
482
|
-
### MCP 미설치 시 폴백
|
|
483
|
-
|
|
484
|
-
| MCP 없음 | 대체 도구 |
|
|
485
|
-
|----------|----------|
|
|
486
|
-
| Firecrawl + SearXNG | WebFetch (페이지별) + WebSearch (내장) |
|
|
487
|
-
| Context7 | WebFetch (개별 페이지 직접 읽기) |
|
|
488
|
-
| GitHub MCP | `gh api` (CLI) |
|
|
389
|
+
**MCP 미설치** → WebFetch (페이지별) + WebSearch (내장) + `gh api` (CLI) 폴백
|
|
489
390
|
|
|
490
391
|
</mcp_integration>
|
|
491
392
|
|
|
@@ -516,71 +417,21 @@ claude mcp add searxng \
|
|
|
516
417
|
|
|
517
418
|
<examples>
|
|
518
419
|
|
|
519
|
-
##
|
|
420
|
+
## 핵심 예시: llms.txt 있는 라이브러리
|
|
520
421
|
|
|
521
422
|
```bash
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
Phase 0: 환경 감지
|
|
525
|
-
→ Firecrawl MCP: 없음, SearXNG MCP: 없음 → Tier 2
|
|
526
|
-
|
|
527
|
-
Phase 1: 정보 수집 (병렬)
|
|
528
|
-
researcher 1: WebFetch("https://zod.dev/llms.txt") → ✅ 있음!
|
|
529
|
-
researcher 2: npm registry → version 4.x, repo: colinhacks/zod
|
|
530
|
-
researcher 3: gh api repos/colinhacks/zod/readme
|
|
531
|
-
researcher 4: WebSearch "zod v4 breaking changes"
|
|
423
|
+
/docs-fetch zod@4
|
|
532
424
|
|
|
533
|
-
Phase
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
Phase
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
Phase 4: 저장
|
|
541
|
-
→ docs/library/zod/ 에 2개 파일 생성
|
|
542
|
-
→ "CLAUDE.md에 @docs/library/zod/index.md 추가 권장"
|
|
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/ 저장
|
|
543
431
|
```
|
|
544
432
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
```bash
|
|
548
|
-
사용자: /docs-fetch tanstack-query@5
|
|
549
|
-
|
|
550
|
-
Phase 0: 환경 감지
|
|
551
|
-
→ Firecrawl MCP: ✅ + SearXNG MCP: ✅ → Tier 1 활성화
|
|
552
|
-
|
|
553
|
-
Phase 1: 정보 수집 (병렬)
|
|
554
|
-
firecrawl_map: https://tanstack.com/query/latest/docs → URL 200개 발견
|
|
555
|
-
searxng: "tanstack query v5 breaking changes migration" → 보충 정보
|
|
556
|
-
researcher 1: npm registry → version 5.x
|
|
557
|
-
researcher 2: GitHub README + CHANGELOG
|
|
558
|
-
researcher 3: Context7 → 문서 조회
|
|
559
|
-
|
|
560
|
-
Phase 2: Firecrawl 일괄 수집
|
|
561
|
-
firecrawl_crawl: 핵심 50페이지 → 깨끗한 MD
|
|
562
|
-
|
|
563
|
-
Phase 3: 문서 생성 (병렬)
|
|
564
|
-
document-writer (sonnet): index.md
|
|
565
|
-
document-writer (haiku): use-query.md
|
|
566
|
-
document-writer (haiku): use-mutation.md
|
|
567
|
-
document-writer (haiku): invalidation.md
|
|
568
|
-
|
|
569
|
-
Phase 4: 저장
|
|
570
|
-
→ docs/library/tanstack-query/ 에 4개 파일 생성
|
|
571
|
-
```
|
|
572
|
-
|
|
573
|
-
## 예시 3: URL 직접 지정
|
|
574
|
-
|
|
575
|
-
```bash
|
|
576
|
-
사용자: /docs-fetch https://www.prisma.io/docs/orm
|
|
577
|
-
|
|
578
|
-
Phase 0: URL 파싱 → name: prisma, docs_url: prisma.io/docs/orm
|
|
579
|
-
|
|
580
|
-
Phase 1-2: WebFetch로 주요 페이지 수집
|
|
581
|
-
Phase 3: 문서 생성
|
|
582
|
-
Phase 4: docs/library/prisma/ 에 저장
|
|
583
|
-
```
|
|
433
|
+
**Firecrawl MCP 있으면**: `/map` → `/crawl` 50페이지 일괄 수집
|
|
434
|
+
**URL 지정**: `/docs-fetch https://www.prisma.io/docs/orm` → 직접 WebFetch
|
|
584
435
|
|
|
585
436
|
</examples>
|
|
586
437
|
|
|
@@ -590,37 +441,18 @@ Phase 4: docs/library/prisma/ 에 저장
|
|
|
590
441
|
|
|
591
442
|
## 검증 체크리스트
|
|
592
443
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
- [ ] 최소 README + 1개 이상 문서 페이지 수집
|
|
600
|
-
- [ ] 버전 정보 확인
|
|
601
|
-
- [ ] Breaking Changes 확인 시도
|
|
602
|
-
|
|
603
|
-
**생성 후:**
|
|
604
|
-
- [ ] `<context>` 섹션 포함
|
|
605
|
-
- [ ] `<forbidden>` 섹션 포함 (Breaking Changes 있으면)
|
|
606
|
-
- [ ] `<required>` 섹션 포함
|
|
607
|
-
- [ ] `<quick_reference>` 코드 예시 포함
|
|
608
|
-
- [ ] `<version_info>` 버전 명시
|
|
609
|
-
- [ ] 한글 주석 포함
|
|
610
|
-
- [ ] ✅/❌ 마커 사용
|
|
611
|
-
|
|
612
|
-
**저장 후:**
|
|
613
|
-
- [ ] docs/library/[name]/ 에 파일 저장됨
|
|
614
|
-
- [ ] 결과 리포트 출력 (파일 목록 + 소싱 경로)
|
|
615
|
-
- [ ] CLAUDE.md @참조 추가 제안
|
|
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 @참조 제안 |
|
|
616
450
|
|
|
617
451
|
## 절대 금지
|
|
618
452
|
|
|
619
|
-
- ❌ llms.txt 확인 없이
|
|
620
|
-
- ❌ 단일 소스만으로 문서 생성 (최소 2개
|
|
621
|
-
- ❌ 버전 정보
|
|
622
|
-
- ❌
|
|
623
|
-
- ❌ 기존 docs 포맷과 다른 형식 사용
|
|
624
|
-
- ❌ 결과 저장 없이 종료
|
|
453
|
+
- ❌ llms.txt 확인 없이 크롤링
|
|
454
|
+
- ❌ 단일 소스만으로 문서 생성 (최소 2개 교차)
|
|
455
|
+
- ❌ 버전 정보 누락, 연도 없는 검색 쿼리
|
|
456
|
+
- ❌ 기존 docs 포맷과 다른 형식
|
|
625
457
|
|
|
626
458
|
</validation>
|