oh-my-customcode 0.156.2 → 0.157.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +5 -7
  2. package/dist/cli/index.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +1 -1
  5. package/templates/.claude/agents/arch-speckit-agent.md +1 -1
  6. package/templates/.claude/agents/sys-memory-keeper.md +3 -39
  7. package/templates/.claude/hooks/hooks.json +1 -1
  8. package/templates/.claude/hooks/scripts/plugin-cache-check.sh +1 -1
  9. package/templates/.claude/ontology/agents.yaml +4 -4
  10. package/templates/.claude/ontology/graphs/agent-skill.json +199 -68
  11. package/templates/.claude/ontology/graphs/full-graph.json +1240 -330
  12. package/templates/.claude/ontology/graphs/skill-rule.json +30 -13
  13. package/templates/.claude/ontology/rules.yaml +3 -3
  14. package/templates/.claude/ontology/skills.yaml +0 -31
  15. package/templates/.claude/profiles/data-eng.json +0 -1
  16. package/templates/.claude/profiles/harness-dev.json +0 -1
  17. package/templates/.claude/profiles/minimal.json +1 -2
  18. package/templates/.claude/profiles/web-app.json +1 -2
  19. package/templates/.claude/rules/MUST-completion-verification.md +14 -0
  20. package/templates/.claude/rules/SHOULD-memory-integration.md +9 -87
  21. package/templates/.claude/skills/agent-eval-framework/SKILL.md +2 -3
  22. package/templates/.claude/skills/crg-integration/SKILL.md +1 -10
  23. package/templates/.claude/skills/dev-review/SKILL.md +1 -2
  24. package/templates/.claude/skills/goal/SKILL.md +1 -1
  25. package/templates/.claude/skills/instinct-extractor/SKILL.md +0 -2
  26. package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +0 -19
  27. package/templates/.claude/skills/peer-messaging/SKILL.md +0 -2
  28. package/templates/.claude/skills/semble-integration/SKILL.md +0 -1
  29. package/templates/CLAUDE.md +3 -20
  30. package/templates/CLAUDE.md.en +2 -18
  31. package/templates/CLAUDE.md.ko +2 -18
  32. package/templates/guides/agent-design/ralph-loop-pattern.md +2 -2
  33. package/templates/guides/agent-eval/README.md +15 -35
  34. package/templates/guides/claude-code/15-version-compatibility.md +7 -7
  35. package/templates/guides/external-tools/ecc-absorption-decisions.md +2 -2
  36. package/templates/guides/harness-engineering/README.md +2 -2
  37. package/templates/guides/middleware-patterns/README.md +3 -5
  38. package/templates/guides/skill-promotion/instinct-extraction.md +1 -1
  39. package/templates/guides/token-efficiency/crg.md +7 -8
  40. package/templates/manifest.json +3 -3
  41. package/templates/.claude/skills/memory-management/SKILL.md +0 -240
  42. package/templates/.claude/skills/memory-recall/SKILL.md +0 -172
  43. package/templates/.claude/skills/memory-save/SKILL.md +0 -128
  44. package/templates/guides/agentmemory-migration/measure-step-zero.md +0 -120
  45. package/templates/guides/agentmemory-migration/phase-1-coexist.md +0 -261
@@ -78,7 +78,7 @@ oh-my-customcode로 구동됩니다.
78
78
  |----|------|------|
79
79
  | R003 | 상호작용 규칙 | 응답 원칙, 상태 형식 |
80
80
  | R004 | 오류 처리 | 오류 수준, 복구 전략 |
81
- | R011 | 메모리 통합 | claude-mem을 통한 세션 지속성 |
81
+ | R011 | 메모리 통합 | 세션 메모리 지속성 |
82
82
  | R012 | HUD 상태줄 | 실시간 상태 표시 |
83
83
  | R013 | Ecomode | 배치 작업 토큰 효율성 |
84
84
  | R019 | Ontology-RAG 라우팅 | 라우팅 스킬의 ontology-RAG enrichment |
@@ -103,8 +103,6 @@ oh-my-customcode로 구동됩니다.
103
103
  | `/omcustom-takeover` | 기존 에이전트/스킬에서 canonical spec 추출 |
104
104
  | `/dev-review` | 코드 베스트 프랙티스 리뷰 |
105
105
  | `/dev-refactor` | 코드 리팩토링 |
106
- | `/memory-save` | 세션 컨텍스트를 claude-mem에 저장 |
107
- | `/memory-recall` | 메모리 검색 및 리콜 |
108
106
  | `/omcustom:monitoring-setup` | OTel 콘솔 모니터링 활성화/비활성화 |
109
107
  | `/omcustom:npm-publish` | npm 레지스트리에 패키지 배포 |
110
108
  | `/omcustom:npm-version` | 시맨틱 버전 관리 |
@@ -129,7 +127,7 @@ project/
129
127
  +-- CLAUDE.md # 진입점
130
128
  +-- .claude/
131
129
  | +-- agents/ # 서브에이전트 정의 (44 파일)
