oh-my-customcodex 0.5.0 → 0.5.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.
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **[한국어 문서 (Korean)](./README_ko.md)**
15
15
 
16
- 49 agents. 119 skills. 22 rules. One command.
16
+ 49 agents. 123 skills. 22 rules. One command.
17
17
 
18
18
  ```bash
19
19
  npm install -g oh-my-customcodex && cd your-project && omcustomcodex init
@@ -134,7 +134,7 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
134
134
 
135
135
  ---
136
136
 
137
- ### Skills (119)
137
+ ### Skills (123)
138
138
 
139
139
  | Category | Count | Includes |
140
140
  |----------|-------|----------|
@@ -287,7 +287,7 @@ your-project/
287
287
  │ ├── contexts/ # 4 shared context files
288
288
  │ └── ontology/ # Knowledge graph for RAG
289
289
  ├── .agents/
290
- │ └── skills/ # 119 installed skill modules
290
+ │ └── skills/ # 123 installed skill modules
291
291
  └── guides/ # 48 reference documents
292
292
  ```
293
293
 
@@ -325,7 +325,7 @@ bun test # Run tests
325
325
  bun run build # Production build
326
326
  ```
327
327
 
328
- Requirements: Node.js >= 18.0.0, Codex CLI.
328
+ Requirements: Node.js >= 18.0.0, Bun, Codex CLI. GitHub CLI (`gh`) and `jq` are recommended for release automation and local hook validation.
329
329
 
330
330
  ---
331
331
 
package/dist/cli/index.js CHANGED
@@ -3091,7 +3091,7 @@ var init_package = __esm(() => {
3091
3091
  workspaces: [
3092
3092
  "packages/*"
3093
3093
  ],
3094
- version: "0.5.0",
3094
+ version: "0.5.1",
3095
3095
  requiresCC: ">=2.1.121",
3096
3096
  claudeCode: {
3097
3097
  minimumVersion: "2.1.121",
package/dist/index.js CHANGED
@@ -2180,7 +2180,7 @@ var package_default = {
2180
2180
  workspaces: [
2181
2181
  "packages/*"
2182
2182
  ],
2183
- version: "0.5.0",
2183
+ version: "0.5.1",
2184
2184
  requiresCC: ">=2.1.121",
2185
2185
  claudeCode: {
2186
2186
  minimumVersion: "2.1.121",
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.5.0",
6
+ "version": "0.5.1",
7
7
  "requiresCC": ">=2.1.121",
8
8
  "claudeCode": {
9
9
  "minimumVersion": "2.1.121",
@@ -5,9 +5,9 @@
5
5
  ## Architecture
6
6
 
7
7
  **Primary**: Native auto memory (`memory` field in agent frontmatter). No external dependencies.
8
- **Supplementary**: claude-mem MCP (optional, for cross-session search and temporal queries).
8
+ **Supplementary**: AgentMemory-compatible MCP or `omx-memory` for cross-session searchable recall; legacy `claude-mem` is fallback only.
9
9
 
10
- Rule: If native auto memory can handle it, do NOT use claude-mem.
10
+ Rule: If native auto memory can handle it, do NOT use a searchable MCP backend.
11
11
 
12
12
  ## Native Auto Memory
13
13
 
@@ -22,15 +22,23 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
22
22
  | `project` | `.codex/agent-memory/<name>/` | Yes |
23
23
  | `local` | `.codex/agent-memory-local/<name>/` | No |
24
24
 
25
- ## When to Use claude-mem
25
+ ## When to Use Searchable MCP Memory
26
26
 
27
- | Scenario | Native | claude-mem |
27
+ | Scenario | Native | AgentMemory-compatible / omx-memory |
28
28
  |----------|--------|------------|
29
29
  | Agent learns project patterns | Yes | |
30
30
  | Search across sessions | | Yes |
31
31
  | Temporal queries | | Yes |
32
32
  | Cross-agent sharing | | Yes |
33
33
 
34
+ <!-- DETAIL: Backend Selection and Split-Brain Guard
35
+
36
+ Prefer MCP tools named `memory_search`, `memory_add`, `observation_add`, and `memory_read`. Treat `chroma_query_documents`, `chroma_add_documents`, and `chroma_get_documents` as legacy `claude-mem` fallbacks.
37
+
38
+ If both backend families are available, warn before writing. Dual-write is acceptable only during an explicit migration window; outside that window, choose one canonical searchable backend and record which one was used in the session summary.
39
+
40
+ -->
41
+
34
42
  ## Best Practices
35
43
 
36
44
  - Consult memory before starting work
@@ -324,20 +332,21 @@ User signals session end
324
332
  2. Update native auto-memory (MEMORY.md)
325
333
  3. Return formatted summary to orchestrator
326
334
  → Orchestrator performs MCP saves directly:
327
- 1. claude-mem save (if available via ToolSearch)
335
+ 1. searchable memory save (AgentMemory-compatible or omx-memory, if available via ToolSearch)
336
+ 2. legacy claude-mem save only when it is the configured fallback
328
337
  (episodic-memory auto-indexes after session — no action needed)
329
338
  → Orchestrator confirms to user
330
339
  ```
331
340
 
332
341
  ### Responsibility Split
333
342
 
334
- MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inherited by subagents. Therefore:
343
+ MCP tools (searchable memory backends, episodic-memory) are **orchestrator-scoped** and not inherited by subagents. Therefore:
335
344
 
336
345
  | Responsibility | Owner | Reason |
337
346
  |----------------|-------|--------|
338
347
  | Session summary collection | sys-memory-keeper | Domain expertise in memory formatting |
339
348
  | Native auto-memory (MEMORY.md) | sys-memory-keeper | Has Write access to memory directory |
340
- | claude-mem MCP save | Orchestrator | MCP tools only available at orchestrator level |
349
+ | Searchable memory MCP save | Orchestrator | MCP tools only available at orchestrator level |
341
350
  | episodic-memory | Automatic | Conversations are auto-indexed after session ends — no manual action needed |
342
351
 
343
352
  ### Dual-System Save
@@ -345,13 +354,14 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
345
354
  | System | Owner | Tool | Action | Required |
346
355
  |--------|-------|------|--------|----------|
347
356
  | Native auto-memory | sys-memory-keeper | Write | Update MEMORY.md with session learnings | Yes |
348
- | claude-mem | Orchestrator | `mcp__plugin_claude-mem_mcp-search__save_memory` | Save session summary with project, tasks, decisions | No (best-effort) |
357
+ | AgentMemory-compatible / omx-memory | Orchestrator | `memory_add` or `observation_add` | Save session summary with project, tasks, decisions | No (best-effort) |
358
+ | legacy claude-mem | Orchestrator | `chroma_add_documents` or compatible save wrapper | Fallback searchable save when no preferred backend exists | No (best-effort) |
349
359
  | episodic-memory | Automatic | (auto-indexed) | No action needed — conversations are indexed automatically after session ends | N/A |
350
360
  -->
351
361
 
352
362
  ### Session-End Self-Check (MANDATORY)
