@kood/claude-code 0.2.4 → 0.3.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.
Files changed (130) hide show
  1. package/dist/index.js +13 -8
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/code-reviewer.md +371 -19
  4. package/templates/.claude/agents/dependency-manager.md +197 -0
  5. package/templates/.claude/agents/deployment-validator.md +136 -0
  6. package/templates/.claude/agents/git-operator.md +147 -0
  7. package/templates/.claude/agents/implementation-executor.md +202 -0
  8. package/templates/.claude/agents/lint-fixer.md +155 -0
  9. package/templates/.claude/agents/refactor-advisor.md +339 -29
  10. package/templates/.claude/commands/agent-creator.md +355 -0
  11. package/templates/.claude/commands/docs-creator.md +404 -163
  12. package/templates/.claude/commands/docs-refactor.md +400 -113
  13. package/templates/.claude/commands/execute.md +357 -185
  14. package/templates/.claude/commands/git-all.md +16 -70
  15. package/templates/.claude/commands/git-session.md +36 -68
  16. package/templates/.claude/commands/git.md +20 -69
  17. package/templates/.claude/commands/lint-fix.md +164 -107
  18. package/templates/.claude/commands/lint-init.md +142 -168
  19. package/templates/.claude/commands/plan.md +300 -84
  20. package/templates/.claude/commands/prd.md +613 -0
  21. package/templates/.claude/commands/pre-deploy.md +242 -0
  22. package/templates/.claude/commands/subagent-creator.md +118 -0
  23. package/templates/.claude/commands/version-update.md +45 -57
  24. package/templates/hono/CLAUDE.md +99 -54
  25. package/templates/hono/docs/guides/conventions.md +352 -0
  26. package/templates/hono/docs/guides/env-setup.md +347 -0
  27. package/templates/hono/docs/guides/getting-started.md +239 -0
  28. package/templates/hono/docs/library/hono/error-handling.md +20 -29
  29. package/templates/hono/docs/library/hono/index.md +25 -52
  30. package/templates/hono/docs/library/hono/middleware.md +16 -75
  31. package/templates/hono/docs/library/hono/rpc.md +7 -35
  32. package/templates/hono/docs/library/hono/validation.md +25 -45
  33. package/templates/hono/docs/library/t3-env/index.md +374 -0
  34. package/templates/npx/CLAUDE.md +165 -65
  35. package/templates/npx/docs/library/commander/index.md +10 -73
  36. package/templates/npx/docs/library/fs-extra/index.md +21 -113
  37. package/templates/npx/docs/library/prompts/index.md +30 -176
  38. package/templates/npx/docs/references/patterns.md +75 -48
  39. package/templates/tanstack-start/CLAUDE.md +101 -77
  40. package/templates/tanstack-start/docs/architecture.md +427 -0
  41. package/templates/tanstack-start/docs/design.md +558 -0
  42. package/templates/tanstack-start/docs/guides/conventions.md +132 -32
  43. package/templates/tanstack-start/docs/guides/env-setup.md +127 -62
  44. package/templates/tanstack-start/docs/guides/getting-started.md +81 -20
  45. package/templates/tanstack-start/docs/guides/hooks.md +241 -36
  46. package/templates/tanstack-start/docs/guides/routes.md +213 -61
  47. package/templates/tanstack-start/docs/guides/services.md +260 -24
  48. package/templates/tanstack-start/docs/library/better-auth/index.md +469 -16
  49. package/templates/tanstack-start/docs/library/t3-env/index.md +307 -0
  50. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -21
  51. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +22 -35
  52. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +7 -24
  53. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +26 -39
  54. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +23 -26
  55. package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +32 -147
  56. package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +25 -167
  57. package/templates/tanstack-start/docs/library/tanstack-router/index.md +39 -74
  58. package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +46 -116
  59. package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +35 -154
  60. package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +32 -171
  61. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +7 -15
  62. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +16 -23
  63. package/templates/tanstack-start/docs/library/zod/complex-types.md +12 -31
  64. package/templates/tanstack-start/docs/library/zod/index.md +18 -35
  65. package/templates/tanstack-start/docs/library/zod/transforms.md +11 -25
  66. package/templates/tanstack-start/docs/library/zod/validation.md +12 -34
  67. package/templates/.claude/agents/debug-detective.md +0 -37
  68. package/templates/.claude/agents/test-writer.md +0 -41
  69. package/templates/.claude/commands/feedback.md +0 -199
  70. package/templates/.claude/commands/ts-fix.md +0 -176
  71. package/templates/.claude/skills/command-creator/LICENSE.txt +0 -202
  72. package/templates/.claude/skills/command-creator/SKILL.md +0 -245
  73. package/templates/.claude/skills/command-creator/scripts/init_command.py +0 -244
  74. package/templates/.claude/skills/command-creator/scripts/package_command.py +0 -125
  75. package/templates/.claude/skills/command-creator/scripts/quick_validate.py +0 -143
  76. package/templates/.claude/skills/frontend-design/SKILL.md +0 -310
  77. package/templates/.claude/skills/frontend-design/references/animation-patterns.md +0 -446
  78. package/templates/.claude/skills/frontend-design/references/colors-2026.md +0 -244
  79. package/templates/.claude/skills/frontend-design/references/typography-2026.md +0 -302
  80. package/templates/.claude/skills/gemini-review/SKILL.md +0 -118
  81. package/templates/.claude/skills/gemini-review/references/checklists.md +0 -129
  82. package/templates/.claude/skills/gemini-review/references/prompt-templates.md +0 -274
  83. package/templates/.claude/skills/skill-creator/LICENSE.txt +0 -202
  84. package/templates/.claude/skills/skill-creator/SKILL.md +0 -184
  85. package/templates/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  86. package/templates/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  87. package/templates/.claude/skills/skill-creator/scripts/quick_validate.py +0 -65
  88. package/templates/hono/docs/library/ai-sdk/index.md +0 -190
  89. package/templates/hono/docs/library/ai-sdk/openrouter.md +0 -111
  90. package/templates/hono/docs/library/ai-sdk/providers.md +0 -102
  91. package/templates/hono/docs/library/ai-sdk/streaming.md +0 -146
  92. package/templates/hono/docs/library/ai-sdk/structured-output.md +0 -161
  93. package/templates/hono/docs/library/ai-sdk/tools.md +0 -144
  94. package/templates/hono/docs/library/drizzle/cloudflare-d1.md +0 -247
  95. package/templates/hono/docs/library/drizzle/config.md +0 -167
  96. package/templates/hono/docs/library/drizzle/index.md +0 -259
  97. package/templates/hono/docs/library/hono/env-setup.md +0 -169
  98. package/templates/hono/docs/library/pino/index.md +0 -146
  99. package/templates/tanstack-start/docs/architecture/architecture.md +0 -243
  100. package/templates/tanstack-start/docs/deployment/cloudflare.md +0 -132
  101. package/templates/tanstack-start/docs/deployment/index.md +0 -163
  102. package/templates/tanstack-start/docs/deployment/nitro.md +0 -110
  103. package/templates/tanstack-start/docs/deployment/railway.md +0 -147
  104. package/templates/tanstack-start/docs/deployment/vercel.md +0 -135
  105. package/templates/tanstack-start/docs/design/components.md +0 -175
  106. package/templates/tanstack-start/docs/design/index.md +0 -151
  107. package/templates/tanstack-start/docs/design/safe-area.md +0 -118
  108. package/templates/tanstack-start/docs/design/tailwind-setup.md +0 -156
  109. package/templates/tanstack-start/docs/library/ai-sdk/hooks.md +0 -472
  110. package/templates/tanstack-start/docs/library/ai-sdk/index.md +0 -264
  111. package/templates/tanstack-start/docs/library/ai-sdk/openrouter.md +0 -371
  112. package/templates/tanstack-start/docs/library/ai-sdk/providers.md +0 -403
  113. package/templates/tanstack-start/docs/library/ai-sdk/streaming.md +0 -320
  114. package/templates/tanstack-start/docs/library/ai-sdk/structured-output.md +0 -454
  115. package/templates/tanstack-start/docs/library/ai-sdk/tools.md +0 -473
  116. package/templates/tanstack-start/docs/library/better-auth/2fa.md +0 -48
  117. package/templates/tanstack-start/docs/library/better-auth/advanced.md +0 -55
  118. package/templates/tanstack-start/docs/library/better-auth/plugins.md +0 -34
  119. package/templates/tanstack-start/docs/library/better-auth/session.md +0 -47
  120. package/templates/tanstack-start/docs/library/better-auth/setup.md +0 -41
  121. package/templates/tanstack-start/docs/library/drizzle/cloudflare-d1.md +0 -147
  122. package/templates/tanstack-start/docs/library/drizzle/config.md +0 -118
  123. package/templates/tanstack-start/docs/library/drizzle/crud.md +0 -205
  124. package/templates/tanstack-start/docs/library/drizzle/index.md +0 -79
  125. package/templates/tanstack-start/docs/library/drizzle/relations.md +0 -202
  126. package/templates/tanstack-start/docs/library/drizzle/schema.md +0 -154
  127. package/templates/tanstack-start/docs/library/drizzle/setup.md +0 -96
  128. package/templates/tanstack-start/docs/library/drizzle/transactions.md +0 -127
  129. package/templates/tanstack-start/docs/library/pino/index.md +0 -320
  130. /package/templates/hono/docs/{architecture/architecture.md → architecture.md} +0 -0