132
- | +-- skills/ # 스킬 (74 디렉토리)
130
+ | +-- skills/ # 스킬 (118 디렉토리)
133
131
  | +-- rules/ # 전역 규칙 (R000-R020)
134
132
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
135
133
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
@@ -208,10 +206,6 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
208
206
  # 코드 리뷰
209
207
  /dev-review src/main.go
210
208
 
211
- # 메모리 관리
212
- /memory-save
213
- /memory-recall authentication
214
-
215
209
  # 검증
216
210
  /omcustom:sauron-watch
217
211
  ```
@@ -230,12 +224,6 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
230
224
  | obsidian-skills | - | 옵시디언 마크다운 지원 |
231
225
  | context7 | claude-plugins-official | 라이브러리 문서 조회 |
232
226
 
233
- ### 권장 MCP 서버
234
-
235
- | 서버 | 용도 |
236
- |------|------|
237
- | claude-mem | 세션 메모리 영속성 (Chroma 기반) |
238
-
239
227
  ### 설치 명령어
240
228
 
241
229
  ```bash
@@ -246,10 +234,6 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
246
234
  /plugin install superpowers
247
235
  /plugin install superpowers-developing-for-claude-code
248
236
  /plugin install elements-of-style
249
-
250
- # MCP 설정 (claude-mem)
251
- npm install -g claude-mem
252
- claude-mem setup
253
237
  ```
254
238
 
255
239
  <!-- omcustom:git-workflow -->
@@ -9,7 +9,7 @@ LLM 에이전트는 세션 종료 시 누적된 맥락(tacit knowledge, 실패
9
9
 
10
10
  ## Claude Code 통합
11
11
 
12
- - **claude-mem MCP**: feedback memories + session archives를 영속 저장소로
12
+ - **native auto-memory**: feedback memories + session archives를 영속 저장소로 (R011)
13
13
  - **sys-memory-keeper 에이전트**: 세션 종료 시 Ralph Loop 요약 수행
14
14
  - **R011 Memory Integration**: native auto-memory를 Ralph Loop의 primary writer로
15
15
 
@@ -18,7 +18,7 @@ LLM 에이전트는 세션 종료 시 누적된 맥락(tacit knowledge, 실패
18
18
  1. **Bootstrap**: 세션 시작 시 MEMORY.md에서 이전 Ralph Loop 요약 로드
19
19
  2. **Evolve**: 세션 진행 중 발견한 새 패턴/실패를 feedback memory에 기록
20
20
  3. **Compact**: 세션 종료 시 sys-memory-keeper가 Ralph Loop 요약을 MEMORY.md 업데이트
21
- 4. **Persist**: claude-mem MCP에 long-term save (cross-session search)
21
+ 4. **Persist**: native auto-memory에 long-term save (cross-session 지속성은 R011 참조)
22
22
 
23
23
  ## Anti-patterns
24
24
 
@@ -536,9 +536,7 @@ LangChain Deep Agents 방법론은 에이전트 작업을 6개 capability로 분
536
536
  | 도구/에이전트 | 역할 |
537
537
  |---------------|------|
538
538
  | 네이티브 auto-memory | agent frontmatter `memory:` 필드 — MEMORY.md |
539
- | `claude-mem` MCP | 크로스 세션 검색 (`save_memory`, `search_memory`) |
540
- | `episodic-memory` MCP | 대화 자동 인덱싱 |
541
- | `sys-memory-keeper` | 메모리 정리·업데이트 전담 에이전트 |
539
+ | `sys-memory-keeper` | 메모리 정리·업데이트 전담 에이전트 (MEMORY.md 관리) |
542
540
 
543
541
  **conversation**
544
542
 
@@ -594,50 +592,32 @@ LangSmith 없이 oh-my-customcode 환경에서 에이전트 실행을 추적하
594
592
 
595
593
  | LangChain 컴포넌트 | 역할 | oh-my-customcode 대안 |
596
594
  |--------------------|----|----------------------|
597
- | LangSmith trace | step별 실행 기록 수집 | claude-mem `save_memory` per step |
598
- | Polly (record/replay) | 결정론적 재현을 위한 trace 녹화·재생 | episodic-memory 검색 (`search`) |
595
+ | LangSmith trace | step별 실행 기록 수집 | MEMORY.md `## Metrics` 섹션 per step 기록 |
596
+ | Polly (record/replay) | 결정론적 재현을 위한 trace 녹화·재생 | `.claude/outputs/evals/{task-id}/context.md` 환경 스냅샷 |
599
597
  | Insights dashboard | 집계 메트릭 시각화 | statusline.sh (R012) + omcustom-improve-report |
600
598
  | Annotation UI | ideal trajectory 편집 GUI | YAML 직접 편집 (.claude/outputs/evals/) |
601
599
  | Run comparison | 에이전트 버전 간 성능 비교 | git diff 기반 수동 비교 |
602
600
 
603
- ### 5.2 claude-mem 기반 Step Trace
601
+ ### 5.2 MEMORY.md 기반 Step Trace
604
602
 
