oh-my-customcode 0.139.0 → 0.140.0

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.
package/README.md CHANGED
@@ -222,7 +222,7 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
222
222
 
223
223
  ---
224
224
 
225
- ### Guides (53)
225
+ ### Guides (54)
226
226
 
227
227
  Reference documentation covering best practices, architecture decisions, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
228
228
 
@@ -279,7 +279,7 @@ your-project/
279
279
  │ ├── specs/ # Extracted canonical specs
280
280
  │ ├── contexts/ # 4 shared context files
281
281
  │ └── ontology/ # Knowledge graph for RAG
282
- └── guides/ # 50 reference documents
282
+ └── guides/ # 54 reference documents
283
283
  ```
284
284
 
285
285
  ---
package/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.139.0",
2337
+ version: "0.140.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.139.0",
2017
+ version: "0.140.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.139.0",
6
+ "version": "0.140.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -79,6 +79,27 @@ Fix: Recommended remediation
79
79
  - [ ] Are domain boundaries respected (backend agent not editing frontend files)?
80
80
  - [ ] Could an agent's task contract be tightened without losing functionality?
81
81
 
82
+ ## CRG Integration (Optional Token-Efficiency)
83
+
84
+ 공격 표면 분석에 `crg-integration` 스킬을 우선 호출하여 트러스트 boundary를 빠르게 매핑한다:
85
+
86
+ | Phase | CRG Tool | Purpose |
87
+ |-------|----------|---------|
88
+ | Attack surface | `get_impact_radius` | 보안 변경의 영향 추적 (recall-우선) |
89
+ | Caller analysis | `query_graph` | 신뢰 boundary 함수의 모든 caller 추적 |
90
+ | Diff focus | `get_minimal_context` | 보안 변경의 최소 review unit |
91
+ | Regression detect | `detect_changes` | 보안 의미 변경 감지 |
92
+
93
+ ### Fallback (CRG 미설치 시)
94
+
95
+ CRG MCP 미연결 시 sec-codeql-expert + grep 조합으로 fallback. CRG의 recall-우선 특성 보완 위해 sec-codeql-expert (precision-우선)와 병행 권장.
96
+
97
+ ### R013 Ecomode 정합
98
+
99
+ 대규모 변경 PR (>50 lines) 또는 context >= 60% 시 CRG 호출 권장.
100
+
101
+ Refs: #1171 (CRG 통합), #1180 (본 cross-ref 추가)
102
+
82
103
  ## Permission Mode
83
104
 
84
105
  When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -137,6 +137,30 @@ Reference: `feedback_sensitive_path_tmp_bypass.md`, R006 sensitive-path handling
137
137
  ```
138
138
  The review agent creates the directory and writes the artifact before returning results (R010 compliance).
139
139
 
140
+ ## CRG Integration (Optional Token-Efficiency)
141
+
142
+ `crg-integration` 스킬이 사용 가능한 경우 (MCP `code-review-graph` 연결 시), 리뷰 시작 전 먼저 호출하여 토큰 비용을 절감한다:
143
+
144
+ | Phase | CRG Tool | Purpose |
145
+ |-------|----------|---------|
146
+ | Pre-review | `get_impact_radius` | 변경 영향 범위 사전 파악 (recall-우선) |
147
+ | Search | `query_graph` | AST 기반 호출자/피호출자 추적 |
148
+ | Diff analysis | `get_minimal_context` | 변경 코드의 최소 컨텍스트 |
149
+ | Semantic check | `detect_changes` | 두 시점 의미적 차이 |
150
+
151
+ ### Fallback (CRG 미설치 시)
152
+
153
+ CRG MCP 미연결 시 자동 fallback:
154
+ 1. grep/Grep 도구로 영향 범위 추적
155
+ 2. `claude-mem:smart-explore` (Phase β 이후 deprecated)
156
+ 3. 전체 디렉토리 읽기 (R013 ecomode 트리거 가능성)
157
+
158
+ ### R013 Ecomode 정합
159
+
160
+ context >= 60% 시 CRG 호출 적극 권장. 8.2× 토큰 절감 (`guides/token-efficiency/crg.md` 벤치마크).
161
+
162
+ Refs: #1171 (CRG 통합), #1180 (본 cross-ref 추가)
163
+
140
164
  ## Agent Selection
141
165
 
142
166
  | File Extension | Agent | Skill |
@@ -117,11 +117,11 @@ project/
117
117
  +-- CLAUDE.md # 진입점
118
118
  +-- .claude/
119
119
  | +-- agents/ # 서브에이전트 정의 (49 파일)