@@ -1,168 +1,455 @@
1
1
  ---
2
- description: Claude Code 문서 리팩토링 가이드. 기존 CLAUDE.md, SKILL.md 개선 시 사용.
2
+ description: 기존 Claude Code 문서 개선
3
+ allowed-tools: Read, Edit, Glob, Grep
4
+ argument-hint: <문서 경로>
3
5
  ---
4
6
 
5
- # Docs Refactor
7
+ # Docs Refactor Command
6
8
 
7
- 기존 Claude Code 문서를 베스트 프랙티스에 맞게 개선하는 가이드.
9
+ > 기존 CLAUDE.md, SKILL.md, COMMAND.md 문서를 Anthropic 가이드라인에 맞게 개선
8
10
 
9
- ## 리팩토링 필요 신호
11
+ <purpose>
10
12
 
11
- | 신호 | 문제 | 우선순위 |
12
- |------|------|---------|
13
- | 200줄+ CLAUDE.md | 컨텍스트 과부하 | 높음 |
14
- | 500줄+ SKILL.md | 로딩 지연, 품질 저하 | 높음 |
15
- | Claude가 지침 무시 | 과도한 지침 (150+개) | 높음 |
16
- | 중첩 참조 (A→B→C) | 불완전한 파일 읽기 | 중간 |
17
- | 코드 스타일 지침 | 린터 역할 강요 | 중간 |
18
- | 시간 의존 정보 | 오래된 지침 | 낮음 |
13
+ **목표:** 토큰 효율 50% 개선, 명확성 향상, 유지보수성 강화
19
14
 