605
- 각 tool call 완료 후 claude-mem에 step record를 저장한다:
603
+ 각 tool call 완료 후 MEMORY.md `## Metrics` 섹션에 step record를 기록한다:
606
604
 
607
605
  ```
608
- # 의사코드 agent-eval-framework 스킬이 내부적으로 실행
609
- mcp__plugin_claude-mem_mcp-search__save_memory(
610
- content="[eval-step] task=file_ops_001 step=1 tool=Read target=src/main.go elapsed_ms=142 status=ok",
611
- metadata={
612
- "type": "eval_step",
613
- "task_id": "file_ops_001",
614
- "step": 1,
615
- "tool": "Read",
616
- "elapsed_ms": 142
617
- }
618
- )
606
+ # MEMORY.md ## Metrics 섹션 예시
607
+ ## Metrics
608
+ - [eval-step] task=file_ops_001 step=1 tool=Read target=src/main.go elapsed_ms=142 status=ok
609
+ - [eval-step] task=file_ops_001 step=2 tool=Edit target=src/main.go elapsed_ms=198 status=ok
619
610
  ```
620
611
 
621
- 세션 종료 `search_memory(query="eval-step task=file_ops_001")`으로 전체 trace 재구성.
622
-
623
- **한계**: claude-mem은 문자열 기반 저장이므로 구조화 쿼리가 제한적이다. 복잡한 집계는 저장된 record를 Read로 불러와 수동 파싱해야 한다.
612
+ 세션 `MEMORY.md`를 Read하여 전체 trace 재구성 가능.
624
613
 
625
614
  **우회법**: step record를 `.claude/outputs/evals/{task-id}/trace.jsonl`에 병행 기록하면 `Bash(jq)` 파이프라인으로 집계 가능하다.
626
615
 
627
- ### 5.3 episodic-memory 기반 재현
628
-
629
- `episodic-memory` MCP는 대화를 자동 인덱싱한다. 이전 eval 실행을 재현하거나 참조할 때 활용:
630
-
631
- ```
632
- # 이전 eval 실행 검색
633
- mcp__plugin_episodic-memory_episodic-memory__search(
634
- query="agent-eval task file_ops_001"
635
- )
636
- ```
616
+ ### 5.3 환경 스냅샷 기반 재현
637
617
 
638
- **한계**: episodic-memory는 대화 단위 인덱싱이므로 step 단위 세밀도가 낮다. Polly의 결정론적 재현과 달리, 동일 결과를 보장하지 않는다.
618
+ eval 실행 `.claude/outputs/evals/{task-id}/context.md`에 환경 스냅샷을 저장한다. 이전 eval 실행을 재현하거나 참조할 해당 파일을 컨텍스트로 주입한다.
639
619
 
640
- **우회법**: eval 실행 `.claude/outputs/evals/{task-id}/context.md`에 환경 스냅샷을 저장하고, 재현 해당 파일을 컨텍스트로 주입한다.
620
+ **한계**: 결정론적 재현을 보장하지 않는다. 동일 결과를 얻으려면 실행 환경(파일 상태, 모델 버전)이 동일해야 한다.
641
621
 
642
622
  ### 5.4 statusline.sh + omcustom-improve-report 기반 대시보드
643
623
 
@@ -689,8 +669,8 @@ events:
689
669
 
690
670
  | LangChain 컴포넌트 | 역할 | oh-my-customcode 대안 |
691
671
  |--------------------|------|----------------------|
692
- | LangSmith trace | step별 실행 기록 수집 | claude-mem `save_memory` per step (5.2) |
693
- | Polly (record/replay) | 결정론적 재현 | episodic-memory 검색 (5.3) |
672
+ | LangSmith trace | step별 실행 기록 수집 | MEMORY.md `## Metrics` 섹션 (5.2) |
673
+ | Polly (record/replay) | 결정론적 재현 | 환경 스냅샷 context.md (5.3) |
694
674
  | Insights dashboard | 집계 메트릭 시각화 | statusline.sh + omcustom-improve-report (5.4) |
