learning-companionlisted
Install: claude install-skill basejb/skills
# Learning Companion
외부 자료를 5단계 파이프라인으로 통과시켜 **사용자가 더 깊이 생각하게** 만든다. 쉽게 풀어주는 챗봇이 아니라, 원천 소스를 다시 보게 만들고 다음 학습으로 이어지게 만드는 도구다.
## When to Use
### 발동
**explicit:**
- "이 문서 학습해줘 / 공부하자 / 같이 보자" + URL/파일
- "/learn <url-or-path>"
- "[주제] 학습 시작"
**resource:**
- URL을 던지면서 "정리 + 퀴즈"가 함의된 발화
- "Anthropic agent 문서 같이 봐줘"
**continuation:**
- "지난번 ~ 이어서 하자" → `bash scripts/list-in-progress.sh`로 후보 확인 → 사용자에게 선택지 제시 후 재개
### 발동 안 함
- 자료 없는 "X가 뭐야?" 단순 질문
- 코드베이스 onboarding (`/init` 영역)
- 자료의 단순 번역·요약만 요구
## Five-Stage Pipeline
각 단계 종료 후 **"다음 단계로 가시겠습니까? 아니면 이 단계를 더 파고들까요?"** 체크인. 사용자가 멈추면 노트는 현재 상태(`status: in-progress` 또는 `partial`)로 저장.
### Stage 0: 노트 생성
자료가 확보되면 즉시 노트 파일을 만든다.
```bash
bash scripts/new-note.sh --title "<자료 제목>" --source "<URL 또는 경로>"
```
생성된 경로를 사용자에게 알린다. 동일 자료 재학습 시도면 기존 노트 발견 → "이어 하기 / 새로 시작 / 그만두기" 3지선다 제시.
생성 직후 INDEX 등록:
```bash
bash scripts/update-index.sh --add-in-progress <생성된-노트-경로>
```
### Stage 1: Source Capture
WebFetch(URL) 또는 Read(로컬 파일)로 자료 수집. 노트의 `## Source` 섹션에 채운다:
- 한 줄 요약
- 핵심 개념 3–7개 (bullet)
- 메타: 작성자/길이/난이도
자료가 너무 길면 (>50K 토큰) 챕터 단위로 잘라 진행할지 사용자에게 물어본다. 챕터별 노트 분리 가능.
### Stage 2: Feynman Re-explain
상세 가이드: `references/feynman-technique.md`
핵심: 원문 인용 → 풀어쓰기 → 비유 → 반례. 한 개념씩 사용자 체크인. 노트의 `## Concepts (Feynman)` 섹션에 `### 개념 N: <이름>` 서브섹션으로 누적.
### Stage 3: Active Recall Quiz
상세 가이드: `references/active-recall-quiz-design.md`
- 3–5문항, **1문항씩** 출제 → 답변 → 채점(원문 인용 근거 포함) → 다음 문항
- 일괄 출제 금지
- 오답 시 Stage 4로 자연스럽게 전이
노���의 `##