name: learn-log description: 이전 세션의 히스토리를 분석하여 Q&A와 학습 내용을 주간 학습 로그에 정리하는 스킬. "/learn-log", "학습 정리", "배운거 정리" 요청에 사용.
learn-log
개요
이전 세션(또는 현재 세션)의 대화 히스토리를 분석하여, 멘토에게 공유할 주간 학습 로그를 자동 생성/업데이트한다.
Execution Flow
┌─────────────────────────────────────────────────────┐
│ Step 1: 세션 히스토리 탐색 │
│ ─ ~/.claude/projects/ 에서 최근 세션 파일 찾기 │
├─────────────────────────────────────────────────────┤
│ Step 2: 히스토리 분석 에이전트 (병렬 실행) │
│ ┌──────────────┬──────────────┬──────────────┐ │
│ │ qa-extractor │ insight-ext │ output-ext │ │
│ │ (Q&A 추출) │ (인사이트) │ (산출물) │ │
│ ├──────────────┴──────────────┴──────────────┤ │
│ │ blog-candidate-detector (블로그 후보 감지) │ │
│ └─────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────┤
│ Step 3: 학습 로그 파일 업데이트 │
│ ─ ~/Desktop/weekly-learning-log.md 에 append │
├─────────────────────────────────────────────────────┤
│ Step 4: 사용자에게 요약 보고 │
└─────────────────────────────────────────────────────┘
Step 1: 세션 히스토리 탐색
분석 대상 결정
- 사용자가 특정 세션을 지정한 경우 → 해당 세션 파일만 분석
- 지정하지 않은 경우 → 오늘 날짜의 세션 파일들 중 아직 로그에 기록되지 않은 것들을 분석
히스토리 파일 위치
~/.claude/projects/-Users-osejin-Desktop/*.jsonl
~/.claude/projects/-Users-osejin-Desktop-cuddle-market/*.jsonl
~/.claude/projects/-Users-osejin-Desktop-camp-1/*.jsonl
실행할 명령
# 오늘 수정된 세션 파일 찾기
find ~/.claude/projects/ -name "*.jsonl" -maxdepth 2 -mtime 0
# 이미 기록된 세션 ID 확인 (중복 방지)
grep "session-id:" ~/Desktop/weekly-learning-log.md 2>/dev/null
Step 2: 히스토리 분석 에이전트 (병렬 실행)
4개의 에이전트를 동시에 실행한다. 각 에이전트에게 세션 히스토리 파일 경로를 전달한다.
Agent 1: qa-extractor (Q&A 추출)
- 역할: 세션에서 사용자가 질문하고 AI가 답변한 핵심 Q&A를 추출
- 분석 기준:
- 사용자의 "왜?", "어떻게?", "뭐가 다른?", "~인가요?" 등 질문 패턴
- 개념 설명, 기술 비교, 문제 해결 과정
- 단순 명령("해줘", "만들어줘")은 제외하고 학습이 된 대화만 추출
- 출력 형식:
Q: (질문 요약) A: (답변 핵심 요약, 2-3문장)
Agent 2: insight-extractor (인사이트 추출)
- 역할: 세션에서 얻은 기술적 인사이트와 의사결정 과정을 추출
- 분석 기준:
- 새로 알게 된 기술/도구/패턴
- 여러 선택지 중 하나를 고른 의사결정과 그 이유
- 문제 해결 과정에서의 깨달음
- 멘토가 면접에서 설명할 수 있어야 한다고 강조한 부분
- 출력 형식:
- [카테고리] (인사이트 내용)
Agent 3: output-extractor (수행 산출물 추출)
- 역할: 세션에서 실제로 만들어진 파일, 스킬, 설정 등 산출물을 추출
- 분석 기준:
- 새로 생성된 파일 (스킬, 문서, 코드 등)
- 수정/업데이트된 주요 파일
- 설정 변경 (MCP, Hook, 환경 설정 등)
- 단순 탐색/읽기는 제외하고 실제 결과물이 남은 작업만 추출
- 출력 형식:
- (산출물 이름) (파일 경로) (무엇을 만들었고 왜 만들었는지 1-2문장)
Agent 4: blog-candidate-detector (블로그 후보 감지)
- 역할: 세션에서 기술 블로그로 작성할만한 주제를 감지
- 분석 기준:
- 깊이 있는 기술 비교/분석 (예: "React Native vs Flutter", "Hook vs Skill")
- 문제 해결 과정이 드라마틱한 경우 (삽질 → 해결)
- 다른 개발자에게도 도움이 될 만한 인사이트
- 특정 기술의 핵심 개념을 쉽게 설명한 경우
- 아키텍처 의사결정 과정 (Config-driven UI, 크로스플랫폼 설계 등)
- 판단 기준: 단순 설정/명령어는 제외. "다른 개발자가 읽고 도움이 될까?"를 기준으로 판단
- 출력 형식:
- [주제] (제목 제안) 왜 블로그로 쓸만한지: (1-2문장) 관련 세션 내용 요약: (핵심 내용 2-3문장)
Step 3: 학습 로그 파일 업데이트
파일 위치
~/Desktop/weekly-learning-log.md
파일 형식
파일이 없으면 새로 생성하고, 있으면 해당 날짜 섹션에 append한다.
# 주간 학습 로그
## 멘토링 과제
- 당근마켓 자격요건 기반 맞춤 프로젝트 방향 + 공부 로드맵 세우기
- 공부 로드맵 Claude Code 스킬 만들기
- 일주일간 Q&A 및 학습 내용 정리
---
## 2026-03-03 (월)
<!-- session-id: {세션ID} -->
### Q&A
- **Q**: (질문)
**A**: (답변)
### 오늘의 인사이트
- [카테고리] (내용)
### 오늘 수행한 작업
- (산출물 이름) (파일 경로)
(무엇을 만들었고 왜 만들었는지 1-2문장)
### 의사결정 기록
- (선택지들) → (선택한 것) / 이유: (왜 그렇게 결정했는지)
### 블로그 후보
- [주제] **(제목 제안)**
왜 블로그로 쓸만한지: (1-2문장)
관련 내용 요약: (핵심 내용 2-3문장)
---
## 2026-03-04 (화)
...
업데이트 규칙
- 같은 날짜 섹션이 이미 있으면 → 해당 섹션에 새 세션 내용 추가
- 같은 세션 ID가 이미 기록되어 있으면 → 건너뛰기 (중복 방지)
- 날짜 섹션이 없으면 → 새 섹션 생성
Step 4: 사용자에게 요약 보고
보고 형식
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 학습 로그 업데이트 완료
📅 날짜: 2026-03-03 (월)
🆔 세션: {세션ID}
📝 기록된 Q&A: N건
💡 기록된 인사이트: N건
🎯 의사결정 기록: N건
📝 블로그 후보: N건
📁 파일: ~/Desktop/weekly-learning-log.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
주의사항
- 민감한 정보(API 토큰, 비밀번호 등)는 학습 로그에 포함하지 않는다
- Q&A는 학습 가치가 있는 것만 추출한다 (단순 작업 지시는 제외)
- 멘토에게 공유할 목적이므로 읽기 쉽고 명확하게 작성한다