@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.
Files changed (32) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/templates/.claude/instructions/agent-patterns/delegation-patterns.md +389 -0
  4. package/templates/.claude/instructions/context-optimization/phase-based-execution.md +410 -0
  5. package/templates/.claude/instructions/context-optimization/redundant-exploration-prevention.md +646 -0
  6. package/templates/.claude/instructions/context-optimization/sub-agent-distribution.md +476 -0
  7. package/templates/.claude/instructions/glossary.md +48 -0
  8. package/templates/.claude/instructions/project-context-template.md +453 -0
  9. package/templates/.claude/instructions/skill-integration.md +90 -0
  10. package/templates/.claude/instructions/sourcing/reliable-search.md +411 -0
  11. package/templates/.claude/instructions/validation/forbidden-patterns.md +47 -0
  12. package/templates/.claude/instructions/validation/required-behaviors.md +120 -0
  13. package/templates/.claude/instructions/validation/scope-completeness.md +367 -0
  14. package/templates/.claude/instructions/workflow-patterns/todowrite-pattern.md +2 -0
  15. package/templates/.claude/skills/brainstorm/SKILL.md +110 -644
  16. package/templates/.claude/skills/bug-fix/SKILL.md +9 -137
  17. package/templates/.claude/skills/docs-fetch/CLAUDE.md +3 -0
  18. package/templates/.claude/skills/docs-fetch/SKILL.md +458 -0
  19. package/templates/.claude/skills/elon-musk/CLAUDE.md +3 -0
  20. package/templates/.claude/skills/elon-musk/SKILL.md +367 -0
  21. package/templates/.claude/skills/execute/SKILL.md +18 -397
  22. package/templates/.claude/skills/plan/SKILL.md +12 -986
  23. package/templates/.claude/skills/prd/SKILL.md +225 -586
  24. package/templates/.claude/skills/prd/references/ai-native-prd.md +116 -0
  25. package/templates/.claude/skills/prd/references/anti-patterns.md +82 -0
  26. package/templates/.claude/skills/prd/references/frameworks.md +216 -0
  27. package/templates/.claude/skills/prd/references/pm-leaders.md +106 -0
  28. package/templates/.claude/skills/prd/references/trends-2026.md +157 -0
  29. package/templates/.claude/skills/ralph/SKILL.md +15 -497
  30. package/templates/.claude/skills/refactor/SKILL.md +11 -655
  31. package/templates/.claude/skills/research/SKILL.md +257 -0
  32. package/templates/.claude/skills/research/report-template.md +88 -0