20
- ## 분석 워크플로우
15
+ </purpose>
21
16
 
22
- ### 1단계: Subagent로 현황 분석
17
+ ---
18
+
19
+ <trigger_conditions>
20
+
21
+ | 상황 | 리팩토링 필요 |
22
+ |------|--------------|
23
+ | **토큰 과다** | 파일 500줄 초과 |
24
+ | **가독성 저하** | XML 태그 미사용, 구조 불명확 |
25
+ | **중복 발견** | 동일 내용 2회 이상 반복 |
26
+ | **설명 과다** | 코드 예시보다 설명 많음 |
27
+ | **@imports 미사용** | 공통 규칙 반복 |
28
+ | **모호한 지시** | "적절히", "필요시" 등 |
29
+ | **부정형 과다** | Don't, Never, Avoid 위주 |
30
+
31
+ </trigger_conditions>
32
+
33
+ ---
34
+
35
+ <forbidden>
36
+
37
+ | 분류 | 금지 사항 |
38
+ |------|----------|
39
+ | **구조** | XML 태그 제거, 단순 삭제 |
40
+ | **내용** | 핵심 정보 손실, 버전 정보 제거 |
41
+ | **표현** | 모호한 지시 유지, 부정형 → 부정형 |
42
+ | **스타일** | 일관성 없는 마커 |
43
+
44
+ </forbidden>
45
+
46
+ ---
47
+
48
+ <required>
49
+
50
+ | 분류 | 필수 작업 |
51
+ |------|----------|
52
+ | **분석** | 전체 읽기 → 토큰 확인 → 중복 식별 |
53
+ | **구조화** | XML 태그 적용 |
54
+ | **압축** | 표 형식 변환, 설명 제거 |
55
+ | **예시화** | 설명 → 코드 예시 |
56
+ | **검증** | Before/After 50% 감소 확인 |
57
+
58
+ </required>
59
+
60
+ ---
61
+
62
+ <refactoring_patterns>
63
+
64
+ ### Pattern 1: 장황한 설명 → 표 형식
65
+
66
+ **절약:** 60-70%
67
+
68
+ ```markdown
69
+ ❌ Before (80 토큰):
70
+ 파일을 읽을 때는 Read 도구를 사용하세요. 파일을 수정할 때는 Edit...
71
+
72
+ ✅ After (25 토큰):
73
+ | 작업 | 도구 |
74
+ |------|------|
75
+ | 읽기 | Read |
76
+ | 수정 | Edit |
77
+ | 생성 | Write |
78
+ ```
23
79
 
