oh-my-codex 0.14.4 → 0.15.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/.agents/plugins/marketplace.json +20 -0
- package/Cargo.lock +6 -6
- package/Cargo.toml +2 -1
- package/README.md +40 -7
- package/crates/omx-explore/Cargo.toml +1 -0
- package/crates/omx-explore/src/main.rs +246 -24
- package/crates/omx-mux/Cargo.toml +1 -0
- package/crates/omx-runtime/Cargo.toml +1 -0
- package/crates/omx-runtime-core/Cargo.toml +1 -0
- package/crates/omx-runtime-core/src/dispatch.rs +2 -1
- package/crates/omx-runtime-core/src/engine.rs +2 -2
- package/crates/omx-runtime-core/src/mailbox.rs +2 -1
- package/crates/omx-sparkshell/Cargo.toml +1 -0
- package/crates/omx-sparkshell/src/codex_bridge.rs +1 -0
- package/crates/omx-sparkshell/src/prompt.rs +1 -0
- package/crates/omx-sparkshell/src/threshold.rs +1 -0
- package/dist/agents/__tests__/native-config.test.js +98 -4
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/agents/native-config.d.ts +4 -0
- package/dist/agents/native-config.d.ts.map +1 -1
- package/dist/agents/native-config.js +19 -3
- package/dist/agents/native-config.js.map +1 -1
- package/dist/agents/policy.d.ts +10 -0
- package/dist/agents/policy.d.ts.map +1 -0
- package/dist/agents/policy.js +61 -0
- package/dist/agents/policy.js.map +1 -0
- package/dist/catalog/__tests__/generator.test.js +2 -0
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.d.ts +2 -0
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.d.ts.map +1 -0
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +72 -0
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -0
- package/dist/catalog/installable.d.ts +5 -0
- package/dist/catalog/installable.d.ts.map +1 -0
- package/dist/catalog/installable.js +13 -0
- package/dist/catalog/installable.js.map +1 -0
- package/dist/catalog/skill-mirror.d.ts +20 -0
- package/dist/catalog/skill-mirror.d.ts.map +1 -0
- package/dist/catalog/skill-mirror.js +104 -0
- package/dist/catalog/skill-mirror.js.map +1 -0
- package/dist/cli/__tests__/ask.test.js +4 -1
- package/dist/cli/__tests__/ask.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.d.ts +2 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.d.ts.map +1 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js +210 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-team.test.js +46 -1
- package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +225 -111
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +96 -1
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +26 -9
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +301 -7
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +358 -4
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/list.test.d.ts +2 -0
- package/dist/cli/__tests__/list.test.d.ts.map +1 -0
- package/dist/cli/__tests__/list.test.js +38 -0
- package/dist/cli/__tests__/list.test.js.map +1 -0
- package/dist/cli/__tests__/mcp-parity.test.js +86 -0
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-serve.test.d.ts +2 -0
- package/dist/cli/__tests__/mcp-serve.test.d.ts.map +1 -0
- package/dist/cli/__tests__/mcp-serve.test.js +38 -0
- package/dist/cli/__tests__/mcp-serve.test.js.map +1 -0
- package/dist/cli/__tests__/nested-help-routing.test.js +1 -0
- package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +58 -3
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/question.test.js +209 -5
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +146 -3
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-install-mode.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-install-mode.test.js +873 -0
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -0
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js +83 -22
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +120 -2
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +32 -13
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/sidecar.test.d.ts +2 -0
- package/dist/cli/__tests__/sidecar.test.d.ts.map +1 -0
- package/dist/cli/__tests__/sidecar.test.js +24 -0
- package/dist/cli/__tests__/sidecar.test.js.map +1 -0
- package/dist/cli/__tests__/team.test.js +90 -42
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/version-sync-contract.test.js +11 -0
- package/dist/cli/__tests__/version-sync-contract.test.js.map +1 -1
- package/dist/cli/codex-home.d.ts +4 -5
- package/dist/cli/codex-home.d.ts.map +1 -1
- package/dist/cli/codex-home.js +9 -37
- package/dist/cli/codex-home.js.map +1 -1
- package/dist/cli/doctor.d.ts +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +509 -278
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +13 -5
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +351 -60
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/list.d.ts +2 -0
- package/dist/cli/list.d.ts.map +1 -0
- package/dist/cli/list.js +40 -0
- package/dist/cli/list.js.map +1 -0
- package/dist/cli/mcp-serve.d.ts +12 -0
- package/dist/cli/mcp-serve.d.ts.map +1 -0
- package/dist/cli/mcp-serve.js +63 -0
- package/dist/cli/mcp-serve.js.map +1 -0
- package/dist/cli/plugin-marketplace.d.ts +13 -0
- package/dist/cli/plugin-marketplace.d.ts.map +1 -0
- package/dist/cli/plugin-marketplace.js +77 -0
- package/dist/cli/plugin-marketplace.js.map +1 -0
- package/dist/cli/question.d.ts.map +1 -1
- package/dist/cli/question.js +27 -2
- package/dist/cli/question.js.map +1 -1
- package/dist/cli/setup-preferences.d.ts +20 -0
- package/dist/cli/setup-preferences.d.ts.map +1 -0
- package/dist/cli/setup-preferences.js +71 -0
- package/dist/cli/setup-preferences.js.map +1 -0
- package/dist/cli/setup.d.ts +12 -3
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1080 -254
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +1 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +22 -3
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +2 -8
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +100 -3
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +6 -5
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/__tests__/generator-status-line-presets.test.d.ts +2 -0
- package/dist/config/__tests__/generator-status-line-presets.test.d.ts.map +1 -0
- package/dist/config/__tests__/generator-status-line-presets.test.js +203 -0
- package/dist/config/__tests__/generator-status-line-presets.test.js.map +1 -0
- package/dist/config/__tests__/models.test.js +35 -2
- package/dist/config/__tests__/models.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +2 -7
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/config/generator.d.ts +10 -0
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +259 -76
- package/dist/config/generator.js.map +1 -1
- package/dist/config/models.d.ts +13 -3
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +25 -5
- package/dist/config/models.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts +18 -0
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -0
- package/dist/config/omx-first-party-mcp.js +76 -0
- package/dist/config/omx-first-party-mcp.js.map +1 -0
- package/dist/document-refresh/__tests__/enforcer.test.d.ts +2 -0
- package/dist/document-refresh/__tests__/enforcer.test.d.ts.map +1 -0
- package/dist/document-refresh/__tests__/enforcer.test.js +128 -0
- package/dist/document-refresh/__tests__/enforcer.test.js.map +1 -0
- package/dist/document-refresh/config.d.ts +9 -0
- package/dist/document-refresh/config.d.ts.map +1 -0
- package/dist/document-refresh/config.js +70 -0
- package/dist/document-refresh/config.js.map +1 -0
- package/dist/document-refresh/enforcer.d.ts +43 -0
- package/dist/document-refresh/enforcer.d.ts.map +1 -0
- package/dist/document-refresh/enforcer.js +329 -0
- package/dist/document-refresh/enforcer.js.map +1 -0
- package/dist/exec/followup.d.ts +44 -0
- package/dist/exec/followup.d.ts.map +1 -0
- package/dist/exec/followup.js +349 -0
- package/dist/exec/followup.js.map +1 -0
- package/dist/hooks/__tests__/codebase-map.test.js +63 -1
- package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js +10 -7
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +89 -0
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +84 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +23 -2
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +43 -0
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +17 -0
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +53 -0
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js +4 -4
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +103 -0
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +27 -13
- package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts +2 -0
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js +35 -0
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +70 -3
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/pre-context-gate-skills.test.js +5 -0
- package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-fragments.test.js +3 -2
- package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-refactor-contract.test.js +22 -0
- package/dist/hooks/__tests__/prompt-refactor-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.js +28 -0
- package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/triage-heuristic.test.js +59 -4
- package/dist/hooks/__tests__/triage-heuristic.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.d.ts +2 -0
- package/dist/hooks/__tests__/visual-ralph-skill.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/visual-ralph-skill.test.js +44 -0
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -0
- package/dist/hooks/codebase-map.d.ts.map +1 -1
- package/dist/hooks/codebase-map.js +83 -6
- package/dist/hooks/codebase-map.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +19 -14
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts +6 -0
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +89 -0
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.d.ts +2 -0
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +6 -0
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/triage-heuristic.d.ts +2 -2
- package/dist/hooks/triage-heuristic.d.ts.map +1 -1
- package/dist/hooks/triage-heuristic.js +97 -20
- package/dist/hooks/triage-heuristic.js.map +1 -1
- package/dist/hooks/triage-state.d.ts +1 -1
- package/dist/hooks/triage-state.d.ts.map +1 -1
- package/dist/hooks/triage-state.js +2 -1
- package/dist/hooks/triage-state.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +4 -4
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +4 -0
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/types.test.js +27 -0
- package/dist/hud/__tests__/types.test.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +8 -0
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/types.d.ts +9 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +3 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +45 -5
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/server-lifecycle.test.js +50 -7
- package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +67 -9
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +12 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +87 -29
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-server.d.ts +5 -11
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +16 -432
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +152 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifacts.d.ts +9 -0
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +60 -1
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/question/__tests__/deep-interview.test.js +1 -1
- package/dist/question/__tests__/deep-interview.test.js.map +1 -1
- package/dist/question/__tests__/renderer.test.js +70 -0
- package/dist/question/__tests__/renderer.test.js.map +1 -1
- package/dist/question/__tests__/ui.test.js +49 -0
- package/dist/question/__tests__/ui.test.js.map +1 -1
- package/dist/question/renderer.d.ts +14 -1
- package/dist/question/renderer.d.ts.map +1 -1
- package/dist/question/renderer.js +109 -10
- package/dist/question/renderer.js.map +1 -1
- package/dist/question/state.d.ts +2 -0
- package/dist/question/state.d.ts.map +1 -1
- package/dist/question/state.js +4 -0
- package/dist/question/state.js.map +1 -1
- package/dist/question/types.d.ts +2 -1
- package/dist/question/types.d.ts.map +1 -1
- package/dist/question/types.js.map +1 -1
- package/dist/question/ui.d.ts.map +1 -1
- package/dist/question/ui.js +28 -8
- package/dist/question/ui.js.map +1 -1
- package/dist/runtime/__tests__/bridge.test.js +143 -1
- package/dist/runtime/__tests__/bridge.test.js.map +1 -1
- package/dist/runtime/bridge.d.ts +21 -0
- package/dist/runtime/bridge.d.ts.map +1 -1
- package/dist/runtime/bridge.js +54 -4
- package/dist/runtime/bridge.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +1904 -230
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/generate-release-body.test.js +90 -1
- package/dist/scripts/__tests__/generate-release-body.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js +110 -2
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
- package/dist/scripts/__tests__/postinstall.test.js +7 -93
- package/dist/scripts/__tests__/postinstall.test.js.map +1 -1
- package/dist/scripts/__tests__/prompt-inventory.test.d.ts +2 -0
- package/dist/scripts/__tests__/prompt-inventory.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/prompt-inventory.test.js +56 -0
- package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -0
- package/dist/scripts/__tests__/run-test-files.test.d.ts +2 -0
- package/dist/scripts/__tests__/run-test-files.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/run-test-files.test.js +62 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -0
- package/dist/scripts/__tests__/smoke-packed-install.test.js +13 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/__tests__/verify-native-agents.test.d.ts +2 -0
- package/dist/scripts/__tests__/verify-native-agents.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/verify-native-agents.test.js +166 -0
- package/dist/scripts/__tests__/verify-native-agents.test.js.map +1 -0
- package/dist/scripts/codex-execution-surface.d.ts +16 -0
- package/dist/scripts/codex-execution-surface.d.ts.map +1 -0
- package/dist/scripts/codex-execution-surface.js +42 -0
- package/dist/scripts/codex-execution-surface.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +418 -76
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +8 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +133 -19
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/generate-release-body.d.ts +1 -0
- package/dist/scripts/generate-release-body.d.ts.map +1 -1
- package/dist/scripts/generate-release-body.js +32 -3
- package/dist/scripts/generate-release-body.js.map +1 -1
- package/dist/scripts/hook-derived-watcher.js +46 -7
- package/dist/scripts/hook-derived-watcher.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +59 -9
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts +2 -0
- package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts.map +1 -0
- package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js +153 -0
- package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js.map +1 -0
- package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.js +18 -1
- package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
- package/dist/scripts/notify-hook/process-runner.d.ts.map +1 -1
- package/dist/scripts/notify-hook/process-runner.js +7 -3
- package/dist/scripts/notify-hook/process-runner.js.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +96 -11
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.js +3 -3
- package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts +34 -0
- package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts.map +1 -0
- package/dist/scripts/notify-hook/team-worker-posttooluse.js +434 -0
- package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -0
- package/dist/scripts/notify-hook/team-worker.d.ts +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +3 -43
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook.js +36 -5
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/postinstall.d.ts +1 -5
- package/dist/scripts/postinstall.d.ts.map +1 -1
- package/dist/scripts/postinstall.js +3 -42
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/prompt-inventory.d.ts +29 -0
- package/dist/scripts/prompt-inventory.d.ts.map +1 -0
- package/dist/scripts/prompt-inventory.js +178 -0
- package/dist/scripts/prompt-inventory.js.map +1 -0
- package/dist/scripts/run-test-files.js +32 -2
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +3 -0
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +9 -1
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.d.ts +13 -0
- package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -0
- package/dist/scripts/sync-plugin-mirror.js +242 -0
- package/dist/scripts/sync-plugin-mirror.js.map +1 -0
- package/dist/scripts/verify-native-agents.d.ts +16 -0
- package/dist/scripts/verify-native-agents.d.ts.map +1 -0
- package/dist/scripts/verify-native-agents.js +188 -0
- package/dist/scripts/verify-native-agents.js.map +1 -0
- package/dist/session-history/search.d.ts.map +1 -1
- package/dist/session-history/search.js +7 -2
- package/dist/session-history/search.js.map +1 -1
- package/dist/sidecar/__tests__/boundary.test.d.ts +2 -0
- package/dist/sidecar/__tests__/boundary.test.d.ts.map +1 -0
- package/dist/sidecar/__tests__/boundary.test.js +48 -0
- package/dist/sidecar/__tests__/boundary.test.js.map +1 -0
- package/dist/sidecar/__tests__/collector.test.d.ts +2 -0
- package/dist/sidecar/__tests__/collector.test.d.ts.map +1 -0
- package/dist/sidecar/__tests__/collector.test.js +162 -0
- package/dist/sidecar/__tests__/collector.test.js.map +1 -0
- package/dist/sidecar/__tests__/render.test.d.ts +2 -0
- package/dist/sidecar/__tests__/render.test.d.ts.map +1 -0
- package/dist/sidecar/__tests__/render.test.js +67 -0
- package/dist/sidecar/__tests__/render.test.js.map +1 -0
- package/dist/sidecar/__tests__/tmux.test.d.ts +2 -0
- package/dist/sidecar/__tests__/tmux.test.d.ts.map +1 -0
- package/dist/sidecar/__tests__/tmux.test.js +30 -0
- package/dist/sidecar/__tests__/tmux.test.js.map +1 -0
- package/dist/sidecar/__tests__/watch.test.d.ts +2 -0
- package/dist/sidecar/__tests__/watch.test.d.ts.map +1 -0
- package/dist/sidecar/__tests__/watch.test.js +42 -0
- package/dist/sidecar/__tests__/watch.test.js.map +1 -0
- package/dist/sidecar/collector.d.ts +4 -0
- package/dist/sidecar/collector.d.ts.map +1 -0
- package/dist/sidecar/collector.js +377 -0
- package/dist/sidecar/collector.js.map +1 -0
- package/dist/sidecar/index.d.ts +25 -0
- package/dist/sidecar/index.d.ts.map +1 -0
- package/dist/sidecar/index.js +165 -0
- package/dist/sidecar/index.js.map +1 -0
- package/dist/sidecar/render.d.ts +3 -0
- package/dist/sidecar/render.d.ts.map +1 -0
- package/dist/sidecar/render.js +72 -0
- package/dist/sidecar/render.js.map +1 -0
- package/dist/sidecar/tmux.d.ts +13 -0
- package/dist/sidecar/tmux.d.ts.map +1 -0
- package/dist/sidecar/tmux.js +44 -0
- package/dist/sidecar/tmux.js.map +1 -0
- package/dist/sidecar/types.d.ts +125 -0
- package/dist/sidecar/types.d.ts.map +1 -0
- package/dist/sidecar/types.js +2 -0
- package/dist/sidecar/types.js.map +1 -0
- package/dist/state/__tests__/operations.test.js +50 -22
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/operations.d.ts +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +19 -7
- package/dist/state/operations.js.map +1 -1
- package/dist/team/__tests__/commit-hygiene.test.d.ts +2 -0
- package/dist/team/__tests__/commit-hygiene.test.d.ts.map +1 -0
- package/dist/team/__tests__/commit-hygiene.test.js +93 -0
- package/dist/team/__tests__/commit-hygiene.test.js.map +1 -0
- package/dist/team/__tests__/delegation-policy.test.d.ts +2 -0
- package/dist/team/__tests__/delegation-policy.test.d.ts.map +1 -0
- package/dist/team/__tests__/delegation-policy.test.js +69 -0
- package/dist/team/__tests__/delegation-policy.test.js.map +1 -0
- package/dist/team/__tests__/events.test.js +54 -4
- package/dist/team/__tests__/events.test.js.map +1 -1
- package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts +2 -0
- package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts.map +1 -0
- package/dist/team/__tests__/hook-primary-e2e-contract.test.js +78 -0
- package/dist/team/__tests__/hook-primary-e2e-contract.test.js.map +1 -0
- package/dist/team/__tests__/model-contract.test.js +18 -2
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/repo-aware-decomposition.test.d.ts +2 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.d.ts.map +1 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.js +95 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -0
- package/dist/team/__tests__/runtime.test.js +677 -17
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +177 -1
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +110 -0
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +301 -2
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +94 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/commit-hygiene.d.ts +22 -3
- package/dist/team/commit-hygiene.d.ts.map +1 -1
- package/dist/team/commit-hygiene.js +134 -2
- package/dist/team/commit-hygiene.js.map +1 -1
- package/dist/team/contracts.d.ts +1 -1
- package/dist/team/contracts.d.ts.map +1 -1
- package/dist/team/contracts.js +2 -0
- package/dist/team/contracts.js.map +1 -1
- package/dist/team/dag-schema.d.ts +38 -0
- package/dist/team/dag-schema.d.ts.map +1 -0
- package/dist/team/dag-schema.js +221 -0
- package/dist/team/dag-schema.js.map +1 -0
- package/dist/team/delegation-policy.d.ts +3 -0
- package/dist/team/delegation-policy.d.ts.map +1 -0
- package/dist/team/delegation-policy.js +82 -0
- package/dist/team/delegation-policy.js.map +1 -0
- package/dist/team/model-contract.d.ts +3 -1
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +44 -5
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +60 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -0
- package/dist/team/repo-aware-decomposition.js +229 -0
- package/dist/team/repo-aware-decomposition.js.map +1 -0
- package/dist/team/runtime.d.ts +34 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +191 -50
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/state/tasks.d.ts.map +1 -1
- package/dist/team/state/tasks.js +33 -0
- package/dist/team/state/tasks.js.map +1 -1
- package/dist/team/state/types.d.ts +23 -1
- package/dist/team/state/types.d.ts.map +1 -1
- package/dist/team/state/types.js.map +1 -1
- package/dist/team/state-root.d.ts +35 -0
- package/dist/team/state-root.d.ts.map +1 -1
- package/dist/team/state-root.js +281 -1
- package/dist/team/state-root.js.map +1 -1
- package/dist/team/state.d.ts +27 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +6 -0
- package/dist/team/state.js.map +1 -1
- package/dist/team/tmux-session.d.ts +1 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +83 -6
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +3 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +77 -4
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/utils/__tests__/agents-model-table.test.js +8 -0
- package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +42 -9
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/agents-md.d.ts +3 -0
- package/dist/utils/agents-md.d.ts.map +1 -1
- package/dist/utils/agents-md.js +25 -0
- package/dist/utils/agents-md.js.map +1 -1
- package/dist/utils/agents-model-table.d.ts.map +1 -1
- package/dist/utils/agents-model-table.js +2 -3
- package/dist/utils/agents-model-table.js.map +1 -1
- package/package.json +14 -7
- package/plugins/oh-my-codex/.app.json +3 -0
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +30 -0
- package/plugins/oh-my-codex/.mcp.json +44 -0
- package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +114 -0
- package/plugins/oh-my-codex/skills/analyze/SKILL.md +148 -0
- package/plugins/oh-my-codex/skills/ask-claude/SKILL.md +61 -0
- package/plugins/oh-my-codex/skills/ask-gemini/SKILL.md +61 -0
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +231 -0
- package/plugins/oh-my-codex/skills/autoresearch/SKILL.md +68 -0
- package/plugins/oh-my-codex/skills/cancel/SKILL.md +399 -0
- package/plugins/oh-my-codex/skills/code-review/SKILL.md +290 -0
- package/plugins/oh-my-codex/skills/configure-notifications/SKILL.md +287 -0
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +464 -0
- package/plugins/oh-my-codex/skills/doctor/SKILL.md +239 -0
- package/plugins/oh-my-codex/skills/help/SKILL.md +202 -0
- package/plugins/oh-my-codex/skills/hud/SKILL.md +98 -0
- package/plugins/oh-my-codex/skills/note/SKILL.md +62 -0
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +135 -0
- package/plugins/oh-my-codex/skills/pipeline/SKILL.md +86 -0
- package/plugins/oh-my-codex/skills/plan/SKILL.md +276 -0
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +269 -0
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +162 -0
- package/plugins/oh-my-codex/skills/security-review/SKILL.md +300 -0
- package/plugins/oh-my-codex/skills/skill/SKILL.md +835 -0
- package/plugins/oh-my-codex/skills/team/SKILL.md +510 -0
- package/plugins/oh-my-codex/skills/trace/SKILL.md +33 -0
- package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +143 -0
- package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +175 -0
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +153 -0
- package/plugins/oh-my-codex/skills/visual-verdict/SKILL.md +76 -0
- package/plugins/oh-my-codex/skills/wiki/SKILL.md +57 -0
- package/plugins/oh-my-codex/skills/worker/SKILL.md +106 -0
- package/prompts/critic.md +35 -83
- package/prompts/executor.md +32 -109
- package/prompts/explore-harness.md +1 -1
- package/prompts/explore.md +37 -90
- package/prompts/planner.md +28 -58
- package/prompts/researcher.md +46 -78
- package/prompts/verifier.md +23 -31
- package/skills/autopilot/SKILL.md +1 -4
- package/skills/deep-interview/SKILL.md +8 -5
- package/skills/doctor/SKILL.md +45 -17
- package/skills/help/SKILL.md +2 -2
- package/skills/omx-setup/SKILL.md +52 -9
- package/skills/plan/SKILL.md +1 -4
- package/skills/ralph/SKILL.md +3 -5
- package/skills/ralplan/SKILL.md +2 -6
- package/skills/team/SKILL.md +2 -5
- package/skills/ultraqa/SKILL.md +1 -4
- package/skills/ultrawork/SKILL.md +2 -3
- package/skills/visual-ralph/SKILL.md +153 -0
- package/skills/web-clone/SKILL.md +12 -354
- package/src/scripts/__tests__/codex-native-hook.test.ts +2306 -224
- package/src/scripts/__tests__/generate-release-body.test.ts +109 -0
- package/src/scripts/__tests__/hook-derived-watcher.test.ts +132 -2
- package/src/scripts/__tests__/postinstall.test.ts +7 -104
- package/src/scripts/__tests__/prompt-inventory.test.ts +64 -0
- package/src/scripts/__tests__/run-test-files.test.ts +72 -0
- package/src/scripts/__tests__/smoke-packed-install.test.ts +15 -0
- package/src/scripts/__tests__/verify-native-agents.test.ts +204 -0
- package/src/scripts/codex-execution-surface.ts +73 -0
- package/src/scripts/codex-native-hook.ts +579 -82
- package/src/scripts/codex-native-pre-post.ts +157 -19
- package/src/scripts/generate-release-body.ts +34 -2
- package/src/scripts/hook-derived-watcher.ts +51 -8
- package/src/scripts/notify-fallback-watcher.ts +65 -9
- package/src/scripts/notify-hook/__tests__/team-worker-posttooluse.test.ts +180 -0
- package/src/scripts/notify-hook/managed-tmux.ts +22 -4
- package/src/scripts/notify-hook/process-runner.ts +7 -3
- package/src/scripts/notify-hook/team-dispatch.ts +103 -11
- package/src/scripts/notify-hook/team-tmux-guard.ts +3 -3
- package/src/scripts/notify-hook/team-worker-posttooluse.ts +536 -0
- package/src/scripts/notify-hook/team-worker.ts +4 -48
- package/src/scripts/notify-hook.ts +36 -5
- package/src/scripts/postinstall.ts +4 -58
- package/src/scripts/prompt-inventory.ts +218 -0
- package/src/scripts/run-test-files.ts +41 -2
- package/src/scripts/smoke-packed-install.ts +10 -1
- package/src/scripts/sync-plugin-mirror.ts +360 -0
- package/src/scripts/verify-native-agents.ts +245 -0
- package/templates/AGENTS.md +26 -91
- package/templates/catalog-manifest.json +16 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: Diagnose and fix oh-my-codex installation issues
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Doctor Skill
|
|
7
|
+
|
|
8
|
+
Note: All `~/.codex/...` paths in this guide respect `CODEX_HOME` when that environment variable is set.
|
|
9
|
+
|
|
10
|
+
## Canonical skill root
|
|
11
|
+
|
|
12
|
+
OMX installs skills to `${CODEX_HOME:-~/.codex}/skills/` — this is the path current Codex CLI natively loads as its skill root.
|
|
13
|
+
|
|
14
|
+
`~/.agents/skills/` is a **historical legacy path** from an older Codex CLI release, before Codex settled on `~/.codex` as its home directory. Current Codex CLI and OMX no longer write there.
|
|
15
|
+
|
|
16
|
+
**In a mixed OMX + plain Codex environment:**
|
|
17
|
+
- **Use**: `${CODEX_HOME:-~/.codex}/skills/` (user scope) or `.codex/skills/` (project scope)
|
|
18
|
+
- **Clean up if present**: `~/.agents/skills/` — if this still exists alongside the canonical root, Codex's Enable/Disable Skills UI will show duplicate entries for any skill present in both trees
|
|
19
|
+
- **Interop rule**: OMX writes only to the canonical path; archive or remove `~/.agents/skills/` once you have confirmed `${CODEX_HOME:-~/.codex}/skills/` is your active root
|
|
20
|
+
|
|
21
|
+
## Task: Run Installation Diagnostics
|
|
22
|
+
|
|
23
|
+
You are the OMX Doctor - diagnose and fix installation issues.
|
|
24
|
+
|
|
25
|
+
### Step 1: Check Plugin Version
|
|
26
|
+
|
|
27
|
+
Official Codex plugin caches are marketplace- and version-scoped, for example `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/`. Local installs may use `local` as the version identifier.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Get installed plugin cache versions across marketplaces.
|
|
31
|
+
# Cache shape: $PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex/$PLUGIN_VERSION/
|
|
32
|
+
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
|
|
33
|
+
CACHE_ENTRIES=$(find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null)
|
|
34
|
+
|
|
35
|
+
if [[ -z "$CACHE_ENTRIES" ]]; then
|
|
36
|
+
echo "Installed plugin cache: none"
|
|
37
|
+
else
|
|
38
|
+
while IFS= read -r VERSION_DIR; do
|
|
39
|
+
MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
|
|
40
|
+
PLUGIN_VERSION=$(basename "$VERSION_DIR")
|
|
41
|
+
printf 'Installed plugin cache: marketplace=%s version=%s path=%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION" "$VERSION_DIR"
|
|
42
|
+
done <<< "$CACHE_ENTRIES"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# Get latest from npm
|
|
46
|
+
LATEST=$(npm view oh-my-codex version 2>/dev/null)
|
|
47
|
+
echo "Latest npm: $LATEST"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Diagnosis**:
|
|
51
|
+
- If no cache entry exists: INFO - plugin marketplace artifact not cached; this may be normal when OMX was installed only through npm/setup
|
|
52
|
+
- Compare each printed `PLUGIN_VERSION` with `LATEST`; if it differs and is not `local`: WARN - outdated plugin cache
|
|
53
|
+
- If one marketplace has multiple version directories: WARN - stale cache for that marketplace/plugin pair
|
|
54
|
+
- Remember: plugin install/discovery is not a replacement for `npm install -g oh-my-codex` plus `omx setup`; the packaged plugin now carries plugin-scoped companion metadata for MCP servers and apps, while native/runtime hooks and the rest of OMX runtime wiring stay setup-owned
|
|
55
|
+
|
|
56
|
+
### Step 2: Check Hook Configuration (config.toml + legacy settings.json)
|
|
57
|
+
|
|
58
|
+
Check `~/.codex/config.toml` first (current Codex config), then check legacy `~/.codex/settings.json` only if it exists.
|
|
59
|
+
|
|
60
|
+
Look for hook entries pointing to removed scripts like:
|
|
61
|
+
- `bash $HOME/.codex/hooks/keyword-detector.sh`
|
|
62
|
+
- `bash $HOME/.codex/hooks/persistent-mode.sh`
|
|
63
|
+
- `bash $HOME/.codex/hooks/session-start.sh`
|
|
64
|
+
|
|
65
|
+
**Diagnosis**:
|
|
66
|
+
- If found: CRITICAL - legacy hooks causing duplicates
|
|
67
|
+
|
|
68
|
+
### Step 3: Check for Legacy Bash Hook Scripts
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
ls -la ~/.codex/hooks/*.sh 2>/dev/null
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Diagnosis**:
|
|
75
|
+
- If `keyword-detector.sh`, `persistent-mode.sh`, `session-start.sh`, or `stop-continuation.sh` exist: WARN - legacy scripts (can cause confusion)
|
|
76
|
+
|
|
77
|
+
### Step 4: Check AGENTS.md
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Check if AGENTS.md exists
|
|
81
|
+
ls -la ~/.codex/AGENTS.md 2>/dev/null
|
|
82
|
+
|
|
83
|
+
# Check for OMX marker
|
|
84
|
+
grep -q "oh-my-codex Multi-Agent System" ~/.codex/AGENTS.md 2>/dev/null && echo "Has OMX config" || echo "Missing OMX config"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Diagnosis**:
|
|
88
|
+
- If missing: CRITICAL - AGENTS.md not configured
|
|
89
|
+
- If missing OMX marker: WARN - outdated AGENTS.md
|
|
90
|
+
|
|
91
|
+
### Step 5: Check for Stale Plugin Cache
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# List marketplace/version cache entries for this plugin
|
|
95
|
+
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
|
|
96
|
+
find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null \
|
|
97
|
+
| while IFS= read -r VERSION_DIR; do
|
|
98
|
+
MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
|
|
99
|
+
PLUGIN_VERSION=$(basename "$VERSION_DIR")
|
|
100
|
+
printf '%s\t%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION"
|
|
101
|
+
done
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Diagnosis**:
|
|
105
|
+
- If a single marketplace lists multiple versions: WARN - multiple cached versions for that marketplace/plugin pair (cleanup recommended)
|
|
106
|
+
|
|
107
|
+
### Step 6: Check for Legacy Curl-Installed Content
|
|
108
|
+
|
|
109
|
+
Check for legacy agents, commands, and historical legacy skill roots from older installs/migrations:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Check for legacy agents directory
|
|
113
|
+
ls -la ~/.codex/agents/ 2>/dev/null
|
|
114
|
+
|
|
115
|
+
# Check for legacy commands directory
|
|
116
|
+
ls -la ~/.codex/commands/ 2>/dev/null
|
|
117
|
+
|
|
118
|
+
# Check canonical current skills directory
|
|
119
|
+
ls -la ${CODEX_HOME:-~/.codex}/skills/ 2>/dev/null
|
|
120
|
+
|
|
121
|
+
# Check historical legacy skill directory
|
|
122
|
+
ls -la ~/.agents/skills/ 2>/dev/null
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Diagnosis**:
|
|
126
|
+
- If `~/.codex/agents/` exists with oh-my-codex-related files: WARN - legacy generated agents or hand-installed role files. The Codex plugin can package reusable workflows plus plugin-scoped companion metadata for MCP/apps; legacy setup installs native agents, while plugin setup archives stale legacy native-agent files and keeps config/hooks current.
|
|
127
|
+
- If `~/.codex/commands/` exists with oh-my-codex-related files: WARN - legacy command files from older installs. Current OMX uses skills/workflows plus setup-managed native surfaces.
|
|
128
|
+
- If `${CODEX_HOME:-~/.codex}/skills/` exists with OMX skills: OK - canonical current user skill root
|
|
129
|
+
- If `~/.agents/skills/` exists: WARN - historical legacy skill root that can overlap with `${CODEX_HOME:-~/.codex}/skills/` and cause duplicate Enable/Disable Skills entries
|
|
130
|
+
|
|
131
|
+
Look for files like:
|
|
132
|
+
- `architect.md`, `researcher.md`, `explore.md`, `executor.md`, etc. in agents/
|
|
133
|
+
- `ultrawork.md`, `deepsearch.md`, etc. in commands/
|
|
134
|
+
- Any oh-my-codex-related `.md` files in skills/
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Report Format
|
|
139
|
+
|
|
140
|
+
After running all checks, output a report:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
## OMX Doctor Report
|
|
144
|
+
|
|
145
|
+
### Summary
|
|
146
|
+
[HEALTHY / ISSUES FOUND]
|
|
147
|
+
|
|
148
|
+
### Checks
|
|
149
|
+
|
|
150
|
+
| Check | Status | Details |
|
|
151
|
+
|-------|--------|---------|
|
|
152
|
+
| Plugin Version | OK/WARN/CRITICAL | ... |
|
|
153
|
+
| Hook Config (config.toml / legacy settings.json) | OK/CRITICAL | ... |
|
|
154
|
+
| Legacy Scripts (~/.codex/hooks/) | OK/WARN | ... |
|
|
155
|
+
| AGENTS.md | OK/WARN/CRITICAL | ... |
|
|
156
|
+
| Plugin Cache | OK/WARN | ... |
|
|
157
|
+
| Legacy Agents (~/.codex/agents/) | OK/WARN | ... |
|
|
158
|
+
| Legacy Commands (~/.codex/commands/) | OK/WARN | ... |
|
|
159
|
+
| Skills (${CODEX_HOME:-~/.codex}/skills) | OK/WARN | ... |
|
|
160
|
+
| Legacy Skill Root (~/.agents/skills) | OK/WARN | ... |
|
|
161
|
+
|
|
162
|
+
### Issues Found
|
|
163
|
+
1. [Issue description]
|
|
164
|
+
2. [Issue description]
|
|
165
|
+
|
|
166
|
+
### Recommended Fixes
|
|
167
|
+
[List fixes based on issues]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Auto-Fix (if user confirms)
|
|
173
|
+
|
|
174
|
+
If issues found, ask user: "Would you like me to fix these issues automatically?"
|
|
175
|
+
|
|
176
|
+
If yes, apply fixes:
|
|
177
|
+
|
|
178
|
+
### Fix: Legacy Hooks in legacy settings.json
|
|
179
|
+
If `~/.codex/settings.json` exists, remove the legacy `"hooks"` section (keep other settings intact).
|
|
180
|
+
|
|
181
|
+
### Fix: Legacy Bash Scripts
|
|
182
|
+
```bash
|
|
183
|
+
rm -f ~/.codex/hooks/keyword-detector.sh
|
|
184
|
+
rm -f ~/.codex/hooks/persistent-mode.sh
|
|
185
|
+
rm -f ~/.codex/hooks/session-start.sh
|
|
186
|
+
rm -f ~/.codex/hooks/stop-continuation.sh
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Fix: Outdated Plugin
|
|
190
|
+
```bash
|
|
191
|
+
# Global cache reset across all marketplaces for this plugin.
|
|
192
|
+
# If you only want one marketplace, set MARKETPLACE_NAME and remove just that subtree instead.
|
|
193
|
+
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
|
|
194
|
+
find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex" -type d -prune -exec rm -rf {} +
|
|
195
|
+
echo "Plugin cache cleared across all marketplaces. Restart Codex CLI to fetch the latest marketplace entry."
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Fix: Stale Cache (multiple versions)
|
|
199
|
+
```bash
|
|
200
|
+
# Keep only the newest version inside the selected marketplace/plugin cache.
|
|
201
|
+
# Set MARKETPLACE_NAME to the exact marketplace printed in Step 1.
|
|
202
|
+
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
|
|
203
|
+
PLUGIN_CACHE_DIR="$PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex"
|
|
204
|
+
KEEP_VERSION=$(for dir in "$PLUGIN_CACHE_DIR"/*; do [[ -d "$dir" ]] && basename "$dir"; done | sort -V | tail -1)
|
|
205
|
+
if [[ -n "$KEEP_VERSION" ]]; then
|
|
206
|
+
find "$PLUGIN_CACHE_DIR" -mindepth 1 -maxdepth 1 -type d ! -name "$KEEP_VERSION" -exec rm -rf {} +
|
|
207
|
+
fi
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Fix: Missing/Outdated AGENTS.md
|
|
211
|
+
Fetch latest from GitHub and write to `~/.codex/AGENTS.md`:
|
|
212
|
+
```
|
|
213
|
+
WebFetch(url: "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-codex/main/docs/AGENTS.md", prompt: "Return the complete raw markdown content exactly as-is")
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Fix: Legacy Curl-Installed Content
|
|
217
|
+
|
|
218
|
+
Remove legacy agents/commands plus the historical `~/.agents/skills` tree if it overlaps with the canonical `${CODEX_HOME:-~/.codex}/skills` install:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# Backup first (optional - ask user)
|
|
222
|
+
# mv ~/.codex/agents ~/.codex/agents.bak
|
|
223
|
+
# mv ~/.codex/commands ~/.codex/commands.bak
|
|
224
|
+
# mv ~/.agents/skills ~/.agents/skills.bak
|
|
225
|
+
|
|
226
|
+
# Or remove directly
|
|
227
|
+
rm -rf ~/.codex/agents
|
|
228
|
+
rm -rf ~/.codex/commands
|
|
229
|
+
rm -rf ~/.agents/skills
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Note**: Only remove if these contain oh-my-codex-related files. If user has custom agents/commands/skills, warn them and ask before removing.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Post-Fix
|
|
237
|
+
|
|
238
|
+
After applying fixes, inform user:
|
|
239
|
+
> Fixes applied. **Restart Codex CLI** for changes to take effect.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: help
|
|
3
|
+
description: Guide on using oh-my-codex plugin
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# How OMX Works
|
|
7
|
+
|
|
8
|
+
Plain English works as best-effort guidance — OMX inspects each prompt and may add advisory routing context to steer the model toward a suitable lane. This is **advisory prompt-routing context**: it does not activate a skill or workflow by itself. Explicit keywords remain the deterministic control surface when you want exact, guaranteed routing.
|
|
9
|
+
|
|
10
|
+
**Triage lanes** (when no keyword matches): complex/multi-step prompts may receive HEAVY guidance (autopilot-shaped); repo-local read-only lookups receive LIGHT/explore guidance; implementation work receives LIGHT/executor guidance; UI work receives LIGHT/designer guidance; external official-doc/reference/source-backed lookup receives LIGHT/researcher guidance; simple conversational prompts receive no injection (PASS). To opt out per prompt, include a phrase such as `no workflow`, `just chat`, or `plain answer`.
|
|
11
|
+
|
|
12
|
+
## What Happens Automatically
|
|
13
|
+
|
|
14
|
+
| When You... | I Automatically... |
|
|
15
|
+
|-------------|-------------------|
|
|
16
|
+
| Give me a complex task | Parallelize and delegate to specialist agents |
|
|
17
|
+
| Ask me to plan something | Start a planning interview |
|
|
18
|
+
| Need something done completely | Persist until verified complete |
|
|
19
|
+
| Work on UI/frontend | Activate design sensibility |
|
|
20
|
+
| Say "stop" or "cancel" | Intelligently stop current operation |
|
|
21
|
+
|
|
22
|
+
## Magic Keywords (Optional Shortcuts)
|
|
23
|
+
|
|
24
|
+
You can include these words naturally in your request for explicit control:
|
|
25
|
+
|
|
26
|
+
| Keyword | Effect | Example |
|
|
27
|
+
|---------|--------|---------|
|
|
28
|
+
| **ralph** | Persistence mode | "ralph: fix all the bugs" |
|
|
29
|
+
| **ralplan** | Iterative planning | "ralplan this feature" |
|
|
30
|
+
| **ulw** | Max parallelism | "ulw refactor the API" |
|
|
31
|
+
| **plan** | Planning interview | "plan the new endpoints" |
|
|
32
|
+
|
|
33
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
34
|
+
|
|
35
|
+
## Stopping Things
|
|
36
|
+
|
|
37
|
+
Just say:
|
|
38
|
+
- "stop"
|
|
39
|
+
- "cancel"
|
|
40
|
+
- "abort"
|
|
41
|
+
|
|
42
|
+
I'll figure out what to stop based on context.
|
|
43
|
+
|
|
44
|
+
## First Time Setup
|
|
45
|
+
|
|
46
|
+
If you haven't configured OMX yet:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/omx-setup
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This is the primary setup command for full OMX runtime wiring. Codex plugin install/discovery can expose packaged skills/workflows plus plugin-scoped companion metadata for MCP servers and apps, while native/runtime hooks remain setup-owned; it is not a replacement for `npm install -g oh-my-codex` plus `omx setup`. Legacy setup mode installs native agents/prompts; plugin setup mode archives stale legacy prompt/native-agent files and keeps config/hooks/optional AGENTS.md/HUD/runtime wiring current, including native `.codex/hooks.json` coverage. Plugin caches may appear under `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/` (or `local` for local installs).
|
|
53
|
+
|
|
54
|
+
If you only need lightweight directory guidance scaffolding for `AGENTS.md` files, use:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
omx agents-init .
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
That command is intentionally narrower than full setup: it only bootstraps `AGENTS.md` files for the target directory and its immediate child directories.
|
|
61
|
+
|
|
62
|
+
## For 2.x Users
|
|
63
|
+
|
|
64
|
+
Your old commands still work! `/ralph`, `/ultrawork`, `/plan`, etc. all function exactly as before.
|
|
65
|
+
|
|
66
|
+
But now you don't NEED them - everything is automatic.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Usage Analysis
|
|
71
|
+
|
|
72
|
+
Analyze your oh-my-codex usage and get tailored recommendations to improve your workflow.
|
|
73
|
+
|
|
74
|
+
> Note: This replaces the former `/learn-about-omc` skill.
|
|
75
|
+
|
|
76
|
+
### What It Does
|
|
77
|
+
|
|
78
|
+
1. Reads token tracking from `~/.omx/state/token-tracking.jsonl`
|
|
79
|
+
2. Reads session history from `.omx/state/session-history.json`
|
|
80
|
+
3. Analyzes agent usage patterns
|
|
81
|
+
4. Identifies underutilized features
|
|
82
|
+
5. Recommends configuration changes
|
|
83
|
+
|
|
84
|
+
### Step 1: Gather Data
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Check for token tracking data
|
|
88
|
+
TOKEN_FILE="$HOME/.omx/state/token-tracking.jsonl"
|
|
89
|
+
SESSION_FILE=".omx/state/session-history.json"
|
|
90
|
+
CONFIG_FILE="$HOME/.codex/.omx-config.json"
|
|
91
|
+
|
|
92
|
+
echo "Analyzing OMX Usage..."
|
|
93
|
+
echo ""
|
|
94
|
+
|
|
95
|
+
# Check what data is available
|
|
96
|
+
HAS_TOKENS=false
|
|
97
|
+
HAS_SESSIONS=false
|
|
98
|
+
HAS_CONFIG=false
|
|
99
|
+
|
|
100
|
+
if [[ -f "$TOKEN_FILE" ]]; then
|
|
101
|
+
HAS_TOKENS=true
|
|
102
|
+
TOKEN_COUNT=$(wc -l < "$TOKEN_FILE")
|
|
103
|
+
echo "Token records found: $TOKEN_COUNT"
|
|
104
|
+
fi
|
|
105
|
+
|
|
106
|
+
if [[ -f "$SESSION_FILE" ]]; then
|
|
107
|
+
HAS_SESSIONS=true
|
|
108
|
+
SESSION_COUNT=$(cat "$SESSION_FILE" | jq '.sessions | length' 2>/dev/null || echo "0")
|
|
109
|
+
echo "Sessions found: $SESSION_COUNT"
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if [[ -f "$CONFIG_FILE" ]]; then
|
|
113
|
+
HAS_CONFIG=true
|
|
114
|
+
DEFAULT_MODE=$(cat "$CONFIG_FILE" | jq -r '.defaultExecutionMode // "not set"')
|
|
115
|
+
echo "Default execution mode: $DEFAULT_MODE"
|
|
116
|
+
fi
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Step 2: Analyze Agent Usage (if token data exists)
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
if [[ "$HAS_TOKENS" == "true" ]]; then
|
|
123
|
+
echo ""
|
|
124
|
+
echo "TOP AGENTS BY USAGE:"
|
|
125
|
+
cat "$TOKEN_FILE" | jq -r '.agentName // "main"' | sort | uniq -c | sort -rn | head -10
|
|
126
|
+
|
|
127
|
+
echo ""
|
|
128
|
+
echo "MODEL DISTRIBUTION:"
|
|
129
|
+
cat "$TOKEN_FILE" | jq -r '.modelName' | sort | uniq -c | sort -rn
|
|
130
|
+
fi
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Step 3: Generate Recommendations
|
|
134
|
+
|
|
135
|
+
Based on patterns found, output recommendations:
|
|
136
|
+
|
|
137
|
+
**If high Opus usage (>40%) and no ecomode:**
|
|
138
|
+
- "Consider using ecomode for routine tasks to save tokens"
|
|
139
|
+
|
|
140
|
+
**If no team usage:**
|
|
141
|
+
- "Try /team for coordinated review workflows"
|
|
142
|
+
|
|
143
|
+
**If no security-reviewer usage:**
|
|
144
|
+
- "Use security-reviewer after auth/API changes"
|
|
145
|
+
|
|
146
|
+
**If defaultExecutionMode not set:**
|
|
147
|
+
- "Set defaultExecutionMode in /omx-setup for consistent behavior"
|
|
148
|
+
|
|
149
|
+
### Step 4: Output Report
|
|
150
|
+
|
|
151
|
+
Format a summary with:
|
|
152
|
+
- Token summary (total, by model)
|
|
153
|
+
- Top agents used
|
|
154
|
+
- Underutilized features
|
|
155
|
+
- Personalized recommendations
|
|
156
|
+
|
|
157
|
+
### Example Output
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
📊 Your OMX Usage Analysis
|
|
161
|
+
|
|
162
|
+
TOKEN SUMMARY:
|
|
163
|
+
- Total records: 1,234
|
|
164
|
+
- By Reasoning Effort: high 45%, medium 40%, low 15%
|
|
165
|
+
|
|
166
|
+
TOP AGENTS:
|
|
167
|
+
1. executor (234 uses)
|
|
168
|
+
2. architect (89 uses)
|
|
169
|
+
3. explore (67 uses)
|
|
170
|
+
|
|
171
|
+
UNDERUTILIZED FEATURES:
|
|
172
|
+
- ecomode: 0 uses (could save ~30% on routine tasks)
|
|
173
|
+
- team: 0 uses (great for coordinated workflows)
|
|
174
|
+
|
|
175
|
+
RECOMMENDATIONS:
|
|
176
|
+
1. Set defaultExecutionMode: "ecomode" to save tokens
|
|
177
|
+
2. Try /team for PR review workflows
|
|
178
|
+
3. Use explore agent before architect to save context
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Graceful Degradation
|
|
182
|
+
|
|
183
|
+
If no data found:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
📊 Limited Usage Data Available
|
|
187
|
+
|
|
188
|
+
No token tracking found. To enable tracking:
|
|
189
|
+
1. Ensure ~/.omx/state/ directory exists
|
|
190
|
+
2. Run any OMX command to start tracking
|
|
191
|
+
|
|
192
|
+
Tip: Run /omx-setup to configure OMX properly.
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Need More Help?
|
|
196
|
+
|
|
197
|
+
- **README**: https://github.com/Yeachan-Heo/oh-my-codex
|
|
198
|
+
- **Issues**: https://github.com/Yeachan-Heo/oh-my-codex/issues
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
*Version: 4.2.3*
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "hud"
|
|
3
|
+
description: "Show or configure the OMX HUD (two-layer statusline)"
|
|
4
|
+
role: "display"
|
|
5
|
+
scope: ".omx/**"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# HUD Skill
|
|
9
|
+
|
|
10
|
+
The OMX HUD uses a two-layer architecture:
|
|
11
|
+
|
|
12
|
+
1. **Layer 1 - Codex built-in statusLine**: Real-time TUI footer showing model, git branch, and context usage. Configured via `[tui] status_line` in `~/.codex/config.toml`. Zero code required.
|
|
13
|
+
|
|
14
|
+
2. **Layer 2 - `omx hud` CLI command**: Shows OMX-specific orchestration state (ralph, ultrawork, autopilot, team, pipeline, ecomode, turns). Reads `.omx/state/` files.
|
|
15
|
+
|
|
16
|
+
## Quick Commands
|
|
17
|
+
|
|
18
|
+
| Command | Description |
|
|
19
|
+
|---------|-------------|
|
|
20
|
+
| `omx hud` | Show current HUD (modes, turns, activity) |
|
|
21
|
+
| `omx hud --watch` | Live-updating display (polls every 1s) |
|
|
22
|
+
| `omx hud --json` | Raw state output for scripting |
|
|
23
|
+
| `omx hud --preset=minimal` | Minimal display |
|
|
24
|
+
| `omx hud --preset=focused` | Default display |
|
|
25
|
+
| `omx hud --preset=full` | All elements |
|
|
26
|
+
|
|
27
|
+
## Presets
|
|
28
|
+
|
|
29
|
+
### minimal
|
|
30
|
+
```
|
|
31
|
+
[OMX] ralph:3/10 | turns:42
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### focused (default)
|
|
35
|
+
```
|
|
36
|
+
[OMX] ralph:3/10 | ultrawork | team:3 workers | turns:42 | last:5s ago
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### full
|
|
40
|
+
```
|
|
41
|
+
[OMX] ralph:3/10 | ultrawork | autopilot:execution | team:3 workers | pipeline:exec | turns:42 | last:5s ago | total-turns:156
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Setup
|
|
45
|
+
|
|
46
|
+
`omx setup` automatically configures both layers:
|
|
47
|
+
- Adds `[tui] status_line` to `~/.codex/config.toml` (Layer 1)
|
|
48
|
+
- Writes `.omx/hud-config.json` with default preset (Layer 2)
|
|
49
|
+
- Default preset is `focused`; if HUD/statusline changes do not appear, restart Codex CLI once.
|
|
50
|
+
|
|
51
|
+
## Layer 1: Codex Built-in StatusLine
|
|
52
|
+
|
|
53
|
+
Configured in `~/.codex/config.toml`:
|
|
54
|
+
```toml
|
|
55
|
+
[tui]
|
|
56
|
+
status_line = ["model-with-reasoning", "git-branch", "context-remaining"]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Available built-in items (Codex CLI v0.101.0+):
|
|
60
|
+
`model-name`, `model-with-reasoning`, `current-dir`, `project-root`, `git-branch`, `context-remaining`, `context-used`, `five-hour-limit`, `weekly-limit`, `codex-version`, `context-window-size`, `used-tokens`, `total-input-tokens`, `total-output-tokens`, `session-id`
|
|
61
|
+
|
|
62
|
+
## Layer 2: OMX Orchestration HUD
|
|
63
|
+
|
|
64
|
+
The `omx hud` command reads these state files:
|
|
65
|
+
- `.omx/state/ralph-state.json` - Ralph loop iteration
|
|
66
|
+
- `.omx/state/ultrawork-state.json` - Ultrawork mode
|
|
67
|
+
- `.omx/state/autopilot-state.json` - Autopilot phase
|
|
68
|
+
- `.omx/state/team-state.json` - Team workers
|
|
69
|
+
- `.omx/state/pipeline-state.json` - Pipeline stage
|
|
70
|
+
- `.omx/state/ecomode-state.json` - Ecomode active
|
|
71
|
+
- `.omx/state/hud-state.json` - Last activity (from notify hook)
|
|
72
|
+
- `.omx/metrics.json` - Turn counts
|
|
73
|
+
|
|
74
|
+
## Configuration
|
|
75
|
+
|
|
76
|
+
HUD config stored at `.omx/hud-config.json`:
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"preset": "focused"
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Color Coding
|
|
84
|
+
|
|
85
|
+
- **Green**: Normal/healthy
|
|
86
|
+
- **Yellow**: Warning (ralph >70% of max)
|
|
87
|
+
- **Red**: Critical (ralph >90% of max)
|
|
88
|
+
|
|
89
|
+
## Troubleshooting
|
|
90
|
+
|
|
91
|
+
If the TUI statusline is not showing:
|
|
92
|
+
1. Ensure Codex CLI v0.101.0+ is installed
|
|
93
|
+
2. Run `omx setup` to configure `[tui]` section
|
|
94
|
+
3. Restart Codex CLI
|
|
95
|
+
|
|
96
|
+
If `omx hud` shows "No active modes":
|
|
97
|
+
- This is expected when no workflows are running
|
|
98
|
+
- Start a workflow (ralph, autopilot, etc.) and check again
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: note
|
|
3
|
+
description: Save notes to notepad.md for compaction resilience
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Note Skill
|
|
7
|
+
|
|
8
|
+
Save important context to `.omx/notepad.md` that survives conversation compaction.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
| Command | Action |
|
|
13
|
+
|---------|--------|
|
|
14
|
+
| `/note <content>` | Add to Working Memory with timestamp |
|
|
15
|
+
| `/note --priority <content>` | Add to Priority Context (always loaded) |
|
|
16
|
+
| `/note --manual <content>` | Add to MANUAL section (never pruned) |
|
|
17
|
+
| `/note --show` | Display current notepad contents |
|
|
18
|
+
| `/note --prune` | Remove entries older than 7 days |
|
|
19
|
+
| `/note --clear` | Clear Working Memory (keep Priority + MANUAL) |
|
|
20
|
+
|
|
21
|
+
## Sections
|
|
22
|
+
|
|
23
|
+
### Priority Context (500 char limit)
|
|
24
|
+
- **Always** injected on session start
|
|
25
|
+
- Use for critical facts: "Project uses pnpm", "API in src/api/client.ts"
|
|
26
|
+
- Keep it SHORT - this eats into your context budget
|
|
27
|
+
|
|
28
|
+
### Working Memory
|
|
29
|
+
- Timestamped session notes
|
|
30
|
+
- Auto-pruned after 7 days
|
|
31
|
+
- Good for: debugging breadcrumbs, temporary findings
|
|
32
|
+
|
|
33
|
+
### MANUAL
|
|
34
|
+
- Never auto-pruned
|
|
35
|
+
- User-controlled permanent notes
|
|
36
|
+
- Good for: team contacts, deployment info
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
/note Found auth bug in UserContext - missing useEffect dependency
|
|
42
|
+
/note --priority Project uses TypeScript strict mode, all files in src/
|
|
43
|
+
/note --manual Contact: api-team@company.com for backend questions
|
|
44
|
+
/note --show
|
|
45
|
+
/note --prune
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Behavior
|
|
49
|
+
|
|
50
|
+
1. Creates `.omx/notepad.md` if it doesn't exist
|
|
51
|
+
2. Parses the argument to determine section
|
|
52
|
+
3. Appends content with timestamp (for Working Memory)
|
|
53
|
+
4. Warns if Priority Context exceeds 500 chars
|
|
54
|
+
5. Confirms what was saved
|
|
55
|
+
|
|
56
|
+
## Integration
|
|
57
|
+
|
|
58
|
+
Notepad content is automatically loaded on session start:
|
|
59
|
+
- Priority Context: ALWAYS loaded
|
|
60
|
+
- Working Memory: Loaded if recent entries exist
|
|
61
|
+
|
|
62
|
+
This helps survive conversation compaction without losing critical context.
|