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 +2 -2
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/skills/adversarial-review/SKILL.md +21 -0
- package/templates/.claude/skills/dev-review/SKILL.md +24 -0
- package/templates/CLAUDE.md +3 -3
- package/templates/README.md +2 -2
- package/templates/guides/agentmemory-migration/measure-step-zero.md +120 -0
- package/templates/guides/token-efficiency/crg.md +1 -1
- package/templates/manifest.json +2 -2
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 (
|
|
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/ #
|
|
282
|
+
└── guides/ # 54 reference documents
|
|
283
283
|
```
|
|
284
284
|
|
|
285
285
|
---
|
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -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 |
|
package/templates/CLAUDE.md
CHANGED
|
@@ -117,11 +117,11 @@ project/
|
|
|
117
117
|
+-- CLAUDE.md # 진입점
|
|
118
118
|
+-- .claude/
|
|
119
119
|
| +-- agents/ # 서브에이전트 정의 (49 파일)
|
|
120
|
-
| +-- skills/ # 스킬 (
|
|
121
|
-
| +-- rules/ # 전역 규칙 (R000-
|
|
120
|
+
| +-- skills/ # 스킬 (118 디렉토리)
|
|
121
|
+
| +-- rules/ # 전역 규칙 (R000-R023)
|
|
122
122
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
123
123
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
|
124
|
-
+-- guides/ # 레퍼런스 문서 (
|
|
124
|
+
+-- guides/ # 레퍼런스 문서 (54 토픽)
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
## 오케스트레이션
|
package/templates/README.md
CHANGED
|
@@ -55,7 +55,7 @@ templates/
|
|
|
55
55
|
│ │ └── scripts/ # 훅 셸 스크립트 (34개)
|
|
56
56
|
│ ├── contexts/ # 컨텍스트 설정 파일 (ecomode 등)
|
|
57
57
|
│ └── ontology/ # Ontology-RAG 지식 그래프
|
|
58
|
-
└── guides/ # 레퍼런스 문서 디렉토리 (
|
|
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 (
|
|
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
|
-
|
|
162
|
+
> **Cross-ref**: `dev-review` 및 `adversarial-review` 스킬에 CRG 호출 패턴 통합됨 (v0.140.0, #1180).
|
|
163
163
|
|
|
164
164
|
### R013 Ecomode 활성 시
|
|
165
165
|
|
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "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":
|
|
29
|
+
"files": 54
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"name": "hooks",
|