cs-drilllisted
Install: claude install-skill iceberggymnast/skills
# CS Drill — 실작업이 안 던져주는 것을 배운다
## 이 스킬이 다루는 것
| 상황 | 담당 |
|---|---|
| **커리큘럼의 개념을 처음부터 배우기** | **이 스킬** |
| **배운 것을 간격을 두고 다시 확인하기** | **이 스킬** |
| Claude가 짠 코드를 설명 못 하는 것 | `senior-mentor` 모드 C/L |
| 내가 짠 코드 리뷰 (알고리즘 풀이 포함) | `senior-mentor` 모드 R |
| 대화 중 개념 질문에 답이 새 개념을 가르침 | `senior-mentor` 모드 Q |
**두 스킬이 재는 것이 다르다.** `senior-mentor`는 "이미 존재하는 코드를 설명하는가"를 재고(이해 부���), 이 스킬은 "안 배운 것을 배웠는가"를 잰다(미학습). 재료의 출처��� 반대다 — 앞은 작업이 던져주고, 뒤는 목록이 정한다.
## 원장
`~/.claude/cs-progress.md` 하나다. 커리큘럼·진도·학습 항목·스킵 기록이 전부 거기 있다.
**`comprehension-debt.md`에 쓰지 않는다.** 그 파일의 분포는 AI 코드 이해도를 재는 지표이고, 여기 결과를 섞으면 두 지표의 혼합이 되어 어느 쪽도 못 읽는다. 원작성자 실행에서 다른 지표를 그 원장에 얹었다가 같은 날 되돌린 사례가 있다 — 지표를 섞으면 원장이 통과 도장이 된다.
## 발동 경로 셋
### 1. 명시적 요청
"CS 공부하자", "복습할 거 있어?" 등. 원장을 읽고 아래 "고르는 순서"대로 하나를 낸다.
### 2. 세션 시작 훅
`~/.claude/hooks/cs-due.ps1`이 `due:` 날짜가 지난 항목 **개수만** 알린다. 개념명은 알리지 않는다 — 이름을 밝히면 사용자가 노트를 먼저 읽고 답할 수 있어서 재대조가 무효가 된다(`senior-mentor`의 겨냥 규칙과 같다).
알림을 받으면 **묻고 시작한다.** "지금 하나 볼까요"가 아니라 곧바로 문제를 내면 작업 흐름을 끊는다. 사용자가 아니라고 하면 스킵 기록 한 줄을 남기고 끝낸다.
### 3. 실작업 중 인접 개념이 스쳤을 때
대화에서 커리큘럼과 닿는 개념이 나왔을 때, **답변을 완전히 마친 뒤** 인접 항목 하나를 제안한다.
**`senior-mentor` 모드 Q와 경계를 지킨다.** 사용자가 개념 질문을 했으면 그 문답 자체는 모드 Q 소유이고 `comprehension-debt.md`로 간다. 이 스킬��� 그 뒤에 붙어 **커리큘럼 항목 하나를 제안**할 뿐이고, 진행되면 `cs-progress.md`에만 적재한다. **같은 사건�� 두 원장에 들어가지 않는다.**
- 제안은 한 건. 목록을 늘어놓지 않는다
- 거절당하면 그대로 넘어간다. 스킵 기록도 남기지 않는다 — 사용자가 요청한 적 없는 제안이다
## 고르는 순서
1. **`due:`가 지난 항목** — 오래 지난 것부터
2. 없으면 **실작업과 닿은 영역**의 미착수 항목
3. 그것도 없으면 커리큘럼 위에서부터