@@ -0,0 +1,411 @@
1
+ # Reliable Search Guide
2
+
3
+ **목적**: 검색 결과의 최신성과 신뢰성 보장, 중복 검색 방지 및 효율적 검색 전략
4
+
5
+ **참조**: @../context-optimization/redundant-exploration-prevention.md
6
+
7
+ ---
8
+
9
+ ## 중복 검색 방지 (Duplicate Search Prevention)
10
+
11
+ **목적**: 동일 쿼리 반복 실행 방지, 컨텍스트 윈도우 절약, Rate Limiting 회피
12
+
13
+ ### 핵심 규칙
14
+
15
+ | 규칙 | 실행 |
16
+ |------|------|
17
+ | **같은 쿼리 금지** | 동일 쿼리 반복 실행 금지 (WebSearch + SearXNG 같은 쿼리 금지) |
18
+ | **이전 결과 확인** | 검색 전 이전 검색 결과 확인 |
19
+ | **유사 쿼리 병합** | 유사한 쿼리는 한 번에 실행 |
20
+ | **검색 종료 조건** | 목표 정보 획득, 교차 검증 완료, 검색 깊이 도달 |
21
+
22
+ ### 검색 전 체크리스트
23
+
24
+ ```text
25
+ ✓ 이 쿼리를 이미 실행했는가?
26
+ → YES: 이전 결과 활용 (재검색 금지)
27
+ → NO: 검색 실행
28
+
29
+ ✓ 이전 결과로 충분한가?
30
+ → YES: 검색 중단, 다음 단계 진행
31
+ → NO: 다른 각도의 쿼리 생성
32
+
33
+ ✓ 다른 각도의 쿼리가 필요한가?
34
+ → YES: 새로운 관점 쿼리 생성
35
+ → NO: 이전 결과 활용
36
+
37
+ ✓ 같은 채널에 같은 쿼리를 보내는가?
38
+ → YES: 금지 (WebSearch + SearXNG 같은 쿼리)
39
+ → NO: 허용
40
+ ```
41
+
42
+ ### 허용/금지 패턴
43
+
44
+ ```typescript
45
+ // ❌ 금지: 같은 쿼리 반복
46
+ WebSearch({ query: "React best practices 2026" })
47
+ // ... 작업 ...
48
+ WebSearch({ query: "React best practices 2026" }) // 중복!
49
+
50
+ // ❌ 금지: 다른 채널에 같은 쿼리
51
+ WebSearch({ query: "Next.js 15 features" })
52
+ SearXNG({ query: "Next.js 15 features" }) // 중복!
53
+
54
+ // ✅ 올바름: 다른 각도 쿼리
55
+ WebSearch({ query: "React best practices 2026" })
56
+ WebSearch({ query: "React performance optimization 2026" }) // 다른 각도
57
+
58
+ // ✅ 올바름: 채널별 특화 쿼리
59
+ WebSearch({ query: "Next.js 15 features overview" }) // 개요
60
+ SearXNG({ query: "Next.js 15 breaking changes" }) // 상세 변경사항
61
+ ```
62
+
63
+ ---
64
+
65
+ ## 검색 결과 캐싱 전략 (Search Result Caching)
66
+
67
+ **목적**: 검색 결과 재사용, 동일 세션 내 재검색 방지, 컨텍스트 절약
68
+
69
+ ### 캐싱 규칙
70
+
71
+ | 규칙 | 실행 |
72
+ |------|------|
73
+ | **파일로 저장** | 장기 세션 시 검색 결과를 파일로 저장 |
74
+ | **요약 형식** | 전문 저장 대신 요약 형식으로 컨텍스트 절약 |
75
+ | **캐시 활용** | 동일 세션 내 재검색 시 캐시 파일 확인 |
76
+ | **주제별 분류** | 주제별 디렉토리 구조로 관리 |
77
+
78
+ ### 저장 위치 및 형식
79
+
80
+ ```markdown
81
+ 저장 위치: .claude/research/[topic]/
82
+
83
+ 파일 구조:
84
+ - sources.md: URL + 발행일 + 요약
85
+ - findings.md: 핵심 발견사항
86
+ - queries.md: 실행한 쿼리 목록 (중복 방지)
87
+ ```
88
+
89
+ ### 캐시 파일 예시
90
+
91
+ ```markdown
92
+ # .claude/research/react-2026/sources.md
93
+
94
+ ## 검색 쿼리 기록
95
+ - "React best practices 2026" (WebSearch, 2026-02-06)
96
+ - "React performance optimization 2026" (SearXNG, 2026-02-06)
97
+
98
+ ## 출처 목록
99
+
100
+ ### S등급 (공식 문서)
101
+ - https://react.dev/blog/2026/01/react-19-release
102
+ - 발행일: 2026-01-15
103
+ - 요약: React 19 정식 릴리스, Server Components 안정화
104
+ - 핵심: Actions, useOptimistic, use() hook
105
+
106
+ ### A등급 (주요 기술 미디어)
107
+ - https://vercel.com/blog/react-19-adoption
108
+ - 발행일: 2026-01-20
109
+ - 요약: React 19 도입 가이드, 마이그레이션 전략
110
+ - 핵심: 점진적 도입, 호환성 확인
111
+
112
+ ---
113
+
114
+ # .claude/research/react-2026/findings.md
115
+
116
+ ## 핵심 발견사항 (2026-02-06)
117
+
118
+ ### React 19 주요 변경사항
119
+ 1. Server Components 기본 지원
120
+ 2. Actions API 안정화
121
+ 3. useOptimistic hook 추가
122
+ 4. use() hook으로 Promise/Context 처리
123
+
124
+ ### 성능 최적화 패턴
125
+ 1. React Compiler 사용 (자동 메모이제이션)
126
+ 2. Suspense Boundary 전략적 배치
127
+ 3. Streaming SSR 최적화
128
+
129
+ ### 교차 검증 완료
130
+ - Server Components 안정화: 2개 소스 확인 (react.dev, vercel.com)
131
+ - React Compiler: 3개 소스 확인 (공식 문서, Meta blog, Vercel blog)
132
+ ```
133
+
134
+ ### 캐시 활용 흐름
135
+
136
+ ```typescript
137
+ // ✅ 올바른 흐름: 캐시 확인 → 검색
138
+ // 1. 캐시 확인
139
+ Read(".claude/research/react-2026/queries.md")
140
+ // → "React best practices 2026" 이미 검색함
141
+
142
+ // 2-1. 캐시 결과 활용
143
+ Read(".claude/research/react-2026/findings.md")
144
+ // → 핵심 발견사항 확인
145
+
146
+ // 2-2. 추가 정보 필요 시 다른 각도 쿼리
147
+ WebSearch({ query: "React security best practices 2026" })
148
+ // → 새로운 각도 (보안)
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 검색 범위 사전 결정 (Search Scope Pre-Planning)
154
+
155
+ **목적**: 검색 시작 전 범위와 깊이 결정, 무분별한 검색 방지
156
+
157
+ ### 검색 계획 단계
158
+
159
+ | 단계 | 결정 사항 | 예시 |
160
+ |------|----------|------|
161
+ | **1. 정보 유형** | 공식 문서 vs 블로그 vs 벤치마크 | 공식 문서: Context7, 벤치마크: WebSearch |
162
+ | **2. 검색 깊이** | Quick(3쿼리) / Medium(5쿼리) / Deep(10쿼리) | 개요: Quick, 완전 분석: Deep |
163
+ | **3. 우선순위 채널** | Context7 → GitHub → WebSearch | 라이브러리 문서 우선 |
164
+ | **4. 종료 조건** | 목표 달성 / 교차 검증 완료 / 깊이 도달 | 2+ 소스 교차 검증 완료 시 종료 |
165
+
166
+ ### 검색 깊이 기준
167
+
168
+ | 깊이 | 쿼리 수 | 용도 | 예시 |
169
+ |------|---------|------|------|
170
+ | **Quick** | 1-3개 | 개요 파악, 빠른 확인 | "React 19란?", "주요 변경사항" |
171
+ | **Medium** | 4-6개 | 표준 조사, 비교 분석 | "React vs Vue 2026", "성능 비교" |
172
+ | **Deep** | 7-10개 | 완전 분석, 심층 연구 | "React 생태계 전체", "마이그레이션 전략" |
173
+
174
+ ### 검색 시작 전 체크리스트
175
+
176
+ ```text
177
+ ✓ 필요한 정보 유형은?
178
+ - 공식 문서: Context7 MCP → 라이브러리 문서 직접 조회
179
+ - 코드 예시: GitHub MCP → 리포지토리/코드 검색
180
+ - 최신 동향: WebSearch/SearXNG → 블로그/미디어
181
+ - 벤치마크: WebSearch → 성능 비교 자료
182
+
183
+ ✓ 검색 깊이는?
184
+ - Quick: 개요만 필요
185
+ - Medium: 비교 분석 필요
186
+ - Deep: 완전한 이해 필요
187
+
188
+ ✓ 우선순위 채널은?
189
+ 1순위: Context7 (라이브러리 공식 문서)
190
+ 2순위: GitHub (코드, 이슈, 릴리스)
191
+ 3순위: WebSearch/SearXNG (웹 검색)
192
+
193
+ ✓ 검색 종료 조건은?
194
+ - 목표 정보 획득
195
+ - 교차 검증 완료 (2+ 소스)
196
+ - 검색 깊이 도달
197
+ ```
198
+
199
+ ### 채널별 우선순위 전략
200
+
201
+ ```typescript
202
+ // ✅ 올바른 흐름: 우선순위대로 검색
203
+
204
+ // Phase 1: Context7 (라이브러리 문서)
205
+ Context7_resolve_library_id({ libraryName: "react" })
206
+ Context7_query_docs({
207
+ libraryId: "react",
208
+ query: "Server Components"
209
+ })
210
+ // → 공식 문서로 기본 정보 확보
211
+
212
+ // Phase 2: GitHub (코드 예시, 이슈)
213
+ GitHub_search_repositories({
214
+ query: "react server components production",
215
+ sort: "stars"
216
+ })
217
+ // → 실제 구현 사례 확인
218
+
219
+ // Phase 3: WebSearch (최신 동향, 블로그)
220
+ WebSearch({
221
+ query: "React Server Components production experience 2026"
222
+ })
223
+ // → 실전 경험, 문제 해결 사례 확인
224
+
225
+ // 종료 조건 확인:
226
+ // ✓ 목표 정보 획득 (Server Components 개념, 구현, 경험)
227
+ // ✓ 교차 검증 완료 (공식 문서 + GitHub + 블로그)
228
+ // → 검색 종료
229
+ ```
230
+
231
+ ### 검색 종료 조건
232
+
233
+ | 조건 | 기준 | 처리 |
234
+ |------|------|------|
235
+ | **목표 정보 획득** | 필요한 정보 모두 확보 | 즉시 검색 종료 |
236
+ | **교차 검증 완료** | 핵심 주장 2+ 소스 확인 | 추가 검색 불필요 |
237
+ | **검색 깊이 도달** | Quick(3) / Medium(5) / Deep(10) | 종료 조건 재평가 |
238
+ | **중복 결과 반복** | 새로운 정보 없음 (3회 연속) | 검색 종료 |
239
+
240
+ ---
241
+
242
+ ## 날짜 인식 검색 (Date-Aware Search)
243
+
244
+ | 규칙 | 실행 |
245
+ |------|------|
246
+ | **연도 포함** | 모든 검색 쿼리에 현재 연도 포함 (예: "React best practices 2026") |
247
+ | **기간 필터** | SearXNG: `time_range=year`, WebSearch: 쿼리에 연도 추가 |
248
+ | **한국어 쿼리** | "2026년 기준", "최신" 키워드 포함 |
249
+ | **영어 쿼리** | "2025-2026", "latest", "current" 키워드 포함 |
250
+
251
+ ```typescript
252
+ // ✅ 올바른 검색 쿼리
253
+ WebSearch({ query: "AI agent frameworks comparison 2026" })
254
+ WebSearch({ query: "SaaS 시장 트렌드 2026년" })
255
+
256
+ // ❌ 연도 없는 검색 (오래된 결과 반환 위험)
257
+ WebSearch({ query: "AI agent frameworks comparison" })
258
+ ```
259
+
260
+ ---
261
+
262
+ ## 출처 신뢰도 등급
263
+
264
+ | 등급 | 소스 유형 | 예시 |
265
+ |------|----------|------|
266
+ | **S (최고)** | 공식 문서, 논문, 1차 데이터 | docs.prisma.io, arxiv.org, 정부 통계 |
267
+ | **A (높음)** | 공식 블로그, 주요 기술 미디어, 검증된 벤치마크 | engineering.fb.com, infoq.com, GitHub Releases |
268
+ | **B (보통)** | 개인 기술 블로그, 커뮤니티, Stack Overflow | dev.to, medium.com, reddit.com |
269
+ | **C (낮음)** | AI 생성 의심 콘텐츠, 오래된 문서, 미검증 주장 | 날짜 없는 블로그, SEO 스팸 |
270
+
271
+ ### 신뢰도 검증 규칙
272
+
273
+ | 체크 | 기준 | 처리 |
274
+ |------|------|------|
275
+ | **날짜 확인** | 발행일 12개월 이내 | 초과 시 "⚠ 오래된 자료" 표기 |
276
+ | **저자 확인** | 실명/소속 확인 가능 | 익명 → 등급 1단계 하향 |
277
+ | **교차 검증** | 핵심 주장은 2개+ 소스 확인 | 단일 소스 주장 → "미검증" 표기 |
278
+ | **이해충돌** | 벤더 자사 제품 주장 | "벤더 출처" 명시, 독립 소스 교차 확인 |
279
+
280
+ ---
281
+
282
+ ## 검색 쿼리 패턴
283
+
284
+ ### 다각도 쿼리 생성
285
+
286
+ ```
287
+ 기본: "[주제] [연도]"
288
+ 심층: "[주제] benchmark performance [연도]"
289
+ 비교: "[주제A] vs [주제B] comparison [연도]"
290
+ 한국어: "[주제] 최신 동향 [연도]년"
291
+ 실패 사례: "[주제] pitfalls mistakes lessons learned"
292
+ ```
293
+
294
+ ### 채널별 최적 쿼리
295
+
296
+ | 채널 | 쿼리 전략 |
297
+ |------|----------|
298
+ | **WebSearch** | 연도 포함, 영어+한국어 병렬 |
299
+ | **SearXNG** | `time_range=year` + 연도 키워드 |
300
+ | **Firecrawl** | 공식 문서 URL 직접 지정 |
301
+ | **GitHub** | `created:>YYYY-01-01` 필터, stars 정렬 |
302
+
303
+ ---
304
+
305
+ ## Smart Tier Fallback
306
+
307
+ ```
308
+ Tier 1 (MCP, ToolSearch로 감지):
309
+ SearXNG MCP → 메타검색 (246+ 엔진, 시간 필터 지원)
310
+ Firecrawl MCP → 페이지→MD 변환, 사이트 구조 파악
311
+ GitHub MCP → 코드/리포/이슈/릴리스 검색
312
+ Context7 MCP → 라이브러리 문서 즉시 조회
313
+
314
+ Tier 2 (내장, 항상 가용):
315
+ WebSearch → 웹 검색 (연도 키워드 필수)
316
+ WebFetch → 페이지 직접 읽기
317
+ gh CLI → GitHub API (Bash via explore)
318
+
319
+ Tier 3: Playwright → SPA/JS 렌더링 필요 시 (crawler skill)
320
+ ```
321
+
322
+ **MCP는 main agent가 직접 실행** (subagent는 MCP 도구 사용 불가)
323
+
324
+ | MCP 도구 | 용도 | 미설치 시 폴백 |
325
+ |----------|------|--------------|
326
+ | `firecrawl_map/scrape/crawl` | 사이트 구조/페이지 수집 | WebFetch (페이지별) |
327
+ | SearXNG `web_search` | 246+ 엔진 메타검색 | WebSearch (내장) |
328
+ | `search_repositories/code/issues` | GitHub 리포/코드/이슈 | `gh search` (Bash) |
329
+ | `resolve-library-id` + `query-docs` | 라이브러리 문서 조회 | WebFetch (직접) |
330
+
331
+ ### MCP 감지 (Phase 0 공통)
332
+
333
+ ```
334
+ ToolSearch("firecrawl") → Firecrawl 활성화
335
+ ToolSearch("searxng") → SearXNG 활성화
336
+ ToolSearch("github") → GitHub MCP 활성화
337
+ ToolSearch("context7") → Context7 활성화
338
+ ```
339
+
340
+ ---
341
+
342
+ ## 수집 후 검증
343
+
344
+ | 단계 | 검증 |
345
+ |------|------|
346
+ | **날짜 체크** | 핵심 소스 발행일 확인, 12개월 초과 시 표기 |
347
+ | **등급 분류** | 각 소스에 S/A/B/C 등급 부여 |
348
+ | **교차 검증** | 핵심 주장 2개+ 소스 확인 |
349
+ | **편향 체크** | 벤더/광고 소스 식별, 독립 소스 보완 |
350
+
351
+ ### researcher 에이전트 프롬프트 필수 포함
352
+
353
+ ```
354
+ "검색 시 현재 연도(YYYY) 포함, 12개월 이내 자료 우선.
355
+ 각 출처: URL + 발행일 + 소스 유형(공식/블로그/커뮤니티).
356
+ 핵심 주장은 2개+ 소스로 교차 검증.
357
+ 중복 검색 방지: 이전 쿼리 확인, 같은 쿼리 재실행 금지."
358
+ ```
359
+
360
+ ---
361
+
362
+ ## 검색 효율성 모니터링
363
+
364
+ ### 검색 통계 추적
365
+
366
+ **세션 내 검색 패턴 모니터링**
367
+
368
+ ```markdown
369
+ # 검색 통계 (세션 내)
370
+
371
+ ## 검색 쿼리 기록
372
+ - "React best practices 2026" (WebSearch, 2026-02-06 10:30)
373
+ - "React performance optimization 2026" (SearXNG, 2026-02-06 10:35)
374
+ - "Next.js 15 features" (Context7, 2026-02-06 10:40)
375
+
376
+ ## 검색 효율성 지표
377
+ | 지표 | 목표 | 현재 | 상태 |
378
+ |------|------|------|------|
379
+ | **중복 검색률** | < 5% | 0% | ✅ 우수 |
380
+ | **검색 깊이** | Quick(3) | 3회 | ✅ 정상 |
381
+ | **교차 검증** | 2+ 소스 | 3개 | ✅ 완료 |
382
+ | **캐시 활용률** | > 30% | 0% | ⚠️ 신규 주제 |
383
+
384
+ ## 경고
385
+ ✅ 중복 검색 없음
386
+ ✅ 검색 깊이 적절
387
+ ```
388
+
389
+ ### 검색 품질 체크리스트
390
+
391
+ ```text
392
+ ✓ 중복 검색 방지
393
+ - [ ] 이전 쿼리 확인
394
+ - [ ] 같은 쿼리 재실행 금지
395
+ - [ ] 유사 쿼리 병합
396
+
397
+ ✓ 검색 범위 계획
398
+ - [ ] 정보 유형 결정
399
+ - [ ] 검색 깊이 설정
400
+ - [ ] 우선순위 채널 선택
401
+
402
+ ✓ 결과 검증
403
+ - [ ] 날짜 확인 (12개월 이내)
404
+ - [ ] 등급 분류 (S/A/B/C)
405
+ - [ ] 교차 검증 (2+ 소스)
406
+
407
+ ✓ 캐싱 전략
408
+ - [ ] 검색 결과 저장
409
+ - [ ] 요약 형식 작성
410
+ - [ ] 캐시 활용 확인
411
+ ```
@@ -260,6 +260,51 @@ const handleSubmit = () => {
260
260
  ✅ 기존 문서 수정 우선
261
261
  ```