80
+ ---
81
+
82
+ ### Pattern 2: 중복 내용 → @imports
83
+
84
+ **절약:** 70-80%
85
+
86
+ ```markdown
87
+ ❌ Before (각 파일 150 토큰):
88
+ Git 커밋: "Co-Authored-By:" 금지, 한 줄, 이모지 금지...
89
+ (CLAUDE.md, SKILL.md에 동일 내용 반복)
90
+
91
+ ✅ After (각 파일 10 토큰):
92
+ # CLAUDE.md
93
+ @instructions/git-rules.md
94
+
95
+ # git-rules.md (60 토큰, 공유)
96
+ <git_commit>
97
+ | 규칙 | 설명 |
98
+ |------|------|
99
+ | **형식** | `<prefix>: <설명>` |
100
+ | **금지** | 이모지, "Co-Authored-By:" |
101
+ </git_commit>
24
102
  ```
25
- Explore agent에게:
26
- "현재 CLAUDE.md/SKILL.md를 분석하고 보고해줘:
27
- - 총 줄 수
28
- - 섹션별
29
- - 지침 개수 (명령형 문장)
30
- - 중첩 참조 깊이
31
- - 린터 역할 지침 여부
32
- - 시간 의존 정보 여부"
103
+
104
+ ---
105
+
106
+ ### Pattern 3: XML 태그 미사용 → 구조화
107
+
108
+ **절약:** 30-40%
109
+
110
+ ```markdown
111
+ ❌ Before (120 토큰):
112
+ 절대 하지 말 것: any 타입, 불필요한 추상화
113
+ 반드시 할 것: 명시적 return type, const 함수
114
+
115
+ ✅ After (75 토큰):
116
+ <forbidden>
117
+ | 분류 | 금지 |
118
+ |------|------|
119
+ | **타입** | any |
120
+ | **구조** | 불필요한 추상화 |
121
+ </forbidden>
122
+
123
+ <required>
124
+ | 분류 | 필수 |
125
+ |------|------|
126
+ | **타입** | 명시적 return type |
127
+ | **선언** | const 함수 |
128
+ </required>
33
129
  ```
34
130
 
35
- ### 2단계: 개선 계획 수립
131
+ ---
132
+
133
+ ### Pattern 4: 설명 과다 → 코드 예시
134
+
135
+ **절약:** 50-60%
36
136
 
