| name | init-claude |
| description | Initializes or upgrades Claude Code documentation (CLAUDE.md, AGENTS.md, .claude/CLAUDE.md, .claude/rules/*.md) for any project using multi-agent team analysis and 3-5 adaptive PDCA quality evaluation loops. Based on 22 documentation principles (see references/guide-principles.md). Triggers on: "init claude", "init-claude", "claude ๋ฌธ์ ์ธํ
", "documentation ์ด๊ธฐํ", "CLAUDE.md ๋ง๋ค์ด", "AGENTS.md ์ค์ ", "ํ๋ก์ ํธ ๋ฌธ์ ์ธํ
". NOTE: Different from deepinit โ deepinit creates hierarchical AGENTS.md in every directory. init-claude optimizes ROOT-level documentation quality with PDCA evaluation loops.
|
| user-invocable | true |
| disable-model-invocation | true |
| argument-hint | [project-path | quick | lightweight] |
init-claude Skill
Multi-agent team์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋ถ์ํ๊ณ Claude Code ๋ฌธ์ ์ด์์ ์์ฑ/๊ฐ์ ํ๋ค (์ต์ข
ํ์ ์ ์ฌ์ฉ์ ๊ฒ์ฆ ํ).
P4 ๊ด๊ณ: ์ด ์คํฌ์ "์๋ ์์ฑ ๊ธ์ง" ์์น์ ์์ธ๊ฐ ์๋๋ผ, ๊ฒ์ฆ ๊ฐ๋ฅํ ์ด์ ์์ฑ + ์ฌ์ฉ์ ์น์ธ ์ํฌํ๋ก์ฐ.
22๊ฐ ์์น(references/guide-principles.md) ๊ธฐ์ค, 3-5ํ ์ ์ํ PDCA ํ๊ฐ ๋ฃจํ๋ก 9.0/10+ ๋ฌ์ฑ.
vs deepinit: deepinit์ ๋ชจ๋ ๋๋ ํ ๋ฆฌ์ AGENTS.md ์์ฑ. init-claude๋ ๋ฃจํธ ๋ฌธ์ ํ์ง ์ต์ ํ.
์คํ ๋ชจ๋: standard (๊ธฐ๋ณธ, 3์์ด์ ํธ ๋ณ๋ ฌ) | lightweight (๋จ์ผ ์์ด์ ํธ, no-MCP, ์๊ท๋ชจ ํ๋ก์ ํธ์ฉ)
์ฆ์ ์คํ ํ๋กํ ์ฝ
- PROJECT_PATH ํ์ธ (์ธ์ ์์ผ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ)
- ๊ธฐ์ ์คํ ์๋ ๊ฐ์ง (์๋ ์ฐธ์กฐ)
- Phase 1: Discovery โ 3๊ฐ Agent tool ํธ์ถ์ ํ๋์ ๋ฉ์์ง์์ ๋ณ๋ ฌ ์คํ
- 3๊ฐ ์์ด์ ํธ ์๋ฃ ์๋ฆผ ์์ ํ Discovery Report ํตํฉ
- Phase 2: Architect โ 3๊ณ์ธต ๋ฌธ์ ์ด์ ์์ฑ
- Phase 3: 3-5 ์ ์ํ PDCA โ ๋งค ๋ผ์ด๋ 3๊ฐ Agent tool ๋ณ๋ ฌ ํธ์ถ
- ์ต์ข
๋ฆฌํฌํธ ์ถ๋ ฅ
๊ธฐ์ ์คํ ์๋ ๊ฐ์ง
Glob tool๋ก ํ๋ก์ ํธ ๋ฃจํธ ํ์ผ์ ๊ฒ์ํ์ฌ ์คํ ํ๋ณ:
package.json โ Node.js/TypeScript (pnpm-workspace.yaml โ monorepo)
build.gradle / pom.xml โ Java/Kotlin
Cargo.toml โ Rust
pyproject.toml / setup.py โ Python
go.mod โ Go
๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ์์ด์ ํธ ํ๋กฌํํธ์ ์ปจํ
์คํธ๋ก ์ ๋ฌ.
Language Policy
Default: ํ์ ์ฃผ ์ธ์ด. ๊ต์ฐจ ๋๊ตฌ(Copilot/Cursor) ์ฌ์ฉ ์ ์์ด ๊ถ์ฅ. ์ฝ๋ ์์์ BAD/GOOD ์ฃผ์์ ํญ์ ์์ด. Details: references/language-policy.md
๋ฌธ์ ์์ ๊ถ ๋ชจ๋ธ
์ฑ์ ์ ์ ์์ ๊ถ์ ํ์ธํ๋ค. ์์ ๊ถ์ด ๋ช
ํํด์ผ C3/C4/C5๊ฐ ์ถฉ๋ํ์ง ์๋๋ค.
| ํ์ผ | ์์ ๋ฒ์ | ํ์ฉ ๋ด์ฉ |
|---|
AGENTS.md | trap ์ค๋ช
+ BAD/GOOD | ์ ์ผํ trap ์์ค. ๋ค๋ฅธ ํ์ผ์์ ๋ณต์ฌ ๊ธ์ง |
CLAUDE.md (root) | ๊ตฌ์กฐ + ํฌ์ธํฐ | trap์ AGENTS.md ์ฐธ์กฐ๋ง. ํ์ค ์ ์ฝ ์์ฝ ํ์ฉ |
.claude/CLAUDE.md | ๊ท์น ์ธ๋ฑ์ค | rules ํ์ผ ๋ชฉ๋ก + ํ๋ก์ ํธ ๊ณ ์ ๊ท์น |
.claude/rules/*.md | ๋๋ฉ์ธ๋ณ action | trap์ AGENTS.md #N ์ฐธ์กฐ๋ง. BAD/GOOD ๋ณต์ฌ ๊ธ์ง |
7๊ฐ์ง ํ๊ฐ ๊ธฐ์ค + ์ฑ์ ๋ฃจ๋ธ๋ฆญ
| # | ๊ธฐ์ค | ๊ฐ์ค์น |
|---|
| C1 | Line Budget | 2 |
| C2 | Non-discoverability | 2 |
| C3 | Single Source of Truth | 2 |
| C4 | Trap Reference Coverage | 1 |
| C5 | Practical Completeness | 2 |
| C6 | Guide Compliance | 2 |
| C7 | Consistency | 1 |
์ฑ์ ๋ณด๊ฐ ๊ท์น: ์ต์ปค(10/8/5/0) ์ฌ์ด ์์์ ์ ์ ํ์ฉ. ๋ณด๊ฐ ๊ธฐ์ค: ์ต์ปค ์กฐ๊ฑด ์ถฉ์กฑ ์ฌ๋ถ + ๊ฒฝ๋ฏธํ ๊ฐ์ /๊ฒฐํจ ์. ์: C1์ด 148 lines๋ฉด 10, 155 lines๋ฉด 9 (8 ์ต์ปค ์ถฉ์กฑ + ์ฌ์ ์์ผ๋ฏ๋ก +1).
C1: Line Budget (w2)
wc -l CLAUDE.md AGENTS.md .claude/CLAUDE.md์ ํฉ๊ณ. (guide-principles์ "โค200 lines" ์์ฐ ๊ธฐ์ค)
- 10: โค150 lines (์ฌ์ ์์)
- 8: 151-200 lines (์์ฐ ๋ด)
- 5: 201-250 lines (์ด๊ณผ)
- 0: >250 lines
C2: Non-discoverability (w2)
๊ฐ trap์ ๋ํด ์ฒดํฌ๋ฆฌ์คํธ ์ ์ฉ: (1)๋ฐํ์ ์ฆ์ ๋ช
์ (2)์ปดํ์ผ/์คํํธ์
๋ฏธ๊ฐ์ง (3)์ฝ๋/์ค์ ์์ ๋ฐ๊ฒฌ ๋ถ๊ฐ (4)BAD ์์ (5)GOOD ์์.
- 10: โฅ90% trap์ด 5/5 ์ฒดํฌ ํต๊ณผ, false trap ์์
- 8: 75-89% ํต๊ณผ, ๊ฒฝ๋ฏธํ ํํ ๋ฌธ์ ๋ง
- 5: 50-74% ํต๊ณผ, ์ผ๋ถ discoverable ํญ๋ชฉ ํผ์ฌ
- 0: <50% ํต๊ณผ ๋๋ ๋๋ถ๋ถ ์คํ์ผ/discoverable ์ด์
C3: Single Source of Truth (w2)
์์ ๊ถ ๋ชจ๋ธ ๊ธฐ์ค. ํ์ฉ/๋นํ์ฉ ์ฐธ์กฐ ํ์:
- ํ์ฉ (์ค๋ณต ์๋):
AGENTS.md #7, AGENTS.md #7 ์ฐธ์กฐ, ์ด์ค ๋ฐฐ์ด ๋ํ ๊ธ์ง โ AGENTS.md #7 (ํ์ค ๋งฅ๋ฝ + ํฌ์ธํฐ)
- ๋นํ์ฉ (์ค๋ณต): trap์ BAD/GOOD ์ฝ๋ ๋ธ๋ก ๋ณต์ฌ, 2์ค ์ด์ trap ์์ธ/๊ฒฐ๊ณผ ์ค๋ช
๋ฐ๋ณต
์ฑ์ : "๋นํ์ฉ" ํญ๋ชฉ์ด ์์ ํ์ผ ๋ฐ์ ๋ช ๊ฑด์ธ๊ฐ?
- 10: ๋นํ์ฉ 0๊ฑด
- 8: 1-2๊ฑด ๊ฒฝ๋ฏธํ ์ค๋ช
๋ฐ๋ณต (BAD/GOOD ๋ณต์ฌ ์์)
- 5: BAD/GOOD ์ฝ๋ ๋ธ๋ก 1๊ฑด ์ด์ ๋ณต์ฌ, ๋๋ 3-5๊ฑด ์ค๋ช
๋ฐ๋ณต
- 0: 5๊ฑด ์ด๊ณผ ๋๋ ์น์
๋จ์ ๋ณต์ฌ
C4: Trap Reference Coverage (w2โ1)
๊ฒฝ๋ก ๋ฒ์(path-scoped) trap๋ง ํ๊ฐ. ์ ์ญ trap์ root์์ ์ฐธ์กฐ๋๋ฉด ์ถฉ๋ถ.
- 10: ๋ชจ๋ path-scoped trap์ด โฅ1 rules ํ์ผ์์ ์ฐธ์กฐ. ๊ณ ์ ์ฐธ์กฐ ์์
- 8: 1๊ฑด path-scoped trap ๋ฏธ์ฐธ์กฐ
- 5: 2๊ฑด+ ๋ฏธ์ฐธ์กฐ ๋๋ ๊ณ ์ ์ฐธ์กฐ ์กด์ฌ
- 0: ์ฐธ์กฐ ์ฒด๊ณ ์์
C5: Practical Completeness (w2)
์คํ๋ณ 5๊ฐ ์๋๋ฆฌ์ค์ ๋ํด "๋ฌธ์๋ง ๋ณด๊ณ ์์
๊ฐ๋ฅํ๊ฐ?" ์๋ฎฌ๋ ์ด์
.
- 10: 5/5 ์๋๋ฆฌ์ค PASS (๋ณต์ฌ ๊ฐ๋ฅํ ํ
ํ๋ฆฟ ๋๋ ๋จ๊ณ๋ณ ์ฒดํฌ๋ฆฌ์คํธ ์กด์ฌ)
- 8: 4/5 PASS
- 5: 3/5 PASS
- 0: โค2/5 PASS
C6: Guide Compliance (w2)
3๊ณ์ธต ๊ตฌ์กฐ + path frontmatter + @ import.
- 10: 3๊ณ์ธต, ๋ชจ๋ rules์
path:/paths: frontmatter, @.claude/CLAUDE.md + ์ค๋ช
- 8: ๊ตฌ์กฐ ์ ํ, 1๊ฑด frontmatter ๋๋ฝ ๋๋ ์ค๋ช
๋ถ์กฑ
- 5: 2๊ณ์ธต๋ง, ๋๋ ๋ค์ frontmatter ๋๋ฝ
- 0: ๋จ์ผ ํ์ผ ๋๋ ๊ตฌ์กฐ ์์
C7: Consistency (w1)
ํ์ ์ผ๊ด์ฑ + ์๋ฏธ ์ผ๊ด์ฑ. ์ ๊ท ์ฐธ์กฐ ํ์: ๋งฅ๋ฝ ์ค๋ช
โ AGENTS.md #N (em-dash + ๋ฒํธ).
- 10: ์ธ์ด/๋ค์ด๋ฐ/BAD-GOOD ํ์ ํต์ผ, ์ฐธ์กฐ ํ์ ํต์ผ, ํ์ผ ๊ฐ ๋ชจ์ ์์
- 8: 1-2๊ฑด ํ์ ๋ถ์ผ์น (์ฐธ์กฐ ์คํ์ผ ํผ์ฌ ๋ฑ)
- 5: ์ฒด๊ณ์ ๋ถ์ผ์น (ํ ํ์ผ ์ ์ฒด ์์ด, ๋ค๋ฅธ ํ์ผ ์ ์ฒด ํ๊ตญ์ด)
- 0: ์ผ๊ด์ฑ ์์
C5 ์๋๋ฆฌ์ค โ ๊ฐ์ง๋ ์คํ์ ๋ฐ๋ผ ์ ์ฉ:
| # | TypeScript/React | Python/FastAPI | Go | Rust | Java/Kotlin |
|---|
| 1 | ์ POST API ์๋ํฌ์ธํธ | ์ API route ์ถ๊ฐ | ์ HTTP handler | ์ API handler | ์ REST controller |
| 2 | ์ ํ์ด์ง ์์ฑ | ์ CLI ์ปค๋งจ๋/๋ทฐ | ์ ์๋น์ค ๋ ์ด์ด | ์ ๋ชจ๋ ์ถ๊ฐ | ์ ์๋น์ค ํด๋์ค |
| 3 | ํผ + ์ ํจ์ฑ ๊ฒ์ฌ | ์คํค๋ง + validation | ๊ตฌ์กฐ์ฒด validation | serde + validation | DTO + validation |
| 4 | ํ์
์ฐพ๊ธฐ + ์ฌ์ฉ | ๋ชจ๋ธ/ํ์
์ฐพ๊ธฐ | ์ธํฐํ์ด์ค ์ฐพ๊ธฐ | trait/struct ์ฐพ๊ธฐ | ์ํฐํฐ/DTO ์ฐพ๊ธฐ |
| 5 | ํ
์คํธ ์์ฑ | ํ
์คํธ ์์ฑ | ํ
์คํธ ์์ฑ | ํ
์คํธ ์์ฑ | ํ
์คํธ ์์ฑ |
๋ชฉํ: ๊ฐ์ค ํ๊ท 9.0/10+. ๊ณ์ฐ: (C1ร2+C2ร2+C3ร2+C4ร1+C5ร2+C6ร2+C7ร1) / 12
Lightweight ๋ชจ๋
์๊ท๋ชจ ํ๋ก์ ํธ(ํ์ผ <50๊ฐ) ๋๋ ์๊ฐ/ํ ํฐ ์ ์ฝ ์:
- Phase 1: 3๊ฐ ์์ด์ ํธ ๋์ ๋จ์ผ ์์ด์ ํธ๊ฐ ๊ตฌ์กฐ+ํจํด+trap์ ์์ฐจ ์์ง
- Phase 2: opus ์์ด์ ํธ ์์ด ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ์ง์ ์์ฑ
- Phase 3: 3๊ฐ ์์ด์ ํธ ๋์ ๋จ์ผ Evaluator๋ง ์คํ, ์ต์ 2๋ผ์ด๋
- notepad MCP ๋ถํ์ โ ์์ด์ ํธ ๋ฐํ ํ
์คํธ๋ฅผ ์ง์ ์ฌ์ฉ
- ์์ ์์: ~15๋ถ, ์์ด์ ํธ ํธ์ถ ~5ํ
Standard ๋ชจ๋๊ฐ ๊ธฐ๋ณธ. lightweight ์ธ์ ๋๋ ํ๋ก์ ํธ ํฌ๊ธฐ์ ๋ฐ๋ผ ์๋ ์ ํ.
Quick ๋ชจ๋ (5๋ถ ํต์คํํธ)
init-claude --quick: ์์ด์ ํธ 0ํ, 3๊ฐ์ง ์ง๋ฌธ๋ง์ผ๋ก ์ต์ ๋ฌธ์ ์ธํธ ์ฆ์ ์์ฑ. ์์ธ: references/v11-features.md
v1.1 ๊ธฐ๋ฅ (Trap Evidence + Benchmark + Staleness)
- Trap Evidence: ๋ชจ๋ trap์
evidence: file:line + sentinel ํ์. Trap Hunter ์ถ๋ ฅ์ ํฌํจ
- Before/After ๋ฒค์น๋งํฌ: Phase 3 Evaluator๊ฐ
trap-verification.md ์๋ ์์ฑ (ํ์ ์ฐ์ถ๋ฌผ)
- Staleness Detection:
verified_at commit SHA + git diff ์๋ ์ฒดํฌ. Phase 1 ์์ ์ ์คํ
์์ธ ์ฌ์: references/v11-features.md
Phase 1: Discovery
ํ๋์ ๋ฉ์์ง์์ 3๊ฐ Agent tool์ ๋์ ํธ์ถํ๋ค. ๊ฐ ์์ด์ ํธ๋ run_in_background: true๋ก ์คํ.
Claude Code๋ ์์ด์ ํธ ์๋ฃ ์ ์๋์ผ๋ก ์๋ฆผ์ ๋ณด๋ด๋ฏ๋ก ๋ณ๋ ํด๋ง์ด ํ์ ์๋ค.
์์ด์ ํธ 1 โ Structure Explorer (haiku)
์
๋ ฅ: PROJECT_PATH + ์คํ. ์์
: ๋น๋ ์ค์ , ์ํฌ์คํ์ด์ค, ๋ช
๋ น์ด, ์์ ๊ธ์ง ํ์ผ ์์ง. ์ถ๋ ฅ: TECH_STACK, MONOREPO, COMMANDS, DO_NOT_MODIFY.
์์ด์ ํธ 2 โ Pattern Explorer
Agent tool ํ๋ผ๋ฏธํฐ: subagent_type="general-purpose", model="haiku", run_in_background=true
ํ๋กฌํํธ ๋ด์ฉ โ ์
๋ ฅ: PROJECT_PATH + ์คํ. ์์
: API ํจํด(์ค์ ํ์ผ 2-3๊ฐ ์ฝ๊ธฐ), ์ปดํฌ๋ํธ ํจํด, ํ์
์์คํ
, ์ธ์ด ๊ท์น. LSP ์ฌ์ฉ ๊ฐ๋ฅ ์ lsp_document_symbols๋ก ๋ชจ๋ ๊ตฌ์กฐ ํ์
, lsp_find_references๋ก ํต์ฌ ํจ์ ์ฌ์ฉ ํจํด ์ถ์ (Glob/Grep๋ณด๋ค ์ ํ). LSP ๋ฏธ์ฌ์ฉ ํ๊ฒฝ์์๋ Glob/Grep์ผ๋ก ๋์ผ ์ ๋ณด ์์ง. ์ถ๋ ฅ: API_PATTERN, COMPONENT_PATTERN, TYPE_SYSTEM, LANGUAGE_RULES.
์์ด์ ํธ 3 โ Trap Hunter
Agent tool ํ๋ผ๋ฏธํฐ: subagent_type="general-purpose", model="sonnet", run_in_background=true
ํ๋กฌํํธ ๋ด์ฉ โ "์ปดํ์ผ ์ฑ๊ณต โ ๋ฐํ์ ์คํจ" ํจ์ ํ์. ํฌํจ ์กฐ๊ฑด: (1)์ปดํ์ผ ์ฑ๊ณต (2)๋ฐํ์ ์คํจ (3)์ฝ๋๋ง์ผ๋ก ๋ฐ๊ฒฌ ๋ถ๊ฐ (4)๋๋ฒ๊น
30๋ถ+. ์ ์ธ: ์ปดํ์ผ๋ฌ/๋ฆฐํฐ๊ฐ ์ก๋ ๊ฒ, ์ค์ ํ์ผ์์ ๋ฐ๊ฒฌ ๊ฐ๋ฅ, ์คํ์ผ ์ ํธ. LSP ์ฌ์ฉ ๊ฐ๋ฅ ์ lsp_find_references๋ก ์์ฌ ํจํด์ ํธ์ถ ๋ฒ์๋ฅผ ๊ฒ์ฆํ์ฌ trap ํ๋ณด ์ ํ๋ ํฅ์ (์ ํ์ ). ์ถ๋ ฅ: ๊ฐ trap๋ณ name, consequence, bad_code, good_code, why_hidden, evidence(file:line), sentinel(file). evidence ์์ผ๋ฉด unverified ํ์. trap 0๊ฑด๋ ์ ํจํ ๊ฒฐ๊ณผ์ด๋ฉฐ, trap_count=0์ผ๋ก ๋ช
์ ์ถ๋ ฅ.
๊ฒฐ๊ณผ ์์ง ๋ฐ ์ ์ฅ
3๊ฐ ์์ด์ ํธ ์๋ฃ ์๋ฆผ ์์ ํ, ๊ฐ ์์ด์ ํธ์ ๋ฐํ ํ
์คํธ๋ฅผ ํตํฉํ์ฌ notepad์ ์ ์ฅํ๋ค.
MCP tool notepad_write_working ํธ์ถ: topic="discovery-report", content=ํตํฉ ํ
์คํธ.
ํด๋ฐฑ: notepad MCP ๋ฏธ์ฌ์ฉ ํ๊ฒฝ์์๋ ์์ด์ ํธ ๋ฐํ ํ
์คํธ๋ฅผ ์ง์ ํ์ฉํ์ฌ Phase 2๋ก ์ ๋ฌ.
์๋ฌ ํธ๋ค๋ง
- ์์ด์ ํธ ํ์์์: ํด๋น ์์ด์ ํธ๋ง sonnet์ผ๋ก ์ฌ์คํ (1ํ ํ์ )
- ๋น ๊ฒฐ๊ณผ: ์ ํจํ 0-trap/0-pattern ๊ฒฐ๊ณผ๋ก ์ทจ๊ธ (trap_count=0). Glob/Grep/LSP๋ ์ trap ๋ฐ๊ตด์ฉ์ด ์๋๋ผ ์ด๋ฏธ ์์ฌ๋ trap์ ๊ทผ๊ฑฐ ๊ฒ์ฆ์ฉ์ผ๋ก๋ง ์ฌ์ฉ. discoverable ์ ๋ณด๋ก trap์ ์กฐ์ํ์ง ์๋๋ค (P1).
- ์ ์ฒด ์คํจ: ์ฌ์ฉ์์๊ฒ ์๋ ์ ๋ณด ์์ฒญ ํ Phase 2 ์งํ
Phase 2: Architecture
Phase 1์์ notepad์ ์ ์ฅํ Discovery Report๋ฅผ ์ฝ์ด(notepad_read topic="discovery-report") 3๊ณ์ธต ๋ฌธ์ ์ด์์ ์์ฑํ๋ค. Discovery Report ํ ํฐ โค 2000์ด๋ฉด ์ง์ ์์ฑ, ์ด๊ณผํ๋ฉด opus Agent๋ฅผ ํธ์ถํ๋ค. ๋ ๊ฒฝ๋ก ๋ชจ๋ ์๋ ํ์ ์ฐ์ถ๋ฌผ ๊ณ์ฝ์ ๋ฐ๋ฅธ๋ค.
opus Agent ์ฌ์ฉ ์ ํ๋ผ๋ฏธํฐ: subagent_type="general-purpose", model="opus"
ํ๋กฌํํธ ๋ด์ฉ:
- ์
๋ ฅ: Discovery Report ์ ๋ฌธ, ๊ฐ์ง๋ ์คํ, ์ฐธ์กฐ ์์น(
references/guide-principles.md P1-P22), EXISTING_FILES=[๊ธฐ์กด ๋ฌธ์ ๋ชฉ๋ก]
- ์์
: ์๋ ๊ตฌ์กฐ๋ก ๊ฐ ํ์ผ ์ด์ ์์ฑ. AGENTS.md๋ trap๋ง (P1,P11,P12). ํ์ผ ๊ฐ ์ค๋ณต ๊ธ์ง (P10) โ root CLAUDE.md์์ trap ๋ด์ฉ์ ์ธ๋ผ์ธ ์์ฝํ์ง ์๊ณ ์์ ํฌ์ธํฐ(
AGENTS.md ์ฐธ์กฐ)๋ง ์ฌ์ฉ. root CLAUDE.md์์ @.claude/CLAUDE.md import ์ ๋ก๋ ๋ด์ฉ ์ค๋ช
ํฌํจ (P9). rules ํ์ผ์์ AGENTS.md trap์ BAD/GOOD์ ๋ณต์ฌํ์ง ์๊ณ AGENTS.md #N ์ฐธ์กฐ๋ก ๋์ฒด. path frontmatter ์ค์ (P8). EXISTING_FILES์ ์๋ ํ์ผ์ Read ํ diff-aware ๊ฐ์ , ์๋ ํ์ผ์ ์ ๊ท ์์ฑ.
- ์ถ๋ ฅ: ๊ฐ ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ Write tool๋ก ์์ฑ
ํ์ ์ฐ์ถ๋ฌผ (๋ชจ๋ ์คํ์์ ๋ฐ๋์ ์์ฑ/๊ฐฑ์ ):
root/
CLAUDE.md โ ์์ฝ ์ธ๋ฑ์ค (โค50 lines)
AGENTS.md โ Runtime trap + BAD/GOOD (โค100 lines)
.claude/
CLAUDE.md โ ์์ธ ๊ท์น (โค30 lines)
rules/*.md โ ๋๋ฉ์ธ๋ณ ํจํด (path trigger)
rules/trap-verification.md โ (v1.1) Before/After ๋ฒค์น๋งํฌ ํ๋กฌํํธ
AGENTS.md ์ ์ฑ
: trap 0๊ฑด์ด์ด๋ ํญ์ ์์ฑ/์ ์งํ๋ค.
- trap โฅ 1: ๊ฐ trap์ ๋ฒํธ + BAD/GOOD +
evidence/sentinel/verified_at์ผ๋ก ์์ฑ
- trap = 0: empty-state ํ
ํ๋ฆฟ:
> ํ์ฌ ๊ฒ์ฆ๋ non-discoverable runtime trap ์์. ์ trap์ ๊ฒ์ฆ ํ๋ง ์ถ๊ฐ.
- ํ์ผ ์กด์ฌ = "๊ฒํ ์๋ฃ" ์๊ทธ๋์ด๋ฉฐ, ํฅํ trap ์ถ๊ฐ ์์น๋ฅผ ๋ช
์
์ฃผ์ ์์น: ์ด ์คํฌ์ ์ด์์ ์์ฑํ๋ฉฐ, ์ฌ์ฉ์์ ์๋ ๊ฒ์ฆ์ด ํ์ (P4). ์๋ ์์ฑ๋ trap์ ๋ฐ๋์ ์ฌ์ฉ์/ํ์ด ๊ฒ์ฆํ ํ์๋ง ์ต์ข
ํ์ ํ๋ค. AGENTS.md์ trap์ ์ฝ๋ ์ค๋ฉ์ด๋ค (P5) โ ์ฝ๋๊ฐ ๊ฐ์ ๋๋ฉด ์ ๊ฑฐํ๋ค. ์๋ชป๋ ๋ฌธ์๋ ์ฌ๋ฐ๋ฅธ ์ฝ๋๋ฅผ ๋ฌด์ํ๊ฒ ๋ง๋ ๋ค โ ์ต์ปค๋ง ์ํ (P13).
๊ต์ฐจ ํ๊ฐ ๊ถ์ฅ: ์ต์ข
๋ผ์ด๋์์ Codex/Gemini ๋ฑ ์ธ๋ถ ๋ชจ๋ธ๋ก ๋
๋ฆฝ ์ฑ์ ์ํ. C1์ ๋ฐ๋์ wc -l๋ก ๋ผ์ธ ์ ์ธก์ ์ง์. ๋ชจ๋ธ ๊ฐ ยฑ1.0 ์ด์ ์ฐจ์ด๋๋ ๊ธฐ์ค์ ์ถ๊ฐ ๊ฐ์ ๋์.
์๋ฌ ํธ๋ค๋ง
- Architect ์คํจ: ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ Discovery Report๋ง์ผ๋ก ์ง์ ์์ฑ (Phase 2๋ ํญ์ ์งํ ๊ฐ๋ฅ)
Phase 3: PDCA Evaluation Loop
์ต์ 3๋ผ์ด๋, 9.0 ๋ฏธ๋ฌ ์ ์ต๋ 5๋ผ์ด๋. 3๋ผ์ด๋ ํ 9.0+ ๋ฌ์ฑ ์ ์กฐ๊ธฐ ์ข
๋ฃ ๊ฐ๋ฅ. ๊ฐ ๋ผ์ด๋๋ง๋ค 3๊ฐ Agent tool์ ํ๋์ ๋ฉ์์ง์์ ๋์ ํธ์ถํ๋ค.
๋งค ๋ผ์ด๋ ์คํ ์์
1๋จ๊ณ: 3๊ฐ ์์ด์ ํธ ๋์ ํธ์ถ (๋ชจ๋ run_in_background: true)
Agent tool ํ๋ผ๋ฏธํฐ ํ์์ Phase 1์ ์์์ ๋์ผ. description, subagent_type, model, run_in_background, prompt ํค๋ฅผ ์ฌ์ฉ.
-
Practitioner (subagent_type="general-purpose", model="sonnet"):
์
๋ ฅ: ๋ฌธ์ ๊ฒฝ๋ก ์ ์ฒด ๋ชฉ๋ก + ํด๋น ๋ผ์ด๋ C5 ์๋๋ฆฌ์ค (์คํ๋ณ ์๋๋ฆฌ์ค ํ
์ด๋ธ์์ ์ ํ).
์์
: (1) ๊ฐ ๋ฌธ์๋ฅผ Read tool๋ก ์ฝ๋๋ค (2) ์๋๋ฆฌ์ค๋ณ๋ก ๋ฌธ์๋ง ๋ณด๊ณ ์์
์ ์๋ฎฌ๋ ์ด์
ํ๋ค (3) ๊ฐ AGENTS.md trap์ ํํผํ ์ ์๋์ง ํ์ธํ๋ค.
์ถ๋ ฅ: ์๋๋ฆฌ์ค๋ณ PASS/FAIL + ์คํจ ์ ์์ธ(์ด๋ค ์ ๋ณด๊ฐ ๋ถ์กฑํ๋์ง) + ๊ตฌ์ฒด์ ์์ ์ ์(์ด๋ค ํ์ผ์ ๋ฌด์์ ์ถ๊ฐํด์ผ ํ๋์ง)
-
Critic (subagent_type="general-purpose", model="sonnet"):
์
๋ ฅ: ๋ฌธ์ ๊ฒฝ๋ก ์ ์ฒด ๋ชฉ๋ก.
์์
: (1) ๊ฐ ํ์ผ์ Read tool๋ก ์ฝ๋๋ค (2) ํ์ผ ๊ฐ ๋์ผ ๋ฌธ์ฅ/๊ฐ๋
์ค๋ณต ํ์ง โ ์ฐธ์กฐ(AGENTS.md #N)์ ์ฝ๋ ์์๋ ์ค๋ณต์ด ์๋ (3) AGENTS.md์ discoverable ์ฝํ
์ธ ๊ฐ ์๋์ง ํ์ธ (4) always-loaded ํ์ผ ๋ผ์ธ ์ ํฉ์ฐ.
์ถ๋ ฅ: ์ค๋ณต ๋ชฉ๋ก(file:line โ file:line), discoverable ํญ๋ชฉ ๋ชฉ๋ก, ๋ผ์ธ ์ ๋ณด๊ณ (always-loaded N์ค)
-
Evaluator (subagent_type="general-purpose", model="opus"):
์
๋ ฅ: ๋ฌธ์ ๊ฒฝ๋ก ์ ์ฒด ๋ชฉ๋ก + C1-C7 ์ฑ์ ๋ฃจ๋ธ๋ฆญ ์ ๋ฌธ(๊ฐ ๊ธฐ์ค 10/8/5/0์ ์ต์ปค ํฌํจ, ์ '์ฑ์ ๋ฃจ๋ธ๋ฆญ' ์น์
์ฐธ์กฐ).
์์
: (1) ๋ชจ๋ ๋ฌธ์๋ฅผ Read tool๋ก ์ฝ๋๋ค (2) ๊ฐ ๊ธฐ์ค๋ณ ๊ทผ๊ฑฐ๋ฅผ 1-2์ค๋ก ์์ฑ (3) ๊ฐ์ค ํ๊ท ๊ณ์ฐ.
์ถ๋ ฅ: C1-C7 ๊ฐ ์ ์(์์์ 1์๋ฆฌ) + ๊ฐ์ค ํ๊ท + Top 3 ๊ฐ์ ์ฌํญ(ํ์ผ:๋ผ์ธ ์์ค ๊ตฌ์ฒด์ฑ)
2๋จ๊ณ: ์๋ฃ ์๋ฆผ ์์ ๋๊ธฐ โ Claude Code๊ฐ ๊ฐ ์์ด์ ํธ ์๋ฃ ์ ์๋ ์๋ฆผ. 3๊ฐ ๋ชจ๋ ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ์์
๊ฐ๋ฅ.
Agent tool์ด run_in_background=true๋ก ์คํ๋๋ฉด, Claude Code๊ฐ ์์ด์ ํธ ์๋ฃ ์ ์๋์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค. ๋ฐํ๋ ํ
์คํธ๊ฐ ์ค์ผ์คํธ๋ ์ดํฐ์ ๋ํ ์ปจํ
์คํธ์ ์ง์ ๋ํ๋๋ฏ๋ก ๋ณ๋ ์กฐํ๊ฐ ๋ถํ์ํ๋ค.
3๋จ๊ณ: ๊ฒฐ๊ณผ ํตํฉ + ๊ต์ฐจ ๊ฒ์ฆ
- practitioner FAIL ํญ๋ชฉ ์ค evaluator๋ ์ง์ โ ์ฐ์ ์์
- critic ์ค๋ณต ๋ฐ๊ฒฌ โ ์ฆ์ ์์
- evaluator ์ ์ < 8 ์ธ ๊ธฐ์ค โ ํด๋น ์์ญ ์ง์ค ์์
4๋จ๊ณ: Edit/Write tool๋ก ํ์ผ ์์
5๋จ๊ณ: ์ ์ ๊ธฐ๋ก ํ ๋ค์ ๋ผ์ด๋ ์งํ
๋ผ์ด๋๋ณ ์ด์
| Round | Practitioner ์๋๋ฆฌ์ค | Critic ์ด์ | Evaluator ์ด์ |
|---|
| 1 | C5 ์๋๋ฆฌ์ค 1-2 | AGENTS.md trap ์ ์ ์ฑ | C2 + C5 |
| 2 | C5 ์๋๋ฆฌ์ค 3-4 | ํ์ผ ๊ฐ ์ค๋ณต ํ์ง | C3 + C4 |
| 3 | C5 ์๋๋ฆฌ์ค 5 + ์ฌ๊ฒ์ฆ | discoverable ์ฝํ
์ธ ์ ๊ฑฐ | C1 + C5 |
| 4 | ์ ์ฒด ์๋๋ฆฌ์ค ์ฌ์คํ | ๋ผ์ธ ์ ์ต์ ํ | C1 + C3 |
| 5 | ์ต์ข
ํตํฉ ์๋ฎฌ๋ ์ด์
| ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ, ์ผ๊ด์ฑ | C4 + C6 + C7 |
์๋ฌ ํธ๋ค๋ง
- ์์ด์ ํธ ํ์์์: ํด๋น ์ญํ ๋ง ์ฌ์คํ (1ํ). 2ํ ์ฐ์ ์คํจ โ ๊ฑด๋๋ฐ๊ณ ๋๋จธ์ง๋ก ์งํ
- ์ ์ ํ๋ฝ: ํ๋ฝ ๊ธฐ์ค์ ์์ ์ฌํญ ์๋ณ ํ ํด๋น ๋ณ๊ฒฝ๋ง git revert ๋๋ ์๋ ๋กค๋ฐฑ
- 5๋ผ์ด๋ ํ 9.0 ๋ฏธ๋ฌ: ์ฌ์ฉ์์๊ฒ ํ์ฌ ์ ์ + ๋ณ๋ชฉ ๋ณด๊ณ , ์ถ๊ฐ ๋ผ์ด๋ ์ฌ๋ถ ํ์ธ
์ฐ์ถ๋ฌผ ํ์ + ๊ธฐ์กด ๋ฌธ์ ์ฒ๋ฆฌ
๊ฐ ๋ผ์ด๋ ํ C1-C7 ์ค์ฝ์ด์นด๋ ์ถ๋ ฅ (ํ์์ references/sample-typescript-monorepo.md ์ฐธ์กฐ).
๋ชจ๋๋ณ ์ฒ๋ฆฌ:
- ๊ธฐ์กด ํ์ผ ์์: diff-aware๋ก ๊ฐ์ . ๊ธฐ์กด trap์ ์ฌ๊ฒ์ฆ ํ ์ ์ง/์ ๊ฑฐ.
- ํ์ ํ์ผ ๋๋ฝ: ํ์ ์ฐ์ถ๋ฌผ ๋ชฉ๋ก์์ ๋๋ฝ๋ ํ์ผ์ ์ ๊ท ์์ฑ.
- ๊ธฐ์กด trap ์ฌ๊ฒ์ฆ ํ 0๊ฑด: AGENTS.md๋ ์ ์งํ๋ empty-state ํ
ํ๋ฆฟ์ผ๋ก ๊ฐฑ์ .
git diff ์ ๊ณต.
์ ์ง๋ณด์ ์์น (P14-P16): ๋ฌธ์๋ ์ฝ๋์ ํจ๊ป ๋ฒ์ ๊ด๋ฆฌ. ์ฝ๋ ๋ฆฌํฉํ ๋ง ์ ๊ด๋ จ trap ์ฌ๊ฒ์ฆ. AGENTS.md๊ฐ ์ค์ด๋๋ ๊ฒ์ ์ข์ ์ ํธ (P15).
์ฐธ์กฐ ๋ฌธ์
references/guide-principles.md: 22๊ฐ ๋ฌธ์ ์์ฑ ์์น (P1-P22)
references/sample-typescript-monorepo.md: ์ค์ ํ๋ก์ ํธ ์ ์ฉ ์ฌ๋ก (C1-C7 9.0+)
SKILL-EVAL.md: ์ด ์คํฌ ์์ฒด์ ํ์ง ํ๊ฐ ๊ธฐ์ค (S1-S8)