Coach - 자기 개선 학습 시스템
Coach는 Claude가 마찰로부터 학습하고 시간이 지남에 따라 개선될 수 있도록 합니다. 사용자의 수정, 반복된 지시, 도구 실패, 톤 상승과 같은 학습 기회를 감지하고, 실행 가능한 개선 후보를 추출하며, 명시적인 사용자 승인이 필요한 변경 사항을 제안합니다.
핵심 원칙: 무음 쓰기는 없습니다. 모든 개선 사항은 /coach approve를 통해 사용자 승인이 필요합니다.
활성화 트리거
다음 상황에서 활성화됩니다: 사용자 수정( "no", "stop", "don't"), 반복된 지시, 도구/명령 실패, 톤 상승(ALL CAPS, "!!!"), 스킬 보충("also remember..."), 사용 중단된 도구 경고, 명시적 /coach 명령어, 또는 세션 종료.
신호 카테고리 (우선순위 순)
- COMMAND_FAILURE (최우선) - 0이 아닌 종료 코드, stderr 패턴
- USER_CORRECTION (높음) - 명시적인 수정 언어
- SKILL_SUPPLEMENT (높음) - 스킬에 대한 추가 지침
- VERSION_ISSUE (중간-높음) - 사용 중단/구식 경고
- REPETITION (중간) - 의미적으로 유사한 지시 반복
- TONE_ESCALATION (낮음) - 좌절 지표
후보 유형
| 유형 | 설명 | 예시 |
|---|---|---|
rule | 안정적인 제약 조건 | "생성된 파일은 절대 편집하지 않음" |
checklist | 워크플로 단계 | "코드 변경 후 테스트 실행" |
snippet | 반복 가능한 명령어 | "사전 점검 스크립트" |
skill | 스킬 업데이트 제안 | "Y 스킬에 X 지침 추가" |
antipattern | 절대 하지 말아야 할 것 | "도구가 존재한다고 가정하지 않음" |
워크플로 요약
- 탐지 — 훅이 이벤트를 캡처 →
~/.claude-coach/events.sqlite - 생성 — 신호를 제안으로 집계 (지문으로 중복 제거)
- 범위 — 경로/언어별 프로젝트 vs 전역
- 검토 —
/coach review승인/거부/편집 - 적용 — 승인된 규칙 → CLAUDE.md
- 회고 —
/coach retro수동 작업을 스킬 격차에 매핑하고 소스 저장소에 PR 열기
파일 위치
~/.claude-coach/
├── events.sqlite # 원시 마찰 이벤트
├── candidates.json # 대기 중인 제안
└── ledger.sqlite # 저장소 간 지문
~/.claude/ 또는 <repo>/.claude/
├── CLAUDE.md # 규칙 저장소
├── checklists/ # 워크플로 체크리스트
└── snippets/ # 재사용 가능한 명령어
스크립트
${CLAUDE_PLUGIN_ROOT}/scripts/에서 실행:
| 스크립트 | 목적 |
|---|---|
init_coach.py | Coach 시스템 초기화 |
detect_signals.py | 마찰 패턴 감지 |
aggregate.py | 신호를 후보로 변환 |
skill_analyzer.py | 스킬 분석 및 구형 도구 스캔 |
apply.py | 승인된 제안 적용 |
사전 예방적 명령어
/coach scan— 구형 CLI 도구 및 종속성 확인/coach retro— 세션 회고: 수동 작업 분석, 소스에서 스킬 개선을 위한 PR 생성
자세한 아키텍처, 스키마 및 패턴은 references/ 디렉토리를 참조하세요.