compound μ€ν¬
λͺ©μ : μμ
κ³Όμ μμ κ²μ¦λ μΈμ¬μ΄νΈλ₯Ό μ¦μ λ¬Έμννμ¬, κ²μ κ°λ₯ν μ§μ λ² μ΄μ€λ₯Ό ꡬμΆνλ€.
κ°μ
μ΄ μ€ν¬μ μΈμ¬μ΄νΈκ° νμΈλλ μ¦μ ν¬μ°©νμ¬, YAML frontmatter κΈ°λ°μ ꡬ쑰νλ λ¬Έμλ‘ μ μ₯νλ€. μΉ΄ν
κ³ λ¦¬λ³ λ¨μΌ νμΌ μν€ν
μ²λ₯Ό μ¬μ©νλ©°, κ° μΈμ¬μ΄νΈλ knowledge/[category]/[filename].mdμ μ μ₯λλ€.
<critical_sequence name="insight-capture" enforce_order="strict">
7λ¨κ³ νλ‘μΈμ€
μλ κ°μ§ 문ꡬ (λνμμ μΈμ):
- "μ΄κ±° μ λλ€"
- "μ΄ λ°©μμ΄ μ’λ€"
- "λ€μμλ μ΄λ κ² νμ"
- "μ΄κ±΄ κΈ°λ‘ν΄λμ"
- "μ΄ ν¬λ§·μ΄ λ¨Ήνλ€"
- "μ΄κ² ν¨κ³Όκ° μμμ΄"
- "μ΄λ κ² νλκΉ λμ΄"
- "κΈ°μ΅ν΄λ¬μΌ ν΄"
OR μλ: /compound 컀맨λ
Non-trivialλ§ (μ¬μ¬μ© κ°μΉ μλ μΈμ¬μ΄νΈ):
- λ°λ³΅ν μ μλ ν¨ν΄
- λ€λ₯Έ μν©μλ μ μ© κ°λ₯ν κ΅ν
- μνμ°©μ€ λμ λ°κ²¬ν λ°©λ²
- μ€μ μμ κ²μ¦λ μ κ·Όλ²
- ꡬ쑰μ κ°μ μ κ°μ Έμ¨ λ°κ²¬
μ€ν΅ κΈ°μ€:
- μ΄ μν©μμλ§ ν΅νλ μΌνμ± λ°©λ²
- λ¨μ μ¬μ€ κΈ°λ‘ (μμΉ, λ μ§ λ±)
- μ΄λ―Έ λ¬Έμνλ λ΄μ©μ λ°λ³΅
- μμ§ κ²μ¦λμ§ μμ κ°μ€
λν μ΄λ ₯μμ μΆμΆ:
νμ μ 보:
- domain: work / learning / project / tool / personal
- insight_type: μΈμ¬μ΄νΈ μ ν (schema.yaml enum μ°Έμ‘°)
- component: λλ©μΈ λ΄ νμ μ»΄ν¬λνΈ (schema.yaml enum μ°Έμ‘°)
- context: μ΄λ€ μν©μμ λμ¨ μΈμ¬μ΄νΈμΈκ° (1-3λ¬Έμ₯)
- key_learning: ν΅μ¬ κ΅ν ν λ¬Έμ₯ (λ€λ₯Έ μν©μλ μΌλ°ν κ°λ₯νκ²)
- impact: critical / high / medium / low
- tags: κ²μ ν€μλ (μλ¬Έμ, νμ΄ν ꡬλΆ)
μΆκ° μμ§ νλͺ©:
- λ°°κ²½: μ΄λ€ νλ‘μ νΈ/νλ μ€μ΄μλκ°
- μλν κ²λ€: ν¨κ³Ό μμλ μ κ·Όλ€
- ν¨κ³Ό μμλ κ²: μ€μ λ‘ μλν λ°©λ²
- μλ μ΄μ : μ ν¨κ³Όμ μ΄μλκ°
- μ¬ν 쑰건: μΈμ μ΄ λ°©λ²μ μΈ μ μλκ°
BLOCKING μ건: domain, insight_type, ν΅μ¬ μΈμ¬μ΄νΈκ° λΆλΆλͺ
ν κ²½μ° μ¬μ©μμκ² μ§λ¬Ένκ³ μλ΅μ κΈ°λ€λ¦°λ€:
λ¬Έμνλ₯Ό μν΄ λͺ κ°μ§ νμΈμ΄ νμν©λλ€:
1. μ΄λ€ λλ©μΈμΈκ°μ? (work/learning/project/tool/personal)
2. μΈμ¬μ΄νΈ μ νμ? (μ: workflow_pattern, problem_solving, tool_discovery...)
3. ν΅μ¬ κ΅νμ ν λ¬Έμ₯μΌλ‘ μ 리νλ©΄?
[μλ΅ ν κ³μ μ§ν]
knowledge/ μμ μ μ¬ μΈμ¬μ΄νΈ κ²μ:
Grep: pattern="domain: [domain]" path=knowledge/ output_mode=files_with_matches
Grep: pattern="tags:.*[keyword]" path=knowledge/ output_mode=files_with_matches -i=true
Grep: pattern="insight_type: [type]" path=knowledge/ output_mode=files_with_matches
μ μ¬ λ¬Έμ λ°κ²¬ μ μ¬μ©μμκ² μ νμ§ μ μ ν λκΈ°:
μ μ¬ λ¬Έμ λ°κ²¬: knowledge/[path]
μ΄λ»κ² ν κΉμ?
1. μ λ¬Έμ μμ± + κ΅μ°¨ μ°Έμ‘° μΆκ° (κΆμ₯)
2. κΈ°μ‘΄ λ¬Έμ μ
λ°μ΄νΈ (λμΌν μΈμ¬μ΄νΈμ 보μμΈ κ²½μ°)
3. κΈ°ν
μ ν (1-3): _
μ¬μ©μ μλ΅ λκΈ° ν μ νν μ‘μ
μ€ν.
μ μ¬ λ¬Έμ μμΌλ©΄ Step 4λ‘ λ°λ‘ μ§ν.
νμ: YYYYMMDD-[sanitized-insight-slug].md
Sanitization κ·μΉ:
- μλ¬Έμ
- 곡백 β νμ΄ν
- νΉμλ¬Έμ μ κ±° (νμ΄ν μ μΈ)
- 80μ λ―Έλ§μΌλ‘ truncate
μμ:
20260304-claude-code-skill-structure.md
20260304-mcp-server-debugging-pattern.md
20260304-prompt-iteration-framework.md
schema.yaml κΈ°λ°μΌλ‘ λͺ¨λ νμ νλ κ²μ¦.
<validation_gate name="yaml-schema" blocking="true">
κ²μ¦ νλͺ©:
domain: schema.yamlμ enum κ° μ€ νλ
date: YYYY-MM-DD νμ
insight_type: schema.yamlμ enum κ° μ€ νλ
component: ν΄λΉ domainμ λ§€νλ enum κ° μ€ νλ (domain_component_mapping νμΈ)
context: 20-300μ, ꡬ체μ μν© μμ
key_learning: 10-200μ, μΌλ°ν κ°λ₯ν κ΅ν
impact: critical / high / medium / low
tags: 1-8κ°, μλ¬Έμ νμ΄ν ꡬλΆ
κ²μ¦ μ€ν¨ μ Step 6 μ°¨λ¨:
YAML κ²μ¦ μ€ν¨
μ€λ₯:
- domain: νμ©λ κ°μ΄ μλ β work, learning, project, tool, personal μ€ νλ
- component: domainμ νμ©λμ§ μλ μ»΄ν¬λνΈ β schema.yaml μ°Έμ‘°
- tags: λλ¬Έμ ν¬ν¨ β μλ¬Έμλ‘ λ³ν νμ
μμ λ κ°μ μ 곡ν΄μ£ΌμΈμ.
GATE κ°μ : λͺ¨λ κ²μ¦ ν΅κ³Ό μ κΉμ§ Step 6 μ§ν κΈμ§.
</validation_gate>
μΉ΄ν
κ³ λ¦¬ λλ ν 리 κ²°μ : schema.yamlμ category_mappingμΌλ‘ insight_type β μ μ₯ κ²½λ‘ λ§€ν.
λ¬Έμ μμ±:
INSIGHT_TYPE="[κ²μ¦λ YAMLμμ]"
CATEGORY_DIR="[category_mappingμμ λ§€ν]"
FILENAME="[Step 4μμ μμ±]"
DOC_PATH="${CATEGORY_DIR}${FILENAME}"
mkdir -p "${CATEGORY_DIR}"
κ²°κ³Ό:
- μΉ΄ν
κ³ λ¦¬ λλ ν 리μ λ¨μΌ νμΌ μμ±
- Enum κ²μ¦μΌλ‘ μΌκ΄λ λΆλ₯ 보μ₯
Step 3μμ μ μ¬ λ¬Έμ λ°κ²¬λ κ²½μ°:
ν¨ν΄ ν보 κ°μ§:
λμΌ μΉ΄ν
κ³ λ¦¬μ μ μ¬ μΈμ¬μ΄νΈ 3κ° μ΄μ μ‘΄μ¬νλ©΄:
ν¨ν΄ λ¬Έμ ν보 κ°μ§: [μΉ΄ν
κ³ λ¦¬]μ μ μ¬ μΈμ¬μ΄νΈ Xκ°
β patterns/ λ¬Έμλ‘ μ’
ν©νμκ² μ΅λκΉ?
Critical Pattern μΉκ²© 쑰건 (μλ μΉκ²© κΈμ§, μ¬μ©μ κ²°μ ):
- impactκ°
criticalμΈ κ²½μ°
- μ¬λ¬ λλ©μΈμ ν‘λ¨ μ μ© κ°λ₯ν κ²½μ°
- λ°λμ κΈ°μ΅ν΄μΌ νλ κ²½μ°
μ΄ κ²½μ° Decision Menuμμ "2. ν¬λ¦¬ν°μ»¬ ν¨ν΄μ μΆκ°" μ΅μ
μ μ£Όμ μΆκ°:
μ΄ μΈμ¬μ΄νΈλ ν¬λ¦¬ν°μ»¬ ν¨ν΄ μΉκ²©μ κ³ λ €ν΄λ³Ό λ§ν©λλ€
</critical_sequence>
<decision_gate name="post-documentation" wait_for_user="true">
Decision Menu After Capture
λ¬Έμν μ±κ³΅ ν μ νμ§ μ μ λ° μ¬μ©μ μλ΅ λκΈ°:
μΈμ¬μ΄νΈκ° κΈ°λ‘λμμ΅λλ€.
νμΌ μμ±:
- knowledge/[category]/[filename].md
λ€μ μμ
:
1. κ³μ μ§ν (κΆμ₯)
2. ν¬λ¦¬ν°μ»¬ ν¨ν΄μ μΆκ° - critical-patterns.mdμ μΉκ²©
3. κ΄λ ¨ λ¬Έμ μ°κ²° - μ μ¬ μΈμ¬μ΄νΈμ κ΅μ°¨ μ°Έμ‘°
4. κΈ°μ‘΄ μ€ν¬μ μΆκ° - .claude/skills/μ μ°κ²°
5. λ¬Έμ νμΈ - μμ±λ λ΄μ© 보기
μ ν: _
κ° μ΅μ
μ²λ¦¬:
Option 1: κ³μ μ§ν
- νμ¬ μμ
/μν¬νλ‘μ°λ‘ 볡κ·
- λ¬Έμν μλ£
Option 2: ν¬λ¦¬ν°μ»¬ ν¨ν΄μ μΆκ°
μ¬μ©μκ° μ ννλ κ²½μ°:
- λ°λ³΅ μ μ©λλ ν¨ν΄
- μ λ μμ΄μλ μ λλ κ΅ν
- λΉμ§κ΄μ μ΄μ§λ§ νμμ μΈ κ·μΉ
μ‘μ
:
- λ¬Έμμμ ν¨ν΄ μΆμΆ
- assets/critical-pattern-template.md νμμΌλ‘ ꡬ쑰ν
knowledge/patterns/critical-patterns.mdμ μΆκ° (μλ² μ μ§)
- ν΄λΉ λ¬Έμμ κ΅μ°¨ μ°Έμ‘° μΆκ°
- νμΈ: "ν¬λ¦¬ν°μ»¬ ν¨ν΄μ μΆκ°λμμ΅λλ€."
Option 3: κ΄λ ¨ λ¬Έμ μ°κ²°
- ν둬ννΈ: "μ΄λ€ λ¬Έμμ μ°κ²°ν κΉμ? (νμΌλͺ
λλ μ£Όμ μ€λͺ
)"
knowledge/μμ λμ λ¬Έμ κ²μ
- μλ°©ν₯ κ΅μ°¨ μ°Έμ‘° μΆκ°
- νμΈ: "κ΅μ°¨ μ°Έμ‘°κ° μΆκ°λμμ΅λλ€"
Option 4: κΈ°μ‘΄ μ€ν¬μ μΆκ°
- ν둬ννΈ: "μ΄λ€ μ€ν¬μ μΆκ°ν κΉμ?"
.claude/skills/[skill-name]/μ μ μ ν νμΌμ λ§ν¬μ μ€λͺ
μΆκ°
- νμΈ: "[skill-name] μ€ν¬μ μΆκ°λμμ΅λλ€"
Option 5: λ¬Έμ νμΈ
- μμ±λ λ¬Έμ λ΄μ© νμ
- Decision Menu λ€μ μ μ
</decision_gate>
<integration_protocol>
ν΅ν© μ§μ
νΈμΆ νΈλ¦¬κ±°:
/compound 컀맨λ (μ£Ό μΈν°νμ΄μ€)
- λν μ€ νμΈ λ¬Έκ΅¬ μλ κ°μ§
- μν¬νλ‘μ° μλ£ ν μλ νΈμΆ
νΈμΆνλ μ€ν¬/μμ΄μ νΈ:
- μμ (terminal μ€ν¬ - λ€λ₯Έ μ€ν¬μ μμνμ§ μμ)
Handoff 쑰건:
νΈμΆ μ λν μ΄λ ₯μ μΆ©λΆν 컨ν
μ€νΈκ° μμ΄μΌ ν¨.
</integration_protocol>
<success_criteria>
μ±κ³΅ κΈ°μ€
λ€μ λͺ¨λ μ‘°κ±΄μ΄ μΆ©μ‘±λ λ λ¬Έμν μ±κ³΅:
- YAML frontmatter κ²μ¦ ν΅κ³Ό (λͺ¨λ νμ νλ, μ¬λ°λ₯Έ νμ, μ ν¨ν enum κ°)
knowledge/[category]/[filename].mdμ νμΌ μμ±λ¨
- domain-component λ§€νμ΄ schema.yamlκ³Ό μΌμΉ
- Context, What Worked, Why This Works μΉμ
μ΄ κ΅¬μ²΄μ μΌλ‘ μμ±λ¨
- μ μ¬ λ¬Έμ λ°κ²¬ μ κ΅μ°¨ μ°Έμ‘° μΆκ°λ¨
- μ¬μ©μμκ² Decision Menu μ μ λ° μ‘μ
νμΈλ¨
</success_criteria>
μλ¬ μ²λ¦¬
컨ν
μ€νΈ λΆμ‘±:
- μ¬μ©μμκ² λλ½λ μ 보 μ§λ¬Έ
- νμ μ 보 ν보 μ μ§ν κΈμ§
YAML κ²μ¦ μ€ν¨:
- ꡬ체μ μΈ μ€λ₯ νλͺ© νμ
- μμ λ κ°μΌλ‘ μ¬μλ
- ν΅κ³Όν λκΉμ§ μ°¨λ¨
μ μ¬ μΈμ¬μ΄νΈ λͺ¨νΈν¨:
- μ¬λ¬ ν보 λͺ¨λ νμ
- μ¬μ©μ μ ν: μ λ¬Έμ / κΈ°μ‘΄ μ
λ°μ΄νΈ / λ³λ μ°κ²°
μΉ΄ν
κ³ λ¦¬ λ§€ν λΆνμ€:
- κ°μ₯ κ·Όμ ν μΉ΄ν
κ³ λ¦¬ μ μ
- μ¬μ©μ νμΈ ν μ§ν
μ€ν κ°μ΄λλΌμΈ
λ°λμ ν΄μΌ νλ κ²:
- YAML frontmatter κ²μ¦ (Step 5 validation gateλ blocking)
- domain-component λ§€ν μ ν¨μ± νμΈ
- νμΌ μμ± μ
mkdir -pλ‘ λλ ν 리 μμ±
- 컨ν
μ€νΈ λλ½ μ μ¬μ©μμκ² λ¬»κ³ λκΈ°
- key_learningμ λ€λ₯Έ μν©μλ μ μ© κ°λ₯νκ² μΌλ°ν
μ λ νμ§ λ§μμΌ νλ κ²:
- YAML κ²μ¦ 건λλ°κΈ° (validation gateλ blocking)
- λͺ¨νΈν μ€λͺ
μΌλ‘ λ¬Έμν (κ²μ λΆκ°)
- κ°μ€μ΄λ λ―Έκ²μ¦ λ΄μ© λ¬Έμν
- critical pattern μλ μΉκ²© (μ¬μ©μ κ²°μ νμ)
μμ μλ리μ€
μ¬μ©μ: "Claude Codeμμ μ€ν¬ λ§λ€ λ references/ ν΄λμ μμλ₯Ό λ£μλλ ν¨μ¬ μ ννκ² λ°λΌνλλΌ. λ€μμλ μ΄λ κ² νμ."
μ€ν¬ νμ±ν:
- νΈλ¦¬κ±° κ°μ§: "λ€μμλ μ΄λ κ² νμ" β μλ νμ±ν
- 컨ν
μ€νΈ μμ§:
- domain: tool
- insight_type: tool_discovery
- component: claude-code
- context: "Claude Code μ€ν¬ μμ± μ SKILL.mdλ§ λλ κ²λ³΄λ€ references/ ν΄λμ ꡬ체μ μμ νμΌμ ν¨κ» λμμ λ μ€ν¬ μ€ν μ νλκ° ν¬κ² ν₯μλ¨"
- key_learning: "AI μ€ν¬/ν둬ννΈ μμ± μ μΆμμ μ§μλ³΄λ€ κ΅¬μ²΄μ μμ νμΌμ ν¨κ» μ 곡νλ©΄ μ€ν μ νλκ° λμμ§λ€"
- impact: high
- tags: [claude-code, skill, references, accuracy, prompt-engineering]
- κΈ°μ‘΄ λ¬Έμ κ²μ: knowledge/tool-discoveries/ κ²μ
- νμΌλͺ
μμ±:
20260304-skill-references-improve-accuracy.md
- YAML κ²μ¦: ν΅κ³Ό
- λ¬Έμ μμ±:
knowledge/tool-discoveries/20260304-skill-references-improve-accuracy.md
- κ΅μ°¨ μ°Έμ‘°: μμ (μ μ¬ λ¬Έμ μμ)
μΆλ ₯:
μΈμ¬μ΄νΈκ° κΈ°λ‘λμμ΅λλ€.
νμΌ μμ±:
- knowledge/tool-discoveries/20260304-skill-references-improve-accuracy.md
λ€μ μμ
:
1. κ³μ μ§ν (κΆμ₯)
2. ν¬λ¦¬ν°μ»¬ ν¨ν΄μ μΆκ° - critical-patterns.mdμ μΉκ²©
3. κ΄λ ¨ λ¬Έμ μ°κ²° - μ μ¬ μΈμ¬μ΄νΈμ κ΅μ°¨ μ°Έμ‘°
4. κΈ°μ‘΄ μ€ν¬μ μΆκ° - .claude/skills/μ μ°κ²°
5. λ¬Έμ νμΈ - μμ±λ λ΄μ© 보기