save-learning-log
v1.0.0학습 세션을 끝낼 때 다음에 할 일·숙제·미답변 질문·날짜별 Q&A 요약을 프로젝트 MEMORY.md에 남기고, 다음 세션이 그 지점부터 이어가도록 CLAUDE.md에 연결
설치
호출 이름/save-learning-log:save-learning-log
save-learning-log
학습 세션을 끝낼 때 어디까지 배웠고, 숙제가 무엇이고, 다음에 무엇부터 할지를 프로젝트 레포의 MEMORY.md에 남깁니다. 다음 세션에서는 Claude가 이 파일부터 읽고 그 지점부터 이어갑니다.
뭘 하는지
- 대화에서 한 일, Q&A, 새로 배운 개념, 면접용 문장, 숙제, 답하지 않은 질문을 모읍니다
git status로 현재 브랜치와 커밋 안 된 변경을 실측합니다MEMORY.md맨 위에 📍 다음에 할 일(현재 위치, 시작 순서, 숙제, 미답변 질문)을 두고, 아래에 날짜별 기록을 최신순으로 쌓습니다- 프로젝트
CLAUDE.md에 "세션 시작 시MEMORY.md부터 읽기" 규칙을 한 번만 추가합니다 - 무엇을 적었는지 보고하고, 커밋은 물어본 뒤에만 합니다
왜 이렇게 설계했나
학습은 세션을 넘어가는데 대화는 넘어가지 않는다
사수 모드로 하루 동안 질문 7개를 주고받고 설계를 확정했지만, 다음 날 새 세션은 그걸 모릅니다. 어떤 질문에 답했고, 무엇을 틀렸고, 숙제가 무엇이었는지 사용자가 다시 설명해야 합니다. 그래서 레포 안에 파일로 남기고, CLAUDE.md에서 그 파일을 먼저 읽게 연결했습니다.
Claude 개인 메모리가 아니라 레포에 두는 이유는, 사용자도 직접 열어서 복습하고 레포와 함께 다른 기기로 이동하기 때문입니다.
"다음에 할 일"이 맨 위에 있어야 한다
기록이 쌓이면 파일이 길어집니다. 최신 상태가 맨 아래에 있으면 다음 세션은 긴 기록을 다 읽어야 현재 위치를 압니다. 그래서 현재 위치 섹션은 매번 통째로 교체하고, 날짜별 기록은 최신이 위에 오게 했습니다.
틀린 답을 그대로 적는다
"한 건씩 insert하면 커넥션이 초과된다"는 틀린 답이었습니다. 이걸 교정된 내용("왕복과 커밋 비용이 병목")으로 바꿔 적으면 깔끔해 보이지만, 무엇을 몰랐고 무엇을 배웠는지가 사라집니다. Q&A 표에 내 답과 교정 칸을 나란히 둔 이유입니다. 나중에 다시 읽을 때 성장한 지점이 보입니다.
미답변 질문은 원문으로
"Q8 남음"만 적어두면 다음 세션은 Q8이 무엇이었는지 재구성할 수 없습니다. 질문 문장을 그대로 남겨야 같은 질문을 다시 던질 수 있습니다.
상태는 기억이 아니라 명령으로 확인한다
"브랜치를 만들었으니 거기 있겠지"라고 적으면 틀릴 수 있습니다. git branch --show-current와 git status로 확인한 값만 적습니다. 커밋 안 된 파일 목록은 다음 세션에서 "이거 커밋해야 한다"를 잊지 않게 해줍니다.
쓰는 법
오늘은 여기까지, 어디까지 배웠는지 기록해둬
오늘 교육 내용이랑 숙제 MEMORY.md에 적어줘
다음 세션에서는 해당 프로젝트 폴더에서 Claude를 열기만 하면 CLAUDE.md 규칙에 따라 이어갑니다. mentor-mode-teaching과 같이 쓰도록 만들었습니다.
파일
| 파일 | 역할 |
|---|---|
SKILL.md |
절차: 재료 수집 → 상태 실측 → MEMORY.md 작성·갱신 → CLAUDE.md 연결 → 보고. 세션 시작 시 이어가기 모드 포함 |
template.md |
MEMORY.md 골격: 다음에 할 일, 숙제, 미답변 질문, 날짜별 Q&A 표 |
에이전트가 읽는 절차 — SKILL.md
설치하면 Claude가 실행 중에 참조하는 실제 문서다. 아래 내용이 그대로 동작을 결정한다.
Save Learning Log
Overview
학습형 세션(특히 mentor-mode-teaching)이 끝날 때 어디까지 배웠고 다음에 무엇부터 할지를 프로젝트 레포 안의 MEMORY.md에 남긴다. 다음 세션의 Claude가 이 파일만 읽고 바로 이어갈 수 있어야 한다.
핵심 원칙 다섯 가지:
- 맨 위는 "📍 다음에 할 일"이다. 다음 세션이 가장 먼저 읽을 곳이다. 과거 기록은 그 아래에 날짜별로, 최신이 위로 쌓는다.
- 파일은 프로젝트 레포 안에 둔다. Claude 개인 메모리가 아니라 레포 루트의
MEMORY.md. 레포와 함께 다른 기기·세션으로 이동하고, 사용자도 직접 열어 본다. - 사용자의 답은 있는 그대로 적는다. 틀린 답을 미화하거나 교정 후 버전으로 바꿔 적지 않는다. "내 답"과 "교정"을 나란히 둬야 성장이 보인다.
- 다시 물을 수 있게 원문을 남긴다. 숙제와 미답변 질문은 요약하지 않고 질문 문장 그대로, 번호를 유지해서 적는다.
- 날짜는 절대 날짜로. "오늘", "어제"가 아니라
2026-09-15. 대화 컨텍스트의 현재 날짜를 쓴다.
When to Use
- 사용자가 세션을 끝내거나 중단하면서 기록을 요청할 때
- 학습형 세션에서 교육 내용·숙제·미답변 질문이 생긴 뒤 세션이 끝나갈 때 (먼저 제안만 한다)
- 세션 시작 시 이어가기: 레포에
MEMORY.md가 있으면 읽고 "📍 다음에 할 일"부터 진행한다
Not for: 코드 변경 이력(그건 git log가 한다), 프로젝트 설계 문서(그건 docs에 둔다), 학습이 없는 일반 작업 세션.
절차
1. 대화에서 재료를 모은다
이미 컨텍스트에 있는 대화를 기준으로 한다. transcript 파일을 다시 읽지 않는다. 모을 것:
| 항목 | 예 |
|---|---|
| 한 일 | 기술 스택 결정, 설계 문서 작성, 레포 생성, 외부 체크리스트 체크 |
| Q&A | 질문 번호, 질문 요지, 사용자 답 요약, 교정·보강, 키워드 |
| 새로 배운 도구·개념 | 한두 줄 정의 |
| 면접용 문장 | 피드백에서 나온 🎯 문장들 |
| 숙제 | 사용자가 다음까지 할 것 (파일 경로 포함) |
| 미답변 질문 | 던졌지만 답을 못 받은 질문 원문 |
| 사용자 선호 변화 | 예: "다음엔 개념 설명부터 해줘" |
2. 현재 위치를 실측한다
추측하지 않고 명령으로 확인한다.
git branch --show-current
git status --short
git log --oneline -3
"현재 브랜치", "커밋 안 된 파일", "push 여부"를 적는다.
3. MEMORY.md를 쓰거나 갱신한다
template.md의 골격을 따른다.
- 파일이 없으면: 새로 만든다.
- 파일이 있으면:
- "📍 다음에 할 일" 섹션은 통째로 교체한다. 끝난 숙제·답한 질문은 여기서 빠진다.
- 날짜별 기록은 맨 위에 새 항목을 추가한다. 같은 날짜 항목이 이미 있으면 새로 만들지 않고 거기에 합친다.
- Q 번호는 이전 기록에서 이어간다.
4. 다음 세션이 이 파일을 읽게 연결한다
프로젝트 CLAUDE.md(없으면 AGENTS.md 등 해당 프로젝트의 지시 파일)에 아래 규칙이 없으면 한 번만 추가한다.
## 세션 시작 시
**`MEMORY.md`를 먼저 읽고 "📍 다음에 할 일"부터 이어간다.** 세션을 끝낼 때는 날짜별 교육 내용·숙제·미답변 질문을 `MEMORY.md`에 갱신한다.
사용자 선호 변화(예: 개념 설명을 먼저)가 있었다면 CLAUDE.md의 해당 규칙에도 반영하고, MEMORY.md "다음에 할 일"의 시작 순서에도 넣는다.
5. 보고한다. 커밋은 요청이 있을 때만
- 무엇을 적었는지 섹션 단위로 짧게 요약한다
- 커밋 안 된 변경 목록을 말하고 "지금 커밋할까요, 숙제와 같이 커밋할까요?"라고 묻는다
- 사용자가 요청하기 전에는 커밋·push하지 않는다
이어가기 모드 (세션 시작)
MEMORY.md를 읽는다- "📍 다음에 할 일"의 현재 위치를 한 줄로 알린다
- 숙제 확인 → 미답변 질문 → 다음 작업 순서로 진행한다
- 숙제를 안 했으면 탓하지 않고, 그 자리에서 같이 할지 넘어갈지 묻는다
Common Mistakes
- 최신 상태를 맨 아래에 붙인다 — 다음 세션이 긴 기록을 다 읽어야 현재 위치를 안다. "다음에 할 일"은 항상 맨 위
- 사용자의 틀린 답을 교정된 버전으로 적는다 — "내 답" 칸이 거짓이 되고, 무엇을 배웠는지 사라진다
- 미답변 질문을 "Q8 남음"처럼 번호만 적는다 — 다음 세션에서 질문 내용을 재구성할 수 없다
- 브랜치·커밋 상태를 기억으로 적는다 —
git status로 확인한다 - "오늘", "어제" 같은 상대 날짜 — 파일은 몇 주 뒤에 읽힌다
CLAUDE.md연결을 빠뜨린다 — 파일이 있어도 다음 세션이 안 읽으면 소용없다- 같은 날 두 번 저장하면서 날짜 항목을 중복으로 만든다
- 묻지 않고 커밋·push한다