Update My Knowledge Base after learning something new. Trigger: "/my-knowledge-base update", "update knowledge base", "save what I learned", "지식 업데이트", "배운 거 저장"
Record what you learned in this conversation into your Knowledge Base.
~/.claude/my-knowledge-base/
Knowledge is organized by category:
~/.claude/my-knowledge-base/index.md — Category listing~/.claude/my-knowledge-base/<category>.md — Per-category knowledge fileExtract what the user learned in this conversation:
Decide which category the extracted knowledge belongs to.
From ~/.claude/my-knowledge-base/:
index.md (category listing)NON-NEGOTIABLE: You MUST call the AskUserQuestion tool for this step. Do NOT print options as plain text. Do NOT ask the user to type a number. The AskUserQuestion tool provides interactive selection UI — use it.
For each extracted topic, call AskUserQuestion exactly like this:
{
"questions": [{
"question": "How well do you understand <Topic Name>?",
"header": "Level",
"multiSelect": false,
"options": [
{ "label": "Know it well", "description": "Can explain it to someone else confidently" },
{ "label": "Somewhat uncertain", "description": "Got the gist but not confident on details" },
{ "label": "Don't really get it", "description": "Need to revisit this topic" },
{ "label": "Assess me", "description": "Run a quiz to verify my understanding" }
]
}]
}
Mapping:
When there are multiple topics, ask one question per topic sequentially. Do NOT try to batch all topics into a single text prompt.
Triggered ONLY when:
Assessment flow:
{
"questions": [
{
"question": "Q1: Webhook과 Polling의 핵심 차이는?",
"header": "Q1",
"multiSelect": false,
"options": [
{ "label": "Webhook이 Polling보다 느리다", "description": "" },
{ "label": "Webhook은 이벤트 발생 시 push, Polling은 반복 조회", "description": "" },
{ "label": "잘 모르겠음", "description": "" }
]
},
{
"question": "Q2: Webhook에서 받는 쪽이 해야 하는 일은?",
"header": "Q2",
"multiSelect": false,
"options": [
{ "label": "상대 서버에 반복 요청 보내기", "description": "" },
{ "label": "HTTP POST를 받을 수 있는 URL을 열어놓기", "description": "" },
{ "label": "잘 모르겠음", "description": "" }
]
}
]
}
CRITICAL — AskUserQuestion formatting rules (DO NOT VIOLATE):
label = the full answer text that the user sees and selects. NEVER use "A", "B", "C", "D" as labels.description = always empty string "". NEVER put answer content in description.❓ Uncertain (2/4) — Assessed. <analysis>### <Topic Name>
- **Level**: ❓ Uncertain
- 2026-03-22: ❓ Uncertain — Self-assessed. Understood the basics but not confident on edge cases
DO NOT list raw O/X results. Synthesize what the user knows and where the gaps are.
### <Topic Name>
- **Level**: ❓ Uncertain (2/4)
- 2026-03-22: ❓ Uncertain (2/4) — Assessed. Understands the push/pull cycle and conflict resolution flow. Gaps: doesn't yet grasp the upstream tracking concept (why -u is needed on first push) and the relationship between commit and push (that push only sends committed snapshots, not working directory changes).
❌ BAD (raw O/X listing — NEVER do this):
- 2026-03-22: ❓ Uncertain (2/4) — Assessed: commit 단위 전송(✅), 충돌 시 reject(✅), upstream 설정(❌), commit 없이 push(❌)
✅ GOOD (synthesized analysis):
- 2026-03-22: ❓ Uncertain (2/4) — Assessed. Understands that git transfers commits (not files) and knows the conflict→pull→push flow. Gaps: the concept of upstream branch tracking and the prerequisite of committing before pushing.
NEVER delete existing entries. Append only:
### <Topic Name>
- **Level**: ✅ Know ← update to latest level
- [initial]: ❌ Don't know — Had never encountered this
- 2026-03-20: ❓ Uncertain — Self-assessed after first reading
- 2026-03-22: ✅ Know (4/4) — Assessed. Solid grasp of all core concepts including upstream tracking and commit-push relationship.
Levels can change in any direction:
If two level changes happen on the same date, add HH:MM to disambiguate.
# My Knowledge Base
| Category | File | Entries | Last Updated |
|----------|------|---------|-------------|
| Claude Code | claude-code.md | 12 | 2026-03-22 |
Summarize to the user: