Skip to content

Commit 33bd386

Browse files
minsoo-webclaude
andauthored
feat: add personal-tutor plugin (#8)
* docs: add personal-tutor skill design document Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add personal-tutor implementation plan Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add personal-tutor plugin to marketplace - Add plugins/personal-tutor/ with SKILL.md, knowledge-graph-template.md, plugin.json, README.md - 5-phase adaptive tutoring: Socratic diagnostic → agenda → teaching → quiz → archive - Persistent knowledge graph per topic (gap/partial/understood nodes, Bloom's depth) - Cross-session learner profile with explicit confirmation before write - Register in marketplace.json, bump version 1.1.1 → 1.2.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent afe5fc5 commit 33bd386

7 files changed

Lines changed: 833 additions & 1 deletion

File tree

.claude-plugin/marketplace.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "kit",
33
"description": "Community plugin & skills marketplace for Claude Code",
4-
"version": "1.1.1",
4+
"version": "1.2.0",
55
"owner": {
66
"name": "hamsurang",
77
"email": "zlemzlem5656@naver.com"
@@ -16,6 +16,11 @@
1616
"name": "skill-review",
1717
"source": "./plugins/skill-review",
1818
"description": "Slash-command skill that reviews any SKILL.md against best practices and outputs a structured pass/fail report"
19+
},
20+
{
21+
"name": "personal-tutor",
22+
"source": "./plugins/personal-tutor",
23+
"description": "Adaptive technical tutoring skill that builds a persistent knowledge graph and learner profile across sessions"
1924
}
2025
]
2126
}
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# Personal Tutor Skill — Design Document
2+
3+
**Date:** 2026-03-01
4+
**Status:** Approved
5+
6+
---
7+
8+
## Overview
9+
10+
A Claude Code skill that acts as a personalized technical tutor. The skill guides Claude through structured learning sessions, builds a persistent knowledge graph per topic, and accumulates a learner profile over time to adapt its teaching style — creating a "private tutor that knows you" experience.
11+
12+
**Target scope:** Technical/programming topics (Rust, TypeScript, algorithms, system design, etc.)
13+
14+
---
15+
16+
## Core Flow
17+
18+
```
19+
호출
20+
21+
기존 knowledge-graph 확인
22+
├─ 없음 → Phase 1: Socratic Diagnostic
23+
└─ 있음 → Phase 2: Agenda Planning (프로파일 로드)
24+
25+
Phase 2: Agenda Planning
26+
27+
Phase 3: Teaching (Socratic + reference 인용)
28+
29+
Phase 4: Verification Quiz
30+
31+
Phase 5: Archive (관찰 확인 → 저장)
32+
```
33+
34+
---
35+
36+
## Phase Design
37+
38+
### Phase 1: Socratic Diagnostic (첫 세션만)
39+
40+
- 5–7개 open-ended 질문으로 선행 지식 맵핑
41+
- 마지막에 레퍼런스 자료 확인: "참고하고 싶은 책/문서/강의 있어?"
42+
- 있으면: `knowledge-graph.md` 상단에 저장, 레퍼런스 구조 참조해 커리큘럼 힌트로 활용
43+
- 없으면: Claude가 직접 커리큘럼 구성
44+
- 결과물: `knowledge-graph.md` 초기 생성 (모든 노드 `gap` 상태)
45+
46+
### Phase 2: Agenda Planning
47+
48+
세션 구성 원칙:
49+
- **새 개념 1–2개**: `gap` 노드 중 prerequisites 충족된 것 우선
50+
- **복습 1개**: `partial` 노드 중 가장 오래된 것
51+
- returning 사용자: 이전 `partial` 노드 복습 퀴즈를 세션 첫머리에 배치
52+
53+
`learner-profile.md`의 패턴 참조해서 teaching 방식 사전 조정.
54+
55+
### Phase 3: Teaching
56+
57+
- Claude 주도 커리큘럼, 레퍼런스는 보조 역할
58+
- 설명 중 인용: "The Rust Book 4장에서 이 예제 봐봐"
59+
- 심화 안내: "더 보고 싶으면 해당 챕터 참고"
60+
- 루프: 설명 → 소크라테스 Q&A → 이해 확인
61+
- 막히면: 비유 / 코드 예시 / 역질문으로 다른 각도 재설명
62+
- `learner-profile`의 "잘 반응하는 방식" 참조해서 접근법 조정
63+
64+
### Phase 4: Verification Quiz
65+
66+
3가지 포맷 중 컨텍스트에 맞게 선택:
67+
68+
| 포맷 | 예시 | 측정하는 것 |
69+
|------|------|------------|
70+
| **Feynman** | "5살한테 설명해봐" | 내재화 수준 |
71+
| **Apply** | "이 코드에서 뭐가 문제야?" | 적용 능력 |
72+
| **Analyze** | "왜 이렇게 설계됐을까?" | 깊이 이해 |
73+
74+
힌트 사용 여부 트래킹 (노드 승급 기준에 사용).
75+
76+
### Phase 5: Archive
77+
78+
세션 종료 시:
79+
1. **노드 상태 업데이트** (승급 규칙 적용)
80+
2. **세션 로그 저장** (`sessions/YYYY-MM-DD-session-N.md`)
81+
3. **관찰 내용 제시 + 확인**: "오늘 이런 패턴 관찰했는데 저장할까?"
82+
- 확인 후 `learner-profile.md` 업데이트
83+
84+
---
85+
86+
## Knowledge Graph
87+
88+
### 노드 상태 머신
89+
90+
```
91+
gap
92+
↓ (이번 세션 퀴즈 통과, 힌트 무관)
93+
partial
94+
↓ (다음 세션 복습 퀴즈 힌트 없이 통과)
95+
understood
96+
```
97+
98+
깊이는 **Bloom's Taxonomy** 기반:
99+
`recall``apply``explain`
100+
101+
### knowledge-graph.md 형식
102+
103+
```markdown
104+
# {Topic} Knowledge Graph
105+
106+
Reference: The Rust Programming Language (https://doc.rust-lang.org/book/)
107+
108+
## Nodes
109+
110+
### Ownership
111+
- Status: partial
112+
- Depth: apply
113+
- Prerequisites: []
114+
- Quiz history:
115+
- 2026-03-01: passed (hint used) → gap→partial
116+
117+
### Borrowing
118+
- Status: gap
119+
- Depth: -
120+
- Prerequisites: [Ownership]
121+
- Quiz history: []
122+
123+
### Lifetimes
124+
- Status: gap
125+
- Depth: -
126+
- Prerequisites: [Ownership, Borrowing]
127+
- Quiz history: []
128+
```
129+
130+
**엣지 케이스:**
131+
- `understood` 노드 + 마지막 세션 30일+ 경과 → 가벼운 복습 퀴즈 제안
132+
- 퀴즈 완전 실패 → 노드 강등 없음, `learner-profile`에 "재강화 필요" 메모
133+
134+
---
135+
136+
## Learner Profile
137+
138+
### learner-profile.md 형식
139+
140+
```markdown
141+
# Learner Profile
142+
143+
## 학습 패턴
144+
- 잘 반응하는 방식: C++ 비유, 구체적 예시 먼저
145+
- 약한 방식: 추상적 형식 표기, 이론 설명 먼저
146+
- 학습 방향: 구체 → 추상 (bottom-up)
147+
148+
## 관찰된 약점 패턴
149+
- 타입 시스템 계열은 평균 2세션 필요
150+
- 처음엔 "알겠다" 하지만 퀴즈에서 구멍 드러나는 경향
151+
152+
## 토픽별 이력
153+
- Rust: 3세션 (Ownership ✓, Borrowing ⚠, Lifetimes ✗)
154+
```
155+
156+
업데이트 방식: 세션 종료 시 Claude가 관찰 내용 제시 → 사용자 확인 후 저장.
157+
158+
---
159+
160+
## Storage Structure
161+
162+
```
163+
~/.claude/learning/
164+
learner-profile.md
165+
topics/
166+
rust/
167+
knowledge-graph.md
168+
sessions/
169+
2026-03-01-session-1.md
170+
2026-03-08-session-2.md
171+
typescript/
172+
knowledge-graph.md
173+
sessions/
174+
```
175+
176+
---
177+
178+
## Applied Learning Science
179+
180+
| 원칙 | 적용 지점 |
181+
|------|----------|
182+
| **Bloom's Taxonomy** | 노드 깊이 트래킹 (recall/apply/explain) |
183+
| **Zone of Proximal Development** | prerequisites 충족된 노드만 가르침 |
184+
| **Retrieval Practice** | 퀴즈 없이 세션 종료 불가 |
185+
| **Feynman Technique** | 퀴즈 포맷 중 하나 |
186+
| **Spaced Repetition** | A+B 승급 기준 (이번 세션 + 다음 세션 검증) |
187+
| **Interleaving** | 새 개념 + 기존 partial 복습 혼합 |
188+
| **Cognitive Load Theory** | 세션당 새 개념 최대 1–2개 |
189+
190+
---
191+
192+
## Skill Iron Rules
193+
194+
1. **퀴즈 없이 세션 끝내지 말 것** — Retrieval Practice 필수
195+
2. **prerequisites 미충족 개념 가르치지 말 것** — ZPD 존중
196+
3. **아카이빙 없이 세션 종료하지 말 것** — 학습 이력 보존
197+
4. **learner-profile은 확인 없이 자동 저장하지 말 것** — 사용자 확인 필수
198+
199+
---
200+
201+
## Skill File Structure
202+
203+
```
204+
~/.claude/skills/personal-tutor/
205+
SKILL.md
206+
knowledge-graph-template.md
207+
```

0 commit comments

Comments
 (0)