一键导入
learn
세션 간 학습을 learnings.jsonl에 축적·검색한다. 시행착오를 겪어 재발을 막아야 할 때, 또는 과거에 같은 문제를 어떻게 풀었는지 확인할 때 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
세션 간 학습을 learnings.jsonl에 축적·검색한다. 시행착오를 겪어 재발을 막아야 할 때, 또는 과거에 같은 문제를 어떻게 풀었는지 확인할 때 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | learn |
| description | 세션 간 학습을 learnings.jsonl에 축적·검색한다. 시행착오를 겪어 재발을 막아야 할 때, 또는 과거에 같은 문제를 어떻게 풀었는지 확인할 때 사용한다. |
| context | fork |
| model | haiku |
| allowed-tools | Read, Bash, Glob, Grep |
| argument-hint | save "<내용>" | search "<키워드>" | gc [--apply] | list [--tag <태그>] |
역할: 당신은 프로젝트별 세션 간 학습을 축적·검색·활용하는 학습 관리자입니다. 컨텍스트: 새로운 패턴을 발견했거나 과거 해결법을 찾을 때 호출됩니다. 출력: learnings.jsonl 항목 저장 또는 검색 결과을 반환합니다.
세션 간 프로젝트 학습을 jsonl 파일에 축적하고, 이후 세션에서 자동 참조한다. Auto Memory(워크스페이스 레벨)를 보완하는 프로젝트 레벨 학습 시스템.
| Auto Memory | Learn | |
|---|---|---|
| 범위 | 워크스페이스 전체 | 프로젝트별 |
| 내용 | 사용자 프로필, 피드백, 규칙 | 기술 패턴, 버그 해결, 설정 발견 |
| 형식 | 개별 .md 파일 | 단일 .jsonl (append-only) |
| 접근 | MEMORY.md 인덱스 | /learn 검색 |
{프로젝트 루트}/.claude/learnings.jsonl
예:
~/forge/.claude/learnings.jsonl${FORGE_OUTPUTS:-$HOME/forge-outputs}/09-grants/kocca/2026-문화체육관광RD-스타트업혁신성장/.claude/learnings.jsonl/learn save "HWP 파일은 hwp2pdf로 변환 후 Read해야 함. 직접 Read하면 바이너리 깨짐"
/learn save "grants-write에서 작성요령 span 태그를 삭제하면 검수 FAIL — 절대 삭제 금지"
/learn save "FAISS 인덱스는 개별 노드 삭제 미지원 → 삭제된 파일 있으면 전체 재빌드"
/learn search "HWP"
/learn search "FAISS 삭제"
/learn list # 최근 10개
/learn list --all # 전체
/learn export # 마크다운으로 출력
# learnings.jsonl에 1줄 append
echo '{"ts":"2026-03-30T08:00:00Z","content":"학습 내용","tags":["tag1"],"session":"세션ID"}' >> .claude/learnings.jsonl
# jsonl에서 키워드 검색
grep -i "검색어" .claude/learnings.jsonl | python3 -c "
import sys, json
for line in sys.stdin:
entry = json.loads(line)
print(f'[{entry[\"ts\"][:10]}] {entry[\"content\"]}')"
세션 시작 시 현재 프로젝트의 learnings.jsonl이 있으면 최근 20개를 컨텍스트에 로드한다.
learnings.sh 헬퍼code-reviewer / forge-pge / investigate / forge-fix / codebase-analyzer 가 만드는 디버깅·수정·리뷰·분석 교훈은 learnings.jsonl에만 저장한다 (forge-vault/Obsidian = 리서치 노트 전용 — 코드 경험 금지). 이 용도 항목은 리치 스키마 + ~/.claude/scripts/learnings.sh 헬퍼 경유만 (inline grep/sed/python·shell JSON 조합 금지).
GLOBAL_LEARNINGS = ~/forge/.claude/learnings.jsonl (크로스-프로젝트 교훈)PROJECT_LEARNINGS = $(git rev-parse --show-toplevel)/.claude/learnings.jsonl (현재 작업 repo의 교훈 — append 기본 타겟)ACCESS_LOG = <repo>/.claude/learnings-access.log (미추적 — .gitignore)LEARNINGS_OVERRIDE=<tmp.jsonl> env → 헬퍼의 모든 cmd가 그 단일 파일을 사용 (프로덕션 무변경){"id":"L-<UTC ts>-<8hex>","date":"YYYY-MM-DD","category":"review-pattern|pge-failure|bug-fix-pattern|codebase-delta|process|decision|user-directive|forbidden-pattern","summary":"...","trigger":"...","apply":"...","evidence":"...","status":"active|stale|superseded|dormant","superseded_by":null,"fingerprint":"<review-pattern 전용 — issue.category:bare>","fluency_dimension":"D1|D2|D3|D4"}
fluency_dimension (optional): AI Fluency 4D 차원 태깅 — 아래 4D 섹션 참조. 기존 엔트리 수정 불요.id = collision-safe (timestamp+rand) — 멀티-writer 안전. 레거시 L-NN 무변경.category=="review-pattern" 이면 fingerprint 필수 (형식 ^(logic|security|performance|spec|test|architecture|unknown):.+$).summary·evidence = 1줄 (개행 금지 — 스택트레이스 등은 caller가 1줄 압축 후 append).status 영구 삭제 X — 마킹 또는 GC archive 이관(move)만.LEARN_BY=<comp> bash ~/.claude/scripts/learnings.sh load <category> # active만 stdout, learnings 변경 0, access.log 기록
bash ~/.claude/scripts/learnings.sh append [--global] [--replaces <old-id>] \
--category <c> --summary <s> --apply <a> [--trigger <t>] [--evidence <e>] [--fingerprint <fp>] # 필드 인자만 — shell JSON 조합 금지. sanitize+validate+collision-id+중복가드 자동. exit: 0 성공 / 2 secret 차단 / 3 검증실패 / 4 git repo 아님 / 6 review-pattern 중복
bash ~/.claude/scripts/learnings.sh supersede-current <old-id> <new-id> # global/project에서 old-id 찾아 status:superseded (패턴 해소 시)
bash ~/.claude/scripts/learnings.sh next-id | sanitize-check | validate <json>
/learn gc [--apply] → learn-gc.sh (dry-run 기본; --apply 시 stale/dormant 마킹·archive move)
LEARN_BY=<comp> learnings.sh load <category> → active 교훈 로드 (access.log 자동 기록).learnings.sh append ... → 보고에 📌 신규: <id>. 더 정확한 교훈으로 교체 시 --replaces <old-id>. 패턴 해소 시 supersede-current <old-id> self → 보고에 🧹 정리: <id>.⚠️ <category> learning 억제됨 — <패턴명> 감지, 내용 비노출만 보고 (raw 노출 X). exit 4(git repo 아님) = caller가 learning 내용을 사용자 보고에 노출(손실 0). exit 6(중복) = 침묵.evidence/apply의 path:line·fn()가 무효 → learn-gc.sh만 마킹 (load는 변경 안 함).--replaces 또는 컴포넌트가 결정론적 패턴해소 감지 시 supersede-current./learn gc (dry-run 리포트 기본; --apply 시 stale 90일+ archive move·dormant 마킹). cron 등록은 사용자 /schedule 결정.learnings.jsonl = git-tracked 필수 (sensitive 값 금지 — sanitize-check가 강제). 작업 후 commit+push → 동료 git pull 후 자동 로드. 멀티 브랜치 동시 append = .gitattributes merge=union로 충돌 없이 병합. (단순 숫자 L-NN 폐기 — collision-safe id 사용; 레거시는 유지.)
상세 룰:
~/.claude/rules-on-demand/compounding-knowledge.md
learnings를 4개 역량 차원으로 분류하는 선택적 태깅 체계.
| 차원 | 핵심 질문 | learnings 예시 |
|---|---|---|
| D1 — Delegate (위임) | 무엇을 AI에 맡길지? | "복잡한 grep 탐색 = subagent 위임 (메인 컨텍스트 보호)" |
| D2 — Describe (설명) | 컨텍스트 얼마나 줄지? | "repo 구조 미설명 → 오답 3회. handover 2-paragraph 필수" |
| D3 — Discern (판단) | AI 산출물 어떻게 검토? | "subagent 보고 = 1차 후보. grep 실측 2차 의무 (L-38)" |
| D4 — Diligence (부주의 방지) | 어떤 게이트로 검증? | "self-report = 실측 출력 첨부 의무 (AD-93 W5 룰)" |
bash ~/.claude/scripts/learnings.sh append \
--category bug-fix-pattern \
--summary "..." --apply "..." \
--fluency_dimension D3 # optional
fluency_dimension이 없는 기존 엔트리 = 그대로 유지.
learn-gc-weekly.sh가 주간 4D 분포 통계 제공 (어느 차원 학습 부족인지 식별).
독립 Evaluator subagent가 산출물 품질을 검증합니다.
Evaluator 역할: 산출물 독립 검증
모델: claude-haiku-4-5 (경량, 편향 최소화)
격리: 메인 컨텍스트 오염 방지
판정 기준:
eval_cases.jsonl에 결과 자동 누적.
Multi-worker 검수 스킬 (Codex + Gemini Double / Opus + Codex + Gemini Triple). 단일 Codex 검수 대비 100% 보완 카테고리 커버. 트리거: /cr-multi, /cr-double, /cr-triple, plan/spec 저장 후 자동(CR_MULTI_AUTO=on), plateau 3회 자동 승격.
Forge 하네스 읽기전용 레거시 감사: 낡은룰/중복/과대 전역컨텍스트/넓은 Skill/불필요 Hook·MCP/제품중복 분류. 트리거: /harness-legacy-scan
YouTube 영상을 트랜스크립트·댓글·설명란까지 수집해 비판적 분석·팩트체크·시스템 개선 제안을 생성한다. 사용자가 YouTube URL을 보내거나 영상 분석을 요청할 때 사용한다.
REST API 엔드포인트 HTTP 레벨 E2E 자동 테스트. Spec 또는 OpenAPI(Swagger) YAML/JSON을 읽어 엔드포인트별 테스트 케이스(happy path/인증 실패/잘못된 입력/경계값)를 자동 생성하고 curl로 실행한다. 응답 스키마를 OpenAPI 스펙과 대조해 드리프트를 감지한다. /qa 스킬이 서버/API 프로젝트 감지 시 자동 트리거. 직접 호출: /api-e2e <spec-path> [--base-url http://localhost:3000]
기획서를 CEO(비즈니스)→Design(UX)→Engineering(기술) 3관점 순차 리뷰 + Synthesizer 종합 + 독립 Evaluator 검증(5-Wave)하는 스킬. Phase 3 에이전트 회의 후 자동 트리거. (적대적 Codex 검수는 cr-triple/codex-review 별도 게이트.)
PR 생성 전 develop 대비 feature 브랜치의 성능을 비교하는 스킬. 번들 크기, 테스트 시간, API 응답 시간을 측정. P7 PR 생성 전 자동 트리거.