Learning Tracker Skill
Claude Code 세션에서 새로운 기술, 라이브러리, 개념에 대한 학습 내용을 추출하여 TIL 형식으로 정리합니다.
사용법
/learning-tracker # 현재 세션의 학습 내용 추출
/learning-tracker "주제" # 특정 주제로 필터링하여 추출
Instructions
Step 1: 세션 로그 분석
현재 대화 세션에서 다음 패턴을 찾습니다:
학습 감지 패턴
한국어 키워드:
| 패턴 |
설명 |
| "배웠", "배워" |
학습 완료 표현 |
| "알게 됐", "알았" |
새로운 이해 |
| "처음", "처음으로" |
최초 경험 |
| "새로운", "새롭게" |
새로운 지식 |
| "이해했", "이해됐" |
개념 이해 |
| "몰랐던", "몰랐는데" |
기존 무지 인정 |
| "이렇게 하는구나" |
방법 습득 |
영어 키워드:
| 패턴 |
설명 |
| "TIL", "Today I learned" |
명시적 학습 표현 |
| "learned", "discovered" |
학습/발견 |
| "didn't know", "now I know" |
새로운 지식 |
| "first time" |
최초 경험 |
질문 패턴 (사용자 질문 → 학습 기회):
| 패턴 |
설명 |
| "이게 뭐야?", "이게 뭔가요?" |
개념 질문 |
| "어떻게 해?", "어떻게 하나요?" |
방법 질문 |
| "왜?", "왜 그런가요?" |
이유 질문 |
| "차이가 뭐야?" |
비교 질문 |
기술 학습 지표:
| 지표 |
설명 |
| 새 라이브러리 import |
처음 사용하는 패키지 |
| 새 CLI 도구 사용 |
처음 사용하는 명령어 |
| API 문서 참조 |
WebFetch로 공식 문서 조회 |
| 에러 해결 후 설명 |
문제 해결 과정에서 학습 |
| 코드 설명 요청 |
"이 코드가 뭐야?" |
Step 2: 학습 내용 분류
추출한 내용을 카테고리별로 분류합니다:
| 카테고리 |
키워드/패턴 |
python |
Python, pip, pytest, FastAPI, Django, pandas |
java |
Java, Spring, Maven, Gradle, JUnit |
spring |
Spring Boot, Spring Security, JPA |
nodejs |
Node.js, npm, Express, libuv |
ai |
LangChain, LangGraph, OpenAI, LLM, embedding |
security |
보안, 암호화, 인증, OAuth, JWT |
computer-science |
알고리즘, 자료구조, 동시성, 병렬성 |
database |
SQL, PostgreSQL, MySQL, Redis |
devops |
Docker, Kubernetes, CI/CD, GitHub Actions |
Step 3: 학습 내용 요약 생성
추출한 학습 내용을 구조화하여 정리합니다 (저장용 포맷은 각 스킬이 담당):
# 학습 추출 결과
주제: [학습 주제]
카테고리: [python, java, spring, ai, etc.]
한줄요약: [핵심 내용 1문장]
학습_포인트:
- [핵심 개념 1]: [설명]
- [핵심 개념 2]: [설명]
코드_예시: |
[세션에서 작성/참조한 코드]
배경: [왜 이걸 배우게 됐는지]
출처: [참조한 문서/링크]
참고: 이 요약은 /til 스킬에 전달되며, 최종 포맷은 해당 스킬이 적용합니다.
Step 4: 사용자 확인
생성된 초안을 사용자에게 보여주고 확인 요청:
📚 학습 내용 추출 완료!
**감지된 학습 주제:**
1. [주제 1] - python 카테고리
2. [주제 2] - spring 카테고리
**TIL로 저장할까요?**
→ `/til` 스킬 호출
Step 5: 저장 (다른 스킬에 위임)
사용자 선택에 따라 해당 스킬을 호출하여 저장을 위임:
| 선택 |
호출 스킬 |
전달 내용 |
| TIL 문서 |
/til |
추출된 주제, 카테고리, 학습 내용 요약 |
중요: learning-tracker는 직접 파일을 저장하지 않음. 포맷과 저장 규칙은 /til 스킬이 담당.
자동 추출 예시
예시 1: 라이브러리 사용
세션 대화:
사용자: httpx로 비동기 요청 어떻게 해?
Claude: httpx.AsyncClient를 사용하면 됩니다...
추출 결과:
# Python httpx로 비동기 HTTP 요청하기
## 결론부터 말하면
httpx는 requests와 유사한 API를 제공하면서 async/await를 지원하는 HTTP 클라이언트다.
`AsyncClient`를 context manager로 사용하면 connection pooling까지 자동 관리된다.
예시 2: 개념 이해
세션 대화:
사용자: 왜 Spring에서 @Transactional이 private 메서드에서 안 먹어?
Claude: Spring AOP는 프록시 기반이라서...
추출 결과:
# Spring @Transactional이 private 메서드에서 작동하지 않는 이유
## 결론부터 말하면
Spring의 @Transactional은 프록시 기반 AOP로 동작한다.
private 메서드는 프록시가 가로챌 수 없어서 트랜잭션이 적용되지 않는다.
예시 3: 문제 해결
세션 대화:
사용자: pytest에서 fixture 스코프가 뭐야?
Claude: fixture의 생명주기를 결정합니다. function, class, module, session...
추출 결과:
# pytest fixture scope 이해하기
## 결론부터 말하면
fixture scope는 fixture 인스턴스의 생명주기를 결정한다.
function(기본값)은 매 테스트마다, session은 전체 테스트 실행 중 한 번만 생성된다.
워크플로우
learning-tracker는 추출 전용 스킬로, 저장은 다른 스킬에 위임:
/learning-tracker
↓
세션 분석 & 학습 내용 추출
↓
사용자에게 추출 결과 확인
↓
TIL 저장
└─ TIL 문서 → /til 스킬 호출 → ~/dev/TIL/{category}/
핵심 원칙: 포맷/저장 규칙은 /til 스킬이 담당. learning-tracker는 추출만 수행.
주의사항
- learning-tracker는 추출만 수행. 파일 저장은
/til 스킬이 담당
- 민감한 정보(API 키, 비밀번호 등)가 포함된 내용은 추출에서 제외
- 저장 관련 규칙(파일명, 경로, git 작업 등)은 각 스킬의 지침을 따름
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: learning-tracker3description: Use when user says "learning summary", "what I learned today", "오늘 뭐 배웠지", "session summary", "학습 정리", or wants to extract learnings from current session. Do NOT use for session handoff (use session-handoff), development work logs (use devlog), or direct TIL/note creation (use til or obsidian-note).4---56# Learning Tracker Skill78Claude Code 세션에서 **새로운 기술, 라이브러리, 개념**에 대한 학습 내용을 추출하여 TIL 형식으로 정리합니다.910## 사용법1112```bash13/learning-tracker # 현재 세션의 학습 내용 추출14/learning-tracker "주제" # 특정 주제로 필터링하여 추출15```1617## Instructions1819### Step 1: 세션 로그 분석2021현재 대화 세션에서 다음 패턴을 찾습니다:2223#### 학습 감지 패턴2425**한국어 키워드:**26| 패턴 | 설명 |27|------|------|28| "배웠", "배워" | 학습 완료 표현 |29| "알게 됐", "알았" | 새로운 이해 |30| "처음", "처음으로" | 최초 경험 |31| "새로운", "새롭게" | 새로운 지식 |32| "이해했", "이해됐" | 개념 이해 |33| "몰랐던", "몰랐는데" | 기존 무지 인정 |34| "이렇게 하는구나" | 방법 습득 |3536**영어 키워드:**37| 패턴 | 설명 |38|------|------|39| "TIL", "Today I learned" | 명시적 학습 표현 |40| "learned", "discovered" | 학습/발견 |41| "didn't know", "now I know" | 새로운 지식 |42| "first time" | 최초 경험 |4344**질문 패턴 (사용자 질문 → 학습 기회):**45| 패턴 | 설명 |46|------|------|47| "이게 뭐야?", "이게 뭔가요?" | 개념 질문 |48| "어떻게 해?", "어떻게 하나요?" | 방법 질문 |49| "왜?", "왜 그런가요?" | 이유 질문 |50| "차이가 뭐야?" | 비교 질문 |5152**기술 학습 지표:**53| 지표 | 설명 |54|------|------|55| 새 라이브러리 import | 처음 사용하는 패키지 |56| 새 CLI 도구 사용 | 처음 사용하는 명령어 |57| API 문서 참조 | WebFetch로 공식 문서 조회 |58| 에러 해결 후 설명 | 문제 해결 과정에서 학습 |59| 코드 설명 요청 | "이 코드가 뭐야?" |6061### Step 2: 학습 내용 분류6263추출한 내용을 카테고리별로 분류합니다:6465| 카테고리 | 키워드/패턴 |66|----------|------------|67| `python` | Python, pip, pytest, FastAPI, Django, pandas |68| `java` | Java, Spring, Maven, Gradle, JUnit |69| `spring` | Spring Boot, Spring Security, JPA |70| `nodejs` | Node.js, npm, Express, libuv |71| `ai` | LangChain, LangGraph, OpenAI, LLM, embedding |72| `security` | 보안, 암호화, 인증, OAuth, JWT |73| `computer-science` | 알고리즘, 자료구조, 동시성, 병렬성 |74| `database` | SQL, PostgreSQL, MySQL, Redis |75| `devops` | Docker, Kubernetes, CI/CD, GitHub Actions |7677### Step 3: 학습 내용 요약 생성7879추출한 학습 내용을 구조화하여 정리합니다 (저장용 포맷은 각 스킬이 담당):8081```yaml82# 학습 추출 결과83주제: [학습 주제]84카테고리: [python, java, spring, ai, etc.]85한줄요약: [핵심 내용 1문장]8687학습_포인트:88 - [핵심 개념 1]: [설명]89 - [핵심 개념 2]: [설명]9091코드_예시: |92 [세션에서 작성/참조한 코드]9394배경: [왜 이걸 배우게 됐는지]95출처: [참조한 문서/링크]96```9798**참고**: 이 요약은 `/til` 스킬에 전달되며, 최종 포맷은 해당 스킬이 적용합니다.99100### Step 4: 사용자 확인101102생성된 초안을 사용자에게 보여주고 확인 요청:103104```105📚 학습 내용 추출 완료!106107**감지된 학습 주제:**1081. [주제 1] - python 카테고리1092. [주제 2] - spring 카테고리110111**TIL로 저장할까요?**112→ `/til` 스킬 호출113```114115### Step 5: 저장 (다른 스킬에 위임)116117사용자 선택에 따라 해당 스킬을 호출하여 저장을 위임:118119| 선택 | 호출 스킬 | 전달 내용 |120|------|-----------|-----------|121| TIL 문서 | `/til` | 추출된 주제, 카테고리, 학습 내용 요약 |122123**중요**: learning-tracker는 직접 파일을 저장하지 않음. 포맷과 저장 규칙은 `/til` 스킬이 담당.124125---126127## 자동 추출 예시128129### 예시 1: 라이브러리 사용130131**세션 대화:**132```133사용자: httpx로 비동기 요청 어떻게 해?134Claude: httpx.AsyncClient를 사용하면 됩니다...135```136137**추출 결과:**138```markdown139# Python httpx로 비동기 HTTP 요청하기140141## 결론부터 말하면142143httpx는 requests와 유사한 API를 제공하면서 async/await를 지원하는 HTTP 클라이언트다.144`AsyncClient`를 context manager로 사용하면 connection pooling까지 자동 관리된다.145```146147### 예시 2: 개념 이해148149**세션 대화:**150```151사용자: 왜 Spring에서 @Transactional이 private 메서드에서 안 먹어?152Claude: Spring AOP는 프록시 기반이라서...153```154155**추출 결과:**156```markdown157# Spring @Transactional이 private 메서드에서 작동하지 않는 이유158159## 결론부터 말하면160161Spring의 @Transactional은 프록시 기반 AOP로 동작한다.162private 메서드는 프록시가 가로챌 수 없어서 트랜잭션이 적용되지 않는다.163```164165### 예시 3: 문제 해결166167**세션 대화:**168```169사용자: pytest에서 fixture 스코프가 뭐야?170Claude: fixture의 생명주기를 결정합니다. function, class, module, session...171```172173**추출 결과:**174```markdown175# pytest fixture scope 이해하기176177## 결론부터 말하면178179fixture scope는 fixture 인스턴스의 생명주기를 결정한다.180function(기본값)은 매 테스트마다, session은 전체 테스트 실행 중 한 번만 생성된다.181```182183---184185## 워크플로우186187learning-tracker는 **추출 전용** 스킬로, 저장은 다른 스킬에 위임:188189```190/learning-tracker191 ↓192세션 분석 & 학습 내용 추출193 ↓194사용자에게 추출 결과 확인195 ↓196TIL 저장197 └─ TIL 문서 → /til 스킬 호출 → ~/dev/TIL/{category}/198```199200**핵심 원칙**: 포맷/저장 규칙은 `/til` 스킬이 담당. learning-tracker는 추출만 수행.201202---203204## 주의사항205206- learning-tracker는 **추출만** 수행. 파일 저장은 `/til` 스킬이 담당207- 민감한 정보(API 키, 비밀번호 등)가 포함된 내용은 추출에서 제외208- 저장 관련 규칙(파일명, 경로, git 작업 등)은 각 스킬의 지침을 따름209210---211> Converted and distributed by [TomeVault](https://tomevault.io/claim/sskim91) — claim your Tome and manage your conversions.212<!-- tomevault:4.0:skill_md:2026-04-15 -->