Skip to content
learning-tracker logo

Learning Tracker Skill

learning-tracker

Claude Code 세션에서 새로운 기술/라이브러리/개념 학습 내용을 추출하여 TIL 문서로 정리. "학습 정리", "오늘 배운 것", "learning", "세션 요약" 등의 요청 시 자동 적용. TIL 레포지토리(~/dev/TIL)와 연동하여 자동으로 카테고리 분류 및 문서 생성.

SKILL.md

Full skill instructions

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: 학습 내용 분류

추출한 내용을 카테고리별로 분류합니다:

카테고리키워드/패턴
pythonPython, pip, pytest, FastAPI, Django, pandas
javaJava, Spring, Maven, Gradle, JUnit
springSpring Boot, Spring Security, JPA
nodejsNode.js, npm, Express, libuv
aiLangChain, LangGraph, OpenAI, LLM, embedding
security보안, 암호화, 인증, OAuth, JWT
computer-science알고리즘, 자료구조, 동시성, 병렬성
databaseSQL, PostgreSQL, MySQL, Redis
devopsDocker, Kubernetes, CI/​CD, GitHub Actions

Step 3: TIL 문서 초안 생성

추출한 학습 내용으로 TIL 문서 초안을 작성합니다:

# [학습 주제]

[한 줄 설명]

## 결론부터 말하면

[핵심 요약 2-3문장]

## 1. 왜 이걸 배웠나?

[학습하게 된 배경/문제 상황]

## 2. 배운 내용

### 2.1 [핵심 개념 1]
[설명]

### 2.2 [핵심 개념 2]
[설명]

## 3. 코드 예시

[세션에서 작성/참조한 코드]

## 4. 정리

[핵심 포인트 요약]

---

## 출처

- [참조한 문서/링크]

Step 4: 사용자 확인

생성된 초안을 사용자에게 보여주고 확인 요청:

📚 학습 내용 추출 완료!

**감지된 학습 주제:**
1. [주제 1] - python 카테고리
2. [주제 2] - spring 카테고리

**TIL 문서로 작성할까요?**
- 전체 작성
- 특정 주제만 선택
- 수정 후 작성

Step 5: TIL 문서 저장

사용자 확인 후 ~/​dev/​TIL/​{category}/ 경로에 저장:

파일명 규칙:

  • 제목에서 특수문자 제거
  • 공백을 하이픈(-)으로 변환
  • 예: # Python의 contextmanager → Python의-contextmanager.md

자동 추출 예시

예시 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은 전체 테스트 실행 중 한 번만 생성된다.

통합: /​til 스킬과 연동

학습 내용 추출 후 /​til 스킬을 호출하여 완성도 높은 문서 작성 가능:

/​learning-tracker → 초안 생성 → /​til로 다듬기

주의사항

  • README.md는 GitHub Actions가 자동 생성하므로 절대 수정하지 말 것
  • git add, git commit, git push는 사용자가 명시적으로 요청할 때만 실행
  • 민감한 정보(API 키, 비밀번호 등)가 포함된 내용은 제외