oh-my-customcodex 0.5.7 → 0.5.9
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 +4 -4
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/arch-speckit-agent.md +1 -1
- package/templates/.claude/agents/sys-memory-keeper.md +9 -9
- package/templates/.claude/hooks/scripts/agent-teams-advisor.sh +4 -1
- package/templates/.claude/ontology/agents.yaml +16 -4
- package/templates/.claude/ontology/skills.yaml +9 -9
- package/templates/.claude/rules/MUST-agent-teams.md +85 -246
- package/templates/.claude/rules/SHOULD-memory-integration.md +4 -5
- package/templates/.claude/skills/de-lead-routing/SKILL.md +6 -13
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +6 -13
- package/templates/.claude/skills/intent-detection/SKILL.md +7 -9
- package/templates/.claude/skills/memory-management/SKILL.md +7 -12
- package/templates/.claude/skills/memory-recall/SKILL.md +2 -2
- package/templates/.claude/skills/memory-save/SKILL.md +2 -2
- package/templates/.claude/skills/peer-messaging/SKILL.md +2 -2
- package/templates/.claude/skills/research/SKILL.md +8 -23
- package/templates/.claude/skills/roundtable-debate/SKILL.md +3 -4
- package/templates/.claude/skills/structured-dev-cycle/SKILL.md +7 -10
- package/templates/AGENTS.md.en +1 -2
- package/templates/AGENTS.md.ko +1 -2
- package/templates/CLAUDE.md +2 -2
- package/templates/CLAUDE.md.en +1 -2
- package/templates/CLAUDE.md.ko +1 -2
- package/templates/README.md +2 -2
- package/templates/guides/agentmemory-migration/measure-step-zero.md +13 -113
- package/templates/guides/agentmemory-migration/phase-1-coexist.md +18 -252
- package/templates/guides/index.yaml +1 -1
- package/templates/guides/multi-agent-debate-patterns/README.md +1 -1
- package/templates/guides/multi-provider-exec/README.md +9 -79
- package/templates/manifest.json +3 -3
- package/templates/.claude/skills/agora/SKILL.md +0 -209
- package/templates/.claude/skills/codex-exec/SKILL.md +0 -218
- package/templates/.claude/skills/codex-exec/scripts/codex-wrapper.cjs +0 -433
- package/templates/.claude/skills/gemini-exec/SKILL.md +0 -215
- package/templates/.claude/skills/gemini-exec/scripts/gemini-wrapper.cjs +0 -485
|
@@ -1,261 +1,27 @@
|
|
|
1
|
-
#
|
|
1
|
+
# External Memory Migration — Retired COEXIST Plan
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> **이전 단계**: [measure-step-zero.md](./measure-step-zero.md)
|
|
3
|
+
> **Status**: Retired by #1426. COEXIST mode is no longer supported for this project.
|
|
4
|
+
> **Current policy**: Native auto-memory first; optional `omx-memory`/AgentMemory-compatible searchable backend only when already configured.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
## Why This Plan Is Retired
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
The old coexistence plan introduced dual-backend complexity and session-end save ambiguity. The current project decision removes that complexity: deprecated Chroma-based memory tooling is not installed, invoked, measured, or treated as a fallback.
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
이 단계에서는 어떤 destructive 변경도 발생하지 않습니다:
|
|
10
|
+
## Active Policy
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
12
|
+
| Need | Supported path |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| Agent-local durable facts | Native `MEMORY.md` via agent frontmatter `memory:` |
|
|
15
|
+
| Cross-session search | `omx-memory` or AgentMemory-compatible MCP exposing `memory_search`/`memory_read` |
|
|
16
|
+
| Session summary save | `memory_add` or `observation_add` when an approved backend is configured |
|
|
17
|
+
| No approved backend | Skip searchable save and continue; memory failures do not block the main task |
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Session-End Checklist
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| AgentMemory | 설치 후 병렬 활성 | 단독 운영 |
|
|
25
|
-
| 데이터 마이그레이션 | 없음 | 선택적 (측정 후 결정) |
|
|
26
|
-
| 어댑터 코드 | STUB 유지 | 활성화 |
|
|
27
|
-
| 자산 처리표 | 적용 보류 | 사용자 검토 후 적용 |
|
|
21
|
+
1. `sys-memory-keeper` updates native memory when a session-end signal exists.
|
|
22
|
+
2. Orchestrator attempts approved searchable memory save only if the tool is available.
|
|
23
|
+
3. Deprecated plugin-specific wrappers and Chroma tool calls remain unused.
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
## Follow-up
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
> **R001 주의**: auto-install 금지. 아래 명령어를 사용자 로컬에서 수동으로 실행합니다.
|
|
34
|
-
|
|
35
|
-
### 2-1. 패키지 설치
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# 옵션 A: pip
|
|
39
|
-
pip install agentmemory
|
|
40
|
-
|
|
41
|
-
# 옵션 B: pipx (격리 환경 권장)
|
|
42
|
-
pipx install agentmemory
|
|
43
|
-
|
|
44
|
-
# 옵션 C: uvx (uv 사용 시)
|
|
45
|
-
uvx agentmemory
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2-2. MCP 서버 등록
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Claude Code CLI로 등록
|
|
52
|
-
claude mcp add agentmemory -- agentmemory mcp
|
|
53
|
-
|
|
54
|
-
# 또는 .mcp.json 수동 편집 (R001 auto-install 금지)
|
|
55
|
-
# {
|
|
56
|
-
# "mcpServers": {
|
|
57
|
-
# "agentmemory": {
|
|
58
|
-
# "command": "agentmemory",
|
|
59
|
-
# "args": ["mcp"]
|
|
60
|
-
# }
|
|
61
|
-
# }
|
|
62
|
-
# }
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 2-3. 등록 확인
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
claude mcp list
|
|
69
|
-
# 출력에 agentmemory 서버가 표시되어야 합니다
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 3. COEXIST 정책
|
|
75
|
-
|
|
76
|
-
Phase 1 기간 동안 두 backend는 다음 정책에 따라 공존합니다.
|
|
77
|
-
|
|
78
|
-
### 3-1. 기본 운영 방식
|
|
79
|
-
|
|
80
|
-
| 작업 | 우선 backend | 비고 |
|
|
81
|
-
|------|-------------|------|
|
|
82
|
-
| 기존 메모리 조회 | claude-mem | 기존 Chroma 데이터 유지 |
|
|
83
|
-
| 신규 메모리 저장 | 둘 다 | COEXIST 기간 중 병렬 저장 권장 |
|
|
84
|
-
| 세션 종료 시 저장 | 둘 다 | R011 Session-End Self-Check 참조 |
|
|
85
|
-
|
|
86
|
-
### 3-2. 쿼리 병합 (memory-aggregator)
|
|
87
|
-
|
|
88
|
-
두 backend에서 결과가 반환될 경우 `memory-aggregator` 스킬이 결과를 병합합니다:
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
claude-mem.search(query) → 결과 A
|
|
92
|
-
AgentMemory.search(query) → 결과 B
|
|
93
|
-
memory-aggregator → A + B 중복 제거 후 반환
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`memory-aggregator` 스킬이 없는 경우, 두 결과를 순서대로 제시하고 사용자가 선택합니다.
|
|
97
|
-
|
|
98
|
-
### 3-3. 충돌 방지 원칙
|
|
99
|
-
|
|
100
|
-
- claude-mem 기존 데이터를 AgentMemory로 자동 복사하지 않음
|
|
101
|
-
- 두 backend에 동일 키로 저장 시 별개 항목으로 취급
|
|
102
|
-
- 강제 동기화 없음 — Phase 2에서 마이그레이션 여부 결정
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 4. Dual-Backend 충돌 Advisory
|
|
107
|
-
|
|
108
|
-
`.mcp.json`에 두 서버가 동시 등록된 상태를 감지하면 다음 advisory를 출력합니다.
|
|
109
|
-
|
|
110
|
-
### 4-1. 감지 조건
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
.mcp.json 내 서버 목록:
|
|
114
|
-
- "claude-mem" (또는 관련 tool prefix)
|
|
115
|
-
- "agentmemory"
|
|
116
|
-
→ 두 개 동시 존재 시 Phase 1 COEXIST 상태로 간주
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### 4-2. Advisory 메시지
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
[Advisory] Dual memory backend detected (Phase 1 COEXIST)
|
|
123
|
-
- claude-mem: active (Chroma)
|
|
124
|
-
- agentmemory: active (SQLite)
|
|
125
|
-
현재 Phase 1 COEXIST 정책 적용 중 — 두 backend 병렬 운영
|
|
126
|
-
Phase 2 SWITCH 진입 전까지 두 backend 유지
|
|
127
|
-
가이드: guides/agentmemory-migration/phase-1-coexist.md
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
이 advisory는 경고가 아닙니다. Phase 1에서는 정상 상태입니다.
|
|
131
|
-
|
|
132
|
-
### 4-3. 강제 선택 (사용자 명시 시)
|
|
133
|
-
|
|
134
|
-
사용자가 명시적으로 "agentmemory만 사용" 또는 "claude-mem만 사용"을 요청하는 경우,
|
|
135
|
-
해당 요청을 따르되 자산 처리표 적용 및 어댑터 활성화는 Phase 2 GO 결정 후 진행합니다.
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 5. 사용자 행동 계획
|
|
140
|
-
|
|
141
|
-
### 5-1. 1주 measure 루틴 (자동 트리거: 2026-05-25)
|
|
142
|
-
|
|
143
|
-
`scripts/measure-claude-mem-usage.sh` 스크립트를 1주간 실행합니다:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
# 수동 실행 (필요 시)
|
|
147
|
-
bash scripts/measure-claude-mem-usage.sh
|
|
148
|
-
|
|
149
|
-
# 결과는 .claude/outputs/sessions/ 에 저장됩니다
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
측정 항목:
|
|
153
|
-
- 일별 호출 횟수 (claude-mem vs AgentMemory)
|
|
154
|
-
- 응답 지연 (p50, p95)
|
|
155
|
-
- 저장 성공/실패율
|
|
156
|
-
- 메모리 용량 (Chroma vs SQLite)
|
|
157
|
-
|
|
158
|
-
### 5-2. GO/NO-GO 결정 기준 (2026-05-25 예정)
|
|
159
|
-
|
|
160
|
-
| 지표 | GO 조건 | NO-GO 조건 |
|
|
161
|
-
|------|---------|------------|
|
|
162
|
-
| 응답 지연 | AgentMemory ≤ claude-mem × 1.2 | AgentMemory > claude-mem × 2.0 |
|
|
163
|
-
| 저장 성공률 | ≥ 99% | < 95% |
|
|
164
|
-
| 운영 안정성 | 1주 무장애 | 크래시 또는 데이터 손실 |
|
|
165
|
-
| 호환성 | 기존 메모리 포맷 읽기 가능 | 포맷 비호환으로 검색 실패 |
|
|
166
|
-
|
|
167
|
-
### 5-3. 지금 할 수 있는 것
|
|
168
|
-
|
|
169
|
-
- AgentMemory 설치 및 MCP 등록 (위 섹션 2 참조)
|
|
170
|
-
- 신규 세션에서 AgentMemory로도 저장해보기 (실험적)
|
|
171
|
-
- measure 스크립트 결과 관찰
|
|
172
|
-
- 자산 처리표 (`guides/agentmemory-migration/asset-disposition.md`) 검토 준비
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## 6. Phase 2 진입 조건
|
|
177
|
-
|
|
178
|
-
다음 조건이 모두 충족된 경우에만 Phase 2 (SWITCH)로 진행합니다.
|
|
179
|
-
|
|
180
|
-
### 필수 조건
|
|
181
|
-
|
|
182
|
-
- [ ] 1주 measure 결과 GO 판정 (5-2 기준 충족)
|
|
183
|
-
- [ ] 자산 처리표 사용자 검토 완료 (12 plugin skill 처리 방향 결정)
|
|
184
|
-
- [ ] 30분 롤백 절차 검증 완료
|
|
185
|
-
|
|
186
|
-
### 롤백 절차 검증 (Phase 2 진입 전 필수)
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
# 1. Chroma 백업 생성
|
|
190
|
-
cp -r ~/.local/share/claude-mem/chroma ~/.local/share/claude-mem/chroma.bak.$(date +%Y%m%d)
|
|
191
|
-
|
|
192
|
-
# 2. 백업에서 복원 가능 여부 확인
|
|
193
|
-
# (실제 복원 수행하지 않고 절차만 검증)
|
|
194
|
-
ls -la ~/.local/share/claude-mem/chroma.bak.*
|
|
195
|
-
|
|
196
|
-
# 3. AgentMemory SQLite 백업
|
|
197
|
-
cp ~/.local/share/agentmemory/memories.db ~/.local/share/agentmemory/memories.db.bak.$(date +%Y%m%d)
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
롤백 소요 시간이 30분 이내임을 확인한 후 Phase 2 진행.
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## 7. 현 단계 한계 및 금지 사항
|
|
205
|
-
|
|
206
|
-
### 7-1. STUB 상태 유지 (변경 금지)
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
packages/eval-core/src/adapters/agentmemory.ts ← STUB, 활성화 금지
|
|
210
|
-
packages/eval-core/src/db/schema.ts ← 변경 금지
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
이 파일들은 Phase 2 GO 결정 후 별도 사이클에서 수정합니다.
|
|
214
|
-
|
|
215
|
-
### 7-2. 자산 처리표 적용 보류
|
|
216
|
-
|
|
217
|
-
12 plugin skill의 폐기/유지 결정은 measure 결과를 확인한 후 진행합니다:
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
.claude/skills/memory-*/ ← 폐기 여부 보류
|
|
221
|
-
.claude/skills/claude-mem-*/ ← 폐기 여부 보류
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### 7-3. 데이터 마이그레이션 금지
|
|
225
|
-
|
|
226
|
-
Phase 1에서는 claude-mem Chroma 데이터를 AgentMemory SQLite로 이전하지 않습니다.
|
|
227
|
-
이전은 Phase 2에서 사용자가 명시적으로 승인한 경우에만 진행합니다.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## 8. R011과의 관계
|
|
232
|
-
|
|
233
|
-
Phase 1 COEXIST 기간 중 R011 (SHOULD-memory-integration) 적용:
|
|
234
|
-
|
|
235
|
-
| R011 항목 | COEXIST 수정 사항 |
|
|
236
|
-
|-----------|-----------------|
|
|
237
|
-
| Primary: Native auto memory | 변경 없음 |
|
|
238
|
-
| Supplementary: claude-mem | 변경 없음 (계속 사용) |
|
|
239
|
-
| Session-End Self-Check | claude-mem + AgentMemory 둘 다 저장 시도 |
|
|
240
|
-
| Failure Policy | 둘 중 하나 실패해도 비차단 |
|
|
241
|
-
|
|
242
|
-
세션 종료 시 자가 점검 (COEXIST 확장):
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
1. sys-memory-keeper가 MEMORY.md 갱신? → YES
|
|
246
|
-
2. claude-mem 저장 시도? → YES (기존)
|
|
247
|
-
3. AgentMemory 저장 시도? → YES (COEXIST 추가)
|
|
248
|
-
모두 완료 후 사용자에게 확인
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## 9. 참고
|
|
254
|
-
|
|
255
|
-
- **이슈**: #1169 (AgentMemory 마이그레이션 계획)
|
|
256
|
-
- **이전 단계**: [measure-step-zero.md](./measure-step-zero.md)
|
|
257
|
-
- **R011**: `.claude/rules/SHOULD-memory-integration.md` (Dual-Backend Advisory 섹션)
|
|
258
|
-
- **관련 기억**: [[project-sequencing-alpha-beta-gamma]]
|
|
259
|
-
- **자산 처리표**: `guides/agentmemory-migration/asset-disposition.md` (Phase 2 전 검토 필요)
|
|
260
|
-
- **measure 스크립트**: `scripts/measure-claude-mem-usage.sh`
|
|
261
|
-
- **롤백 가이드**: #1169 본문 조치 4 (30분 롤백 절차)
|
|
27
|
+
Keep this guide as a short historical pointer until downstream documentation no longer links to the old AgentMemory migration path.
|
|
@@ -107,7 +107,7 @@ guides:
|
|
|
107
107
|
type: internal
|
|
108
108
|
|
|
109
109
|
- name: agentmemory-migration
|
|
110
|
-
description:
|
|
110
|
+
description: Retired external memory migration guide documenting native-memory-only policy and approved searchable backend usage
|
|
111
111
|
path: ./agentmemory-migration/
|
|
112
112
|
source:
|
|
113
113
|
type: internal
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
| Pattern | Goal | Use When |
|
|
6
6
|
|---------|------|----------|
|
|
7
|
-
| `
|
|
7
|
+
| `roundtable-debate` | Preserve dissent while reaching a bounded decision | Release gates, design approval, high-risk specs with minority risks |
|
|
8
8
|
| `roundtable-debate` | Preserve dissent | Strategy choices, tradeoffs, ambiguous product or architecture decisions |
|
|
9
9
|
|
|
10
10
|
## Failure Modes
|
|
@@ -1,83 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# External Interop Guidance
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The packaged multi-provider exec skills have been retired. For Codex interoperability, use the official Claude Code plugin `openai/codex-plugin-cc` only when it is explicitly installed and requested.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Current Paths
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
| Need | Preferred path | Notes |
|
|
8
|
+
|------|----------------|-------|
|
|
9
|
+
| Codex interop | `openai/codex-plugin-cc` | Official plugin path; opt-in only. |
|
|
10
|
+
| Token-optimized local command output | `rtk-exec` | Existing RTK proxy remains supported. |
|
|
11
|
+
| Research or independent review | `researcher`, expert agents, or `roundtable-debate` | Prefer in-repo agent workflows unless plugin interop is requested. |
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
| Provider | Skill | CLI Dependency | Model | Strengths |
|
|
12
|
-
|----------|-------|---------------|-------|-----------|
|
|
13
|
-
| OpenAI (Codex) | `codex-exec` | `codex` CLI | GPT-5.4 | Code generation, broad knowledge |
|
|
14
|
-
| Google (Gemini) | `gemini-exec` | `gemini` CLI | Gemini 2.5 Pro | Long context, multimodal |
|
|
15
|
-
| RTK (proxy) | `rtk-exec` | `rtk` CLI | Configurable | Token-optimized output, cost reduction |
|
|
16
|
-
|
|
17
|
-
## Availability Detection
|
|
18
|
-
|
|
19
|
-
The `session-env-check.sh` hook (SessionStart) auto-detects available providers:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
[SessionStart] Checking external CLI availability...
|
|
23
|
-
codex: ✓ available
|
|
24
|
-
gemini: ✗ not found
|
|
25
|
-
rtk: ✓ available
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Providers are opt-in — missing CLIs are silently skipped.
|
|
29
|
-
|
|
30
|
-
## Usage Patterns
|
|
31
|
-
|
|
32
|
-
### Direct Invocation
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
/codex-exec "Review this function for security issues"
|
|
36
|
-
/gemini-exec "Analyze this architecture diagram"
|
|
37
|
-
/rtk-exec "List files matching pattern X"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Provider Selection Guide
|
|
41
|
-
|
|
42
|
-
| Task | Recommended Provider | Rationale |
|
|
43
|
-
|------|---------------------|-----------|
|
|
44
|
-
| Second opinion on code review | codex-exec | Independent model reduces confirmation bias |
|
|
45
|
-
| Long document analysis | gemini-exec | 1M+ context window |
|
|
46
|
-
| Token-heavy batch operations | rtk-exec | Compressed output reduces context cost |
|
|
47
|
-
| Security audit cross-check | codex-exec | Different training data catches different patterns |
|
|
48
|
-
| Multi-model verification | All three | `/multi-model-verification` skill orchestrates this |
|
|
49
|
-
|
|
50
|
-
### Integration with Existing Skills
|
|
51
|
-
|
|
52
|
-
| Skill | Uses Provider | How |
|
|
53
|
-
|-------|--------------|-----|
|
|
54
|
-
| `multi-model-verification` | codex-exec + gemini-exec | Parallel verification with severity classification |
|
|
55
|
-
| `reasoning-sandwich` | Any exec skill | Pre/post reasoning with different models |
|
|
56
|
-
| `model-escalation` | Claude models only | Internal escalation (haiku→sonnet→opus), not cross-provider |
|
|
57
|
-
|
|
58
|
-
## Relationship to Multi-Model Routing
|
|
59
|
-
|
|
60
|
-
| Aspect | Multi-Model Routing | Multi-Provider Exec |
|
|
61
|
-
|--------|--------------------|--------------------|
|
|
62
|
-
| Scope | Claude model selection | Cross-provider execution |
|
|
63
|
-
| Models | haiku / sonnet / opus | GPT-5.4 / Gemini 2.5 / RTK proxy |
|
|
64
|
-
| Mechanism | `model` frontmatter field | Exec skill invocation |
|
|
65
|
-
| Use case | Cost/quality optimization within Claude | Independent verification, specialized tasks |
|
|
66
|
-
| Guide | `guides/multi-model-routing/` | `guides/multi-provider-exec/` |
|
|
67
|
-
|
|
68
|
-
## Configuration
|
|
69
|
-
|
|
70
|
-
No global configuration required. Each exec skill reads its own CLI configuration:
|
|
71
|
-
|
|
72
|
-
| Skill | Config Source |
|
|
73
|
-
|-------|-------------|
|
|
74
|
-
| codex-exec | `~/.codex/config` or CODEX_API_KEY env |
|
|
75
|
-
| gemini-exec | `~/.gemini/config` or GEMINI_API_KEY env |
|
|
76
|
-
| rtk-exec | RTK proxy running on localhost |
|
|
77
|
-
|
|
78
|
-
## Limitations
|
|
79
|
-
|
|
80
|
-
- Provider availability depends on user's CLI installations
|
|
81
|
-
- Cross-provider results are advisory — Claude remains the primary execution engine
|
|
82
|
-
- No automatic fallback between providers (by design — explicit selection preferred)
|
|
83
|
-
- Rate limits and costs are provider-specific and not tracked by oh-my-customcodex
|
|
13
|
+
Do not auto-delegate to retired provider wrapper skills. Keep expert agents responsible for reviewing any plugin-assisted output.
|
package/templates/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.
|
|
2
|
+
"version": "0.5.9",
|
|
3
3
|
"requiresCC": ">=2.1.121",
|
|
4
4
|
"claudeCode": {
|
|
5
5
|
"minimumVersion": "2.1.121",
|
|
6
6
|
"protectedPathBypassVersion": "2.1.126"
|
|
7
7
|
},
|
|
8
|
-
"lastUpdated": "2026-05-
|
|
8
|
+
"lastUpdated": "2026-05-30T00:00:00.000Z",
|
|
9
9
|
"components": [
|
|
10
10
|
{
|
|
11
11
|
"name": "rules",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"name": "skills",
|
|
24
24
|
"path": ".agents/skills",
|
|
25
25
|
"description": "Reusable skill modules (project-scoped repo skills)",
|
|
26
|
-
"files":
|
|
26
|
+
"files": 120
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"name": "guides",
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: omcustomcodex:agora
|
|
3
|
-
description: "Multi-LLM adversarial consensus loop — 3+ LLMs compete to find flaws in designs/specs until unanimous agreement is reached"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
argument-hint: "<document-path> [--rounds N] [--severity-threshold HIGH]"
|
|
6
|
-
effort: max
|
|
7
|
-
scope: core
|
|
8
|
-
version: 1.0.0
|
|
9
|
-
source:
|
|
10
|
-
type: external
|
|
11
|
-
origin: github
|
|
12
|
-
url: https://github.com/baekenough/baekenough-skills
|
|
13
|
-
version: 1.0.0
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Agora: Multi-LLM Adversarial Consensus
|
|
17
|
-
|
|
18
|
-
3개 이상의 LLM(Claude, Codex/GPT, Gemini)이 경쟁적으로 설계/문서의 결함을 찾고, 만장일치 합의에 도달할 때까지 반복하는 적대적 교차 검증 스킬.
|
|
19
|
-
|
|
20
|
-
## Prerequisites
|
|
21
|
-
|
|
22
|
-
- `codex-exec` skill (Codex/GPT 호출)
|
|
23
|
-
- `gemini-exec` skill (Gemini 호출)
|
|
24
|
-
- Agent Teams enabled (`OMCODEX_AGENT_TEAMS=1`) or Agent tool available
|
|
25
|
-
|
|
26
|
-
## Sensitive-Path Delegation
|
|
27
|
-
|
|
28
|
-
Sensitive-path compatibility note: if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, keep `.codex/**` edits on the normal Codex path. On Claude Code v2.1.121+ with `bypassPermissions`, direct writes to `.claude/skills/`, `.claude/agents/`, and `.claude/commands/` are allowed; on v2.1.126+ that extends to broader protected paths. Only use `/tmp/{skill}-{timestamp}.md` as a legacy fallback when the target runtime is older or still prompts.
|
|
29
|
-
|
|
30
|
-
## Usage
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
/omcustomcodex:agora docs/design.md # Default: 3 LLMs, unlimited rounds
|
|
34
|
-
/omcustomcodex:agora docs/design.md --rounds 10 # Max 10 rounds
|
|
35
|
-
/omcustomcodex:agora docs/design.md --severity-threshold HIGH # Exit when no HIGH+ findings
|
|
36
|
-
/omcustomcodex:agora docs/design.md --models claude,codex # 2 LLMs only
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
### Phase 1: Setup
|
|
42
|
-
1. Read the target document
|
|
43
|
-
2. Create Agent Team: `TeamCreate("agora-review")`
|
|
44
|
-
3. Create review tasks per focus area
|
|
45
|
-
|
|
46
|
-
### Phase 2: Spawn Reviewers (parallel)
|
|
47
|
-
Spawn 3 reviewers as Agent Team members:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Anti-Groupthink Mode
|
|
52
|
-
|
|
53
|
-
Use `--anti-groupthink` when consensus itself is a risk:
|
|
54
|
-
|
|
55
|
-
1. Reviewers submit independent findings before seeing peer output.
|
|
56
|
-
2. One reviewer is assigned as devil's advocate.
|
|
57
|
-
3. Minority findings are preserved unless the synthesis explicitly rejects them with evidence.
|
|
58
|
-
4. Debate is capped at two challenge rounds before the lead either decides or requests more facts.
|
|
59
|
-
|
|
60
|
-
For decisions where dissent preservation is the main goal, use `roundtable-debate` directly instead of `agora`.
|
|
61
|
-
Agent(name: "claude-critic", model: opus, effort: max)
|
|
62
|
-
→ 20-point deep adversarial review
|
|
63
|
-
|
|
64
|
-
Agent(name: "codex-critic", model: opus)
|
|
65
|
-
→ Invoke Skill(codex-exec) for GPT perspective + independent Claude analysis
|
|
66
|
-
|
|
67
|
-
Agent(name: "gemini-critic", model: opus)
|
|
68
|
-
→ Invoke Skill(gemini-exec) for Gemini perspective + independent Claude analysis
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Phase 3: Independent Review
|
|
72
|
-
Each reviewer performs adversarial review with this template:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
For EACH review point:
|
|
76
|
-
### Round N: [Topic]
|
|
77
|
-
**Severity**: CRITICAL / HIGH / MEDIUM / LOW
|
|
78
|
-
**Flaw**: [Specific, concrete problem description]
|
|
79
|
-
**Evidence**: [Why this is real, not theoretical]
|
|
80
|
-
**Impact**: [What happens if not addressed]
|
|
81
|
-
**Counter-argument**: [Best case FOR the current design]
|
|
82
|
-
**Verdict**: KEEP / MODIFY / REJECT
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Review areas (adapt to document type):
|
|
86
|
-
- Architecture fundamentals
|
|
87
|
-
- Component/service design
|
|
88
|
-
- Data architecture
|
|
89
|
-
- Security & resilience
|
|
90
|
-
- Feasibility & deployment
|
|
91
|
-
- Testing strategy
|
|
92
|
-
- Operational complexity
|
|
93
|
-
|
|
94
|
-
### Phase 4: Cross-Review (Peer-to-Peer)
|
|
95
|
-
Each reviewer sends findings to the other two via `SendMessage`.
|
|
96
|
-
|
|
97
|
-
Counter-review template:
|
|
98
|
-
1. Which findings do you **AGREE** with? (and why)
|
|
99
|
-
2. Which findings do you **DISAGREE** with? (evidence-based rebuttal)
|
|
100
|
-
3. What did they **MISS** that you caught?
|
|
101
|
-
4. What did they catch that you **MISSED**?
|
|
102
|
-
5. **SEVERITY** adjustments — upgrade or downgrade with justification
|
|
103
|
-
|
|
104
|
-
### Phase 5: Synthesis
|
|
105
|
-
Team lead aggregates all findings:
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
UNANIMOUS CRITICAL: [findings all 3 agreed on]
|
|
109
|
-
STRONG AGREEMENT: [findings 2/3 agreed on]
|
|
110
|
-
SPLIT DECISIONS: [findings with disagreement + resolution]
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Determine verdict:
|
|
114
|
-
- **BUILD**: No CRITICAL, no unresolved HIGH
|
|
115
|
-
- **BUILD WITH CHANGES**: No CRITICAL, HIGH findings have accepted mitigations
|
|
116
|
-
- **REDESIGN**: Any unresolved CRITICAL findings
|
|
117
|
-
- **ABANDON**: Fundamental concept is flawed
|
|
118
|
-
|
|
119
|
-
### Phase 6: Loop (if REDESIGN)
|
|
120
|
-
1. Team lead produces/delegates redesign addressing ALL critical findings
|
|
121
|
-
2. New version sent to ALL reviewers: `SendMessage(to: "*")`
|
|
122
|
-
3. Reviewers re-review → GOTO Phase 4
|
|
123
|
-
4. Repeat until EXIT criteria met
|
|
124
|
-
|
|
125
|
-
### Phase 7: Exit (consensus reached)
|
|
126
|
-
When ALL reviewers agree BUILD or BUILD WITH CHANGES:
|
|
127
|
-
1. Produce final consensus report
|
|
128
|
-
2. Write to `.codex/outputs/sessions/{date}/agora-{topic}-{time}.md`
|
|
129
|
-
3. Shut down team: `SendMessage(to: "*", message: {type: "shutdown_request"})`
|
|
130
|
-
|
|
131
|
-
## Reviewer Principles
|
|
132
|
-
|
|
133
|
-
1. **NEUTRAL** — no reviewer has home team advantage
|
|
134
|
-
2. **COMPETITIVE** — find flaws others missed
|
|
135
|
-
3. **CRITICAL** — "fewer than 5 CRITICAL flaws = not looking hard enough"
|
|
136
|
-
4. **EVIDENCE-BASED** — every finding cites specific evidence
|
|
137
|
-
5. **CONSTRUCTIVE** — every flaw includes recommended fix
|
|
138
|
-
6. **CONVERGENT** — goal is consensus, not endless disagreement
|
|
139
|
-
|
|
140
|
-
## Consensus Criteria
|
|
141
|
-
|
|
142
|
-
| Condition | Required |
|
|
143
|
-
|-----------|----------|
|
|
144
|
-
| CRITICAL findings resolved | ALL |
|
|
145
|
-
| HIGH findings resolved or accepted | ALL |
|
|
146
|
-
| All reviewers rate BUILD or BUILD WITH CHANGES | YES |
|
|
147
|
-
| Cross-review disagreements resolved | ALL |
|
|
148
|
-
|
|
149
|
-
## Output Format
|
|
150
|
-
|
|
151
|
-
```markdown
|
|
152
|
-
# Agora Consensus Report
|
|
153
|
-
|
|
154
|
-
## Document: [path]
|
|
155
|
-
## Rounds: [N]
|
|
156
|
-
## Reviewers: [list with LLM models used]
|
|
157
|
-
|
|
158
|
-
## Verdict: [BUILD / BUILD WITH CHANGES / REDESIGN]
|
|
159
|
-
|
|
160
|
-
## Unanimous Findings
|
|
161
|
-
| # | Finding | Severity | All 3 Agree |
|
|
162
|
-
|---|---------|----------|-------------|
|
|
163
|
-
|
|
164
|
-
## Required Changes Before Build
|
|
165
|
-
1. [change with source reviewer]
|
|
166
|
-
2. ...
|
|
167
|
-
|
|
168
|
-
## Accepted Risks
|
|
169
|
-
- [finding accepted with justification]
|
|
170
|
-
|
|
171
|
-
## Unique Contributions Per Reviewer
|
|
172
|
-
| Reviewer | Findings Others Missed |
|
|
173
|
-
|----------|----------------------|
|
|
174
|
-
|
|
175
|
-
## Process Metrics
|
|
176
|
-
- Rounds: N
|
|
177
|
-
- Total findings: N
|
|
178
|
-
- Cross-adopted: N
|
|
179
|
-
- Severity upgrades: N
|
|
180
|
-
- Severity downgrades: N
|
|
181
|
-
- Disagreements raised: N
|
|
182
|
-
- Disagreements resolved: N/N
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
## Configuration
|
|
186
|
-
|
|
187
|
-
```yaml
|
|
188
|
-
# Default settings
|
|
189
|
-
agora:
|
|
190
|
-
max_rounds: unlimited # Set --rounds to limit
|
|
191
|
-
severity_threshold: HIGH # EXIT when no findings >= threshold
|
|
192
|
-
models:
|
|
193
|
-
- claude (opus, max effort)
|
|
194
|
-
- codex (via codex-exec skill)
|
|
195
|
-
- gemini (via gemini-exec skill)
|
|
196
|
-
review_points: 20 # Per reviewer
|
|
197
|
-
cross_review: true # Peer-to-peer sharing
|
|
198
|
-
auto_redesign: true # Auto-produce redesign on REDESIGN verdict
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## Anti-Patterns
|
|
202
|
-
|
|
203
|
-
| Anti-Pattern | Why Wrong | Correct |
|
|
204
|
-
|-------------|-----------|---------|
|
|
205
|
-
| Single LLM review | Misses blind spots | 3+ LLMs find complementary flaws |
|
|
206
|
-
| No cross-review | Reviewers don't challenge each other | Peer-to-peer sharing surfaces disagreements |
|
|
207
|
-
| Accepting first BUILD | May miss edge cases | Loop until ALL agree |
|
|
208
|
-
| Ignoring split decisions | Unresolved disagreements fester | Resolve every split with evidence |
|
|
209
|
-
| Push for consensus too fast | Premature agreement | Let reviewers challenge freely |
|