120
- | +-- skills/ # 스킬 (117 디렉토리)
121
- | +-- rules/ # 전역 규칙 (R000-R022)
120
+ | +-- skills/ # 스킬 (118 디렉토리)
121
+ | +-- rules/ # 전역 규칙 (R000-R023)
122
122
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
123
123
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
124
- +-- guides/ # 레퍼런스 문서 (49 토픽)
124
+ +-- guides/ # 레퍼런스 문서 (54 토픽)
125
125
  ```
126
126
 
127
127
  ## 오케스트레이션
@@ -55,7 +55,7 @@ templates/
55
55
  │ │ └── scripts/ # 훅 셸 스크립트 (34개)
56
56
  │ ├── contexts/ # 컨텍스트 설정 파일 (ecomode 등)
57
57
  │ └── ontology/ # Ontology-RAG 지식 그래프
58
- └── guides/ # 레퍼런스 문서 디렉토리 (50개)
58
+ └── guides/ # 레퍼런스 문서 디렉토리 (54개)
59
59
  ```
60
60
 
61
61
  ---
@@ -109,7 +109,7 @@ CI의 `verify-template-sync.sh`가 소스와 templates/ 간 일치를 검증합
109
109
  | `SHOULD` | 강력 권장 | R003 상호작용, R013 Ecomode |
110
110
  | `MAY` | 선택 | R005 최적화 |
111
111
 
112
- ### Guides (51)
112
+ ### Guides (54)
113
113
 
114
114
  `guides/*/` — 레퍼런스 문서 디렉토리.
115
115
 