137
+ ```markdown
138
+ ❌ Before (180 토큰):
139
+ Server Function을 만들 때는 createServerFn을 사용합니다.
140
+ method를 지정하고, 인증이 필요하면 middleware를...
141
+
142
+ ✅ After (65 토큰):
143
+ ```typescript
144
+ // POST + Validation + Auth
145
+ export const createUser = createServerFn({ method: 'POST' })
146
+ .middleware([authMiddleware])
147
+ .inputValidator(schema)
148
+ .handler(async ({ data }) => ...)
37
149
  ```
38
- Plan agent에게:
39
- "분석 결과를 바탕으로 리팩토링 계획 수립:
40
- - 삭제할 내용
41
- - 분리할 내용 (references/)
42
- - 병합할 섹션
43
- - 추가할 내용"
44
150
  ```
45
151
 
46
- ### 3단계: 리팩토링 실행
152
+ ---
153
+
154
+ ### Pattern 5: 부정형 → 긍정형
155
+
156
+ **절약:** 20-30%
157
+
158
+ ```markdown
159
+ ❌ Before (100 토큰):
160
+ Don't use any type
161
+ Don't create unnecessary abstractions
162
+ Don't skip validation
163
+
164
+ ✅ After (70 토큰):
165
+ <required>
166
+ | 분류 | 필수 |
167
+ |------|------|
168
+ | **타입** | 명시적 타입 (unknown) |
169
+ | **구조** | 직접적 코드 |
170
+ | **검증** | inputValidator 사용 |
171
+ </required>
172
+ ```
173
+
174
+ </refactoring_patterns>
47
175
 
48
- 메인 에이전트가 계획 기반으로 문서 수정.
176
+ ---
49
177
 
50
- ## 안티패턴 → 개선 패턴
178
+ <document_type_strategies>
51
179
 
52
- ### 길이 문제
180
+ | 문서 유형 | 최우선 작업 | 절약 효과 |
181
+ |----------|------------|----------|
182
+ | **CLAUDE.md** | @imports 분리 → tech_stack 표 형식 → quick_patterns 코드만 | 60-70% |
183
+ | **SKILL.md** | trigger_conditions 표 → workflow 코드 블록 → 설명 제거 | 65-75% |
184
+ | **COMMAND.md** | purpose 1-2문장 → workflow bash 코드 → examples ✅/❌ | 55-65% |
53
185
 
54
- | Before | After |
55
- |--------|-------|
56
- | 300줄 CLAUDE.md | 60-200줄 + docs/ 분리 |
57
- | 800줄 SKILL.md | 500줄 이하 + references/ 분리 |
186
+ **공통 체크리스트:**
187
+ - [ ] XML 태그로 모든 섹션 구분
188
+ - [ ] 형식 최대 활용
189
+ - [ ] 코드 예시 중심
190
+ - [ ] 라이브러리 버전 명시
191
+ - [ ] @imports로 중복 제거
58
192
 
59
- **분리 기준:**
60
- - 모든 세션에 필요 → 메인 파일
61
- - 특정 작업에만 필요 → 참조 파일
193
+ </document_type_strategies>
62
194
 
63
- ### 구조 문제
195
+ ---
64
196
 
65
- | Before | After |
66
- |--------|-------|
67
- | 긴 서술형 문단 | 불릿 포인트 + 짧은 문장 |
68
- | 중첩 참조 (A→B→C) | 1단계 깊이 (A→B) |
69
- | 목차 없는 100줄+ 파일 | 상단에 목차 추가 |
197
+ <token_optimization>
70
198
 
71
- ### 내용 문제
199
+ | 기법 | Before → After | 절약 |
200
+ |------|----------------|------|
201
+ | **단어 최적화** | "사용해야 합니다" → "사용" | 80% |
202
+ | **구조 압축** | 리스트 → 표 형식 | 40% |
203
+ | **반복 제거** | 각 파일 반복 → @imports | 70% |
204
+ | **코드 우선** | 설명 + 코드 → 코드만 | 50% |
205
+ | **공백 제거** | 빈 줄 최소화 | 10% |
206
+ | **예시 통합** | 개별 예시 → 통합 코드 블록 | 60% |
72
207
 