695
675
  | **LangSmith OTEL export** | **표준 OTEL span 수집** | **trajectory-otel mode (5.5, #1035)** |
696
676
 
@@ -12,7 +12,7 @@ oh-my-customcode v0.107.0 targets Claude Code v2.1.116+. All v2.1.117-119 additi
12
12
  **Key changes relevant to oh-my-customcode:**
13
13
 
14
14
  - `CLAUDE_CODE_FORK_SUBAGENT=1` enables forked subagents on external builds — relevant for R018 Agent Teams expansion
15
- - Main-thread agent `mcpServers` frontmatter loading via `--agent` — broadens MCP integration scope (affects sys-memory-keeper, claude-mem users)
15
+ - Main-thread agent `mcpServers` frontmatter loading via `--agent` — broadens MCP integration scope (affects sys-memory-keeper and native auto-memory users)
16
16
  - `/model` persistence across restarts — reduces repeated model selection in long sessions
17
17
  - `/resume` summarization of stale sessions — aligns with R013 ecomode context budget
18
18
  - Concurrent MCP server startup — shorter session bootstrap
@@ -80,7 +80,7 @@ claude plugin details superpowers
80
80
 
81
81
  `.mcp.json` 편집 후 CC 재시작 없이 `reconnect` 명령으로 변경사항을 반영합니다. 연결 실패 시 HTTP 상태 코드와 URL이 표시됩니다.
82
82
 
83
- **oh-my-customcode 연관**: `claude-mem`, `ontology-rag` 등 MCP 서버 설정 변경 시 재시작 없이 적용 — 긴 세션 중단 없이 R011 메모리 통합을 재설정할 수 있습니다.
83
+ **oh-my-customcode 연관**: `ontology-rag` 등 MCP 서버 설정 변경 시 재시작 없이 적용 — 긴 세션 중단 없이 R011 메모리 통합을 재설정할 수 있습니다.
84
84
 
85
85
  ### Transcript View 네비게이션 단축키
86
86
 
@@ -197,7 +197,7 @@ export CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1
197
197
  export MCP_TOOL_TIMEOUT=120000 # 120초 (밀리초 단위)
198
198
  ```
199
199
 
200
- **oh-my-customcode 연관**: `claude-mem`, `ontology-rag` 등 원격 MCP 서버를 사용하는 R011/R019 연동에서 타임아웃 문제가 있었다면 이 변수로 해결 가능. 네트워크 지연이 큰 환경에서 MCP 도구 호출 실패율 감소 기대.
200
+ **oh-my-customcode 연관**: `ontology-rag` 등 원격 MCP 서버를 사용하는 R019 연동에서 타임아웃 문제가 있었다면 이 변수로 해결 가능. 네트워크 지연이 큰 환경에서 MCP 도구 호출 실패율 감소 기대.
201
201
 
202
202
  ### BG 세션 / Git Worktree Edit 차단 수정
203
203
 
@@ -670,7 +670,7 @@ Auto mode에서 user 또는 skill이 명시적으로 요청한 경우 `AskUserQu
670
670
 
671
671
  1페이지 이후의 항목이 누락되던 버그가 수정되었습니다.
672
672
 
673
- **oh-my-customcode 연관**: `ListMcpResourcesTool` 페이지네이션 안정성이 개선됩니다. `claude-mem`, `ontology-rag` 등 R011/R019 MCP 서버에서 리소스 목록이 많은 경우 전체 항목이 정상 조회됩니다. 호환, 개선.
673
+ **oh-my-customcode 연관**: `ListMcpResourcesTool` 페이지네이션 안정성이 개선됩니다. `ontology-rag` 등 R019 MCP 서버에서 리소스 목록이 많은 경우 전체 항목이 정상 조회됩니다. 호환, 개선.
674
674
 
675
675
  ### `CLAUDE_CODE_SUBAGENT_MODEL` 자식 프로세스 전파 수정
676
676
 
@@ -814,7 +814,7 @@ v2.1.147에서 도입된 regression으로, 일부 사용자에게서 Bash 도구
814
814
 
815
815
  `/usage`가 limits 사용량 분석을 카테고리별로 표시합니다: skills, subagents, plugins, per-MCP-server 비용 세분화.
816
816
 
817
- **oh-my-customcode 연관**: R013 ecomode 토큰 추적, R012 statusline, `token-efficiency-audit` 스킬과 연관됩니다. per-MCP 비용 가시성 덕분에 `claude-mem`, `ontology-rag` 등 R011/R019 MCP 서버의 비용을 모니터링할 수 있습니다. 호환, 개선.
817
+ **oh-my-customcode 연관**: R013 ecomode 토큰 추적, R012 statusline, `token-efficiency-audit` 스킬과 연관됩니다. per-MCP 비용 가시성 덕분에 `ontology-rag` 등 R019 MCP 서버의 비용을 모니터링할 수 있습니다. 호환, 개선.
818
818
 
819
819
  ### `/diff` 키보드 스크롤 지원
820
820
 
@@ -985,7 +985,7 @@ dispatch 입력의 자동완성이 프로젝트 스킬뿐 아니라 네이티브
985
985
  - stateful MCP 서버 reconnect-loop regression 수정 (v2.1.147 도입)
986
986
  - 백그라운드 세션 다수 UX/안정성 수정
987
987
 
988
- **oh-my-customcode 연관**: MCP 정책 수정은 R011 claude-mem / R019 ontology-rag 서버 동작에 영향 가능합니다. `subagent_type: 'claude'` gitignored 경로 수정은 R010 subagent 델리게이션 시 `.claude/outputs/` 아티팩트 채널 사용 신뢰성을 높입니다.
988
+ **oh-my-customcode 연관**: MCP 정책 수정은 R011 native auto-memory R019 ontology-rag 서버 동작에 영향 가능합니다. `subagent_type: 'claude'` gitignored 경로 수정은 R010 subagent 델리게이션 시 `.claude/outputs/` 아티팩트 채널 사용 신뢰성을 높입니다.
989
989
 
990
990
  ### oh-my-customcode 연관 평가
991
991
 
@@ -1058,7 +1058,7 @@ Claude가 스스로 판단할 수 있는 상황에서는 multiple-choice prompt
1058
1058
  - `rm -rf $HOME` trailing slash 경우 위험 경로 차단 수정 (R001 보안 강화)
1059
1059
  - 배경 에이전트 worktree 격리 guard 수정 (공유 체크아웃 write 방지)
1060
1060
 
1061
- **oh-my-customcode 연관**: `CLAUDE_CODE_SESSION_ID` 전달은 R011 메모리 MCP 서버(`claude-mem`, `agentmemory`)의 세션 스코핑에 활용 가능합니다. `rm -rf $HOME` trailing slash 수정은 R001 안전 규칙 강화입니다.
1061
+ **oh-my-customcode 연관**: `CLAUDE_CODE_SESSION_ID` 전달은 R011 native auto-memory의 세션 스코핑에 활용 가능합니다. `rm -rf $HOME` trailing slash 수정은 R001 안전 규칙 강화입니다.
1062
1062
 
1063
1063
  ### oh-my-customcode 연관 평가
1064
1064
 
@@ -57,8 +57,8 @@ pre-flight 단계를 담당하는 이 패턴은 compilation pipeline을 완성
57
57
  `skill-extractor`가 현재 세션의 행동 패턴을 skill로 승격한다면,
58
58
  `instinct-extractor`는 누적 세션에서 반복 패턴을 자동 감지합니다.
59
59
  두 도구는 trigger가 다릅니다 (단일 세션 vs 누적 히스토리).
60
- R016 Continuous Improvement 루프를 강화하며, 내부 구조(agent-memory + claude-mem)로
61
- 구현 가능하므로 외부 의존성이 없습니다.
60
+ R016 Continuous Improvement 루프를 강화하며, 내부 구조(agent-memory + 네이티브 자동 메모리)로
61
+ 구현 가능하므로 외부 의존성이 없습니다. (원문에서 claude-mem 언급은 #1253에 의해 제거됨)
62
62
 
63
63
  ---
64
64
 
@@ -230,7 +230,7 @@ oh-my-customcode에서의 현황:
230
230
  4. 메모리 저장: feedback_doom_loop_{날짜}.md → 세션 간 패턴 누적
231
231
  ```
232
232
 
233
- 크로스-세션 패턴 감지에는 `adaptive-harness --learn` + claude-mem MCP를 연동해 동일 실패 패턴이 반복 보고되는 에이전트를 자동 플래그합니다.
233
+ 크로스-세션 패턴 감지에는 `adaptive-harness --learn` + native auto-memory(R011)를 연동해 동일 실패 패턴이 반복 보고되는 에이전트를 자동 플래그합니다.
234
234
 
235
235
  ### Pre-completion Checklist
236
236
 
@@ -330,7 +330,7 @@ oh-my-customcode 내에서 이 주기는 다음으로 구현됩니다:
330
330
  | 1 | **Filesystems** | 파일 읽기/쓰기/탐색 도구 | Read / Write / Edit / Glob / Grep | ✅ 완비 |
331
331
  | 2 | **Bash/Code Execution** | 코드 실행 + 에이전트 격리 | Bash 도구 + agent isolation (`isolation: worktree\|sandbox`) | ✅ 완비 |
332
332
  | 3 | **Sandboxes** | 실행 환경 격리 | R006 `isolation: worktree \| sandbox` + `sandboxFailIfUnavailable: true` | ✅ 완비 |
333
- | 4 | **Memory & Search** | 세션 간 지식 유지 + 검색 | claude-mem MCP + episodic-memory + `.claude/agent-memory/` (R011) | ✅ 완비 |
333
+ | 4 | **Memory & Search** | 세션 간 지식 유지 + 검색 | native auto-memory + `.claude/agent-memory/` (R011) | ✅ 완비 |
334
334
  | 5 | **Context Management** | 컨텍스트 예산 관리 + 압축 | R013 ecomode + auto-injection + Deep Insight Context Handoff Pattern | ✅ 완비 |
335
335
  | 6 | **Long-Horizon Execution** | 장기 실행 + 복수 에이전트 조율 | Agent Teams + `worker-reviewer-pipeline` + `omcustom-loop` SubagentStop hook | ✅ 완비 |
336
336
 
@@ -22,7 +22,7 @@ LangChain이 정의한 6개의 lifecycle hook은 다음과 같습니다. 각 단
22
22
 
23
23
  | LangChain Hook | 설명 | oh-my-customcode 대응 | 스킬/훅 예시 |
24
24
  |---|---|---|---|
25
- | `before_agent` | 에이전트 전체 실행 시작 전 | `SessionStart`, `UserPromptSubmit` hook | claude-mem session-start, omcustom-loop 초기화 |
25
+ | `before_agent` | 에이전트 전체 실행 시작 전 | `SessionStart`, `UserPromptSubmit` hook | MEMORY.md 자동 주입, omcustom-loop 초기화 |
26
26
  | `before_model` | 모델 호출 직전 (매 추론 루프마다) | `PreToolUse(Agent)`, pre-generation-arch-check | pre-generation-arch-check 스킬 |
27
27
  | `wrap_model_call` | 모델 호출 자체를 래핑 (실제 호출 제어) | Tier 4 permission approval (Bash/WebFetch) | permission hooks, bypassPermissions 게이트 |
28
28
  | `wrap_tool_call` | 도구 호출을 래핑 (전후 모두 제어) | `PreToolUse(*) + PostToolUse(*)` | action-validator, task-outcome-recorder |
@@ -33,7 +33,7 @@ LangChain이 정의한 6개의 lifecycle hook은 다음과 같습니다. 각 단
33
33
 
34
34
  **`before_agent` → SessionStart / UserPromptSubmit**
35
35
 
36
- 에이전트가 실행을 시작하기 전에 필요한 컨텍스트를 주입하거나 상태를 초기화합니다. oh-my-customcode에서는 `SessionStart` 훅이 이 역할을 담당합니다. claude-mem세션 시작 시 메모리 로드, MEMORY.md 자동 주입이 전형적인 `before_agent` 패턴입니다. R007의 에이전트 식별 헤더 출력도 이 단계의 산물입니다.
36
+ 에이전트가 실행을 시작하기 전에 필요한 컨텍스트를 주입하거나 상태를 초기화합니다. oh-my-customcode에서는 `SessionStart` 훅이 이 역할을 담당합니다. native auto-memory의 MEMORY.md 자동 주입이 전형적인 `before_agent` 패턴입니다. R007의 에이전트 식별 헤더 출력도 이 단계의 산물입니다.
37
37
 
38
38
  **`before_model` → PreToolUse(Agent) + pre-generation-arch-check**
39
39
 
@@ -69,7 +69,6 @@ oh-my-customcode에서는 이 패턴이 다음 방식으로 구현됩니다:
69
69
 
70
70
  - **입력 마스킹**: `UserPromptSubmit` 훅에서 정규식 기반 PII 패턴 제거 (현재는 rule-level 권고)
71
71
  - **메모리 위생**: `sys-memory-keeper`가 MEMORY.md에 민감 데이터를 저장하지 않도록 R011에서 명시
72
- - **episodic-memory 분리**: 대화 인덱싱 전 민감 세션은 제외 처리
73
72
  - **audit trail**: `PostToolUse` 훅이 도구 호출 기록을 남기되, 시크릿/토큰은 stdout/stderr에 노출하지 않음
74
73
 
75
74
  신규 PII 마스킹 미들웨어를 작성한다면 `before_agent`(세션 전체 PII 정책 초기화)와 `wrap_tool_call`(개별 도구 호출의 인자 검사) 두 단계의 조합으로 설계하는 것을 권장합니다.
@@ -131,7 +130,6 @@ oh-my-customcode에서 이 패턴은 R004의 재시도 정책으로 명문화되
131
130
  |---|---|---|
132
131
  | `SessionStart` hook | 훅 이벤트 | 세션 초기화, 메모리 로드 |
133
132
  | `UserPromptSubmit` hook | 훅 이벤트 | 사용자 입력 전처리, PII 검사 |
134
- | claude-mem session-start | MCP 패턴 | 이전 세션 컨텍스트 복원 |
135
133
  | R007 에이전트 식별 헤더 | 규칙 | 에이전트 신원 선언 |
136
134
  | MEMORY.md 자동 주입 | 네이티브 기능 | 200줄 메모리 컨텍스트 주입 |
137
135
 
@@ -194,7 +192,7 @@ oh-my-customcode에서 이 패턴은 R004의 재시도 정책으로 명문화되
194
192
 
195
193
  ```
196
194
  [before_agent]
197
- SessionStart → MEMORY.md 로드 → claude-mem 컨텍스트 복원
195
+ SessionStart → MEMORY.md 로드 → 이전 세션 컨텍스트 복원
198
196
 
199
197
  [before_model]
200
198
  pre-generation-arch-check → 아키텍처 경계 검증
@@ -111,4 +111,4 @@ R016 Defect Response Matrix에서 **Skill Promotion** 조건:
111
111
  - `.claude/rules/MUST-agent-design.md` — context fork cap (12/12)
112
112
  - `guides/skill-bundle-design/README.md` — skill 설계 패턴
113
113
  - Issue #1175 — instinct-extractor 흡수 결정 맥락
114
- - Issue #1169 AgentMemory 마이그레이션 (transcript format 안정화 전제)
114
+ - (Issue #1169 AgentMemory 마이그레이션 항목은 #1253에 의해 제거됨)
@@ -1,7 +1,7 @@
1
1
  # CRG (code-review-graph) 통합 가이드
2
2
 
3
3
  > **출처**: [tirth8205/code-review-graph](https://github.com/tirth8205/code-review-graph)
4
- > **관련 이슈**: #1171 (scout:integrate), #1169 (Phase β AgentMemory 전환)
4
+ > **관련 이슈**: #1171 (scout:integrate)
5
5
  > **wrapper 스킬**: `.claude/skills/crg-integration/SKILL.md`
6
6
 
7
7
  ## CRG 개요
@@ -186,14 +186,14 @@ context ≥ 60%에서 파일 직접 읽기 대신 CRG를 우선 사용한다:
186
186
 
187
187
  ## 기존 자산 마이그레이션 매핑
188
188
 
189
- Phase β에서 claude-mem 일부 기능을 CRG로 전환할 예정이다 (#1169).
189
+ CRG는 코드베이스 탐색 패턴의 일부를 대체할 있다.
190
190
 
191
- | 기존 자산 | CRG 대체 도구 | 전환 시점 |
192
- |----------|--------------|---------|
193
- | `claude-mem:smart-explore` | `query_graph` | Phase β |
194
- | `claude-mem:pathfinder` | `get_impact_radius` | Phase β |
191
+ | 기존 패턴 | CRG 대체 도구 |
192
+ |----------|--------------|
193
+ | 전체 파일 Read 후 함수 탐색 | `query_graph` |
194
+ | 변경 영향 범위 수동 파악 | `get_impact_radius` |
195
195
 
196
- **Phase β 완료 전까지**: 두 자산을 병행 사용. CRG를 우선 시도하고, 결과가 불충분하면 기존 자산 사용.
196
+ CRG를 우선 시도하고, 결과가 불충분하면 Grep/Glob 등 기존 도구를 사용한다.
197
197
 
198
198
  ## 트러블슈팅
199
199
 
@@ -212,7 +212,6 @@ Phase β에서 claude-mem 일부 기능을 CRG로 전환할 예정이다 (#1169)
212
212
  - **wrapper 스킬**: `.claude/skills/crg-integration/SKILL.md`
213
213
  - **관련 이슈**:
214
214
  - #1171: scout:integrate CRG (이 가이드의 origin)
215
- - #1169: Phase β AgentMemory 전환 시퀀싱
216
215
  - **관련 규칙**:
217
216
  - R001 (MUST-safety.md): auto-install 금지 정책
218
217
  - R013 (SHOULD-ecomode.md): context budget 관리, ecomode 통합
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.156.2",
2
+ "version": "0.157.1",
3
3
  "lastUpdated": "2026-05-20T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",
@@ -20,13 +20,13 @@
20
20
  "name": "skills",
21
21
  "path": ".claude/skills",
22
22
  "description": "Reusable skill modules (includes slash commands)",
23
- "files": 121
23
+ "files": 118
24
24
  },
25
25
  {
26
26
  "name": "guides",
27
27
  "path": "guides",
28
28
  "description": "Reference documentation",
29
- "files": 58
29
+ "files": 57
30
30
  },
31
31
  {
32
32
  "name": "hooks",
@@ -1,240 +0,0 @@
1
- ---
2
- name: memory-management
3
- description: Memory persistence operations using claude-mem
4
- scope: core
5
- user-invocable: false
6
- ---
7
-
8
- ## Purpose
9
-
10
- Provide memory persistence operations using claude-mem for session context survival across compactions.
11
-
12
- ## Operations
13
-
14
- ### 1. Save Context
15
-
16
- ```yaml
17
- operation: save
18
- description: Store session context in claude-mem
19
- steps:
20
- 1. Collect session data:
21
- - Tasks completed
22
- - Decisions made
23
- - Open items
24
- - Key code changes
25
- 2. Format document:
26
- - Add project tag: "my-project"
27
- - Add session ID: {date}-{uuid}
28
- - Add relevant tags
29
- 3. Store in claude-mem:
30
- - Use chroma_add_documents
31
- - Include metadata
32
- ```
33
-
34
- ### 2. Recall Context
35
-
36
- ```yaml
37
- operation: recall
38
- description: Search and retrieve relevant memories
39
- steps:
40
- 1. Build query:
41
- - Always prefix with "my-project"
42
- - Add user-provided search terms
43
- - Include date for temporal searches
44
- 2. Search claude-mem:
45
- - Use chroma_query_documents
46
- - Request top N results
47
- 3. Format results:
48
- - Sort by relevance
49
- - Present summary
50
- - Provide access to full content
51
- ```
52
-
53
- ### 3. Get Specific Memory
54
-
55
- ```yaml
56
- operation: get
57
- description: Retrieve specific memory by ID
58
- steps:
59
- 1. Use chroma_get_documents with ID
60
- 2. Return full document content
61
- ```
62
-
63
- ## Query Patterns
64
-
65
- ### Semantic Search (Primary)
66
-
67
- ```python
68
- # Always include project name
69
- chroma_query_documents(["my-project {search_terms}"])
70
-
71
- # Examples:
72
- chroma_query_documents(["my-project authentication flow"])
73
- chroma_query_documents(["my-project 2025-01-24 memory system"])
74
- ```
75
-
76
- ### Get by ID
77
-
78
- ```python
79
- # When you have a specific document ID
80
- chroma_get_documents(ids=["document_id"])
81
- ```
82
-
83
- ## Document Format
84
-
85
- ### Save Format
86
-
87
- ```yaml
88
- content: |
89
- ## Session Summary
90
- Date: {date}
91
- Session: {session_id}
92
-
93
- ### Tasks Completed
94
- - Task 1: Description
95
- - Task 2: Description
96
-
97
- ### Decisions Made
98
- - Decision 1: Rationale
99
- - Decision 2: Rationale
100
-
101
- ### Open Items
102
- - Item 1: Status
103
- - Item 2: Status
104
-
105
- ### Notes
106
- Additional context...
107
-
108
- metadata:
109
- project: my-project
110
- session: {date}-{uuid}
111
- tags: [session, task, decision, ...]
112
- created_at: {timestamp}
113
- ```
114
-
115
- ### Recall Response Format
116
-
117
- ```yaml
118
- results:
119
- - id: doc_1
120
- score: 0.95
121
- summary: "Authentication flow implementation"
122
- date: 2025-01-20
123
- tags: [authentication, oauth]
124
- - id: doc_2
125
- score: 0.87
126
- summary: "JWT token decision"
127
- date: 2025-01-18
128
- tags: [authentication, decision]
129
- ```
130
-
131
- ## Best Practices
132
-
133
- ### Query Tips
134
-
135
- ```yaml
136
- do:
137
- - Always include "my-project" prefix
138
- - Use semantic, intent-based queries
139
- - Include dates for temporal searches
140
- - Use multiple queries for better coverage
141
-
142
- dont:
143
- - Use complex where filters ($and, $or)
144
- - Omit project name
145
- - Use overly generic terms
146
- - Expect exact string matching
147
- ```
148
-
149
- ### Save Tips
150
-
151
- ```yaml
152
- do:
153
- - Include meaningful tags
154
- - Write clear summaries
155
- - Capture decisions with rationale
156
- - Note open items for future reference
157
-
158
- dont:
159
- - Save trivial conversations
160
- - Include sensitive data (API keys, etc.)
161
- - Create duplicate entries
162
- ```
163
-
164
- ## Integration
165
-
166
- ### With sys-memory-keeper Agent
167
-
168
- ```
169
- sys-memory-keeper agent uses this skill for:
170
- - sys-memory-keeper:save command
171
- - sys-memory-keeper:recall command
172
- - PreCompact hook
173
- - SessionStart hook
174
- ```
175
-
176
- ### With Other Agents
177
-
178
- ```
179
- Other agents can trigger memory operations via:
180
- - Direct sys-memory-keeper:save/recall commands
181
- - Delegating to sys-memory-keeper
182
- ```
183
-
184
- ## Error Handling
185
-
186
- ```yaml
187
- save_errors:
188
- - Connection failure: Retry 3 times, then log and continue
189
- - Invalid format: Validate before save, report issues
190
- - Storage full: Archive old memories, then retry
191
-
192
- recall_errors:
193
- - No results: Suggest alternative queries
194
- - Connection failure: Return empty with warning
195
- - Invalid query: Help user reformulate
196
- ```
197
-
198
- ## MemKraft Bridge (Optional)
199
-
200
- > External integration: [MemKraft](https://github.com/seojoonkim/memkraft) — zero-dependency compound memory for AI agents.
201
- > Install: `pipx install memkraft`
202
-
203
- ### When to Use
204
-
205
- | Capability | claude-mem | MemKraft |
206
- |-----------|-----------|----------|
207
- | Session persistence | ✅ (Chroma) | ✅ (Markdown) |
208
- | Entity tracking | ❌ | ✅ (person/org/concept) |
209
- | Source attribution | ❌ | ✅ (`[Source: who, when, how]`) |
210
- | Auto-maintenance | ❌ | ✅ (Dream Cycle) |
211
- | CJK entity extraction | ❌ | ✅ (Korean/Chinese/Japanese) |
212
- | Offline search | ❌ | ✅ (stdlib difflib) |
213
-
214
- Use MemKraft when entity tracking or source attribution is needed. Use claude-mem for simple session persistence.
215
-
216
- ### Commands
217
-
218
- ```bash
219
- # Extract entities from a document
220
- memkraft extract <file>
221
-
222
- # Get a brief on a topic
223
- memkraft brief <topic>
224
-
225
- # Run maintenance cycle (dedup, prune orphans)
226
- memkraft dream
227
- ```
228
-
229
- ### Integration with sys-memory-keeper
230
-
231
- At session end, sys-memory-keeper can optionally run MemKraft operations:
232
-
233
- 1. `memkraft extract` on session summary → builds entity graph
234
- 2. `memkraft dream` → prunes stale entries (run weekly, not every session)
235
-
236
- ### Prerequisites
237
-
238
- - Python 3.9+
239
- - `pipx install memkraft`
240
- - No API keys required (offline-only)