코드리뷰테스트디버깅by affaan-m
학습 평가 커맨드
세션에서 재사용 가능한 패턴을 추출하고, 저장 전에 자체 품질을 평가하며, 적절한 저장 위치(전역 또는 프로젝트)를 결정하는 기능입니다.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
재사용 가능한 코드 패턴을 발견하여 저장하고 싶을 때
SKILL.md
Lattice 한국어 번역 · 원본 affaan-m/everything-claude-code (841beea). 복사 → 저장하면 Claude Code가 인식합니다.
---
description: "세션에서 재사용 가능한 패턴을 추출하고, 저장하기 전에 품질을 자체 평가하며, 올바른 저장 위치(글로벌 vs 프로젝트)를 결정합니다."
---
# /learn-eval - 추출, 평가, 그리고 저장
`/learn` 명령을 확장하여 스킬 파일을 작성하기 전에 품질 검사, 저장 위치 결정 및 지식 배치 인식을 추가합니다.
## 추출할 내용
다음 내용을 찾아보세요:
1. **오류 해결 패턴** — 근본 원인 + 해결책 + 재사용성
2. **디버깅 기술** — 명확하지 않은 단계, 도구 조합
3. **임시 해결책** — 라이브러리 특이점, API 제한 사항, 버전별 수정 사항
4. **프로젝트별 패턴** — 컨벤션, 아키텍처 결정, 통합 패턴
## 프로세스
1. 추출 가능한 패턴이 있는지 세션을 검토합니다.
2. 가장 가치 있고 재사용 가능한 인사이트를 식별합니다.
3. **저장 위치 결정:**
- 질문: "이 패턴이 다른 프로젝트에서도 유용할까요?"
- **글로벌** (`~/.claude/skills/learned/`): 2개 이상의 프로젝트에서 사용 가능한 일반 패턴 (Bash 호환성, LLM API 동작, 디버깅 기술 등).
- **프로젝트** (현재 프로젝트의 `.claude/skills/learned/`): 프로젝트별 지식 (특정 설정 파일의 특이점, 프로젝트별 아키텍처 결정 등).
- 확실하지 않은 경우 글로벌을 선택하세요 (글로벌 → 프로젝트로 이동하는 것이 그 반대보다 쉽습니다).
4. 다음 형식을 사용하여 스킬 파일을 초안으로 작성합니다:
```markdown
---
name: pattern-name
description: "Under 130 characters"
user-invocable: false
origin: auto-extracted
---
# [Descriptive Pattern Name]
**Extracted:** [Date]
**Context:** [Brief description of when this applies]
## Problem
[What problem this solves - be specific]
## Solution
[The pattern/technique/workaround - with code examples]
## When to Use
[Trigger conditions]
```
5. **품질 검사 — 체크리스트 + 종합적인 판단**
### 5a. 필수 체크리스트 (실제로 파일을 읽어 확인)
초안을 평가하기 전에 다음 사항을 **모두** 실행하세요:
- [ ] 키워드로 `~/.claude/skills/` 및 관련 프로젝트의 `.claude/skills/` 파일을 Grep 하여 내용 중복 여부를 확인합니다.
- [ ] MEMORY.md (프로젝트 및 글로벌 모두)에 중복이 있는지 확인합니다.
- [ ] 기존 스킬에 추가하는 것으로 충분한지 고려합니다.
- [ ] 이것이 재사용 가능한 패턴인지, 일회성 수정 사항이 아닌지 확인합니다.
### 5b. 종합적인 판단
체크리스트 결과와 초안 품질을 종합하여 다음 중 **하나**를 선택하세요:
| 판단 |
의미 |
다음 조치 |
|---------|---------|-------------|
| **저장** | 고유하고, 구체적이며, 범위가 적절함 | 6단계로 진행 |
| **개선 후 저장** | 가치 있지만 개선 필요 | 개선 사항 나열 → 수정 → 재평가 (1회) |
| **[X]에 통합** | 기존 스킬에 추가되어야 함 | 대상 스킬 및 추가 내용 표시 → 6단계 |
| **폐기** | 사소하거나, 중복되거나, 너무 추상적임 | 이유 설명 및 중단 |
**판단 지표** (판단에 정보 제공, 점수화되지 않음):
- **구체성 및 실행 가능성**: 즉시 사용 가능한 코드 예시나 명령을 포함합니다.
- **범위 적합성**: 이름, 트리거 조건 및 내용이 하나의 패턴에 맞춰지고 집중되어 있습니다.
- **고유성**: 기존 스킬로 다뤄지지 않는 가치를 제공합니다 (체크리스트 결과에 따라 결정됨).
- **재사용성**: 향후 세션에서 현실적인 트리거 시나리오가 존재합니다.
6. **판단별 확인 흐름**
- **개선 후 저장**: 1회 재평가 후 필요한 개선 사항 + 수정된 초안 + 업데이트된 체크리스트/판단을 제시합니다; 수정된 판단이 **저장**인 경우 사용자 확인 후 저장하고, 그렇지 않으면 새로운 판단을 따릅니다.
- **저장**: 저장 경로 + 체크리스트 결과 + 1줄 판단 근거 + 전체 초안을 제시합니다 → 사용자 확인 후 저장합니다.
- **[X]에 통합**: 대상 경로 + 추가 내용 (diff 형식) + 체크리스트 결과 + 판단 근거를 제시합니다 → 사용자 확인 후 추가합니다.
- **폐기**: 체크리스트 결과 + 이유만 보여줍니다 (확인 불필요).
7. 결정된 위치에 저장 / 통합합니다.
## 5단계 출력 형식
```
### Checklist
- [x] skills/ grep: no overlap (or: overlap found → details)
- [x] MEMORY.md: no overlap (or: overlap found → details)
- [x] Existing skill append: new file appropriate (or: should append to [X])
- [x] Reusability: confirmed (or: one-off → Drop)
### Verdict: Save / Improve then Save / Absorb into [X] / Drop
**Rationale:** (1-2 sentences explaining the verdict)
```
## 설계 근거
이 버전은 이전의 5가지 차원 숫자 점수 채점 방식(특정성, 실행 가능성, 범위 적합성, 비중복성, 커버리지를 1-5점으로 채점)을 체크리스트 기반의 종합적인 판단 시스템으로 대체합니다. 최신 프론티어 모델(Opus 4.6+)은 강력한 문맥적 판단력을 가지고 있으며, 풍부한 정성적 신호를 숫자 점수로 강제하는 것은 미묘한 차이를 잃게 하고 오해의 소지가 있는 총점을 생성할 수 있습니다. 종합적인 접근 방식은 모델이 모든 요소를 자연스럽게 고려하게 하여 더 정확한 저장/폐기 결정을 내리도록 하며, 명시적인 체크리스트는 중요한 점검이 누락되지 않도록 보장합니다.
## 참고 사항
- 사소한 수정 사항(오타, 간단한 구문 오류)은 추출하지 마세요.
- 일회성 문제(특정 API 중단 등)는 추출하지 마세요.
- 향후 세션에서 시간을 절약할 수 있는 패턴에 집중하세요.
- 스킬은 하나의 패턴에 집중하도록 유지하세요.
- 판단이 '통합'일 경우, 새 파일을 생성하는 대신 기존 스킬에 추가하세요.필요한 도구
호버하면 설명CC
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/everything-claude-code-133/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) 재사용 가능한 코드 패턴을 발견하여 저장하고 싶을 때
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.