73
- | Before | After |
74
- |--------|-------|
75
- | 코드 스타일 가이드 | 삭제 (Biome/ESLint 사용) |
76
- | Claude가 아는 설명 | 삭제 |
77
- | 시간 의존 정보 | "old patterns" 섹션으로 이동 |
78
- | 너무 많은 옵션 | 기본값 + 대안 1개 |
208
+ **체크리스트:**
209
+ - [ ] "~해야 합니다" → 필수
210
+ - [ ] "~하지 마세요" 금지
211
+ - [ ] 반복 표현
212
+ - [ ] 설명 + 코드 코드만
213
+ - [ ] @imports 중복 제거
79
214
 
80
- **삭제 예시:**
215
+ </token_optimization>
216
+
217
+ ---
218
+
219
+ <workflow>
220
+
221
+ <step number="1">
222
+ <action>문서 분석</action>
223
+ <checklist>
224
+ - [ ] 전체 읽기 (Read)
225
+ - [ ] 토큰 수 추정 (`wc -w`)
226
+ - [ ] 문서 유형 확인
227
+ - [ ] 중복 내용 표시
228
+ </checklist>
229
+ </step>
230
+
231
+ <step number="2">
232
+ <action>리팩토링 계획</action>
233
+ <priority>
234
+ 1. 중복 → @imports 분리
235
+ 2. XML 태그 구조화
236
+ 3. 표 형식 변환
237
+ 4. 코드 중심 전환
238
+ 5. 긍정형 변환
239
+ </priority>
240
+ </step>
241
+
242
+ <step number="3">
243
+ <action>리팩토링 실행</action>
244
+ <guidelines>
245
+ - Pattern 1-5 적용
246
+ - 문서 유형별 전략 사용
247
+ - 토큰 최적화 기법 적용
248
+ </guidelines>
249
+ </step>
250
+
251
+ <step number="4">
252
+ <action>검증</action>
253
+ <validation>
254
+ - [ ] 토큰 50% 감소 확인
255
+ - [ ] 핵심 정보 보존 확인
256
+ - [ ] XML 태그 중첩 확인
257
+ - [ ] 코드 블록 짝수 확인
258
+ - [ ] 부정형 5개 미만
259
+ </validation>
260
+ </step>
261
+
262
+ </workflow>
263
+
264
+ ---
265
+
266
+ <examples>
267
+
268
+ ### CLAUDE.md 리팩토링 (TanStack Start)
269
+
270
+ **Before (650 토큰):**
81
271
  ```markdown
82
- # Before - 불필요한 설명
83
- PDF (Portable Document Format)는 Adobe에서 개발한
84
- 문서 형식으로, 텍스트와 이미지를 포함할 수 있습니다...
272
+ # Project Guidelines
273
+
274
+ 프로젝트에서는 TanStack Start를 사용합니다...
275
+ Server Function을 만들 때는 createServerFn을 사용해야 합니다...
276
+ 절대로 any 타입을 사용하지 마세요...
85
277
 
86
- # After - 핵심만
87
- PDF 텍스트 추출: `pdfplumber.open("file.pdf")`
278
+ Git 커밋 시에는 반드시 다음 규칙을 따라야 합니다:
279
+ - 커밋 메시지만 사용
280
+ - 이모지 사용 금지...
281
+
282
+ TypeScript는 5.x 버전을 사용하고...
88
283
  ```
89
284
 
