Code Lesson

코드에서 배우기. Claude가 짠 코드의 구조, 패턴, 로직을 초등학생도 이해할 수 있게 설명해준다. '이거 설명해줘', '코드 설명', '뭘 배울 수 있어', 'code lesson', '이 코드 뭐야', '구조 설명', '어떻게 돌아가는거야' 같은 요청 시 트리거.

kangraemin 8f9b950 2.4 KB Updated

File contents

Code Lesson

세션에서 변경된 코드를 분석해서, 유저가 기술적으로 배울 수 있는 포인트를 쉽게 설명한다.

핵심 원칙

초등학생도 이해할 수 있게.

  • 전문 용어를 쓰면 반드시 비유로 풀어준다
  • "이건 뭐냐면..." 톤으로 설명
  • 코드 → 비유 → 왜 이렇게 하는지 순서

플로우

  1. 변경 감지: git diff HEAD~1 또는 세션에서 변경한 파일 목록 파악
  2. 분석: 변경된 코드에서 배울 만한 포인트 추출
    • 사용된 디자인 패턴
    • 새로운 라이브러리/API 사용법
    • 구조적 결정 (왜 이렇게 나눴는지)
    • 에러 처리 방식
    • 성능 관련 선택
  3. 설명: 각 포인트를 쉽게 설명
  4. 기록: .learnings/ 디렉토리에 저장

설명 형식

각 학습 포인트마다:

### [포인트 제목]

**파일**: `경로/파일명` (라인 N-M)

**뭐냐면**: 한 줄 요약

**비유로 설명하면**: 일상적인 비유로 풀어쓴 설명

**코드에서 보면**:
```코드 조각```

**왜 이렇게 했냐면**: 이유 설명

**이걸 알면 좋은 이유**: 실무에서 어디에 쓰이는지

배울 포인트 판단 기준

기록할 것:

  • 처음 등장하는 패턴/기술 (이 프로젝트에서)
  • 구조적으로 중요한 결정
  • 실수하기 쉬운 부분과 해결 방법
  • 라이브러리의 비직관적인 사용법

기록하지 않을 것:

  • 단순 변수명 변경, 포맷팅
  • 이미 설명한 적 있는 패턴 (.learnings/에서 확인)
  • 설정 파일 변경

저장

경로: <프로젝트>/.learnings/YYYY-MM-DD.md

파일 형식:

# Code Lessons — YYYY-MM-DD

## HH:MM

### [포인트 제목]
(위 설명 형식)

---

날짜별 파일에 append. .learnings/가 없으면 생성.

.gitignore.learnings/가 없으면 추가할지 유저에게 물어본다.

유저 레벨 감지

memory에 유저 정보가 있으면 레벨에 맞춰 조절:

  • 초보: 모든 개념을 비유로 설명
  • 중급: 패턴 이름 + 왜 선택했는지
  • 고급: 트레이드오프, 대안 비교 중심

kangraemin/claude-config/tree/main/skills/code-lesson commit 8f9b950643

Frequently asked questions

npx skillmds@latest add kangraemin/code-lesson