Claude-skill-registry learning-tracker

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/learning-tracker" ~/.claude/skills/majiayu000-claude-skill-registry-learning-tracker-c0a766 && rm -rf "$T"
manifest: skills/data/learning-tracker/SKILL.md
source content

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: 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 키, 비밀번호 등)가 포함된 내용은 제외