262
262
 
263
+ ## 탐색 및 범위
264
+
265
+ ### 금지 17: 탐색 루프
266
+
267
+ **같은 파일을 3회 이상 읽기 금지 (변경 후 확인 제외)**
268
+
269
+ ```typescript
270
+ // ❌ 금지: 동일 파일 반복 읽기
271
+ Read("src/auth.ts") // 1회
272
+ // ... 다른 작업 ...
273
+ Read("src/auth.ts") // 2회
274
+ // ... 다른 작업 ...
275
+ Read("src/auth.ts") // 3회 → 금지!
276
+
277
+ // ✅ 올바름: 1회 읽기 → 결과 활용
278
+ Read("src/auth.ts") // 1회: 내용 파악 후 기억
279
+ Edit(...) // 수정
280
+ Read("src/auth.ts") // 2회: 변경 확인 (허용)
281
+ ```
282
+
283
+ **탐색 루프 감지 시:**
284
+ 1. 즉시 중단
285
+ 2. 이미 읽은 내용 기반으로 다음 단계 진행
286
+ 3. 추가 정보 필요 시 explore 에이전트에 위임
287
+
288
+ ### 금지 18: 범위 축소
289
+
290
+ **"모든 X" / "전체 X" 지시에서 전체 대상 열거 없이 작업 시작 금지**
291
+
292
+ ```typescript
293
+ // ❌ 금지: 열거 없이 일부만 처리
294
+ // 사용자: "모든 SKILL.md에서 TodoWrite를 TaskCreate로 변경"
295
+ Edit("skills/plan/SKILL.md", ...) // plan만 수정
296
+ Edit("skills/ralph/SKILL.md", ...) // ralph만 수정
297
+ // → 나머지 스킬 누락!
298
+
299
+ // ✅ 올바름: 전체 열거 → 전체 처리
300
+ Glob({ pattern: "**/SKILL.md" }) // 전체 대상 확인
301
+ // → 결과: 19개 파일
302
+ TaskCreate({ subject: "19개 SKILL.md TodoWrite→TaskCreate 교체", ... })
303
+ // → 19개 모두 처리
304
+ Glob({ pattern: "**/SKILL.md" }) // 재스캔 확인
305
+ Grep({ pattern: "TodoWrite", glob: "**/SKILL.md" }) // 누락 0개 확인
306
+ ```
307
+
263
308
  ## 종합 체크리스트