90
- ### Description 문제
285
+ **After (280 토큰):**
286
+ ```markdown
287
+ # CLAUDE.md - TanStack Start Project
288
+
289
+ <instructions>
290
+ @.claude/instructions/git-rules.md
291
+ @docs/library/tanstack-start/index.md
292
+ @docs/library/prisma/index.md
293
+ @docs/library/zod/index.md
294
+ </instructions>
91
295
 
92
- | Before | After |
93
- |--------|-------|
94
- | `description: 문서 처리` | `description: PDF 텍스트/표 추출. PDF 작업 시 사용.` |
95
- | 1인칭/2인칭 | 3인칭 작성 |
96
- | 트리거 없음 | 구체적 트리거 포함 |
296
+ ---
97
297
 
98
- ## 분리 전략
298
+ <forbidden>
299
+ | 분류 | 금지 |
300
+ |------|------|
301
+ | **Server Function** | handler 내부 수동 검증/인증 |
302
+ | **타입** | any (unknown 사용) |
303
+ </forbidden>
99
304
 
100
- ### 참조 파일로 분리할 내용
305
+ ---
101
306
 
102
- | 내용 | 분리 위치 |
103
- |------|----------|
104
- | API 상세 문서 | `references/api.md` |
105
- | 스키마 정의 | `references/schema.md` |
106
- | 예시 모음 | `references/examples.md` |
107
- | 도메인별 가이드 | `references/{domain}.md` |
307
+ <required>
308
+ | 분류 | 필수 |
309
+ |------|------|
310
+ | **Server Function** | POST/PUT → inputValidator + middleware |
311
+ | **타입** | 명시적 return type |
312
+ </required>
108
313
 
109
- ### 분리 후 메인 파일 참조
314
+ ---
110
315
 
111
- ```markdown
112
- ## API 사용
316
+ <tech_stack>
317
+ | 기술 | 버전 | 주의 |
318
+ |------|------|------|
319
+ | TanStack Start | 최신 | File-based routing |
320
+ | Prisma | 7.x | prisma-client, output 필수 |
321
+ | Zod | 4.x | z.email(), z.url() |
322
+ </tech_stack>
113
323
 
114
- 기본 호출: `api.call(params)`
324
+ ---
115
325
 
116
- **상세 API 문서**: [references/api.md](references/api.md)
326
+ <quick_patterns>
327
+ ```typescript
328
+ // Server Function
329
+ export const createUser = createServerFn({ method: 'POST' })
330
+ .middleware([authMiddleware])
331
+ .inputValidator(schema)
332
+ .handler(async ({ data }) => ...)
333
+
334
+ // Zod v4
335
+ const schema = z.object({
336
+ email: z.email(),
337
+ website: z.url().optional(),
338
+ })
117
339
  ```
340
+ </quick_patterns>
341
+ ```
342
+
343
+ **개선 효과:** 650 → 280 토큰 (57% 감소)
344
+
345
+ </examples>
118
346
 
119
- ## Subagent 활용
347
+ ---
348
+
349
+ <common_mistakes>
120
350
 
121
- | 단계 | Agent | 작업 |
122
- |------|-------|------|
123
- | 분석 | Explore | 현황 파악, 문제점 식별 |
124
- | 계획 | Plan | 리팩토링 전략 수립 |
125
- | 검증 | Explore | 개선 결과 확인 |
351
+ ### 실수 1: 핵심 정보 손실
126
352
 
127
- ### 검증 프롬프트
353
+ ```markdown
354
+ ❌ After (정보 손실):
355
+ Prisma 사용
128
356
 
