oh-my-customcodex 0.3.1 → 0.3.4
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 +34 -34
- package/dist/cli/index.js +25 -30
- package/dist/index.js +5 -10
- package/package.json +1 -4
- package/templates/.claude/hooks/scripts/adaptive-harness-scan.sh +3 -3
- package/templates/.claude/rules/MUST-continuous-improvement.md +1 -1
- package/templates/.claude/rules/MUST-sync-verification.md +3 -3
- package/templates/.claude/rules/SHOULD-wiki-sync.md +6 -6
- package/templates/.claude/skills/adaptive-harness/SKILL.md +11 -11
- package/templates/.claude/skills/agora/SKILL.md +5 -5
- package/templates/.claude/skills/analysis/SKILL.md +3 -3
- package/templates/.claude/skills/audit-agents/SKILL.md +1 -1
- package/templates/.claude/skills/claude-native/SKILL.md +5 -5
- package/templates/.claude/skills/create-agent/SKILL.md +1 -1
- package/templates/.claude/skills/dev-refactor/SKILL.md +3 -3
- package/templates/.claude/skills/evaluator-optimizer/SKILL.md +1 -1
- package/templates/.claude/skills/fix-refs/SKILL.md +1 -1
- package/templates/.claude/skills/harness-eval/SKILL.md +4 -4
- package/templates/.claude/skills/help/SKILL.md +1 -1
- package/templates/.claude/skills/lists/SKILL.md +1 -1
- package/templates/.claude/skills/monitoring-setup/SKILL.md +1 -1
- package/templates/.claude/skills/npm-audit/SKILL.md +1 -1
- package/templates/.claude/skills/npm-publish/SKILL.md +1 -1
- package/templates/.claude/skills/npm-version/SKILL.md +1 -1
- package/templates/.claude/skills/omcodex-auto-improve/SKILL.md +4 -4
- package/templates/.claude/skills/omcodex-feedback/SKILL.md +10 -10
- package/templates/.claude/skills/omcodex-improve-report/SKILL.md +2 -2
- package/templates/.claude/skills/omcodex-loop/SKILL.md +4 -4
- package/templates/.claude/skills/omcodex-release-notes/SKILL.md +5 -5
- package/templates/.claude/skills/omcodex-takeover/SKILL.md +4 -4
- package/templates/.claude/skills/omcodex-web/SKILL.md +4 -4
- package/templates/.claude/skills/sauron-watch/SKILL.md +1 -1
- package/templates/.claude/skills/scout/SKILL.md +1 -1
- package/templates/.claude/skills/status/SKILL.md +1 -1
- package/templates/.claude/skills/update-docs/SKILL.md +1 -1
- package/templates/.claude/skills/update-external/SKILL.md +1 -1
- package/templates/.claude/skills/wiki/SKILL.md +9 -9
- package/templates/.claude/skills/wiki-rag/SKILL.md +6 -6
- package/templates/AGENTS.md.en +22 -22
- package/templates/AGENTS.md.ko +22 -22
- package/templates/CLAUDE.md +12 -12
- package/templates/CLAUDE.md.en +22 -22
- package/templates/CLAUDE.md.ko +22 -22
- package/templates/manifest.json +2 -2
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
48 agents. 112 skills. 22 rules. One command.
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
npm install -g oh-my-customcodex && cd your-project &&
|
|
19
|
+
npm install -g oh-my-customcodex && cd your-project && omcustomcodex init
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
---
|
|
@@ -175,29 +175,29 @@ All commands are invoked inside the oh-my-customcodex GPT Codex + OMX session.
|
|
|
175
175
|
|
|
176
176
|
| Command | What it does |
|
|
177
177
|
|---------|-------------|
|
|
178
|
-
| `/
|
|
179
|
-
| `/
|
|
180
|
-
| `/
|
|
178
|
+
| `/omcustomcodex:analysis` | Analyze project, auto-configure agents and skills |
|
|
179
|
+
| `/omcustomcodex:create-agent` | Create a new agent |
|
|
180
|
+
| `/omcustomcodex:takeover` | Extract canonical spec from existing agent or skill |
|
|
181
181
|
| `/idea` | Turn a natural-language idea into structured issue specs |
|
|
182
|
-
| `/
|
|
183
|
-
| `/
|
|
184
|
-
| `/
|
|
185
|
-
| `/
|
|
182
|
+
| `/omcustomcodex:audit-agents` | Audit agent dependencies |
|
|
183
|
+
| `/omcustomcodex:update-docs` | Sync project structure and documentation |
|
|
184
|
+
| `/omcustomcodex:sauron-watch` | Full structural verification (5+3 rounds) |
|
|
185
|
+
| `/omcustomcodex:feedback` | Submit feedback as GitHub issue |
|
|
186
186
|
|
|
187
187
|
### Web UI
|
|
188
188
|
|
|
189
189
|
| Command | What it does |
|
|
190
190
|
|---------|-------------|
|
|
191
|
-
| `/
|
|
191
|
+
| `/omcustomcodex:web` | Control built-in Web UI (start, stop, status, open) |
|
|
192
192
|
|
|
193
193
|
### Package & Release
|
|
194
194
|
|
|
195
195
|
| Command | What it does |
|
|
196
196
|
|---------|-------------|
|
|
197
|
-
| `/
|
|
198
|
-
| `/
|
|
199
|
-
| `/
|
|
200
|
-
| `/
|
|
197
|
+
| `/omcustomcodex:npm-publish` | Publish to npm |
|
|
198
|
+
| `/omcustomcodex:npm-version` | Semantic versioning |
|
|
199
|
+
| `/omcustomcodex:npm-audit` | Dependency security audit |
|
|
200
|
+
| `/omcustomcodex-release-notes` | Generate release notes from git history |
|
|
201
201
|
|
|
202
202
|
### Memory & System
|
|
203
203
|
|
|
@@ -205,11 +205,11 @@ All commands are invoked inside the oh-my-customcodex GPT Codex + OMX session.
|
|
|
205
205
|
|---------|-------------|
|
|
206
206
|
| `/memory-save` | Save session context |
|
|
207
207
|
| `/memory-recall` | Search and recall memories |
|
|
208
|
-
| `/
|
|
208
|
+
| `/omcustomcodex:monitoring-setup` | OTel monitoring toggle |
|
|
209
209
|
| `/token-efficiency-audit` | Audit and tune token-efficiency settings |
|
|
210
|
-
| `/
|
|
211
|
-
| `/
|
|
212
|
-
| `/
|
|
210
|
+
| `/omcustomcodex:loop` | Auto-continue background agent workflows (3-continue safety limit) |
|
|
211
|
+
| `/omcustomcodex:lists` | Show all commands |
|
|
212
|
+
| `/omcustomcodex:status` | System health check |
|
|
213
213
|
|
|
214
214
|
---
|
|
215
215
|
|
|
@@ -249,21 +249,21 @@ Security hooks are advisory (exit 0). They warn but never block.
|
|
|
249
249
|
## CLI
|
|
250
250
|
|
|
251
251
|
```bash
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
252
|
+
omcustomcodex init # Interactive setup wizard (language, framework, team mode)
|
|
253
|
+
omcustomcodex init --lang ko # Initialize with Korean
|
|
254
|
+
omcustomcodex init --from-snapshot # Install from pre-configured team snapshot
|
|
255
|
+
omcustomcodex sync # Detect drift between .codex/ state and lockfile
|
|
256
|
+
omcustomcodex sync --check # Check for drift without applying changes
|
|
257
|
+
omcustomcodex sync --export # Export current state as team snapshot
|
|
258
|
+
omcustomcodex update # Update to latest
|
|
259
|
+
omcustomcodex list # List components
|
|
260
|
+
omcustomcodex doctor # Verify installation
|
|
261
|
+
omcustomcodex doctor --fix # Auto-fix issues
|
|
262
|
+
omcustomcodex security # Scan for security issues
|
|
263
|
+
omcustomcodex projects # List managed projects with version status
|
|
264
|
+
omcustomcodex update --all # Batch update all outdated projects
|
|
265
|
+
omcustomcodex serve # Start built-in Web UI
|
|
266
|
+
omcustomcodex serve-stop # Stop Web UI
|
|
267
267
|
```
|
|
268
268
|
|
|
269
269
|
---
|
|
@@ -293,11 +293,11 @@ your-project/
|
|
|
293
293
|
|
|
294
294
|
## External Tool Integrations
|
|
295
295
|
|
|
296
|
-
RTK is automatically installed during `
|
|
296
|
+
RTK is automatically installed during `omcustomcodex init` for 60-90% token savings. Other tools are optional:
|
|
297
297
|
|
|
298
298
|
| Tool | Purpose | Install | Status |
|
|
299
299
|
|------|---------|---------|--------|
|
|
300
|
-
| [RTK](https://github.com/rtk-ai/rtk) | 60-90% token savings on CLI output | Auto-installed via `
|
|
300
|
+
| [RTK](https://github.com/rtk-ai/rtk) | 60-90% token savings on CLI output | Auto-installed via `omcustomcodex init` | **Recommended** |
|
|
301
301
|
| [Codex CLI](https://github.com/openai/codex) | OpenAI Codex hybrid workflows | `npm i -g @openai/codex` | Optional |
|
|
302
302
|
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | Google Gemini hybrid workflows | `npm i -g @google/gemini-cli` | Optional |
|
|
303
303
|
|
package/dist/cli/index.js
CHANGED
|
@@ -3091,13 +3091,10 @@ var init_package = __esm(() => {
|
|
|
3091
3091
|
workspaces: [
|
|
3092
3092
|
"packages/*"
|
|
3093
3093
|
],
|
|
3094
|
-
version: "0.3.
|
|
3094
|
+
version: "0.3.4",
|
|
3095
3095
|
description: "Batteries-included agent harness on top of GPT Codex + OMX",
|
|
3096
3096
|
type: "module",
|
|
3097
3097
|
bin: {
|
|
3098
|
-
omcodex: "./dist/cli/index.js",
|
|
3099
|
-
omcustom: "./dist/cli/index.js",
|
|
3100
|
-
omcustomx: "./dist/cli/index.js",
|
|
3101
3098
|
omcustomcodex: "./dist/cli/index.js"
|
|
3102
3099
|
},
|
|
3103
3100
|
main: "./dist/index.js",
|
|
@@ -3200,15 +3197,13 @@ function getActiveCliCommandName() {
|
|
|
3200
3197
|
return activeCliCommandName;
|
|
3201
3198
|
}
|
|
3202
3199
|
function rewriteCliCommandReferences(text, commandName = getActiveCliCommandName()) {
|
|
3200
|
+
const rawText = text ?? "";
|
|
3203
3201
|
const normalizedCommandName = normalizeCliCommandName(commandName);
|
|
3204
|
-
|
|
3205
|
-
return text;
|
|
3206
|
-
}
|
|
3207
|
-
return text.replace(/(^|[^A-Za-z0-9_.-])omcodex(?=$|[^A-Za-z0-9_.-])/g, (_match, prefix) => `${prefix}${normalizedCommandName}`);
|
|
3202
|
+
return rawText.replace(/(^|[^A-Za-z0-9_.-])(omcodex|omcustomcodex|omcustomx|omcustom)(?=$|[^A-Za-z0-9_.-])/g, (_match, prefix) => `${prefix}${normalizedCommandName}`);
|
|
3208
3203
|
}
|
|
3209
|
-
var DEFAULT_CLI_COMMAND = "
|
|
3204
|
+
var DEFAULT_CLI_COMMAND = "omcustomcodex", KNOWN_CLI_COMMANDS, WINDOWS_SCRIPT_EXTENSIONS, activeCliCommandName;
|
|
3210
3205
|
var init_cli_command_name = __esm(() => {
|
|
3211
|
-
KNOWN_CLI_COMMANDS = new Set([DEFAULT_CLI_COMMAND
|
|
3206
|
+
KNOWN_CLI_COMMANDS = new Set([DEFAULT_CLI_COMMAND]);
|
|
3212
3207
|
WINDOWS_SCRIPT_EXTENSIONS = /\.(cmd|exe|ps1|bat)$/i;
|
|
3213
3208
|
activeCliCommandName = DEFAULT_CLI_COMMAND;
|
|
3214
3209
|
});
|
|
@@ -25463,7 +25458,7 @@ var en_default = {
|
|
|
25463
25458
|
cli: {
|
|
25464
25459
|
description: "Batteries-included agent harness on top of GPT Codex + OMX",
|
|
25465
25460
|
versionOption: "Show version number",
|
|
25466
|
-
usage: "Usage:
|
|
25461
|
+
usage: "Usage: omcustomcodex <command> [options]",
|
|
25467
25462
|
commands: "Commands",
|
|
25468
25463
|
options: "Options",
|
|
25469
25464
|
examples: "Examples",
|
|
@@ -25508,7 +25503,7 @@ var en_default = {
|
|
|
25508
25503
|
symlinking: "Creating symlinks...",
|
|
25509
25504
|
verifying: "Verifying installation...",
|
|
25510
25505
|
success: "Successfully initialized oh-my-customcodex!",
|
|
25511
|
-
verificationFailed: "Installation verification failed. Run '
|
|
25506
|
+
verificationFailed: "Installation verification failed. Run 'omcustomcodex doctor' for details.",
|
|
25512
25507
|
failed: "Failed to initialize:",
|
|
25513
25508
|
alreadyInitialized: "oh-my-customcodex is already initialized in this directory",
|
|
25514
25509
|
configCreated: "Configuration created at {{path}}",
|
|
@@ -25541,7 +25536,7 @@ var en_default = {
|
|
|
25541
25536
|
description: "Update agents and configurations to latest version",
|
|
25542
25537
|
checking: "Checking for updates...",
|
|
25543
25538
|
notInstalled: "oh-my-customcodex is not installed in this directory.",
|
|
25544
|
-
runInitFirst: "Run '
|
|
25539
|
+
runInitFirst: "Run 'omcustomcodex init' first to install.",
|
|
25545
25540
|
alreadyLatest: "Already at the latest version.",
|
|
25546
25541
|
updating: "Updating from {{from}} to {{to}}...",
|
|
25547
25542
|
success: "Successfully updated to the latest version!",
|
|
@@ -25630,7 +25625,7 @@ var en_default = {
|
|
|
25630
25625
|
description: "Check and fix configuration issues",
|
|
25631
25626
|
fixOption: "Automatically fix issues that can be fixed",
|
|
25632
25627
|
updatesOption: "Check for oh-my-customcodex updates",
|
|
25633
|
-
updateAvailable: "Update available: v{{current}} → v{{latest}}. Run '
|
|
25628
|
+
updateAvailable: "Update available: v{{current}} → v{{latest}}. Run 'omcustomcodex update' to apply.",
|
|
25634
25629
|
updateUpToDate: "oh-my-customcodex is up to date (v{{version}})",
|
|
25635
25630
|
updateCheckFailed: "Update check failed ({{reason}})",
|
|
25636
25631
|
checking: "Running diagnostic checks...",
|
|
@@ -25639,7 +25634,7 @@ var en_default = {
|
|
|
25639
25634
|
fixed: "{{name}} has been fixed",
|
|
25640
25635
|
passed: "All checks passed!",
|
|
25641
25636
|
failed: "Some checks failed.",
|
|
25642
|
-
runWithFix: "Run '
|
|
25637
|
+
runWithFix: "Run 'omcustomcodex doctor --fix' to fix {{count}} issue(s) automatically.",
|
|
25643
25638
|
summary: "Summary: {{pass}} passed, {{warn}} warnings, {{fail}} failed, {{fixed}} fixed",
|
|
25644
25639
|
running: "Running health checks...",
|
|
25645
25640
|
checkingConfig: "Checking configuration...",
|
|
@@ -25699,7 +25694,7 @@ var en_default = {
|
|
|
25699
25694
|
},
|
|
25700
25695
|
framework: {
|
|
25701
25696
|
pass: "Framework is up to date (v{{version}})",
|
|
25702
|
-
warn: "Framework is outdated: installed v{{installed}}, latest v{{latest}} ({{behind}} version(s) behind). Run '
|
|
25697
|
+
warn: "Framework is outdated: installed v{{installed}}, latest v{{latest}} ({{behind}} version(s) behind). Run 'omcustomcodex update' to sync."
|
|
25703
25698
|
},
|
|
25704
25699
|
rtk: {
|
|
25705
25700
|
pass: "RTK installed",
|
|
@@ -25730,16 +25725,16 @@ var en_default = {
|
|
|
25730
25725
|
description: "Show Web UI server status",
|
|
25731
25726
|
running: "Web UI is running: http://localhost:{{port}}",
|
|
25732
25727
|
notRunning: "Web UI is not running",
|
|
25733
|
-
startHint: " Start with:
|
|
25728
|
+
startHint: " Start with: omcustomcodex web start"
|
|
25734
25729
|
},
|
|
25735
25730
|
open: {
|
|
25736
25731
|
description: "Open the Web UI in the default browser",
|
|
25737
25732
|
portOption: "Port number",
|
|
25738
|
-
notRunningWarn: "Web UI does not appear to be running. Start it with:
|
|
25733
|
+
notRunningWarn: "Web UI does not appear to be running. Start it with: omcustomcodex web start"
|
|
25739
25734
|
},
|
|
25740
25735
|
deprecated: {
|
|
25741
|
-
serve: "[Deprecated] `
|
|
25742
|
-
serveStop: "[Deprecated] `
|
|
25736
|
+
serve: "[Deprecated] `omcustomcodex serve` is deprecated. Use `omcustomcodex web start` instead.",
|
|
25737
|
+
serveStop: "[Deprecated] `omcustomcodex serve-stop` is deprecated. Use `omcustomcodex web stop` instead."
|
|
25743
25738
|
}
|
|
25744
25739
|
},
|
|
25745
25740
|
sync: {
|
|
@@ -25887,7 +25882,7 @@ var ko_default = {
|
|
|
25887
25882
|
cli: {
|
|
25888
25883
|
description: "GPT Codex + OMX 위의 올인원 에이전트 하네스",
|
|
25889
25884
|
versionOption: "버전 번호 표시",
|
|
25890
|
-
usage: "사용법:
|
|
25885
|
+
usage: "사용법: omcustomcodex <명령어> [옵션]",
|
|
25891
25886
|
commands: "명령어",
|
|
25892
25887
|
options: "옵션",
|
|
25893
25888
|
examples: "예제",
|
|
@@ -25932,7 +25927,7 @@ var ko_default = {
|
|
|
25932
25927
|
symlinking: "심볼릭 링크 생성 중...",
|
|
25933
25928
|
verifying: "설치 확인 중...",
|
|
25934
25929
|
success: "oh-my-customcodex 초기화 완료!",
|
|
25935
|
-
verificationFailed: "설치 확인 실패. '
|
|
25930
|
+
verificationFailed: "설치 확인 실패. 'omcustomcodex doctor'를 실행하여 자세한 내용을 확인하세요.",
|
|
25936
25931
|
failed: "초기화 실패:",
|
|
25937
25932
|
alreadyInitialized: "이 디렉토리에 oh-my-customcodex가 이미 초기화되어 있습니다",
|
|
25938
25933
|
configCreated: "설정 파일 생성됨: {{path}}",
|
|
@@ -25965,7 +25960,7 @@ var ko_default = {
|
|
|
25965
25960
|
description: "에이전트 및 설정을 최신 버전으로 업데이트",
|
|
25966
25961
|
checking: "업데이트 확인 중...",
|
|
25967
25962
|
notInstalled: "이 디렉토리에 oh-my-customcodex가 설치되어 있지 않습니다.",
|
|
25968
|
-
runInitFirst: "먼저 '
|
|
25963
|
+
runInitFirst: "먼저 'omcustomcodex init'을 실행하여 설치하세요.",
|
|
25969
25964
|
alreadyLatest: "이미 최신 버전입니다.",
|
|
25970
25965
|
updating: "{{from}}에서 {{to}}로 업데이트 중...",
|
|
25971
25966
|
success: "최신 버전으로 업데이트 완료!",
|
|
@@ -26054,7 +26049,7 @@ var ko_default = {
|
|
|
26054
26049
|
description: "설정 문제 확인 및 수정",
|
|
26055
26050
|
fixOption: "자동으로 수정 가능한 문제 수정",
|
|
26056
26051
|
updatesOption: "oh-my-customcodex 업데이트 확인",
|
|
26057
|
-
updateAvailable: "업데이트 가능: v{{current}} → v{{latest}}. '
|
|
26052
|
+
updateAvailable: "업데이트 가능: v{{current}} → v{{latest}}. 'omcustomcodex update'를 실행하여 적용하세요.",
|
|
26058
26053
|
updateUpToDate: "oh-my-customcodex가 최신 상태입니다 (v{{version}})",
|
|
26059
26054
|
updateCheckFailed: "업데이트 확인 실패 ({{reason}})",
|
|
26060
26055
|
checking: "진단 검사 실행 중...",
|
|
@@ -26063,7 +26058,7 @@ var ko_default = {
|
|
|
26063
26058
|
fixed: "{{name}}이(가) 수정되었습니다",
|
|
26064
26059
|
passed: "모든 검사 통과!",
|
|
26065
26060
|
failed: "일부 검사 실패.",
|
|
26066
|
-
runWithFix: "'
|
|
26061
|
+
runWithFix: "'omcustomcodex doctor --fix'를 실행하여 {{count}}개 문제를 자동으로 수정할 수 있습니다.",
|
|
26067
26062
|
summary: "요약: {{pass}}개 통과, {{warn}}개 경고, {{fail}}개 실패, {{fixed}}개 수정됨",
|
|
26068
26063
|
running: "상태 검사 실행 중...",
|
|
26069
26064
|
checkingConfig: "설정 확인 중...",
|
|
@@ -26123,7 +26118,7 @@ var ko_default = {
|
|
|
26123
26118
|
},
|
|
26124
26119
|
framework: {
|
|
26125
26120
|
pass: "프레임워크가 최신 상태입니다 (v{{version}})",
|
|
26126
|
-
warn: "프레임워크가 구버전입니다: 설치됨 v{{installed}}, 최신 v{{latest}} ({{behind}}개 버전 뒤처짐). '
|
|
26121
|
+
warn: "프레임워크가 구버전입니다: 설치됨 v{{installed}}, 최신 v{{latest}} ({{behind}}개 버전 뒤처짐). 'omcustomcodex update'를 실행하여 동기화하세요."
|
|
26127
26122
|
},
|
|
26128
26123
|
rtk: {
|
|
26129
26124
|
pass: "RTK 설치됨",
|
|
@@ -26154,16 +26149,16 @@ var ko_default = {
|
|
|
26154
26149
|
description: "Web UI 서버 상태 표시",
|
|
26155
26150
|
running: "Web UI 실행 중: http://localhost:{{port}}",
|
|
26156
26151
|
notRunning: "Web UI가 실행 중이 아닙니다",
|
|
26157
|
-
startHint: " 시작하려면:
|
|
26152
|
+
startHint: " 시작하려면: omcustomcodex web start"
|
|
26158
26153
|
},
|
|
26159
26154
|
open: {
|
|
26160
26155
|
description: "기본 브라우저에서 Web UI 열기",
|
|
26161
26156
|
portOption: "포트 번호",
|
|
26162
|
-
notRunningWarn: "Web UI가 실행 중이지 않은 것 같습니다. 먼저 시작하세요:
|
|
26157
|
+
notRunningWarn: "Web UI가 실행 중이지 않은 것 같습니다. 먼저 시작하세요: omcustomcodex web start"
|
|
26163
26158
|
},
|
|
26164
26159
|
deprecated: {
|
|
26165
|
-
serve: "[Deprecated] `
|
|
26166
|
-
serveStop: "[Deprecated] `
|
|
26160
|
+
serve: "[Deprecated] `omcustomcodex serve` is deprecated. Use `omcustomcodex web start` instead.",
|
|
26161
|
+
serveStop: "[Deprecated] `omcustomcodex serve-stop` is deprecated. Use `omcustomcodex web stop` instead."
|
|
26167
26162
|
}
|
|
26168
26163
|
},
|
|
26169
26164
|
sync: {
|
package/dist/index.js
CHANGED
|
@@ -2180,13 +2180,10 @@ var package_default = {
|
|
|
2180
2180
|
workspaces: [
|
|
2181
2181
|
"packages/*"
|
|
2182
2182
|
],
|
|
2183
|
-
version: "0.3.
|
|
2183
|
+
version: "0.3.4",
|
|
2184
2184
|
description: "Batteries-included agent harness on top of GPT Codex + OMX",
|
|
2185
2185
|
type: "module",
|
|
2186
2186
|
bin: {
|
|
2187
|
-
omcodex: "./dist/cli/index.js",
|
|
2188
|
-
omcustom: "./dist/cli/index.js",
|
|
2189
|
-
omcustomx: "./dist/cli/index.js",
|
|
2190
2187
|
omcustomcodex: "./dist/cli/index.js"
|
|
2191
2188
|
},
|
|
2192
2189
|
main: "./dist/index.js",
|
|
@@ -4680,8 +4677,8 @@ var loadNamespaces = instance.loadNamespaces;
|
|
|
4680
4677
|
var loadLanguages = instance.loadLanguages;
|
|
4681
4678
|
|
|
4682
4679
|
// src/utils/cli-command-name.ts
|
|
4683
|
-
var DEFAULT_CLI_COMMAND = "
|
|
4684
|
-
var KNOWN_CLI_COMMANDS = new Set([DEFAULT_CLI_COMMAND
|
|
4680
|
+
var DEFAULT_CLI_COMMAND = "omcustomcodex";
|
|
4681
|
+
var KNOWN_CLI_COMMANDS = new Set([DEFAULT_CLI_COMMAND]);
|
|
4685
4682
|
var WINDOWS_SCRIPT_EXTENSIONS = /\.(cmd|exe|ps1|bat)$/i;
|
|
4686
4683
|
var activeCliCommandName = DEFAULT_CLI_COMMAND;
|
|
4687
4684
|
function normalizeCliCommandName(commandName) {
|
|
@@ -4692,11 +4689,9 @@ function getActiveCliCommandName() {
|
|
|
4692
4689
|
return activeCliCommandName;
|
|
4693
4690
|
}
|
|
4694
4691
|
function rewriteCliCommandReferences(text, commandName = getActiveCliCommandName()) {
|
|
4692
|
+
const rawText = text ?? "";
|
|
4695
4693
|
const normalizedCommandName = normalizeCliCommandName(commandName);
|
|
4696
|
-
|
|
4697
|
-
return text;
|
|
4698
|
-
}
|
|
4699
|
-
return text.replace(/(^|[^A-Za-z0-9_.-])omcodex(?=$|[^A-Za-z0-9_.-])/g, (_match, prefix) => `${prefix}${normalizedCommandName}`);
|
|
4694
|
+
return rawText.replace(/(^|[^A-Za-z0-9_.-])(omcodex|omcustomcodex|omcustomx|omcustom)(?=$|[^A-Za-z0-9_.-])/g, (_match, prefix) => `${prefix}${normalizedCommandName}`);
|
|
4700
4695
|
}
|
|
4701
4696
|
// src/i18n/types.ts
|
|
4702
4697
|
var DEFAULT_LANGUAGE2 = "en";
|
package/package.json
CHANGED
|
@@ -3,13 +3,10 @@
|
|
|
3
3
|
"workspaces": [
|
|
4
4
|
"packages/*"
|
|
5
5
|
],
|
|
6
|
-
"version": "0.3.
|
|
6
|
+
"version": "0.3.4",
|
|
7
7
|
"description": "Batteries-included agent harness on top of GPT Codex + OMX",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"bin": {
|
|
10
|
-
"omcodex": "./dist/cli/index.js",
|
|
11
|
-
"omcustom": "./dist/cli/index.js",
|
|
12
|
-
"omcustomx": "./dist/cli/index.js",
|
|
13
10
|
"omcustomcodex": "./dist/cli/index.js"
|
|
14
11
|
},
|
|
15
12
|
"main": "./dist/index.js",
|
|
@@ -13,14 +13,14 @@ if [ -f "$PROJECT_ROOT/.codex/skills/adaptive-harness/SKILL.md" ] && \
|
|
|
13
13
|
grep -q "oh-my-customcodex" "$PROJECT_ROOT/AGENTS.md" 2>/dev/null; then
|
|
14
14
|
# Only check if profile exists for the meta-project
|
|
15
15
|
if [ ! -f "$PROFILE" ]; then
|
|
16
|
-
echo "[adaptive-harness] No project profile found. Run /
|
|
16
|
+
echo "[adaptive-harness] No project profile found. Run /omcustomcodex:adaptive-harness --scan to generate." >&2
|
|
17
17
|
fi
|
|
18
18
|
exit 0
|
|
19
19
|
fi
|
|
20
20
|
|
|
21
21
|
# For non-omcodex projects
|
|
22
22
|
if [ ! -f "$PROFILE" ]; then
|
|
23
|
-
echo "[adaptive-harness] No project profile found. Run /
|
|
23
|
+
echo "[adaptive-harness] No project profile found. Run /omcustomcodex:adaptive-harness --scan to auto-configure harness." >&2
|
|
24
24
|
exit 0
|
|
25
25
|
fi
|
|
26
26
|
|
|
@@ -39,7 +39,7 @@ for indicator in package.json go.mod Cargo.toml requirements.txt pyproject.toml
|
|
|
39
39
|
done
|
|
40
40
|
|
|
41
41
|
if [ "$STALE" = true ]; then
|
|
42
|
-
echo "[adaptive-harness] Project profile may be stale. Consider running /
|
|
42
|
+
echo "[adaptive-harness] Project profile may be stale. Consider running /omcustomcodex:adaptive-harness --scan" >&2
|
|
43
43
|
fi
|
|
44
44
|
|
|
45
45
|
exit 0
|
|
@@ -43,7 +43,7 @@ When CI failure, process gap, or repeatable system defect is found:
|
|
|
43
43
|
|
|
44
44
|
When repeating agent failures or suboptimal routing is detected:
|
|
45
45
|
1. Record as feedback memory (immediate session defense)
|
|
46
|
-
2. Run `/
|
|
46
|
+
2. Run `/omcustomcodex:adaptive-harness --learn` to update project profile with failure patterns
|
|
47
47
|
3. Profile updates improve future agent selection and harness optimization
|
|
48
48
|
|
|
49
49
|
This connects R016's continuous improvement loop with the adaptive-harness skill's learning capability.
|
|
@@ -32,9 +32,9 @@ Also run: mgr-claude-code-bible:verify (official spec compliance)
|
|
|
32
32
|
|
|
33
33
|
| Check | Action |
|
|
34
34
|
|-------|--------|
|
|
35
|
-
| Missing pages | Source entities without wiki pages → run `/
|
|
36
|
-
| Stale pages | Source modification date newer than wiki `updated` field → run `/
|
|
37
|
-
| Broken cross-refs | Wiki links pointing to non-existent pages → run `/
|
|
35
|
+
| Missing pages | Source entities without wiki pages → run `/omcustomcodex:wiki` |
|
|
36
|
+
| Stale pages | Source modification date newer than wiki `updated` field → run `/omcustomcodex:wiki ingest <path>` |
|
|
37
|
+
| Broken cross-refs | Wiki links pointing to non-existent pages → run `/omcustomcodex:wiki lint` |
|
|
38
38
|
| index.md accuracy | Wiki index page count matches actual page count |
|
|
39
39
|
|
|
40
40
|
Wiki verification is also enforced by CI (`.github/workflows/wiki-sync.yml`).
|
|
@@ -17,15 +17,15 @@ When agents, skills, rules, or guides are created or modified, corresponding wik
|
|
|
17
17
|
| Rule created/modified | Update wiki/rules/r{nnn}.md |
|
|
18
18
|
| Guide created/modified | Update wiki/guides/{name}.md |
|
|
19
19
|
| Architecture change | Update wiki/architecture/ pages |
|
|
20
|
-
| Multiple changes | Run `/
|
|
20
|
+
| Multiple changes | Run `/omcustomcodex:wiki` for full update |
|
|
21
21
|
|
|
22
22
|
## How to Sync
|
|
23
23
|
|
|
24
24
|
| Method | When |
|
|
25
25
|
|--------|------|
|
|
26
|
-
| `/
|
|
27
|
-
| `/
|
|
28
|
-
| `/
|
|
26
|
+
| `/omcustomcodex:wiki ingest <path>` | Single file/directory changed |
|
|
27
|
+
| `/omcustomcodex:wiki` | Multiple files changed or periodic refresh |
|
|
28
|
+
| `/omcustomcodex:wiki lint` | After major structural changes |
|
|
29
29
|
| Automatic (CI) | `.github/workflows/wiki-sync.yml` checks on PR |
|
|
30
30
|
|
|
31
31
|
## Delegation — All wiki writes via wiki-curator agent (R010). See workflow via Read tool.
|
|
@@ -59,7 +59,7 @@ Orchestrator
|
|
|
59
59
|
|
|
60
60
|
## CI Enforcement
|
|
61
61
|
|
|
62
|
-
`.github/workflows/wiki-sync.yml` checks for missing wiki pages on every PR. Missing pages cause CI failure with guidance to run `/
|
|
62
|
+
`.github/workflows/wiki-sync.yml` checks for missing wiki pages on every PR. Missing pages cause CI failure with guidance to run `/omcustomcodex:wiki`.
|
|
63
63
|
|
|
64
64
|
## Self-Check — 3 checks: wiki pages updated, index refreshed, lint passed. See details via Read tool.
|
|
65
65
|
|
|
@@ -69,5 +69,5 @@ Before completing a session that modified agents/skills/rules/guides:
|
|
|
69
69
|
2. Was index.md refreshed?
|
|
70
70
|
3. Did wiki lint pass?
|
|
71
71
|
|
|
72
|
-
If any NO → run `/
|
|
72
|
+
If any NO → run `/omcustomcodex:wiki ingest` for affected paths.
|
|
73
73
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: omcustomcodex:adaptive-harness
|
|
3
3
|
description: Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile
|
|
4
4
|
scope: harness
|
|
5
5
|
version: 1.0.0
|
|
@@ -15,13 +15,13 @@ Automatically detects project context and optimizes the oh-my-customcodex harnes
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
/
|
|
19
|
-
/
|
|
20
|
-
/
|
|
21
|
-
/
|
|
22
|
-
/
|
|
23
|
-
/
|
|
24
|
-
/
|
|
18
|
+
/omcustomcodex:adaptive-harness # Full scan + optimize
|
|
19
|
+
/omcustomcodex:adaptive-harness --scan # Scan only (generate/update project profile)
|
|
20
|
+
/omcustomcodex:adaptive-harness --optimize # Deactivate unused, suggest missing
|
|
21
|
+
/omcustomcodex:adaptive-harness --learn # Analyze failure patterns, update profile
|
|
22
|
+
/omcustomcodex:adaptive-harness --export # Export profile as portable bundle
|
|
23
|
+
/omcustomcodex:adaptive-harness --import <path> # Import profile from another project
|
|
24
|
+
/omcustomcodex:adaptive-harness --dry-run # Show what would change without modifying
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Default (no flag): runs `--scan` then `--optimize` in sequence.
|
|
@@ -234,7 +234,7 @@ Analyzes session history and eval-core data to populate `usage_stats` and `failu
|
|
|
234
234
|
|
|
235
235
|
- `.codex/outputs/` — session artifacts and eval results
|
|
236
236
|
- `.codex/agent-memory/` — agent memory files with usage patterns
|
|
237
|
-
- Any harness eval output from `/
|
|
237
|
+
- Any harness eval output from `/omcustomcodex:harness-eval`
|
|
238
238
|
|
|
239
239
|
### Step 2: Extract Patterns
|
|
240
240
|
|
|
@@ -301,7 +301,7 @@ Output: `.codex/outputs/harness-bundle-YYYY-MM-DD.json`
|
|
|
301
301
|
### Import
|
|
302
302
|
|
|
303
303
|
```
|
|
304
|
-
/
|
|
304
|
+
/omcustomcodex:adaptive-harness --import .codex/outputs/harness-bundle-2026-04-12.json
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
Reads the bundle and applies the `active_agents` list to the current project by running `--optimize` with the imported profile. Does not overwrite `usage_stats` or `failure_patterns` from the current project.
|
|
@@ -319,7 +319,7 @@ Reads the bundle and applies the `active_agents` list to the current project by
|
|
|
319
319
|
|
|
320
320
|
| Component | Interaction |
|
|
321
321
|
|-----------|-------------|
|
|
322
|
-
| `/
|
|
322
|
+
| `/omcustomcodex:analysis` | Calls adaptive-harness `--scan` after initial tech stack detection to persist the profile |
|
|
323
323
|
| `SessionStart` hook | Lightweight profile existence check only — no full scan at startup |
|
|
324
324
|
| `mgr-creator` | Invoked when gaps are detected during `--optimize` to create missing agent files |
|
|
325
325
|
| `R016` (Continuous Improvement) | Failure patterns from `--learn` may trigger rule updates |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: omcustomcodex:agora
|
|
3
3
|
description: "Multi-LLM adversarial consensus loop — 3+ LLMs compete to find flaws in designs/specs until unanimous agreement is reached"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "<document-path> [--rounds N] [--severity-threshold HIGH]"
|
|
@@ -26,10 +26,10 @@ source:
|
|
|
26
26
|
## Usage
|
|
27
27
|
|
|
28
28
|
```
|
|
29
|
-
/
|
|
30
|
-
/
|
|
31
|
-
/
|
|
32
|
-
/
|
|
29
|
+
/omcustomcodex:agora docs/design.md # Default: 3 LLMs, unlimited rounds
|
|
30
|
+
/omcustomcodex:agora docs/design.md --rounds 10 # Max 10 rounds
|
|
31
|
+
/omcustomcodex:agora docs/design.md --severity-threshold HIGH # Exit when no HIGH+ findings
|
|
32
|
+
/omcustomcodex:agora docs/design.md --models claude,codex # 2 LLMs only
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
## Workflow
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: omcustomcodex:analysis
|
|
3
3
|
description: Analyze project and auto-configure agents, skills, rules, and guides
|
|
4
4
|
scope: harness
|
|
5
5
|
argument-hint: "[target-dir] [--interview]"
|
|
@@ -193,8 +193,8 @@ After analysis completes, offer adaptive-harness optimization:
|
|
|
193
193
|
|
|
194
194
|
```
|
|
195
195
|
[Analysis Complete] Tech stack detected. Optimize harness for this project?
|
|
196
|
-
├── Yes → Run /
|
|
197
|
-
├── Dry-run → Run /
|
|
196
|
+
├── Yes → Run /omcustomcodex:adaptive-harness --optimize (deactivate unused, suggest missing)
|
|
197
|
+
├── Dry-run → Run /omcustomcodex:adaptive-harness --optimize --dry-run (show changes only)
|
|
198
198
|
└── Skip → Keep current harness configuration
|
|
199
199
|
```
|
|
200
200
|
|
|
@@ -105,7 +105,7 @@ Issue body format (matching the pattern established by issue #683):
|
|
|
105
105
|
|
|
106
106
|
---
|
|
107
107
|
|
|
108
|
-
_This issue was created by the `/
|
|
108
|
+
_This issue was created by the `/omcustomcodex:claude-native` skill._
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
**Notes:**
|
|
@@ -171,9 +171,9 @@ Semver comparison: major → minor → patch (all numeric). Pre-release suffixes
|
|
|
171
171
|
### Manual
|
|
172
172
|
|
|
173
173
|
```
|
|
174
|
-
/
|
|
175
|
-
/
|
|
176
|
-
/
|
|
174
|
+
/omcustomcodex:claude-native
|
|
175
|
+
/omcustomcodex:claude-native --backfill
|
|
176
|
+
/omcustomcodex:claude-native --dry-run
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
### Automatic (SessionStart Hook)
|
|
@@ -197,7 +197,7 @@ A lightweight wrapper script can run a `--dry-run` check and notify if new relea
|
|
|
197
197
|
Can be set up as a scheduled remote agent using `/schedule`:
|
|
198
198
|
|
|
199
199
|
```
|
|
200
|
-
/schedule "daily at 9am: /
|
|
200
|
+
/schedule "daily at 9am: /omcustomcodex:claude-native"
|
|
201
201
|
```
|
|
202
202
|
|
|
203
203
|
Or via CronCreate MCP tool for programmatic scheduling.
|
|
@@ -206,8 +206,8 @@ When the `--spec` flag is present, refactoring is guided by the target's canonic
|
|
|
206
206
|
|
|
207
207
|
### Workflow
|
|
208
208
|
|
|
209
|
-
1. **Load spec**: Read `.codex/specs/<agent-name>.spec.md` (generated by `/
|
|
210
|
-
- If spec doesn't exist, run takeover first: `/
|
|
209
|
+
1. **Load spec**: Read `.codex/specs/<agent-name>.spec.md` (generated by `/omcustomcodex:takeover`)
|
|
210
|
+
- If spec doesn't exist, run takeover first: `/omcustomcodex:takeover <name>`
|
|
211
211
|
2. **Extract invariants**: Parse the spec's `## Invariants` section as pre-flight guard constraints
|
|
212
212
|
3. **Refactor**: Perform normal refactoring (per existing workflow)
|
|
213
213
|
4. **Verify invariants**: After refactoring, check each invariant still holds:
|
|
@@ -217,7 +217,7 @@ When the `--spec` flag is present, refactoring is guided by the target's canonic
|
|
|
217
217
|
├── ✓ Invariant 2: {description} — PASS
|
|
218
218
|
└── ✗ Invariant 3: {description} — FAIL (reason)
|
|
219
219
|
```
|
|
220
|
-
5. **Regenerate spec**: If refactoring changed the contract, run `/
|
|
220
|
+
5. **Regenerate spec**: If refactoring changed the contract, run `/omcustomcodex:takeover <name>` to update
|
|
221
221
|
|
|
222
222
|
### When to Use
|
|
223
223
|
|
|
@@ -418,4 +418,4 @@ Integration: Works with [impeccable-design](/skills/impeccable-design) skill for
|
|
|
418
418
|
|
|
419
419
|
### Harness Eval Preset
|
|
420
420
|
|
|
421
|
-
The `harness-eval` skill provides a structured 15-task SE benchmark rubric that can be used as a preset for the evaluator-optimizer pipeline. When invoked via `/
|
|
421
|
+
The `harness-eval` skill provides a structured 15-task SE benchmark rubric that can be used as a preset for the evaluator-optimizer pipeline. When invoked via `/omcustomcodex:harness-eval`, the harness rubric dimensions (Test Coverage 30%, Architecture 25%, Error Handling 25%, Extensibility 20%) are loaded as the sprint contract criteria.
|