264
309
 
265
310
  작업 시작 전:
@@ -269,6 +314,7 @@ const handleSubmit = () => {
269
314
  - [ ] 검증 단계 스킵하지 않기
270
315
  - [ ] 병렬 실행 가능 여부 확인
271
316
  - [ ] 에이전트 활용 계획
317
+ - [ ] "모든 X" 작업: 전체 열거 확인 (금지 18)
272
318
 
273
319
  작업 중:
274
320
 
@@ -277,5 +323,6 @@ const handleSubmit = () => {
277
323
  - [ ] Prisma 자동 실행 금지
278
324
  - [ ] 수동 검증/인증 금지
279
325
  - [ ] 문서 업데이트 누락 방지
326
+ - [ ] 탐색 루프 방지: 같은 파일 3회+ 읽기 금지 (금지 17)
280
327
 
281
328
  **금지 패턴 회피 → 품질 향상 + 안정성 확보**
@@ -295,6 +295,124 @@ Task(subagent_type="planner", model="opus", ...)
295
295
  Task(subagent_type="explore", ...)
296
296
  ```
297
297
 
298
+ ## 탐색 효율
299
+
300
+ ### 필수 19: 파일 인벤토리 생성
301
+
302
+ **복잡한 작업(5개+ 파일 수정) 시작 전 TaskCreate로 대상 파일 목록 등록**
303
+
304
+ ```typescript
305
+ // ✅ 필수: 작업 대상 파일 인벤토리
306
+ TaskCreate({
307
+ subject: "auth 리팩토링 대상 파일",
308
+ description: "src/middleware/auth.ts, src/functions/auth.ts, src/routes/login/..."
309
+ })
310
+
311
+ // ❌ 금지: 인벤토리 없이 즉시 구현 시작
312
+ Edit({ file_path: "src/middleware/auth.ts", ... })
313
+ ```
314
+
315
+ ### 필수 20: 동일 파일 중복 읽기 금지
316
+
317
+ **같은 파일을 2회 이상 Read 금지 (변경 후 재확인은 허용)**
318
+
319
+ ```typescript
320
+ // ✅ 허용: 수정 후 재확인
321
+ Read("src/auth.ts") // 1회: 내용 파악
322
+ Edit(...) // 수정
323
+ Read("src/auth.ts") // 2회: 변경 확인 (허용)
324
+
325
+ // ❌ 금지: 같은 내용 반복 읽기
326
+ Read("src/auth.ts") // 1회
327
+ // ... 다른 작업 ...
328
+ Read("src/auth.ts") // 2회: 변경 없이 재읽기
329
+ ```
330
+
331
+ ### 필수 21: Explore 에이전트 thoroughness 명시
332
+
333
+ **Explore 에이전트 호출 시 탐색 깊이 반드시 지정**
334
+
335
+ ```typescript
336
+ // ✅ 필수: thoroughness 명시
337
+ Task(subagent_type="explore", model="haiku",
338
+ prompt="[quick] src/routes/ 디렉토리 파일 목록 확인")
339
+ Task(subagent_type="explore", model="haiku",
340
+ prompt="[very thorough] 인증 관련 모든 파일 및 의존성 완전 분석")
341
+
342
+ // ❌ 금지: thoroughness 누락
343
+ Task(subagent_type="explore", model="haiku",
344
+ prompt="인증 관련 파일 분석")
345
+ ```
346
+
347
+ ### 필수 22: 탐색 결과 즉시 요약
348
+
349
+ **탐색/분석 결과는 즉시 요약 후 다음 단계 진행. 요약 없이 추가 탐색 금지.**
350
+
351
+ ```typescript
352
+ // ✅ 올바른 흐름
353
+ Task(subagent_type="explore", ...) // 탐색
354
+ // → 결과 요약: "인증은 3개 파일, 미들웨어 1개, 라우트 2개"
355
+ // → 다음 단계: 구현 시작
356
+
357
+ // ❌ 금지: 요약 없이 추가 탐색
358
+ Task(subagent_type="explore", ...) // 탐색 1
359
+ Task(subagent_type="explore", ...) // 요약 없이 탐색 2
360
+ Task(subagent_type="explore", ...) // 요약 없이 탐색 3
361
+ ```
362
+
363
+ ## 범위 완전성
364
+
365
+ ### 필수 23: 전체 대상 열거
366
+
367
+ **"모든 X" / "전체 X" 지시 시 Glob/Grep으로 전체 대상 목록 먼저 생성**
368
+
369
+ ```typescript
370
+ // ✅ 필수: 전체 대상 열거 후 작업
371
+ Glob({ pattern: "**/*.prisma" }) // 전체 대상 확인
372
+ // → 결과: 5개 파일 발견
373
+ TaskCreate({ subject: "prisma 파일 5개 수정", ... })
374
+
375
+ // ❌ 금지: 열거 없이 작업 시작
376
+ Edit({ file_path: "prisma/schema/user.prisma", ... }) // 일부만 수정
377
+ ```
378
+
379
+ ### 필수 24: 열거 목록 TaskCreate 등록
380
+
381
+ **전체 대상 열거 후 TaskCreate에 등록하고 하나씩 완료 체크**
382
+
383
+ ```typescript
384
+ // ✅ 필수: 목록화 후 순차 처리
385
+ TaskCreate({ subject: "user.prisma 수정", ... })
386
+ TaskCreate({ subject: "post.prisma 수정", ... })
387
+ TaskCreate({ subject: "comment.prisma 수정", ... })
388
+ // → 각각 완료 시 TaskUpdate로 체크
389
+
390
+ // ❌ 금지: 목록화 없이 기억에 의존
391
+ ```
392
+
393
+ ### 필수 25: 완료 후 재스캔
394
+
395
+ **"모든 X" 작업 완료 후 Glob/Grep 재스캔 1회 실행 (놓친 항목 확인)**
396
+
397
+ ```typescript
398
+ // ✅ 필수: 작업 완료 후 재스캔
399
+ // ... 모든 파일 수정 완료 ...
400
+ Glob({ pattern: "**/*.prisma" }) // 재스캔
401
+ Grep({ pattern: "TodoWrite", ... }) // 누락 확인
402
+ // → "놓친 항목 0개" 확인 후 완료 선언
403
+
404
+ // ❌ 금지: 재스캔 없이 완료 선언
405
+ ```
406
+
407
+ ### 필수 26: 부분 완료 시 명시적 보고
408
+
409
+ **전체 작업 중 일부만 완료된 경우 남은 작업을 명시적으로 보고**
410
+
411
+ ```markdown
412
+ ✅ "5개 중 3개 완료. 남은 항목: comment.prisma, like.prisma"
413
+ ❌ (암묵적 종료 — 남은 작업 언급 없이 작업 끝냄)
414
+ ```
415
+
298
416
  ## 종합 체크리스트
299
417
 
300
418
  작업 시작 전:
@@ -302,6 +420,8 @@ Task(subagent_type="explore", ...)
302
420
  - [ ] Sequential Thinking 실행 (MEDIUM 이상)
303
421
  - [ ] 파일 읽기 계획 (병렬 여부)
304
422
  - [ ] 에이전트 활용 계획
423
+ - [ ] 복잡한 작업: 파일 인벤토리 생성 (필수 19)
424
+ - [ ] "모든 X" 작업: 전체 대상 열거 (필수 23)
305
425
 
306
426
  코드 작성 시:
307
427