357
+ ✅ After (정보 보존):
358
+ | 기술 | 버전 | 필수 설정 |
359
+ |------|------|----------|
360
+ | Prisma | 7.x | prisma-client, output |
129
361
  ```
130
- Explore agent에게:
131
- "리팩토링된 문서 검증:
132
- - 줄 수 목표 달성?
133
- - 지침 개수 150개 이하?
134
- - 중첩 참조 1단계?
135
- - 필수 정보 누락 없음?"
362
+
363
+ ---
364
+
365
+ ### 실수 2: XML 태그 불일치
366
+
367
+ ```markdown
368
+ ❌ 불일치:
369
+ <forbidden>
370
+ ...
371
+ </required> ← 잘못됨
372
+
373
+ ✅ 일치:
374
+ <forbidden>
375
+ ...
376
+ </forbidden>
377
+ ```
378
+
379
+ ---
380
+
381
+ ### 실수 3: 버전 정보 누락
382
+
383
+ ```markdown
384
+ ❌ 버전 없음:
385
+ Zod, Prisma 사용
386
+
387
+ ✅ 버전 명시:
388
+ | 기술 | 버전 |
389
+ |------|------|
390
+ | Zod | 4.x |
391
+ | Prisma | 7.x |
136
392
  ```
137
393
 
394
+ </common_mistakes>
395
+
396
+ ---
397
+
398
+ <validation>
399
+
400
+ ## 검증 방법
401
+
402
+ | 항목 | 기준 | 명령어 |
403
+ |------|------|--------|
404
+ | **토큰 효율** | 50% 감소 | `wc -w file.md` |
405
+ | **XML 태그** | 올바른 중첩 | `grep -o '<[^>]*>' file.md` |
406
+ | **코드 블록** | 짝수 개 | `grep -c '\`\`\`' file.md` |
407
+ | **부정형** | < 5개 | `grep -c "Don't\|Never" file.md` |
408
+
138
409
  ## 체크리스트
139
410
 
140
- ### 분석 단계
411
+ **구조:**
412
+ - [ ] 모든 섹션 XML 태그
413
+ - [ ] forbidden/required 분리
141
414
 
142
- - [ ] Subagent로 현황 분석 완료
143
- - [ ] 문제점 목록 작성
144
- - [ ] 개선 우선순위 결정
415
+ **내용:**
416
+ - [ ] 토큰 50% 감소
417
+ - [ ] 핵심 정보 보존
418
+ - [ ] 버전 명시
145
419
 
146
- ### 리팩토링 단계
420
+ **예시:**
421
+ - [ ] 코드 블록 짝수
422
+ - [ ] ✅/❌ 마커
423
+ - [ ] 실행 가능한 코드
147
424
 
148
- - [ ] 불필요한 설명 삭제
149
- - [ ] 코드 스타일 지침 삭제
150
- - [ ] 내용 참조 파일로 분리
151
- - [ ] 중첩 참조 1단계로 평탄화
152
- - [ ] 100줄+ 파일에 목차 추가
153
- - [ ] Description 개선 (3인칭, 트리거)
425
+ **표현:**
426
+ - [ ] 부정형 < 5
427
+ - [ ] 긍정형 지시
154
428
 
155
- ### 검증 단계
429
+ **최적화:**
430
+ - [ ] @imports 중복 제거
431
+ - [ ] 표 형식 압축
432
+ - [ ] 코드 중심
156
433
 
157
- - [ ] CLAUDE.md 60-200줄
158
- - [ ] SKILL.md 500줄 이하
159
- - [ ] 지침 개수 150개 이하
160
- - [ ] 참조 1단계 깊이
161
- - [ ] 필수 정보 유지 확인
162
- - [ ] 테스트 완료
434
+ </validation>
163
435
 
164
- ## 참조
436
+ ---
437
+
438
+ <best_practices>
439
+
440
+ | 원칙 | 방법 | 효과 |
441
+ |------|------|------|
442
+ | **정보 보존 우선** | 토큰보다 정보 | 신뢰성 |
443
+ | **코드 중심** | 설명 → 예시 | 명확성 |
444
+ | **점진적 개선** | 한 번에 하나씩 | 안정성 |
445
+ | **측정 기반** | Before/After | 객관성 |
446
+
447
+ **문서별 팁:**
448
+
449
+ | 문서 | 핵심 작업 |
450
+ |------|----------|
451
+ | **CLAUDE.md** | @imports 최대 활용, quick_patterns 코드만 |
452
+ | **SKILL.md** | trigger_conditions 명확, 설명 제거 |
453
+ | **COMMAND.md** | workflow 실행 가능 코드, examples ✅/❌ |
165
454
 
166
- - [Claude Code Best Practices](https://www.anthropic.com/engineering/claude-code-best-practices)
167
- - [Using CLAUDE.MD files](https://claude.com/blog/using-claude-md-files)
168
- - [Skill Best Practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)
455
+ </best_practices>