@@ -0,0 +1,120 @@
1
+ # AgentMemory 마이그레이션 — 단계 0: MEASURE (사용 빈도 측정)
2
+
3
+ > **목적**: Phase 1 (COEXIST) 진입 전, claude-mem skill 실제 호출 빈도 데이터를 수집하여 가설 기반 자산 처리표를 검증한다.
4
+ > **관련 이슈**: #1169 본문 조치 5
5
+ > **참고 메모리**: `feedback_claude_mem_maintenance`, `project_sequencing_alpha_beta_gamma`
6
+
7
+ ---
8
+
9
+ ## 1. 목적
10
+
11
+ AgentMemory 마이그레이션 계획(`feedback_claude_mem_maintenance.md`)에는 12개 claude-mem skill의 처리 방향이 가설로 기재되어 있다. 특히 폐기 후보 5종(`make-plan`, `do`, `babysit`, `wowerpoint`, `knowledge-agent`, `pathfinder`)은 "미사용 또는 저빈도"라는 가정 위에 놓여 있다.
12
+
13
+ 이 단계에서는 실측 데이터로 가설을 검증한다. 데이터 없이 Phase 1에 진입하면:
14
+ - 실제로 자주 쓰이던 skill을 폐기하여 사용자 워크플로우가 깨질 수 있다.
15
+ - 자산 처리표 재설계 비용이 Phase 2~3로 이월된다.
16
+
17
+ ---
18
+
19
+ ## 2. 실행 방법
20
+
21
+ ```bash
22
+ # 기본 실행 (최근 7일, 리포트를 ~/.claude/measure-claude-mem-usage-YYYY-MM-DD.md 에 저장)
23
+ bash scripts/measure-claude-mem-usage.sh
24
+
25
+ # 최근 14일 스캔
26
+ bash scripts/measure-claude-mem-usage.sh --days 14
27
+
28
+ # 출력 경로 지정
29
+ bash scripts/measure-claude-mem-usage.sh --output ~/Documents/claude-mem-usage.md
30
+
31
+ # 헤더 없이 실행 (CI/파이프라인 삽입용)
32
+ bash scripts/measure-claude-mem-usage.sh --quiet
33
+ ```
34
+
35
+ ### 스캔 대상 경로
36
+
37
+ | 경로 | 설명 |
38
+ |------|------|
39
+ | `~/.claude-mem/archives/` | claude-mem MCP 아카이브 (`.jsonl`, `.json`) |
40
+ | `~/.claude/projects/*/session-*.jsonl` | Claude Code 세션 로그 |
41
+
42
+ 둘 중 하나가 없어도 스크립트는 조용히 skip하고 나머지를 스캔한다.
43
+
44
+ ---
45
+
46
+ ## 3. 1주 수집 계획
47
+
48
+ | 시점 | 작업 |
49
+ |------|------|
50
+ | **Day 1** | 첫 측정 — 베이스라인 (`--days 7` 기준 기존 archives 기반) |
51
+ | **Day 4** | 중간 측정 — 추이 확인 (`--days 4`) |
52
+ | **Day 7** | 최종 측정 — 자산 처리표 재검토 및 Phase 1 GO/NO-GO 결정 |
53
+
54
+ 세 시점 모두 `--output` 경로를 달리 지정하여 비교 가능한 파일로 보관한다:
55
+
56
+ ```bash
57
+ bash scripts/measure-claude-mem-usage.sh --output ~/.claude/claude-mem-day1.md
58
+ bash scripts/measure-claude-mem-usage.sh --days 4 --output ~/.claude/claude-mem-day4.md
59
+ bash scripts/measure-claude-mem-usage.sh --days 7 --output ~/.claude/claude-mem-day7.md
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 4. 해석 기준
65
+
66
+ | 호출 수 | 신호 | 권장 조치 |
67
+ |---------|------|----------|
68
+ | **0** | 미사용 | 폐기 안전 — 1주 후 처리 결정 |
69
+ | **1-3** | 가끔 사용 | wrapper 또는 대체 도구 매핑 필요 |
70
+ | **4+** | 정기 사용 | 폐기 시 대체 도구 명확화 필수 |
71
+
72
+ 폐기 후보 5종 기준 예상:
73
+ - `make-plan`, `do`, `babysit` → 0 예상 (native AgentMemory로 대체 완료)
74
+ - `wowerpoint`, `knowledge-agent`, `pathfinder` → 0~1 예상 (특수 목적 skill)
75
+
76
+ 실측값이 예상과 다를 경우 자산 처리표를 수정한 후 Phase 1에 진입한다.
77
+
78
+ ---
79
+
80
+ ## 5. 결과 활용
81
+
82
+ ### 5-1. #1169에 리포트 첨부
83
+
84
+ ```bash
85
+ gh issue comment 1169 --body-file ~/.claude/claude-mem-day7.md
86
+ ```
87
+
88
+ ### 5-2. 자산 처리표 갱신
89
+
90
+ `.claude/agent-memory/sys-memory-keeper/feedback_claude_mem_maintenance.md` 내 "처리 방향" 열을 실측값 기반으로 업데이트한다.
91
+
92
+ ### 5-3. Phase 1 GO/NO-GO 결정
93
+
94
+ | 조건 | 결정 |
95
+ |------|------|
96
+ | 폐기 후보 모두 호출 수 0 | GO — Phase 1 진입 |
97
+ | 폐기 후보 중 1개 이상 호출 수 1-3 | CONDITIONAL GO — 대체 도구 매핑 완료 후 진입 |
98
+ | 폐기 후보 중 1개 이상 호출 수 4+ | NO-GO — 처리표 재설계 후 재측정 |
99
+
100
+ ---
101
+
102
+ ## 6. 한계 및 주의사항
103
+
104
+ | 항목 | 설명 |
105
+ |------|------|
106
+ | archives 미존재 | `~/.claude-mem/archives/` 없으면 카운트 0 (정상 — silent skip) |
107
+ | 세션 로그 형식 변경 | Claude Code 업데이트로 `session-*.jsonl` 구조가 변경되면 grep 패턴 수정 필요 |
108
+ | claude-mem MCP telemetry 미사용 | 외부 도구 의존 최소화 원칙에 따라 MCP 자체 지표는 사용하지 않음 |
109
+ | grep 기반 측정 | 같은 파일에 skill 이름이 여러 줄 등장하면 복수 카운트됨 (과대 계산 가능성) |
110
+ | macOS/Linux 호환 | `stat` 옵션 차이를 스크립트 내에서 자동 처리 (`-f %m` vs `-c %Y`) |
111
+
112
+ ---
113
+
114
+ ## 7. 참고
115
+
116
+ - **이슈**: [#1169](../../.github/ — `gh issue view 1169`)
117
+ - **자산 처리표**: `.claude/agent-memory/sys-memory-keeper/feedback_claude_mem_maintenance.md`
118
+ - **시퀀싱 메모리**: `.claude/agent-memory/mgr-creator/project_sequencing_alpha_beta_gamma.md` (또는 해당 메모리 파일)
119
+ - **스크립트**: `scripts/measure-claude-mem-usage.sh`
120
+ - **Phase 1 가이드**: `guides/agentmemory-migration/` (이 디렉토리에 추가 예정)
@@ -159,7 +159,7 @@ AST 노드 그래프에 자연어 쿼리를 실행한다.
159
159
  2. /adversarial-review {minimal_context} → 보안/논리 취약점 검토
160
160
  ```
161
161
 
162
- <!-- TODO: 향후 cross-ref 추가 adversarial-review 스킬 업데이트 -->
162
+ > **Cross-ref**: `dev-review` `adversarial-review` 스킬에 CRG 호출 패턴 통합됨 (v0.140.0, #1180).
163
163
 
164
164
  ### R013 Ecomode 활성 시
165
165
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.139.0",
2
+ "version": "0.140.0",
3
3
  "lastUpdated": "2026-05-18T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",
@@ -26,7 +26,7 @@
26
26
  "name": "guides",
27
27
  "path": "guides",
28
28
  "description": "Reference documentation",
29
- "files": 53
29
+ "files": 54
30
30
  },
31
31
  {
32
32
  "name": "hooks",