353
363
 
354
- (1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted? Both are required before confirming session-end to the user. See full self-check via Read tool.
364
+ (1) sys-memory-keeper updated MEMORY.md? (2) searchable memory save attempted when a backend is available? Both are required before confirming session-end to the user. See full self-check via Read tool.
355
365
 
356
366
  <!-- DETAIL: Session-End Self-Check (MANDATORY)
357
367
  ```
@@ -362,7 +372,7 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
362
372
  ║ YES → Continue ║
363
373
  ║ NO → Delegate to sys-memory-keeper first ║
364
374
  ║ ║
365
- ║ 2. Did I attempt claude-mem save?
375
+ ║ 2. Did I attempt searchable memory save when available?
366
376
  ║ YES → Continue (even if it failed) ║
367
377
  ║ NO → ToolSearch + save now ║
368
378
  ║ ║
@@ -379,5 +389,5 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
379
389
  ### Failure Policy
380
390
 
381
391
  - MCP saves are **non-blocking**: memory failure MUST NOT prevent session from ending
382
- - If claude-mem unavailable: skip, log warning
392
+ - If no searchable memory backend is available: skip, log warning
383
393
  - episodic-memory: no action needed (auto-indexed after session)
@@ -12,6 +12,16 @@ Review code from an attacker's perspective using STRIDE + OWASP frameworks.
12
12
 
13
13
  ## 4-Phase Review Process
14
14
 
15
+ ### Pre-flight: CRG Attack-Surface Probe
16
+ If a code-review graph or CRG MCP server is available, use it before manual inspection:
17
+
18
+ ```text
19
+ Preferred: query_graph({ target, focus: "trust-boundaries attack-surface data-flow" })
20
+ Fallback: get_impact_radius({ target })
21
+ ```
22
+
23
+ Use the result to seed trust-boundary, data-flow, and dependency-risk analysis. If CRG tools are unavailable, continue with local `rg`, route inspection, and dependency/file reads; CRG is advisory and must not block adversarial review.
24
+
15
25
  ### Phase 1: Trust Boundary Analysis
16
26
  Identify where trust transitions occur:
17
27
  - External input reaching internal logic without validation → **Tampering**
@@ -85,6 +85,15 @@ If any GATE: block and suggest alternative.
85
85
  If any WARN: show warning, ask user to confirm.
86
86
  If only PASS/INFO: proceed automatically.
87
87
 
88
+ ### Guard 5: Review Graph Context Probe
89
+ **Level**: INFO
90
+ **Check**: If a code-review graph or CRG MCP server is available, query impact radius before selecting the expert:
91
+ ```text
92
+ Preferred: get_impact_radius({ target })
93
+ Fallback: get_minimal_context({ target, purpose: "dev-review" })
94
+ ```
95
+ **Action**: Attach the returned affected files, owners, and dependency edges to the review prompt. If the CRG tools are unavailable or time out, continue with `rg`, `git diff`, and local file reads; CRG is advisory and must not block review.
96
+
88
97
  ## Parameters
89
98
 
90
99
  | Name | Type | Required | Description |
@@ -105,12 +114,13 @@ If only PASS/INFO: proceed automatically.
105
114
  ```
106
115
  0. Run pre-flight guards (see ## Pre-flight Guards)
107
116
  1. Detect language (or use --lang)
108
- 2. Select appropriate expert agent
109
- 3. Load language-specific skill
110
- 4. Analyze code against best practices
111
- 5. Generate review report
117
+ 2. Include CRG impact context when available
118
+ 3. Select appropriate expert agent
119
+ 4. Load language-specific skill
120
+ 5. Analyze code against best practices
121
+ 6. Generate review report
112
122
  ```
113
- 6. **Artifact persistence** (optional): Review agent saves findings to:
123
+ 7. **Artifact persistence** (optional): Review agent saves findings to:
114
124
  ```
115
125
  .codex/outputs/sessions/{YYYY-MM-DD}/dev-review-{HHmmss}.md
116
126
 
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: harness-export
3
+ description: Export-plan generator for translating oh-my-customcodex assets to other agent harness formats
4
+ scope: harness
5
+ version: 0.1.0
6
+ user-invocable: true
7
+ argument-hint: "--target cursor|codex|opencode|zed|gemini|copilot [--dry-run]"
8
+ ---
9
+
10
+ # Harness Export
11
+
12
+ Generate a dry-run export plan from oh-my-customcodex assets into another agent harness format. This is intentionally conservative: the skill documents mapping and risks before writing any external harness files.
13
+
14
+ ## Boundary Decision
15
+
16
+ Cross-harness export is an adapter layer, not a new core metaphor. Skills remain source, agents remain build artifacts, rules remain compiler specs, and export output is a derived compatibility artifact.
17
+
18
+ Default mode is `--dry-run`. Writing export files requires a separate explicit task because target formats change independently and can create maintenance debt.
19
+
20
+ ## Targets
21
+
22
+ | Target | Output Shape |
23
+ |--------|--------------|
24
+ | `cursor` | rules and agent instructions mapped to Cursor project conventions |
25
+ | `codex` | `.codex/**` runtime assets |
26
+ | `opencode` | command/agent guidance bundle |
27
+ | `zed` | assistant instruction bundle |
28
+ | `gemini` | prompt and context bundle |
29
+ | `copilot` | repository instructions and chat modes |
30
+
31
+ ## Workflow
32
+
33
+ 1. Read `templates/manifest.json` and current asset counts.
34
+ 2. Select source assets by target capability.
35
+ 3. Produce a mapping table: source path, target path, transform, lossiness.
36
+ 4. Flag unsupported concepts such as memory scope, hooks, MCP tools, or permission mode.
37
+ 5. Emit a dry-run report and stop unless the user explicitly requested writes.
38
+
39
+ ## Output
40
+
41
+ ```text
42
+ harness-export target=cursor mode=dry-run
43
+ mapped: skills=18 rules=7 agents=6
44
+ lossy: hooks, memory scope, MCP server config
45
+ decision: export plan only
46
+ ```
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: instinct-extractor
3
+ description: Extract reusable workflow instincts from git history, sessions, and task outcomes with confidence scoring
4
+ scope: harness
5
+ version: 1.0.0
6
+ user-invocable: true
7
+ argument-hint: "[--since <date>] [--source git|sessions|outcomes|all] [--min-confidence low|medium|high]"
8
+ ---
9
+
10
+ # Instinct Extractor
11
+
12
+ Find repeated operator or agent behavior that should become a rule, skill, guide, memory entry, or evaluation case.
13
+
14
+ ## Inputs
15
+
16
+ | Source | Evidence |
17
+ |--------|----------|
18
+ | `git` | Commit messages, changed paths, reverted fixes, recurring file clusters |
19
+ | `sessions` | `.codex/outputs/sessions/**`, pipeline artifacts, review reports |
20
+ | `outcomes` | Task outcome JSONL, hook telemetry, verification failures |
21
+ | `all` | Combined evidence with deduplication |
22
+
23
+ ## Confidence
24
+
25
+ | Confidence | Requirement |
26
+ |------------|-------------|
27
+ | `low` | One clear event with plausible reuse |
28
+ | `medium` | Two or more independent events or one tested release finding |
29
+ | `high` | Repeated events plus passing verification or explicit user confirmation |
30
+
31
+ ## Workflow
32
+
33
+ 1. Collect bounded evidence for the requested source.
34
+ 2. Cluster repeated failures, decisions, and successful recovery patterns.
35
+ 3. Classify each candidate:
36
+ - `memory` for project/user behavior
37
+ - `rule` for durable safety constraints
38
+ - `skill` for repeatable workflows
39
+ - `guide` for reference knowledge
40
+ - `eval` for regression checks
41
+ 4. Assign confidence and cite concrete files, commits, or artifacts.
42
+ 5. Emit proposals only; do not create new rules or skills without an explicit follow-up task.
43
+
44
+ ## Output
45
+
46
+ ```text
47
+ candidate: release-version-sync-preflight
48
+ type: skill
49
+ confidence: high
50
+ evidence:
51
+ - .github/scripts/verify-version-sync.sh
52
+ - workflows/auto-dev.yaml
53
+ recommendation: keep as release pipeline gate
54
+ ```
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: manifest-install
3
+ description: Selective manifest-driven installation profiles for oh-my-customcodex assets
4
+ scope: harness
5
+ version: 1.0.0
6
+ user-invocable: true
7
+ argument-hint: "--profile minimal|standard|full|codex|claude [--target <dir>] [--dry-run]"
8
+ ---
9
+
10
+ # Manifest Install
11
+
12
+ Install only the agent-stack assets a project profile needs, while keeping the package manifest, template tree, and Codex runtime layout consistent.
13
+
14
+ ## Use When
15
+
16
+ - A user wants a smaller install than the full template bundle.
17
+ - Release work changes `templates/manifest.json` or component counts.
18
+ - A project needs Codex-native assets without optional Claude compatibility mirrors.
19
+
20
+ ## Profiles
21
+
22
+ | Profile | Includes | Excludes |
23
+ |---------|----------|----------|
24
+ | `minimal` | AGENTS, core rules, routing skills, status/help, git safety | specialist language packs, optional guides |
25
+ | `standard` | minimal + common dev/review/test skills and agents | niche provider guides |
26
+ | `full` | every packaged template asset | nothing |
27
+ | `codex` | `.codex/**`, AGENTS, guides, workflows | `.claude/**` compatibility mirrors |
28
+ | `claude` | Claude compatibility mirrors and CLAUDE entry files | Codex-only runtime state |
29
+
30
+ ## Workflow
31
+
32
+ 1. Read `templates/manifest.json`.
33
+ 2. Resolve profile include/exclude rules.
34
+ 3. Produce an install plan with paths, counts, and skipped components.
35
+ 4. Dry-run by default for destructive replacements.
36
+ 5. Apply by copying only planned paths and preserving user-owned files.
37
+ 6. Recount components and report drift.
38
+
39
+ ## Safety
40
+
41
+ - Never delete user files that are outside the generated asset set.
42
+ - Preserve `.codex/agent-memory*/`, local settings, and outputs.
43
+ - Treat count mismatch as a halt condition unless `--dry-run` was requested.
44
+ - Use `omcustomcodex` in operator guidance.
45
+
46
+ ## Output
47
+
48
+ ```text
49
+ manifest-install profile=standard target=.
50
+ planned: rules=22 agents=49 skills=123 guides=48
51
+ skipped: compatibility mirrors, optional provider guides
52
+ status: dry-run
53
+ ```
@@ -1,13 +1,21 @@
1
1
  ---
2
2
  name: memory-management
3
- description: Memory persistence operations using claude-mem
3
+ description: Memory persistence operations using native memory plus omx-memory or AgentMemory-compatible MCP backends
4
4
  scope: core
5
5
  user-invocable: false
6
6
  ---
7
7
 
8
8
  ## Purpose
9
9
 
10
- Provide memory persistence operations using claude-mem for session context survival across compactions.
10
+ Provide memory persistence operations using native `MEMORY.md` first, then a searchable MCP backend for cross-session retrieval. Prefer an AgentMemory-compatible or `omx-memory` backend exposing `memory_search`, `memory_add`, and `observation_add`; use legacy `claude-mem` only as a fallback when that is the configured backend.
11
+
12
+ ## Backend Order
13
+
14
+ 1. Native auto-memory: compact durable facts in `MEMORY.md`.
15
+ 2. AgentMemory-compatible MCP or `omx-memory`: cross-session search, shared observations, and temporal recall.
16
+ 3. Legacy `claude-mem`: fallback only when the project still exposes Chroma tools.
17
+
18
+ When both legacy `claude-mem` and an AgentMemory-compatible backend are active, warn about split-brain storage. Dual-write is allowed only during an explicit migration window.
11
19
 
12
20
  ## Operations
13
21
 
@@ -15,7 +23,7 @@ Provide memory persistence operations using claude-mem for session context survi
15
23
 
16
24
  ```yaml
17
25
  operation: save
18
- description: Store session context in claude-mem
26
+ description: Store session context in the configured searchable memory backend
19
27
  steps:
20
28
  1. Collect session data:
21
29
  - Tasks completed
@@ -26,8 +34,10 @@ steps:
26
34
  - Add project tag: "my-project"
27
35
  - Add session ID: {date}-{uuid}
28
36
  - Add relevant tags
29
- 3. Store in claude-mem:
30
- - Use chroma_add_documents
37
+ 3. Store in configured backend:
38
+ - Prefer memory_add for session summaries
39
+ - Use observation_add for atomic behavioral or project observations
40
+ - Legacy fallback: chroma_add_documents
31
41
  - Include metadata
32
42
  ```
33
43
 
@@ -41,8 +51,9 @@ steps:
41
51
  - Always prefix with "my-project"
42
52
  - Add user-provided search terms
43
53
  - Include date for temporal searches
44
- 2. Search claude-mem:
45
- - Use chroma_query_documents
54
+ 2. Search configured backend:
55
+ - Prefer memory_search
56
+ - Legacy fallback: chroma_query_documents
46
57
  - Request top N results
47
58
  3. Format results:
48
59
  - Sort by relevance
@@ -56,8 +67,9 @@ steps:
56
67
  operation: get
57
68
  description: Retrieve specific memory by ID
58
69
  steps:
59
- 1. Use chroma_get_documents with ID
60
- 2. Return full document content
70
+ 1. Prefer memory_read or memory_search by ID
71
+ 2. Legacy fallback: chroma_get_documents with ID
72
+ 3. Return full document content
61
73
  ```
62
74
 
63
75
  ## Query Patterns
@@ -66,17 +78,20 @@ steps:
66
78
 
67
79
  ```python
68
80
  # Always include project name
81
+ memory_search({ query: "my-project {search_terms}", limit: 8 })
82
+
83
+ # Legacy fallback
69
84
  chroma_query_documents(["my-project {search_terms}"])
70
85
 
71
86
  # Examples:
72
- chroma_query_documents(["my-project authentication flow"])
73
- chroma_query_documents(["my-project 2025-01-24 memory system"])
87
+ memory_search({ query: "my-project authentication flow", limit: 5 })
88
+ memory_search({ query: "my-project 2025-01-24 memory system", limit: 5 })
74
89
  ```
75
90
 
76
91
  ### Get by ID
77
92
 
78
93
  ```python
79
- # When you have a specific document ID
94
+ # When you have a specific document ID and only legacy tools are available
80
95
  chroma_get_documents(ids=["document_id"])
81
96
  ```
82
97
 
@@ -194,3 +209,47 @@ recall_errors:
194
209
  - Connection failure: Return empty with warning
195
210
  - Invalid query: Help user reformulate
196
211
  ```
212
+
213
+ ## MemKraft Bridge (Optional)
214
+
215
+ > External integration: [MemKraft](https://github.com/seojoonkim/memkraft) — zero-dependency compound memory for AI agents.
216
+ > Install: `pipx install memkraft`
217
+
218
+ ### When to Use
219
+
220
+ | Capability | Searchable MCP | MemKraft |
221
+ |-----------|-----------|----------|
222
+ | Session persistence | ✅ (Chroma) | ✅ (Markdown) |
223
+ | Entity tracking | ❌ | ✅ (person/org/concept) |
224
+ | Source attribution | ❌ | ✅ (`[Source: who, when, how]`) |
225
+ | Auto-maintenance | ❌ | ✅ (Dream Cycle) |
226
+ | CJK entity extraction | ❌ | ✅ (Korean/Chinese/Japanese) |
227
+ | Offline search | ❌ | ✅ (stdlib difflib) |
228
+
229
+ Use MemKraft when entity tracking or source attribution is needed. Use the configured AgentMemory-compatible or `omx-memory` backend for searchable session persistence.
230
+
231
+ ### Commands
232
+
233
+ ```bash
234
+ # Extract entities from a document
235
+ memkraft extract <file>
236
+
237
+ # Get a brief on a topic
238
+ memkraft brief <topic>
239
+
240
+ # Run maintenance cycle (dedup, prune orphans)
241
+ memkraft dream
242
+ ```
243
+
244
+ ### Integration with sys-memory-keeper
245
+
246
+ At session end, sys-memory-keeper can optionally run MemKraft operations:
247
+
248
+ 1. `memkraft extract` on session summary → builds entity graph
249
+ 2. `memkraft dream` → prunes stale entries (run weekly, not every session)
250
+
251
+ ### Prerequisites
252
+
253
+ - Python 3.9+
254
+ - `pipx install memkraft`
255
+ - No API keys required (offline-only)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: memory-recall
3
- description: Search and recall memories from claude-mem
3
+ description: Search and recall memories from native memory plus omx-memory or AgentMemory-compatible backends
4
4
  scope: core
5
5
  argument-hint: "<query> [--recent] [--limit <n>]"
6
6
  user-invocable: true
@@ -8,7 +8,7 @@ user-invocable: true
8
8
 
9
9
  # Memory Recall Skill
10
10
 
11
- Search and recall relevant memories from claude-mem using semantic search.
11
+ Search and recall relevant memories from native `MEMORY.md` plus the configured searchable MCP backend. Prefer AgentMemory-compatible or `omx-memory` tools (`memory_search`, `memory_read`); fall back to legacy `claude-mem` Chroma tools only when those are the configured backend.
12
12
 
13
13
  ## Parameters
14
14
 
@@ -33,8 +33,9 @@ Search and recall relevant memories from claude-mem using semantic search.
33
33
  ├── Add user query terms
34
34
  └── Include date if specified
35
35
 
36
- 2. Search claude-mem
37
- └── chroma_query_documents
36
+ 2. Search configured backend
37
+ ├── Prefer memory_search
38
+ └── Legacy fallback: chroma_query_documents
38
39
 
39
40
  3. Format results
40
41
  ├── Sort by relevance score
@@ -170,3 +171,4 @@ Suggestions:
170
171
  ## Related
171
172
 
172
173
  - memory-save - Save current context
174
+ - memory-management - Backend selection and split-brain safeguards
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: memory-save
3
- description: Save current session context to claude-mem
3
+ description: Save current session context to native memory plus omx-memory or AgentMemory-compatible backends
4
4
  scope: core
5
5
  argument-hint: "[--tags <tags>] [--include-code]"
6
6
  disable-model-invocation: true
@@ -9,7 +9,7 @@ user-invocable: true
9
9
 
10
10
  # Memory Save Skill
11
11
 
12
- Save current session context to claude-mem for persistence across context compaction.
12
+ Save current session context to native memory and the configured searchable MCP backend for persistence across context compaction. Prefer AgentMemory-compatible or `omx-memory` tools (`memory_add`, `observation_add`); fall back to legacy `claude-mem` only when that is the configured backend.
13
13
 
14
14
  ## Options
15
15
 
@@ -35,8 +35,10 @@ Save current session context to claude-mem for persistence across context compac
35
35
  ├── tags: [session, ...user_tags]
36
36
  └── created_at: {timestamp}
37
37
 
38
- 3. Store in claude-mem
39
- └── chroma_add_documents
38
+ 3. Store in configured backend
39
+ ├── Prefer memory_add for summaries
40
+ ├── Prefer observation_add for atomic learnings
41
+ └── Legacy fallback: chroma_add_documents
40
42
 
41
43
  4. Report result
42
44
  ```
@@ -112,7 +114,7 @@ Open Items:
112
114
  1. Refresh token implementation
113
115
  Status: In progress
114
116
 
115
- Saving to claude-mem...
117
+ Saving to configured memory backend...
116
118
 
117
119
  Document content:
118
120
  ## Session Summary
@@ -126,3 +128,4 @@ Memory ID: mem_abc123
126
128
  ## Related
127
129
 
128
130
  - memory-recall - Search and recall memories
131
+ - memory-management - Backend selection and migration safeguards
@@ -0,0 +1,55 @@
1
+ # Pipeline Label Standards
2
+
3
+ Canonical reference for GitHub issue label semantics in the auto-dev pipeline.
4
+ Used by `scope-selection` to include or exclude issues and by `implement` for lifecycle management.
5
+
6
+ ## Label Definitions
7
+
8
+ | Label | Meaning | scope-selection handling |
9
+ |-------|---------|--------------------------|
10
+ | `verify-ready` | Triage complete, ready for verification or automation | INCLUDE (preferred) |
11
+ | `verify-done` | Triage complete but deferred, already handled, or excluded from this cycle | EXCLUDE |
12
+ | `in-progress` | Work is claimed by another session | EXCLUDE |
13
+ | `needs-review` | Human review is required before automation | EXCLUDE |
14
+ | `decision-needed` | Security, policy, or product decision required | EXCLUDE |
15
+ | `automated` | Auto-generated issue from release-monitor tooling | INCLUDE if other criteria match |
16
+ | `codex-release` | Codex release monitor trigger | INCLUDE (preferred) |
17
+ | `oh-my-codex-release` | oh-my-codex release monitor trigger | INCLUDE (preferred) |
18
+ | `claude-code-release` | Claude compatibility release trigger | INCLUDE (preferred) |
19
+ | `documentation` | Documentation-only scope | INCLUDE (preferred for docs-only release) |
20
+ | `enhancement-yaml-only` | YAML/config-only scope change | INCLUDE (eligible for docs-only compression) |
21
+
22
+ ## Selection Rule
23
+
24
+ ```text
25
+ EXCLUDE if:
26
+ - blocked_by_decision == true
27
+ - labels intersect {decision-needed, needs-review, verify-done, manual-action, in-progress}
28
+
29
+ INCLUDE (preferred tier):
30
+ - labels intersect {verify-ready, codex-release, oh-my-codex-release, claude-code-release, documentation}
31
+
32
+ INCLUDE (standard tier):
33
+ - P1/P2/P3 issues not in excluded set
34
+
35
+ Tie-break priority: P1 > P2 > P3 > unclassified
36
+ ```
37
+
38
+ ## Compression Eligibility
39
+
40
+ An issue is eligible for `docs-only` compression mode if its labels include at least one of:
41
+ `documentation`, `automated`, `codex-release`, `oh-my-codex-release`, `claude-code-release`, `enhancement-yaml-only`.
42
+
43
+ If all scoped issues are compression-eligible and scope size is 3 or fewer, the pipeline may use
44
+ `compression_mode=docs-only` and replace heavyweight triage, planning, and verification spawns with
45
+ direct manifest summaries plus a local self-review checklist.
46
+
47
+ ## Lifecycle Labels
48
+
49
+ | Transition | Action |
50
+ |------------|--------|
51
+ | Work started | Add `in-progress`, assign the current operator |
52
+ | Work succeeded | Remove `in-progress`, add `verify-ready` |
53
+ | Work failed | Remove `in-progress`, add `needs-review` |
54
+ | Released | Remove `verify-ready`, close with `Fixed in v{version}` |
55
+ | Deferred | Add `verify-done`, label `Deferred from v{version}` |
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: sec-agentshield-wrapper
3
+ description: Pre-flight AgentShield-style security suite wrapper for agent harness changes
4
+ scope: harness
5
+ version: 1.0.0
6
+ user-invocable: true
7
+ argument-hint: "<path> [--strict] [--report <file>]"
8
+ ---
9
+
10
+ # AgentShield Wrapper
11
+
12
+ Run an AgentShield-style pre-flight review before risky agent, skill, hook, or MCP changes. This skill is a wrapper contract: use a connected AgentShield tool when available, otherwise run the local static checks that approximate the same boundary.
13
+
14
+ ## Checks
15
+
16
+ | Area | What to Inspect |
17
+ |------|-----------------|
18
+ | Tool authority | Agent frontmatter tools, disallowed tools, and permission mode |
19
+ | Prompt injection | Untrusted text flowing into tool instructions or shell commands |
20
+ | Secret exposure | Tokens, private keys, bearer headers, and credential-like literals |
21
+ | Path boundaries | Writes to `.git`, runtime state, templates, and compatibility mirrors |
22
+ | MCP risk | New servers, remote URLs, timeout behavior, and tool naming collisions |
23
+
24
+ ## Workflow
25
+
26
+ 1. Identify changed files with `git diff --name-only` unless a path is supplied.
27
+ 2. Prefer an installed AgentShield scanner if one is configured.
28
+ 3. Fall back to existing repo checks:
29
+ - `secret-filter`
30
+ - schema validator guidance
31
+ - `adversarial-review`
32
+ - `cve-triage` for dependency advisories
33
+ 4. Report findings as `blocker`, `warn`, or `info`.
34
+ 5. In `--strict` mode, halt on any blocker or unreviewed MCP/tool expansion.
35
+
36
+ ## Output
37
+
38
+ ```text
39
+ sec-agentshield-wrapper target=.codex/skills/new-skill
40
+ blocker: 0
41
+ warn: 1
42
+ info: 2
43
+ decision: proceed-with-review
44
+ ```
45
+
46
+ ## Notes
47
+
48
+ - This wrapper complements `sec-codeql-expert`; it does not replace CodeQL or dependency audit.
49
+ - Missing AgentShield tooling is not a failure if local fallback checks run and are reported.
@@ -134,8 +134,8 @@ project/
134
134
  | +-- hooks/ # Hook scripts (security, validation, HUD)
135
135
  | +-- contexts/ # Context files (ecomode)
136
136
  +-- .agents/
137
- | +-- skills/ # Installed skills (119 directories)
138
- +-- guides/ # Reference docs (27 topics)
137
+ | +-- skills/ # Installed skills (123 directories)
138
+ +-- guides/ # Reference docs (48 topics)
139
139
  ```
140
140
 
141
141
  ## Orchestration
@@ -226,6 +226,7 @@ Task tool + routing skills remain the fallback for simple/cost-sensitive tasks.
226
226
  | Server | Purpose |
227
227
  |--------|---------|
228
228
  | omx-memory | Session memory persistence (Chroma-based) |
229
+ | semble | Semantic code search MCP for high-recall repository exploration |
229
230
  | context7 | Library documentation lookup MCP server when a project needs it |
230
231
 
231
232
  ### Setup Commands
@@ -234,6 +235,9 @@ Task tool + routing skills remain the fallback for simple/cost-sensitive tasks.
234
235
  # MCP setup (omx-memory)
235
236
  npm install -g omx-memory
236
237
  omx-memory setup
238
+
239
+ # Optional semantic code search
240
+ uv tool install semble
237
241
  ```
238
242
 
239
243
  ### Claude Code Compatibility Note
@@ -134,8 +134,8 @@ project/
134
134
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
135
135
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
136
136
  +-- .agents/
137
- | +-- skills/ # 설치된 스킬 (119 디렉토리)
138
- +-- guides/ # 레퍼런스 문서 (27 토픽)
137
+ | +-- skills/ # 설치된 스킬 (123 디렉토리)
138
+ +-- guides/ # 레퍼런스 문서 (48 토픽)
139
139
  ```
140
140
 
141
141
  ## 오케스트레이션
@@ -226,6 +226,7 @@ Codex CLI의 Agent Teams 기능이 활성화되어 있으면 (`OMCODEX_AGENT_TEA
226
226
  | 서버 | 용도 |
227
227
  |------|------|
228
228
  | omx-memory | 세션 메모리 영속성 (Chroma 기반) |
229
+ | semble | 대규모 저장소 탐색용 semantic code search MCP |
229
230
  | context7 | 라이브러리 문서 조회용 MCP 서버 (프로젝트 필요 시 설정) |
230
231
 
231
232
  ### 설치 명령어
@@ -234,6 +235,9 @@ Codex CLI의 Agent Teams 기능이 활성화되어 있으면 (`OMCODEX_AGENT_TEA
234
235
  # MCP 설정 (omx-memory)
235
236
  npm install -g omx-memory
236
237
  omx-memory setup
238
+
239
+ # 선택: semantic code search
240
+ uv tool install semble
237
241
  ```
238
242
 
239
243
  ### Claude Code 호환 참고
@@ -119,8 +119,8 @@ project/
119
119
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
120
120
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
121
121
  +-- .agents/
122
- | +-- skills/ # 스킬 (119 디렉토리)
123
- +-- guides/ # 레퍼런스 문서 (40 토픽)
122
+ | +-- skills/ # 스킬 (123 디렉토리)
123
+ +-- guides/ # 레퍼런스 문서 (48 토픽)
124
124
  ```
125
125
 
126
126
  ## 오케스트레이션
@@ -244,6 +244,7 @@ Codex CLI의 Agent Teams 기능이 활성화되어 있으면 (`OMCODEX_AGENT_TEA
244
244
  | 서버 | 용도 |
245
245
  |------|------|
246
246
  | omx-memory | 세션 메모리 영속성 |
247
+ | semble | 대규모 저장소 탐색용 semantic code search MCP |
247
248
 
248
249
  ### 설치 명령어
249
250
 
@@ -267,6 +268,9 @@ claude agents
267
268
 
268
269
  # MCP 설정 (omx-memory)
269
270
  omx memory doctor
271
+
272
+ # 선택: semantic code search
273
+ uv tool install semble
270
274
  ```
271
275
 
272
276
  <!-- omcodex:git-workflow -->
@@ -133,11 +133,11 @@ project/
133
133
  +-- AGENTS.md # Entry point
134
134
  +-- .codex/
135
135
  | +-- agents/ # Subagent definitions (49 files)
136
- | +-- skills/ # Skills (119 directories)
136
+ | +-- skills/ # Skills (123 directories)
137
137
  | +-- rules/ # Global rules (22 files)
138
138
  | +-- hooks/ # Hook scripts (security, validation, HUD)
139
139
  | +-- contexts/ # Context files (4 files)
140
- +-- guides/ # Reference docs (40 topics)
140
+ +-- guides/ # Reference docs (48 topics)
141
141
  ```
142
142
 
143
143
  ## Orchestration
@@ -240,6 +240,7 @@ Install in Claude Code via `/plugin install <name>`:
240
240
  | Server | Purpose |
241
241
  |--------|---------|
242
242
  | omx-memory | Session memory persistence |
243
+ | semble | Semantic code search MCP for high-recall repository exploration |
243
244
 
244
245
  ### Claude Code Setup Commands
245
246
 
@@ -263,6 +264,9 @@ claude agents
263
264
 
264
265
  # MCP setup (omx-memory)
265
266
  omx memory doctor
267
+
268
+ # Optional semantic code search
269
+ uv tool install semble
266
270
  ```
267
271
 
268
272
  <!-- omcodex:git-workflow -->
@@ -133,11 +133,11 @@ project/
133
133
  +-- AGENTS.md # 진입점
134
134
  +-- .codex/
135
135
  | +-- agents/ # 서브에이전트 정의 (49 파일)
136
- | +-- skills/ # 스킬 (119 디렉토리)
136
+ | +-- skills/ # 스킬 (123 디렉토리)
137
137
  | +-- rules/ # 전역 규칙 (22 파일)
138
138
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
139
139
  | +-- contexts/ # 컨텍스트 파일 (4 파일)
140
- +-- guides/ # 레퍼런스 문서 (40 토픽)
140
+ +-- guides/ # 레퍼런스 문서 (48 토픽)
141
141
  ```
142
142
 
143
143
  ## 오케스트레이션
@@ -240,6 +240,7 @@ Claude Code 환경에서 `/plugin install <이름>`으로 설치:
240
240
  | 서버 | 용도 |
241
241
  |------|------|
242
242
  | omx-memory | 세션 메모리 영속성 |
243
+ | semble | 대규모 저장소 탐색용 semantic code search MCP |
243
244
 
244
245
  ### Claude Code 설치 명령어
245
246
 
@@ -263,6 +264,9 @@ claude agents
263
264
 
264
265
  # MCP 설정 (omx-memory)
265
266
  omx memory doctor
267
+
268
+ # 선택: semantic code search
269
+ uv tool install semble
266
270
  ```
267
271
 
268
272
  <!-- omcodex:git-workflow -->
@@ -0,0 +1,110 @@
1
+ # templates/
2
+
3
+ > **oh-my-customcodex distribution directory**
4
+ >
5
+ > Source files copied or transformed when `omcustomcodex init` installs the harness into a project.
6
+
7
+ ## Purpose
8
+
9
+ `templates/` is the packaged distribution snapshot for oh-my-customcodex.
10
+
11
+ The installer maps the Claude-compatible template tree into the Codex-native runtime layout:
12
+
13
+ ```text
14
+ oh-my-customcodex source repo
15
+ templates/
16
+ .claude/ # compatibility template source
17
+ guides/ # reference documentation
18
+ AGENTS.md.en # Codex entry template
19
+ AGENTS.md.ko
20
+
21
+ installed project
22
+ .codex/ # Codex-native agents, rules, hooks, contexts, ontology
23
+ .agents/skills/ # installed runtime skills
24
+ guides/ # reference documentation
25
+ AGENTS.md # project entrypoint
26
+ ```
27
+
28
+ The repository keeps `.codex/**` as the authoring surface. `templates/.claude/**` remains a compatibility source that the installer maps into the target Codex layout.
29
+
30
+ ## Main README Relationship
31
+
32
+ | Document | Audience | Purpose |
33
+ |----------|----------|---------|
34
+ | [`/README.md`](../README.md) | Users of the npm package | Project overview, install command, philosophy |
35
+ | `templates/README.md` | Maintainers | Distribution layout, component counts, sync checks |
36
+
37
+ ## Directory Structure
38
+
39
+ ```text
40
+ templates/
41
+ +-- README.md # this file
42
+ +-- AGENTS.md.en # Codex entry template, English
43
+ +-- AGENTS.md.ko # Codex entry template, Korean
44
+ +-- CLAUDE.md* # Claude compatibility entry templates
45
+ +-- manifest.json # packaged component metadata
46
+ +-- workflows/ # project-level pipeline definitions
47
+ +-- .claude/
48
+ | +-- agents/ # agent definitions (49 files)
49
+ | +-- skills/ # skill modules (123 SKILL.md files)
50
+ | +-- rules/ # global rules (22 files)
51
+ | +-- hooks/ # hook registry and scripts (38 scripts)
52
+ | +-- contexts/ # context files
53
+ | +-- ontology/ # ontology and routing metadata
54
+ | +-- schemas/ # tool input schemas
55
+ +-- guides/ # reference docs (48 topics)
56
+ ```
57
+
58
+ ## Components
59
+
60
+ The counts below should stay aligned with `templates/manifest.json`, README component headings, and CI template validation.
61
+
62
+ ### Agents (49)
63
+
64
+ `templates/.claude/agents/*.md`
65
+
66
+ Flat agent definition files. During Codex installation these land under `.codex/agents/`.
67
+
68
+ ### Skills (123)
69
+
70
+ `templates/.claude/skills/*/SKILL.md`
71
+
72
+ Reusable workflow and reference skill modules. During Codex installation these land under `.agents/skills/`.
73
+
74
+ ### Rules (22)
75
+
76
+ `templates/.claude/rules/*.md`
77
+
78
+ Global agent behavior rules. During Codex installation these land under `.codex/rules/`.
79
+
80
+ ### Guides (48)
81
+
82
+ `templates/guides/*/`
83
+
84
+ Reference documentation directories copied to installed projects as `guides/`.
85
+
86
+ ### Hooks (38)
87
+
88
+ `templates/.claude/hooks/scripts/*.sh`
89
+
90
+ Lifecycle hook scripts copied into `.codex/hooks/scripts/`.
91
+
92
+ ## Local Verification
93
+
94
+ Run the checks below before publishing a template-affecting change:
95
+
96
+ ```bash
97
+ bash .github/scripts/verify-version-sync.sh
98
+ bun test tests/unit/core/template-validation.test.ts
99
+ ```
100
+
101
+ The CI template-sync job also verifies source/template counts for agents, skills, rules, guides, hook scripts, hook matchers, schemas, and skill scripts.
102
+
103
+ ## Maintainer Notes
104
+
105
+ When adding or removing an agent, skill, rule, guide, hook, or workflow:
106
+
107
+ 1. Update the source surface under `.codex/**`, `.agents/skills/**`, `guides/**`, or `workflows/**`.
108
+ 2. Mirror packaged content under `templates/**` according to the provider mapping.
109
+ 3. Update `templates/manifest.json` and visible documentation counts.
110
+ 4. Add or update a regression test when the drift could recur.
@@ -22,12 +22,16 @@ Use R013 ecomode and existing runtime guards when you want to compress active-se
22
22
 
23
23
  This layer changes how the session behaves while work is running.
24
24
 
25
- ## Layer 3: Tool-Specific Compression
25
+ ## Layer 3: Retrieval and Tool-Specific Compression
26
+
27
+ Use semantic code search or graph retrieval before broad file reads when the problem is repository exploration. Prefer Semble when an indexed semantic MCP is connected, and prefer CRG/code-review-graph when the task needs impact radius or dependency context. Fall back to `rg` and targeted reads when those tools are unavailable.
26
28
 
27
29
  Use `playwright-compress` when the problem is not the whole session, but one extremely verbose browser tool result.
28
30
 
29
31
  This layer is intentionally narrow:
30
32
 
33
+ - use Semble for high-recall code search over large repositories
34
+ - use CRG for `get_minimal_context`, `get_impact_radius`, and trust-boundary graph queries
31
35
  - compress verbose Playwright MCP output after the tool succeeds
32
36
  - preserve `ref=` tokens and URLs for follow-up interaction
33
37
  - keep browser evidence actionable without keeping the full raw payload in context
@@ -64,6 +68,7 @@ Typical settings-level levers:
64
68
  |------|------------|
65
69
  | Protect cache value across pauses | Layer 1 |
66
70
  | Compress runtime behavior in large sessions | Layer 2 |
71
+ | Reduce broad code-search reads | Layer 3 |
67
72
  | Compress one noisy browser interaction | Layer 3 |
68
73
  | Reduce baseline token spend from configuration | Layer 4 |
69
74
 
@@ -2,6 +2,24 @@
2
2
 
3
3
  This guide records Claude Code release-note impact that affects the Claude compatibility template. The Codex-native runtime still uses `.codex/**` and OMX as the primary surface.
4
4
 
5
+ ## v2.1.142
6
+
7
+ Published: 2026-05-14.
8
+
9
+ Source: upstream oh-my-customcode #1158, Codex port #1329.
10
+
11
+ | Change | Impact on oh-my-customcodex | Action |
12
+ |--------|------------------------------|--------|
13
+ | `claude agents` added `--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` | Useful for Claude compatibility sessions that need CLI-level overrides for background agents. Codex-native child agents still use the Codex tool surface and repo model contract. | No Codex runtime change. Keep unattended Claude-template prompts explicit about permission mode. |
14
+ | Fast Mode now defaults to Opus 4.7 | Only affects Claude compatibility users running Fast Mode with `model: opus` agents. | Pin with `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` only when a compatibility session needs old behavior. |
15
+ | Root-level plugin `SKILL.md` is surfaced as a skill | Does not change this repo's packaged `.claude/skills/<name>/SKILL.md` layout. | No template migration. |
16
+ | `/plugin details` shows plugin LSP servers | Improves plugin inventory visibility for compatibility users. | No package change. |
17
+ | `/web-setup` warns before replacing an existing GitHub App connection | UX safety improvement outside this harness. | No action. |
18
+ | `MCP_TOOL_TIMEOUT` now raises remote HTTP/SSE MCP request timeout as intended | Helpful for slow remote memory or ontology MCP servers. | Set `MCP_TOOL_TIMEOUT` in affected environments only. |
19
+ | Background sessions can edit existing git worktrees | Stabilizes Claude compatibility workflows that use git worktrees for parallel branches. | No Codex-side change. |
20
+ | Background sessions survive macOS sleep/wake more reliably | Improves long-running Claude compatibility sessions. | No action. |
21
+ | `--dangerously-skip-permissions` persists across retire/wake cycles | Reduces unattended permission-mode drops for Claude compatibility sessions. | Keep explicit permission guidance in workflow prompts. |
22
+
5
23
  ## v2.1.141
6
24
 
7
25
  Published: 2026-05-13.
@@ -50,6 +68,23 @@ Published: 2026-05-11.
50
68
  | Native `/goal` | The packaged workflow uses `/omcustomcodex:goal`; native `/goal` stays available for Claude Code completion tracking. |
51
69
  | `claude agents`, `/scroll-speed`, `claude plugin details <name>`, `/mcp` reconnect | Documented in the CLI, MCP, AGENTS, and CLAUDE template guidance. |
52
70
 
71
+ ## Known Limitations
72
+
73
+ ### Parent `.gitignore` nested plan pattern
74
+
75
+ Source: upstream oh-my-customcode #1147, Codex port #1326.
76
+
77
+ The parent package documented a future-proofing limitation for this pattern:
78
+
79
+ ```gitignore
80
+ docs/superpowers/plans/*
81
+ !docs/superpowers/plans/*.md
82
+ ```
83
+
84
+ That pattern only tracks direct-child Markdown files. Git cannot re-include a file inside a directory that was already excluded by a broader parent pattern unless the directory path is also re-included.
85
+
86
+ Current Codex-port status: not applicable. This repository does not ignore `docs/superpowers/plans/`, and existing nested plan documents are trackable. If a future ignore rule reintroduces that parent pattern, add explicit subdirectory re-includes before relying on nested plan files.
87
+
53
88
  ## Compatibility Rules
54
89
 
55
90
  1. Keep `.codex/**` as the source of truth for the Codex package.
@@ -1,11 +1,11 @@
1
1
  {
2
- "version": "0.5.0",
2
+ "version": "0.5.1",
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-04-28T00:01:33.302Z",
8
+ "lastUpdated": "2026-05-19T00: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": 119
26
+ "files": 123
27
27
  },
28
28
  {
29
29
  "name": "guides",
@@ -13,28 +13,77 @@ observability:
13
13
  report_before: followup
14
14
 
15
15
  steps:
16
+ - name: preflight-sync
17
+ prompt: |
18
+ Phase 0 — Sync local repository and detect stale issue context before triage.
19
+
20
+ 1. Run `git fetch --all --tags --prune`.
21
+ 2. Compute `behind=$(git rev-list --count HEAD..origin/$(git rev-parse --abbrev-ref HEAD))`.
22
+ 3. If behind > 0 and the worktree is clean, run `git pull --ff-only` and report synced commits.
23
+ 4. If behind > 0 and the worktree is dirty, halt with a manual reconcile message.
24
+ 5. Report latest tag, local HEAD, and synced/behind state.
25
+ 6. Compare open issue body `vX.Y.Z` references against local git tags and warn on references to missing tags.
26
+ 7. Create required lifecycle labels idempotently: in-progress, verify-ready, needs-review, decision-needed.
27
+ description: Sync remote state, detect stale version references, and ensure lifecycle labels
28
+
16
29
  - name: issue-analysis
30
+ depends_on: preflight-sync
17
31
  parallel:
18
32
  - name: pre-triage
19
33
  skill: professor-triage
20
- description: Run professor-triage on open issues that lack verify-done label, including release-monitor labels codex-release and oh-my-codex-release
34
+ description: Run professor-triage on open issues that lack verify-done label, including release-monitor labels codex-release and oh-my-codex-release; never terminate from an empty verify-done query alone while release-monitor issues remain
21
35
  condition: "open issues without label:verify-done exist OR open release-monitor issues with label:codex-release or label:oh-my-codex-release exist"
22
36
  - name: triage
23
37
  skill: professor-triage
24
38
  description: Analyze verify-done and release-monitor issues against current codebase and perform automated triage
25
39
 
26
- - name: plan
40
+ - name: scope-selection
27
41
  depends_on: issue-analysis
42
+ prompt: |
43
+ Select one bounded release scope and protect against stale milestone reuse.
44
+
45
+ Milestone pre-check:
46
+ - Query all milestones, open and closed, before creating vX.Y.Z.
47
+ - If the target milestone already exists and is closed, halt and require a version bump or manual reopen.
48
+ - If it exists and is open, reuse it.
49
+ - If it does not exist, create it and assign scoped issues.
50
+
51
+ Label semantics:
52
+ - Reference `.codex/skills/pipeline/labels.md`.
53
+ - Exclude blocked_by_decision, decision-needed, needs-review, verify-done, manual-action, and in-progress issues.
54
+ - Prefer verify-ready, codex-release, oh-my-codex-release, claude-code-release, and documentation issues.
55
+ - Sort by P1, P2, P3, then dependency order; cap a release unit at 7 issues.
56
+
57
+ Output a release manifest with issue number, title, prerequisite, effort, and labels.
58
+ description: Milestone state pre-check, label filter, and bounded release scope selection
59
+
60
+ - name: compression-mode-eval
61
+ depends_on: scope-selection
62
+ prompt: |
63
+ Evaluate docs-only compression mode.
64
+
65
+ Use `compression_mode=docs-only` only when:
66
+ - scope size is 3 or fewer issues
67
+ - every scoped issue has at least one of documentation, automated, codex-release, oh-my-codex-release, claude-code-release, or enhancement-yaml-only
68
+
69
+ In docs-only mode, replace heavyweight triage/plan/deep-plan/deep-verify spawns with direct summaries plus local self-review. Otherwise use standard mode.
70
+ Output the selected compression_mode for downstream steps.
71
+ description: Evaluate docs-only compression eligibility
72
+
73
+ - name: plan
74
+ depends_on: compression-mode-eval
28
75
  skill: release-plan
29
- description: Group triaged issues into release units by priority and size
76
+ description: Group triaged issues into release units by priority and size; skipped if compression_mode=docs-only
30
77
  input: triage-results
31
78
 
32
79
  - name: deep-plan
80
+ depends_on: plan
33
81
  skill: deep-plan
34
- description: Create detailed implementation plan for each release group
82
+ description: Create detailed implementation plan for each release group; skipped if compression_mode=docs-only
35
83
  foreach: release-group
36
84
 
37
85
  - name: implement
86
+ depends_on: deep-plan
38
87
  prompt: |
39
88
  Execute implementation plan with appropriate agents.
40
89
 
@@ -46,14 +95,40 @@ steps:
46
95
  description: Execute implementation plan with appropriate agents
47
96
  foreach: planned-issue
48
97
 
98
+ - name: verify-build
99
+ depends_on: implement
100
+ prompt: |
101
+ Project-specific build + test verification.
102
+
103
+ For Node/Bun projects:
104
+ 1. Run `bun install` and halt on lockfile drift.
105
+ 2. Run `bun run lint` when available.
106
+ 3. Run `bun run typecheck` when available.
107
+ 4. Run `bun test` mandatorily; do not silently skip tests.
108
+ 5. Adopt the prior version's test result as the dynamic baseline. Current Codex baseline is 0 failures after #1328 verification.
109
+ 6. Halt if current failures exceed baseline; otherwise report pass/fail counts and delta.
110
+ 7. Run `bun run build` when available.
111
+
112
+ Halt on lint errors, typecheck errors, new test failures, build failure, or lockfile drift.
113
+ description: Auto-detected build + test verification with mandatory bun test baseline delta guard
114
+
49
115
  - name: verify
116
+ depends_on: verify-build
50
117
  skill: deep-verify
51
- description: Multi-angle release quality verification
118
+ description: Multi-angle release quality verification; self-review checklist only if compression_mode=docs-only
52
119
 
53
120
  - name: release
121
+ depends_on: verify
54
122
  prompt: |
55
123
  Create release branch and pull request.
56
124
 
125
+ Required version preflight for npm package releases:
126
+ - Determine NEW_VERSION before creating a release branch, PR, or tag.
127
+ - Update `package.json` and `templates/manifest.json` to NEW_VERSION in the same commit.
128
+ - Use same-directory temporary files for generated JSON writes; do not write through `/tmp`.
129
+ - Run `bash .github/scripts/verify-version-sync.sh` after the bump and before tag or PR creation.
130
+ - Commit the bump with `chore(release): bump to v{NEW_VERSION}` before any release tag is created.
131
+
57
132
  Before creating `release/v*`, check whether a local branch named exactly
58
133
  `release` exists. Git stores refs as files/directories, so
59
134
  `refs/heads/release` blocks `refs/heads/release/vX.Y.Z`.