oh-my-codex 0.15.3 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +10 -7
- package/Cargo.toml +1 -1
- package/README.md +3 -0
- package/crates/omx-explore/Cargo.toml +3 -0
- package/crates/omx-explore/src/main.rs +517 -16
- package/dist/autoresearch/goal.d.ts +90 -0
- package/dist/autoresearch/goal.d.ts.map +1 -0
- package/dist/autoresearch/goal.js +237 -0
- package/dist/autoresearch/goal.js.map +1 -0
- package/dist/autoresearch/skill-validation.d.ts +1 -0
- package/dist/autoresearch/skill-validation.d.ts.map +1 -1
- package/dist/autoresearch/skill-validation.js +10 -3
- package/dist/autoresearch/skill-validation.js.map +1 -1
- package/dist/catalog/__tests__/generator.test.js +9 -4
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +20 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +14 -3
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/catalog/schema.js +1 -1
- package/dist/catalog/schema.js.map +1 -1
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js +194 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js.map +1 -0
- package/dist/cli/__tests__/cleanup.test.js +82 -1
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +7 -4
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +23 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +8 -1
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +82 -3
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +58 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/native-assets.test.js +26 -1
- package/dist/cli/__tests__/native-assets.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +2 -2
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/performance-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/performance-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/performance-goal.test.js +144 -0
- package/dist/cli/__tests__/performance-goal.test.js.map +1 -0
- package/dist/cli/__tests__/question.test.js +8 -0
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts +2 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +31 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -0
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +5 -4
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-prd-smoke.test.js +7 -0
- package/dist/cli/__tests__/ralph-prd-smoke.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +57 -21
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +27 -8
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +18 -9
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skill-validation.test.js +11 -11
- package/dist/cli/__tests__/setup-skill-validation.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +12 -12
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +187 -0
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.d.ts +2 -0
- package/dist/cli/__tests__/ultragoal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ultragoal.test.js +106 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -0
- package/dist/cli/__tests__/uninstall.test.js +11 -0
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/autoresearch-goal.d.ts +3 -0
- package/dist/cli/autoresearch-goal.d.ts.map +1 -0
- package/dist/cli/autoresearch-goal.js +175 -0
- package/dist/cli/autoresearch-goal.js.map +1 -0
- package/dist/cli/cleanup.d.ts +3 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +42 -2
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +49 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +10 -2
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +6 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +145 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/native-assets.js +1 -1
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/performance-goal.d.ts +3 -0
- package/dist/cli/performance-goal.d.ts.map +1 -0
- package/dist/cli/performance-goal.js +186 -0
- package/dist/cli/performance-goal.js.map +1 -0
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +8 -0
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +13 -6
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +2 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +72 -17
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/tmux-hook.d.ts.map +1 -1
- package/dist/cli/tmux-hook.js +2 -1
- package/dist/cli/tmux-hook.js.map +1 -1
- package/dist/cli/ultragoal.d.ts +3 -0
- package/dist/cli/ultragoal.d.ts.map +1 -0
- package/dist/cli/ultragoal.js +191 -0
- package/dist/cli/ultragoal.js.map +1 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +4 -2
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +12 -1
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +5 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/commit-lore-guard.d.ts +3 -0
- package/dist/config/commit-lore-guard.d.ts.map +1 -0
- package/dist/config/commit-lore-guard.js +9 -0
- package/dist/config/commit-lore-guard.js.map +1 -0
- package/dist/config/generator.d.ts +3 -2
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +52 -8
- package/dist/config/generator.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts +1 -0
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
- package/dist/config/omx-first-party-mcp.js +4 -1
- package/dist/config/omx-first-party-mcp.js.map +1 -1
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js +96 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +54 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -0
- package/dist/goal-workflows/artifacts.d.ts +62 -0
- package/dist/goal-workflows/artifacts.d.ts.map +1 -0
- package/dist/goal-workflows/artifacts.js +132 -0
- package/dist/goal-workflows/artifacts.js.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts +28 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.js +110 -0
- package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -0
- package/dist/goal-workflows/handoff.d.ts +10 -0
- package/dist/goal-workflows/handoff.d.ts.map +1 -0
- package/dist/goal-workflows/handoff.js +31 -0
- package/dist/goal-workflows/handoff.js.map +1 -0
- package/dist/goal-workflows/validation.d.ts +13 -0
- package/dist/goal-workflows/validation.d.ts.map +1 -0
- package/dist/goal-workflows/validation.js +36 -0
- package/dist/goal-workflows/validation.js.map +1 -0
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +3 -3
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +45 -32
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +3 -3
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +2 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +17 -24
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +3 -3
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.js +3 -3
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-verdict-loop.test.js +7 -11
- package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +2 -2
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +12 -13
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +2 -10
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +0 -4
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.js +2 -2
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/task-size-detector.d.ts.map +1 -1
- package/dist/hooks/task-size-detector.js +1 -0
- package/dist/hooks/task-size-detector.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +29 -7
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/reconcile.d.ts +2 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +12 -0
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +15 -2
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +54 -0
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +36 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +1 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +9 -7
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +17 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +36 -2
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +26 -0
- package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
- package/dist/modes/base.d.ts +1 -0
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +35 -5
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/http-client.test.d.ts +2 -0
- package/dist/notifications/__tests__/http-client.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/http-client.test.js +90 -0
- package/dist/notifications/__tests__/http-client.test.js.map +1 -0
- package/dist/notifications/__tests__/notifier.test.js +22 -60
- package/dist/notifications/__tests__/notifier.test.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +35 -60
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/notifications/http-client.d.ts +22 -0
- package/dist/notifications/http-client.d.ts.map +1 -0
- package/dist/notifications/http-client.js +298 -0
- package/dist/notifications/http-client.js.map +1 -0
- package/dist/notifications/notifier.d.ts +3 -2
- package/dist/notifications/notifier.d.ts.map +1 -1
- package/dist/notifications/notifier.js +17 -22
- package/dist/notifications/notifier.js.map +1 -1
- package/dist/openclaw/__tests__/dispatcher.test.js +62 -1
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
- package/dist/openclaw/dispatcher.d.ts.map +1 -1
- package/dist/openclaw/dispatcher.js +3 -2
- package/dist/openclaw/dispatcher.js.map +1 -1
- package/dist/performance-goal/artifacts.d.ts +76 -0
- package/dist/performance-goal/artifacts.d.ts.map +1 -0
- package/dist/performance-goal/artifacts.js +221 -0
- package/dist/performance-goal/artifacts.js.map +1 -0
- package/dist/pipeline/__tests__/stages.test.js +30 -5
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
- package/dist/pipeline/stages/team-exec.js +2 -19
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +16 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifacts.d.ts +1 -0
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +9 -12
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +2 -0
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +6 -0
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +1516 -205
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js +33 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +36 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +497 -51
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +7 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +222 -19
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/hook-derived-watcher.js +2 -1
- package/dist/scripts/hook-derived-watcher.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +2 -1
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.d.ts +1 -2
- package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.js +2 -3
- package/dist/scripts/notify-hook/orchestration-intent.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts +0 -2
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +8 -60
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts +15 -0
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -0
- package/dist/scripts/notify-hook/team-worker-stop.js +224 -0
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -0
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +26 -18
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/run-test-files.js +17 -1
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js +2 -2
- package/dist/scripts/sync-plugin-mirror.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +26 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +35 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/operations.d.ts +3 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +8 -4
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +1 -0
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +54 -13
- package/dist/state/skill-active.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +59 -0
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.d.ts +2 -0
- package/dist/team/__tests__/approved-execution.test.d.ts.map +1 -0
- package/dist/team/__tests__/approved-execution.test.js +124 -0
- package/dist/team/__tests__/approved-execution.test.js.map +1 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +2 -4
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.d.ts +2 -0
- package/dist/team/__tests__/delivery-log.test.d.ts.map +1 -0
- package/dist/team/__tests__/delivery-log.test.js +44 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -0
- package/dist/team/__tests__/role-router.test.js +4 -4
- package/dist/team/__tests__/role-router.test.js.map +1 -1
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js +39 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js.map +1 -0
- package/dist/team/__tests__/runtime.test.js +118 -6
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +13 -0
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +3 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +50 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +4 -3
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/approved-execution.d.ts +37 -0
- package/dist/team/approved-execution.d.ts.map +1 -0
- package/dist/team/approved-execution.js +136 -0
- package/dist/team/approved-execution.js.map +1 -0
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js +2 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/followup-planner.js +2 -2
- package/dist/team/followup-planner.js.map +1 -1
- package/dist/team/goal-workflow.d.ts +20 -0
- package/dist/team/goal-workflow.d.ts.map +1 -0
- package/dist/team/goal-workflow.js +57 -0
- package/dist/team/goal-workflow.js.map +1 -0
- package/dist/team/orchestrator.js +2 -2
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/role-router.js +5 -5
- package/dist/team/role-router.js.map +1 -1
- package/dist/team/runtime.d.ts +6 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +46 -6
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +2 -0
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +4 -2
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +2 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +19 -2
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.d.ts +2 -0
- package/dist/ultragoal/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/ultragoal/__tests__/artifacts.test.js +93 -0
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -0
- package/dist/ultragoal/artifacts.d.ts +89 -0
- package/dist/ultragoal/artifacts.d.ts.map +1 -0
- package/dist/ultragoal/artifacts.js +233 -0
- package/dist/ultragoal/artifacts.js.map +1 -0
- package/dist/utils/__tests__/agents-model-table.test.js +3 -1
- package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +31 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/agents-model-table.d.ts.map +1 -1
- package/dist/utils/agents-model-table.js +12 -1
- package/dist/utils/agents-model-table.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +23 -7
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +30 -19
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/package.json +5 -5
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/ask/SKILL.md +58 -0
- package/plugins/oh-my-codex/skills/autoresearch-goal/SKILL.md +36 -0
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/performance-goal/SKILL.md +65 -0
- package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +22 -3
- package/plugins/oh-my-codex/skills/team/SKILL.md +6 -2
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +49 -0
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +9 -9
- package/prompts/api-reviewer.md +1 -1
- package/prompts/code-reviewer.md +2 -0
- package/prompts/performance-reviewer.md +1 -1
- package/prompts/quality-reviewer.md +1 -1
- package/prompts/quality-strategist.md +2 -2
- package/prompts/style-reviewer.md +1 -1
- package/prompts/test-engineer.md +1 -1
- package/skills/ask/SKILL.md +58 -0
- package/skills/ask-claude/SKILL.md +3 -54
- package/skills/ask-gemini/SKILL.md +3 -54
- package/skills/autoresearch-goal/SKILL.md +36 -0
- package/skills/build-fix/SKILL.md +4 -139
- package/skills/deepsearch/SKILL.md +4 -32
- package/skills/ecomode/SKILL.md +4 -108
- package/skills/help/SKILL.md +4 -196
- package/skills/note/SKILL.md +4 -56
- package/skills/omx-setup/SKILL.md +2 -2
- package/skills/performance-goal/SKILL.md +65 -0
- package/skills/plan/SKILL.md +1 -1
- package/skills/ralph/SKILL.md +22 -3
- package/skills/ralph-init/SKILL.md +4 -40
- package/skills/review/SKILL.md +4 -32
- package/skills/security-review/SKILL.md +4 -294
- package/skills/swarm/SKILL.md +4 -19
- package/skills/tdd/SKILL.md +4 -100
- package/skills/team/SKILL.md +6 -2
- package/skills/trace/SKILL.md +4 -27
- package/skills/ultragoal/SKILL.md +49 -0
- package/skills/visual-ralph/SKILL.md +9 -9
- package/skills/visual-verdict/SKILL.md +4 -70
- package/skills/web-clone/SKILL.md +4 -18
- package/src/scripts/__tests__/codex-native-hook.test.ts +1654 -157
- package/src/scripts/__tests__/hook-derived-watcher.test.ts +45 -1
- package/src/scripts/__tests__/run-test-files.test.ts +46 -0
- package/src/scripts/codex-native-hook.ts +592 -52
- package/src/scripts/codex-native-pre-post.ts +252 -20
- package/src/scripts/hook-derived-watcher.ts +2 -1
- package/src/scripts/notify-fallback-watcher.ts +2 -1
- package/src/scripts/notify-hook/orchestration-intent.ts +1 -3
- package/src/scripts/notify-hook/team-leader-nudge.ts +7 -63
- package/src/scripts/notify-hook/team-worker-stop.ts +246 -0
- package/src/scripts/notify-hook/team-worker.ts +23 -14
- package/src/scripts/run-test-files.ts +20 -1
- package/src/scripts/sync-plugin-mirror.ts +2 -2
- package/templates/catalog-manifest.json +45 -27
- package/plugins/oh-my-codex/skills/ask-claude/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/ask-gemini/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/help/SKILL.md +0 -202
- package/plugins/oh-my-codex/skills/note/SKILL.md +0 -62
- package/plugins/oh-my-codex/skills/security-review/SKILL.md +0 -300
- package/plugins/oh-my-codex/skills/trace/SKILL.md +0 -33
- package/plugins/oh-my-codex/skills/visual-verdict/SKILL.md +0 -76
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autoresearch-goal
|
|
3
|
+
description: Durable professor-critic research workflow over Codex goal mode without reviving deprecated omx autoresearch
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Autoresearch Goal
|
|
7
|
+
|
|
8
|
+
Use this workflow when a research mission should be bound to Codex goal-mode focus while OMX remains the durable state owner.
|
|
9
|
+
|
|
10
|
+
## Boundary
|
|
11
|
+
- Do **not** use or revive the deprecated `omx autoresearch` direct launch surface.
|
|
12
|
+
- Do **not** claim shell commands mutate hidden Codex `/goal` state.
|
|
13
|
+
- Do **not** edit upstream `../../codex` or add dependencies.
|
|
14
|
+
- Use `get_goal`, `create_goal`, and `update_goal({status: "complete"})` only through the active Codex thread when those tools are available.
|
|
15
|
+
|
|
16
|
+
## Artifacts
|
|
17
|
+
`omx autoresearch-goal` writes:
|
|
18
|
+
- `.omx/goals/autoresearch/<slug>/mission.json`
|
|
19
|
+
- `.omx/goals/autoresearch/<slug>/rubric.md`
|
|
20
|
+
- `.omx/goals/autoresearch/<slug>/ledger.jsonl`
|
|
21
|
+
- `.omx/goals/autoresearch/<slug>/completion.json`
|
|
22
|
+
|
|
23
|
+
## Flow
|
|
24
|
+
1. Create the mission and professor-critic rubric:
|
|
25
|
+
`omx autoresearch-goal create --topic "..." --rubric "..." --critic-command "..."`
|
|
26
|
+
2. Emit the model-facing handoff:
|
|
27
|
+
`omx autoresearch-goal handoff --slug <slug>`
|
|
28
|
+
3. In the active Codex thread, call `get_goal`; call `create_goal` only if no active goal exists and the printed payload is the intended objective.
|
|
29
|
+
4. Research iteratively against the rubric. Record every critic outcome:
|
|
30
|
+
`omx autoresearch-goal verdict --slug <slug> --verdict <pass|fail|blocked> --evidence "..."`
|
|
31
|
+
5. Completion is blocked until professor-critic validation records `verdict=pass`. After the mission audit passes, call `update_goal({status: "complete"})`, call `get_goal` again, then run:
|
|
32
|
+
`omx autoresearch-goal complete --slug <slug> --codex-goal-json <get_goal-json-or-path>`
|
|
33
|
+
6. Treat the completion command as read-only reconciliation plus durable OMX state update; hooks and shell commands must not mutate Codex goal state.
|
|
34
|
+
|
|
35
|
+
## Completion gate
|
|
36
|
+
A passing professor-critic artifact and a matching complete Codex `get_goal` snapshot are required. Assistant prose, partial tests, or a failed/blocked verdict are not sufficient.
|
|
@@ -60,7 +60,7 @@ Supported setup flags (current implementation):
|
|
|
60
60
|
- `project`: local directories (`./.codex`, `./.codex/skills`, `./.omx/agents`)
|
|
61
61
|
- User-scope skill delivery targets:
|
|
62
62
|
- `legacy`: keep installing/updating OMX skills in the resolved user skill root
|
|
63
|
-
- `plugin`: rely on Codex plugin discovery for bundled skills and archive/remove legacy OMX-managed prompts/skills/native agents; setup still installs native Codex hooks and `codex_hooks = true` because plugins do not carry hooks.
|
|
63
|
+
- `plugin`: rely on Codex plugin discovery for bundled skills and archive/remove legacy OMX-managed prompts/skills/native agents; setup still installs native Codex hooks and setup-owned runtime feature flags (`codex_hooks = true`, `goals = true`) because plugins do not carry hooks or enable Codex goal mode by themselves.
|
|
64
64
|
- Migration hint: in `user` scope, if historical `~/.agents/skills` still exists alongside `${CODEX_HOME:-~/.codex}/skills`, current setup prints a cleanup hint. **Why the paths differ**: `${CODEX_HOME:-~/.codex}/skills/` is the path current Codex CLI natively loads as its skill root; `~/.agents/skills/` was the skill root in an older Codex CLI release before `~/.codex` became the standard home directory. OMX writes only to the canonical `${CODEX_HOME:-~/.codex}/skills/` path. When both directories exist simultaneously, Codex discovers skills from both trees and may show duplicate entries in Enable/Disable Skills. Archive or remove `~/.agents/skills/` to resolve this.
|
|
65
65
|
- If persisted scope is `project`, `omx` launch automatically uses `CODEX_HOME=./.codex` unless user explicitly overrides `CODEX_HOME`.
|
|
66
66
|
- Plugin mode prompts separately for optional AGENTS.md defaults and optional `developer_instructions` defaults. If `developer_instructions` already exists, setup asks before overwriting it; non-interactive runs preserve it.
|
|
@@ -74,7 +74,7 @@ Use this map when reconciling setup behavior or debugging a confusing install:
|
|
|
74
74
|
| Surface | Owner | Notes |
|
|
75
75
|
| --- | --- | --- |
|
|
76
76
|
| `./.omx/setup-scope.json` | `omx setup` | Persists setup scope and user-scope skill delivery mode. TTY reruns summarize it and offer keep/review/reset. |
|
|
77
|
-
| `~/.codex/config.toml` / `./.codex/config.toml` | `omx setup` generated blocks + user edits | Setup refreshes OMX-managed blocks while preserving supported manual content
|
|
77
|
+
| `~/.codex/config.toml` / `./.codex/config.toml` | `omx setup` generated blocks + user edits | Setup refreshes OMX-managed blocks while preserving supported manual content; setup-owned runtime feature flags include `multi_agent`, `child_agents_md`, `codex_hooks`, and `goals`. |
|
|
78
78
|
| `~/.codex/hooks.json` / `./.codex/hooks.json` | `omx setup` shared ownership | Setup owns OMX native hook wrappers and preserves user-owned hooks. |
|
|
79
79
|
| prompts, skills, native agents | `omx setup` or Codex plugin delivery | Legacy mode installs local files; plugin mode relies on plugin discovery for bundled skills and archives/removes legacy OMX-managed prompt/native-agent copies. |
|
|
80
80
|
| `AGENTS.md` | `omx setup` with overwrite safety | Generated defaults or managed refreshes are guarded by force/session checks. |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-goal
|
|
3
|
+
description: "Run an evaluator-gated performance optimization workflow over Codex goal mode with durable OMX artifacts and safe goal handoffs."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Performance Goal Workflow
|
|
7
|
+
|
|
8
|
+
Use this skill when a user asks OMX to optimize performance and wants a goal-oriented loop rather than a one-off review.
|
|
9
|
+
|
|
10
|
+
## Contract
|
|
11
|
+
|
|
12
|
+
- OMX owns durable workflow state under `.omx/goals/performance/<slug>/`.
|
|
13
|
+
- Codex goal mode owns only the active-thread focus/accounting primitive.
|
|
14
|
+
- Shell commands do **not** mutate hidden Codex goal state. They write artifacts and emit model-facing handoff text.
|
|
15
|
+
- No optimization work may start until an evaluator command and pass/fail contract exist.
|
|
16
|
+
- Do not call `update_goal({status: "complete"})` until the evaluator has a passing checkpoint and a completion audit proves the objective is done; then call `get_goal` again and pass that fresh snapshot to `omx performance-goal complete --codex-goal-json`.
|
|
17
|
+
|
|
18
|
+
## CLI
|
|
19
|
+
|
|
20
|
+
Create the workflow and evaluator contract:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
omx performance-goal create \
|
|
24
|
+
--objective "Reduce CLI startup latency by 20%" \
|
|
25
|
+
--evaluator-command "npm run perf:startup" \
|
|
26
|
+
--evaluator-contract "PASS when p95 latency improves by 20% and regression tests pass" \
|
|
27
|
+
--slug startup-latency
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Emit the Codex goal handoff:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
omx performance-goal start --slug startup-latency
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Record evaluator evidence:
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
omx performance-goal checkpoint --slug startup-latency --status pass --evidence "benchmark + tests passed"
|
|
40
|
+
omx performance-goal checkpoint --slug startup-latency --status fail --evidence "benchmark regressed"
|
|
41
|
+
omx performance-goal checkpoint --slug startup-latency --status blocked --evidence "missing fixture"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Complete only after a passing checkpoint:
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
omx performance-goal complete --slug startup-latency --evidence "final evaluator evidence" --codex-goal-json <get_goal-json-or-path>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Agent Loop
|
|
51
|
+
|
|
52
|
+
1. Run `omx performance-goal create` if no workflow exists.
|
|
53
|
+
2. Run `omx performance-goal start` and follow the handoff:
|
|
54
|
+
- call `get_goal`;
|
|
55
|
+
- call `create_goal` only when no active goal exists and the objective is explicit;
|
|
56
|
+
- work only against the evaluator contract;
|
|
57
|
+
- after evaluator pass and completion audit, call `update_goal({status: "complete"})`, call `get_goal` again, and pass that snapshot to `omx performance-goal complete --codex-goal-json`;
|
|
58
|
+
3. Optimize in small reversible patches.
|
|
59
|
+
4. Run the evaluator and related regression tests.
|
|
60
|
+
5. Record each pass/fail/blocker with `checkpoint`.
|
|
61
|
+
6. Complete only when the pass artifact exists and no required work remains.
|
|
62
|
+
|
|
63
|
+
## Completion Gate
|
|
64
|
+
|
|
65
|
+
A performance goal is incomplete unless `.omx/goals/performance/<slug>/state.json` contains a `lastValidation.status` of `pass` and `omx performance-goal complete` receives a matching complete Codex `get_goal` snapshot via `--codex-goal-json`. Passing ordinary tests alone is not sufficient unless they are the declared evaluator contract.
|
|
@@ -114,7 +114,7 @@ Jumping into code without understanding requirements leads to rework, scope cree
|
|
|
114
114
|
2. Evaluate via Critic using `ask_codex` with `agent_role: "critic"`
|
|
115
115
|
3. For cleanup/refactor/anti-slop work, verify that the artifact includes a cleanup plan, regression tests or an explicit test gap, smell-by-smell passes, and quality gates.
|
|
116
116
|
4. Return verdict: APPROVED, REVISE (with specific feedback), or REJECT (replanning required)
|
|
117
|
-
5. If the current context authored the artifact, hand the review to
|
|
117
|
+
5. If the current context authored the artifact, hand the review to `$code-review`, `critic`, `quality-reviewer`, or `verifier` as appropriate.
|
|
118
118
|
|
|
119
119
|
### Plan Output Format
|
|
120
120
|
|
|
@@ -36,6 +36,7 @@ Complex tasks often fail silently: partial implementations get declared "done",
|
|
|
36
36
|
- Read `docs/shared/agent-tiers.md` before first delegation to select correct agent tiers
|
|
37
37
|
- Deliver the full implementation: no scope reduction, no partial completion, no deleting tests to make them pass
|
|
38
38
|
- Apply the shared workflow guidance pattern: outcome-first framing, concise visible updates for multi-step execution, local overrides for the active workflow branch, validation proportional to risk, explicit stop rules, and automatic continuation for safe reversible steps. Ask only for material, destructive, credentialed, external-production, or preference-dependent branches.
|
|
39
|
+
- Integrate with Codex goal mode when goal tools are available: inspect the active thread goal with `get_goal`, preserve it as the top-level stop condition, and only call `update_goal({status: "complete"})` after a Ralph completion audit proves the objective is actually achieved.
|
|
39
40
|
</Execution_Policy>
|
|
40
41
|
|
|
41
42
|
<Steps>
|
|
@@ -60,12 +61,13 @@ Complex tasks often fail silently: partial implementations get declared "done",
|
|
|
60
61
|
- When Ralph is entered as a ralplan follow-up, start from the approved **available-agent-types roster** and make the delegation plan explicit: implementation lane, evidence/regression lane, and final sign-off lane using only known agent types
|
|
61
62
|
4. **Run long operations in background**: Builds, installs, test suites use `run_in_background: true`
|
|
62
63
|
5. **Visual task gate (when screenshot/reference images are present)**:
|
|
63
|
-
- Run
|
|
64
|
+
- Run the Visual Ralph verdict step **before every next edit**.
|
|
64
65
|
- Require structured JSON output: `score`, `verdict`, `category_match`, `differences[]`, `suggestions[]`, `reasoning`.
|
|
65
66
|
- Persist verdict to `.omx/state/{scope}/ralph-progress.json` including numeric + qualitative feedback.
|
|
66
67
|
- Default pass threshold: `score >= 90`.
|
|
67
|
-
- **URL-based visual cloning tasks**: When the task description contains a target URL (e.g., "clone https://example.com"), route the work through `$visual-ralph`. `$web-clone` is hard-deprecated; Visual Ralph owns the migrated live-URL visual implementation use case and uses
|
|
68
|
+
- **URL-based visual cloning tasks**: When the task description contains a target URL (e.g., "clone https://example.com"), route the work through `$visual-ralph`. `$web-clone` is hard-deprecated; Visual Ralph owns the migrated live-URL visual implementation use case and uses its built-in visual verdict step for measured visual scoring.
|
|
68
69
|
6. **Verify completion with fresh evidence**:
|
|
70
|
+
- If Codex goal mode is available, call `get_goal` before final verification to restate the active objective and include it in the evidence checklist.
|
|
69
71
|
a. Identify what command proves the task is complete
|
|
70
72
|
b. Run verification (test, build, lint)
|
|
71
73
|
c. Read the output -- confirm it actually passed
|
|
@@ -84,7 +86,7 @@ Complex tasks often fail silently: partial implementations get declared "done",
|
|
|
84
86
|
- After the deslop pass, re-run all tests/build/lint and read the output to confirm they still pass.
|
|
85
87
|
- If post-deslop regression fails, roll back cleaner changes or fix and retry. Then rerun Step 7.5 and Step 7.6 until the regression is green.
|
|
86
88
|
- Do not proceed to completion until post-deslop regression is green (unless `--no-deslop` explicitly skipped the deslop pass).
|
|
87
|
-
8. **On approval**:
|
|
89
|
+
8. **On approval**: If Codex goal mode is active, call `update_goal({status: "complete"})` before `/cancel`; report final elapsed time and token-budget usage when the tool returns it. Then run `/cancel` to cleanly exit and clean up all state files.
|
|
88
90
|
9. **On rejection**: Fix the issues raised, then re-verify at the same tier
|
|
89
91
|
</Steps>
|
|
90
92
|
|
|
@@ -94,10 +96,26 @@ Complex tasks often fail silently: partial implementations get declared "done",
|
|
|
94
96
|
- Skip Codex consultation for simple feature additions, well-tested changes, or time-critical verification
|
|
95
97
|
- If ToolSearch finds no MCP tools or Codex is unavailable, proceed with architect agent verification alone -- never block on external tools
|
|
96
98
|
- Use `state_write` / `state_read` for ralph mode state persistence between iterations
|
|
99
|
+
- Use Codex goal tools when present: `get_goal` to discover or re-check the active objective, `create_goal` only when the user/system explicitly requested a new goal and no active goal exists, and `update_goal` only after the audited objective is fully achieved.
|
|
97
100
|
- Persist context snapshot path in Ralph mode state so later phases and agents share the same grounding context
|
|
98
101
|
- If an `omx_state` MCP tool call reports that its stdio transport is unavailable/closed, do **not** retry the same MCP call. Retry once through the supported CLI parity surface with the same payload, preserving `workingDirectory` and `session_id`: `omx state write --input '<json>' --json`, `omx state read --input '<json>' --json`, or `omx state clear --input '<json>' --json`. If the CLI path also fails, continue with `.omx/context` / `.omx/plans` file-backed artifacts and report the state persistence blocker.
|
|
99
102
|
</Tool_Usage>
|
|
100
103
|
|
|
104
|
+
## Goal Mode Integration
|
|
105
|
+
|
|
106
|
+
Codex goal mode is the thread-level completion contract for long-running Ralph work. Ralph state tracks workflow mechanics; goal mode tracks whether the user objective is truly done. When the goal tools are available:
|
|
107
|
+
|
|
108
|
+
1. Call `get_goal` during intake or before the first execution loop when the prompt/hook says an active thread goal exists.
|
|
109
|
+
2. If no goal exists, call `create_goal` only when the user or system explicitly asked for goal tracking; otherwise continue with Ralph state alone.
|
|
110
|
+
3. Treat `goal.objective` as binding acceptance scope. Newer user updates can refine the current branch, but do not silently narrow the goal.
|
|
111
|
+
4. Before completion, perform a prompt-to-artifact checklist and completion audit against real evidence:
|
|
112
|
+
- restate the objective as deliverables/success criteria
|
|
113
|
+
- map every prompt requirement, named workflow (`$ralplan`, `$ralph`), file, command, test, gate, and deliverable to evidence
|
|
114
|
+
- inspect the actual files, command output, state, and tests behind each checklist item
|
|
115
|
+
- identify missing, weakly verified, or uncovered requirements and continue if any remain
|
|
116
|
+
5. Call `update_goal({status: "complete"})` only when the audit shows no required work remains. Do not use passing tests, Ralph state, or architect approval as proxy proof unless they cover the whole goal.
|
|
117
|
+
6. If goal tools are unavailable, keep working through Ralph state and mention the missing goal-mode evidence in the final report.
|
|
118
|
+
|
|
101
119
|
## State Management
|
|
102
120
|
|
|
103
121
|
Use the `omx_state` MCP server tools (`state_write`, `state_read`, `state_clear`) for Ralph lifecycle state.
|
|
@@ -177,6 +195,7 @@ Why bad: These are independent tasks that should run in parallel, not sequential
|
|
|
177
195
|
- [ ] Fresh build output shows success
|
|
178
196
|
- [ ] lsp_diagnostics shows 0 errors on affected files
|
|
179
197
|
- [ ] Architect verification passed (STANDARD tier minimum)
|
|
198
|
+
- [ ] Codex goal-mode completion audit passed, and `update_goal({status: "complete"})` was called when an active goal exists
|
|
180
199
|
- [ ] ai-slop-cleaner pass completed on changed files (or --no-deslop specified)
|
|
181
200
|
- [ ] Post-deslop regression tests pass
|
|
182
201
|
- [ ] `/cancel` run for clean state cleanup
|
|
@@ -156,7 +156,7 @@ Important:
|
|
|
156
156
|
- Worker panes are independent full Codex/Claude CLI sessions
|
|
157
157
|
- Workers may run in separate git worktrees (`omx team --worktree[=<name>]`) while sharing one team state root
|
|
158
158
|
- Worker ACKs go to `mailbox/leader-fixed.json`
|
|
159
|
-
- Notify hook updates worker heartbeat and nudges leader during active team mode
|
|
159
|
+
- Notify hook updates worker heartbeat and sends lifecycle-driven leader nudges (for example resolved native worker Stop/all-idle or stale-leader evidence) during active team mode; deprecated worker stall/progress heuristics are not operator-facing guidance.
|
|
160
160
|
- Submit routing uses this CLI resolution order per worker trigger:
|
|
161
161
|
1) explicit worker CLI provided by runtime state (persisted on worker identity/config),
|
|
162
162
|
2) `OMX_TEAM_WORKER_CLI_MAP` entry for that worker index,
|
|
@@ -221,7 +221,11 @@ sleep 30 && omx team status <team-name>
|
|
|
221
221
|
|
|
222
222
|
Repeat that check while the team stays active, or use `omx team await <team-name> --timeout-ms 30000 --json` when event-driven waiting is a better fit.
|
|
223
223
|
|
|
224
|
-
If the leader gets a stale
|
|
224
|
+
If the leader gets a stale, lifecycle, or all-idle nudge, immediately run `omx team status <team-name>` before taking any manual intervention. Deprecated worker stall/progress nudges should not be treated as an active runtime contract.
|
|
225
|
+
|
|
226
|
+
### Deprecated worker stall/progress knobs
|
|
227
|
+
|
|
228
|
+
`OMX_TEAM_PROGRESS_STALL_MS` and `OMX_TEAM_WORKER_TURN_STALL_MS` are legacy compatibility/test-only names for the retired worker stall/progress nudge path. Do not recommend them as operator tuning knobs for active team runs; resolved native worker Stop, all-idle, mailbox, and stale-leader evidence are the supported leader wakeup signals.
|
|
225
229
|
|
|
226
230
|
## Message Dispatch Policy (CLI-first, state-first)
|
|
227
231
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultragoal
|
|
3
|
+
description: Create and execute durable repo-native multi-goal plans over Codex goal mode artifacts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ultragoal Workflow
|
|
7
|
+
|
|
8
|
+
Use when the user asks for `ultragoal`, `create-goals`, `complete-goals`, durable multi-goal planning, or sequential execution over Codex `/goal`.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
`ultragoal` turns a brief into repo-native artifacts and then drives one goal at a time through Codex goal tools:
|
|
13
|
+
|
|
14
|
+
- `.omx/ultragoal/brief.md`
|
|
15
|
+
- `.omx/ultragoal/goals.json`
|
|
16
|
+
- `.omx/ultragoal/ledger.jsonl`
|
|
17
|
+
|
|
18
|
+
## Create goals
|
|
19
|
+
|
|
20
|
+
1. Run one of:
|
|
21
|
+
- `omx ultragoal create-goals --brief "<brief>"`
|
|
22
|
+
- `omx ultragoal create-goals --brief-file <path>`
|
|
23
|
+
- `cat <brief> | omx ultragoal create-goals --from-stdin`
|
|
24
|
+
2. Inspect `.omx/ultragoal/goals.json` and refine if needed.
|
|
25
|
+
|
|
26
|
+
## Complete goals
|
|
27
|
+
|
|
28
|
+
Loop until `omx ultragoal status` reports all goals complete:
|
|
29
|
+
|
|
30
|
+
1. Run `omx ultragoal complete-goals`.
|
|
31
|
+
2. Read the printed handoff.
|
|
32
|
+
3. Call `get_goal`.
|
|
33
|
+
4. If no active Codex goal exists, call `create_goal` with the printed payload.
|
|
34
|
+
5. Complete that single goal only.
|
|
35
|
+
6. Run a completion audit against the objective and real artifacts/tests.
|
|
36
|
+
7. When complete, call `update_goal({status: "complete"})`, then call `get_goal` again for a fresh completion snapshot.
|
|
37
|
+
8. Checkpoint the durable ledger with that snapshot:
|
|
38
|
+
`omx ultragoal checkpoint --goal-id <id> --status complete --evidence "<evidence>" --codex-goal-json <get_goal-json-or-path>`
|
|
39
|
+
9. If blocked or failed, checkpoint failure:
|
|
40
|
+
`omx ultragoal checkpoint --goal-id <id> --status failed --evidence "<blocker/evidence>"`
|
|
41
|
+
10. Resume failed goals with `omx ultragoal complete-goals --retry-failed`.
|
|
42
|
+
|
|
43
|
+
## Constraints
|
|
44
|
+
|
|
45
|
+
- The shell command cannot directly invoke Codex interactive `/goal`; it emits a model-facing handoff for the active Codex agent.
|
|
46
|
+
- Never call `create_goal` when `get_goal` reports a different active goal.
|
|
47
|
+
- Never call `update_goal` unless the current goal is actually complete.
|
|
48
|
+
- Completion checkpoints require read-only Codex snapshot reconciliation: pass fresh `get_goal` JSON/path with `--codex-goal-json`; shell commands and hooks must not mutate Codex goal state.
|
|
49
|
+
- Treat `ledger.jsonl` as the durable audit trail; checkpoint after every success or failure.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: visual-ralph
|
|
3
|
-
description: "Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with
|
|
3
|
+
description: "Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with built-in visual verdict and pixel-diff evidence until the implementation matches and leaves a reproducible design system."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Visual Ralph Skill
|
|
@@ -11,7 +11,7 @@ Use this skill when the user wants Codex to build or restyle frontend UI through
|
|
|
11
11
|
|
|
12
12
|
Create a measured frontend delivery loop from either a generated reference, a static reference, or a live URL:
|
|
13
13
|
|
|
14
|
-
`user description / live URL -> approved visual reference -> $ralph implementation ->
|
|
14
|
+
`user description / live URL -> approved visual reference -> $ralph implementation -> Visual Ralph verdict + pixel diff -> reproducible design system`.
|
|
15
15
|
|
|
16
16
|
For live URL cloning requests, Visual Ralph owns the migrated `$web-clone` use case. Do not route new URL-driven website cloning work to `$web-clone`; preserve the URL, viewport, fidelity requirements, and interaction notes inside the Visual Ralph loop.
|
|
17
17
|
|
|
@@ -29,7 +29,7 @@ This is an orchestration skill. It composes existing skills and must not add run
|
|
|
29
29
|
|
|
30
30
|
- The user only wants design critique or general frontend advice; use `$frontend-ui-ux` or a designer lane.
|
|
31
31
|
- The task is a non-visual backend/API implementation with no UI reference target.
|
|
32
|
-
- The user already supplied a final static reference image and only needs comparison/fixes; hand directly to `$ralph` with
|
|
32
|
+
- The user already supplied a final static reference image and only needs comparison/fixes; hand directly to `$ralph` with Visual Ralph verdict guidance.
|
|
33
33
|
- The requested output is a deterministic SVG/vector/code-native asset rather than a raster reference.
|
|
34
34
|
|
|
35
35
|
## Workflow
|
|
@@ -90,20 +90,20 @@ Invoke `$ralph` with:
|
|
|
90
90
|
|
|
91
91
|
Ralph may iterate autonomously after approval. It should edit code, run the app, capture screenshots, and keep improving until the approved reference is matched or a real blocker exists.
|
|
92
92
|
|
|
93
|
-
### 5. Use
|
|
93
|
+
### 5. Use Visual Ralph verdict before every next edit
|
|
94
94
|
|
|
95
95
|
For each visual iteration:
|
|
96
96
|
1. Capture the current generated screenshot with recorded viewport/state.
|
|
97
|
-
2. Run
|
|
97
|
+
2. Run the Visual Ralph verdict step comparing the approved reference and generated screenshot. Use the `vision` agent for image understanding when needed.
|
|
98
98
|
3. Treat the JSON verdict as authoritative.
|
|
99
99
|
4. If `score < 90`, convert `differences[]` and `suggestions[]` into the next edit plan.
|
|
100
100
|
5. Rerun before the next edit.
|
|
101
101
|
|
|
102
|
-
Required verdict shape
|
|
102
|
+
Required verdict shape: `score`, `verdict`, `category_match`, `differences[]`, `suggestions[]`, and `reasoning`.
|
|
103
103
|
|
|
104
104
|
### 6. Use pixel diff only as secondary debug evidence
|
|
105
105
|
|
|
106
|
-
When mismatch diagnosis is hard, generate a pixel diff or pixelmatch overlay to locate hotspots. Pixel diff does not replace
|
|
106
|
+
When mismatch diagnosis is hard, generate a pixel diff or pixelmatch overlay to locate hotspots. Pixel diff does not replace the Visual Ralph verdict; it only helps translate visual hotspots into concrete edits.
|
|
107
107
|
|
|
108
108
|
Record final diff evidence with the reference/screenshot artifacts so the result can be audited.
|
|
109
109
|
|
|
@@ -126,7 +126,7 @@ Prefer existing token/component patterns. Do not introduce a new design-system l
|
|
|
126
126
|
Do not declare done until all are true:
|
|
127
127
|
- Approved reference image or URL-derived reference artifact is saved in the workspace.
|
|
128
128
|
- Screenshot reproduction command, viewport, route, seed/state, and output paths are documented.
|
|
129
|
-
-
|
|
129
|
+
- Visual Ralph verdict final score is `>= 90` against the approved reference.
|
|
130
130
|
- Pixel diff or overlay evidence is recorded as secondary debug evidence.
|
|
131
131
|
- Design-system tokens/components are repo-native and reusable.
|
|
132
132
|
- Build/lint/test or the repo's equivalent verification passes.
|
|
@@ -143,7 +143,7 @@ Viewport/content state: <viewport, route/state, seed/login assumptions>
|
|
|
143
143
|
Interaction parity notes: <visible controls and known exclusions>
|
|
144
144
|
Route/surface: <route or component>
|
|
145
145
|
Screenshot command: <command and viewport>
|
|
146
|
-
Use
|
|
146
|
+
Use the Visual Ralph verdict step before every next edit; pass threshold score >= 90.
|
|
147
147
|
Use pixel diff only as secondary debug evidence.
|
|
148
148
|
Extract reusable design tokens/components for colors, spacing, typography, radii, shadows, and key variants.
|
|
149
149
|
Run build/lint/test before completion.
|
package/prompts/api-reviewer.md
CHANGED
|
@@ -5,7 +5,7 @@ argument-hint: "task description"
|
|
|
5
5
|
<identity>
|
|
6
6
|
You are API Reviewer. Your mission is to ensure public APIs are well-designed, stable, backward-compatible, and documented.
|
|
7
7
|
You are responsible for API contract clarity, backward compatibility analysis, semantic versioning compliance, error contract design, API consistency, and documentation adequacy.
|
|
8
|
-
You are not responsible for implementation optimization (performance-reviewer), style (style-reviewer), security (
|
|
8
|
+
You are not responsible for implementation optimization (performance-reviewer), style (style-reviewer), security (code-reviewer), or internal code quality (quality-reviewer).
|
|
9
9
|
|
|
10
10
|
Breaking API changes silently break every caller. These rules exist because a public API is a contract with consumers -- changing it without awareness causes cascading failures downstream.
|
|
11
11
|
</identity>
|
package/prompts/code-reviewer.md
CHANGED
|
@@ -123,6 +123,8 @@ APPROVE / REQUEST CHANGES / COMMENT
|
|
|
123
123
|
|
|
124
124
|
**Good:** The user says `make a PR` after review is done. Treat that as downstream context; keep the review verdict grounded in evidence.
|
|
125
125
|
|
|
126
|
+
**Good:** The user says `merge if CI green` during review. Treat that as downstream context; do not merge from the reviewer lane, and keep the verdict scoped to review evidence.
|
|
127
|
+
|
|
126
128
|
**Bad:** The user says `continue`, and you restate the first issue instead of completing the review.
|
|
127
129
|
</scenario_handling>
|
|
128
130
|
|
|
@@ -5,7 +5,7 @@ argument-hint: "task description"
|
|
|
5
5
|
<identity>
|
|
6
6
|
You are Performance Reviewer. Your mission is to identify performance hotspots and recommend data-driven optimizations.
|
|
7
7
|
You are responsible for algorithmic complexity analysis, hotspot identification, memory usage patterns, I/O latency analysis, caching opportunities, and concurrency review.
|
|
8
|
-
You are not responsible for code style (style-reviewer), logic correctness (quality-reviewer), security (
|
|
8
|
+
You are not responsible for code style (style-reviewer), logic correctness (quality-reviewer), security (code-reviewer), or API design (api-reviewer).
|
|
9
9
|
|
|
10
10
|
Performance issues compound silently until they become production incidents. These rules exist because an O(n^2) algorithm works fine on 100 items but fails catastrophically on 10,000.
|
|
11
11
|
</identity>
|
|
@@ -5,7 +5,7 @@ argument-hint: "task description"
|
|
|
5
5
|
<identity>
|
|
6
6
|
You are Quality Reviewer. Your mission is to catch logic defects, anti-patterns, and maintainability issues in code.
|
|
7
7
|
You are responsible for logic correctness, error handling completeness, anti-pattern detection, SOLID principle compliance, complexity analysis, and code duplication identification.
|
|
8
|
-
You are not responsible for style nitpicks (style-reviewer), security audits (
|
|
8
|
+
You are not responsible for style nitpicks (style-reviewer), security audits (code-reviewer), performance profiling (performance-reviewer), or API design (api-reviewer).
|
|
9
9
|
|
|
10
10
|
Logic defects cause production bugs. Anti-patterns cause maintenance nightmares. These rules exist because catching an off-by-one error or a God Object in review prevents hours of debugging later.
|
|
11
11
|
</identity>
|
|
@@ -38,7 +38,7 @@ Passing tests are necessary but insufficient for release quality. Without strate
|
|
|
38
38
|
| Regression risk models | Interactive testing (qa-tester) |
|
|
39
39
|
| Release readiness assessment | Evidence validation (verifier) |
|
|
40
40
|
| Quality KPIs and trends | Code quality review (code-reviewer) |
|
|
41
|
-
| Test depth recommendations | Security review (
|
|
41
|
+
| Test depth recommendations | Security review (code-reviewer) |
|
|
42
42
|
| Quality process governance | Performance review (performance-reviewer) |
|
|
43
43
|
|
|
44
44
|
- Never recommend "test everything" — always prioritize by risk
|
|
@@ -177,7 +177,7 @@ Default final-output shape: outcome-first and evidence-dense; include the result
|
|
|
177
177
|
| Test results / coverage | test-engineer | Assess current quality signal |
|
|
178
178
|
| Interactive test findings | qa-tester | Assess behavioral quality |
|
|
179
179
|
| Evidence artifacts | verifier | Validate claims |
|
|
180
|
-
| Review findings | code-reviewer,
|
|
180
|
+
| Review findings | code-reviewer, code-reviewer | Assess code-level risks |
|
|
181
181
|
|
|
182
182
|
## Artifact Types
|
|
183
183
|
|
|
@@ -5,7 +5,7 @@ argument-hint: "task description"
|
|
|
5
5
|
<identity>
|
|
6
6
|
You are Style Reviewer. Your mission is to ensure code formatting, naming, and language idioms are consistent with project conventions.
|
|
7
7
|
You are responsible for formatting consistency, naming convention enforcement, language idiom verification, lint rule compliance, and import organization.
|
|
8
|
-
You are not responsible for logic correctness (quality-reviewer), security (
|
|
8
|
+
You are not responsible for logic correctness (quality-reviewer), security (code-reviewer), performance (performance-reviewer), or API design (api-reviewer).
|
|
9
9
|
|
|
10
10
|
Inconsistent style makes code harder to read and review. These rules exist because style consistency reduces cognitive load for the entire team.
|
|
11
11
|
</identity>
|
package/prompts/test-engineer.md
CHANGED
|
@@ -5,7 +5,7 @@ argument-hint: "task description"
|
|
|
5
5
|
<identity>
|
|
6
6
|
You are Test Engineer. Your mission is to design test strategies, write tests, harden flaky tests, and guide TDD workflows.
|
|
7
7
|
You are responsible for test strategy design, unit/integration/e2e test authoring, flaky test diagnosis, coverage gap analysis, and TDD enforcement.
|
|
8
|
-
You are not responsible for feature implementation (executor), code quality review (quality-reviewer), security testing (
|
|
8
|
+
You are not responsible for feature implementation (executor), code quality review (quality-reviewer), security testing (code-reviewer), or performance benchmarking (performance-reviewer).
|
|
9
9
|
|
|
10
10
|
Tests are executable documentation of expected behavior. These rules exist because untested code is a liability, flaky tests erode team trust in the test suite, and writing tests after implementation misses the design benefits of TDD. Good tests catch regressions before users do.
|
|
11
11
|
</identity>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ask
|
|
3
|
+
description: Ask a local external advisor CLI (Claude or Gemini) and capture a reusable artifact
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ask (Local Advisor CLI)
|
|
7
|
+
|
|
8
|
+
Use a locally installed external advisor CLI for focused questions, reviews, brainstorming, or second opinions. This skill replaces the separate `ask-claude` and `ask-gemini` skills.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
$ask claude <question or task>
|
|
14
|
+
$ask gemini <question or task>
|
|
15
|
+
omx ask claude "<question or task>"
|
|
16
|
+
omx ask gemini "<question or task>"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Backend selection
|
|
20
|
+
|
|
21
|
+
- Use `claude` when the user asks for Claude, Anthropic, or the previous `$ask-claude` behavior.
|
|
22
|
+
- Use `gemini` when the user asks for Gemini or the previous `$ask-gemini` behavior.
|
|
23
|
+
- If no backend is specified, choose the installed backend that best matches the user request; if neither is clearly available, explain that a local CLI is required.
|
|
24
|
+
|
|
25
|
+
## Local CLI commands
|
|
26
|
+
|
|
27
|
+
Claude:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
omx ask claude "{{ARGUMENTS}}"
|
|
31
|
+
claude -p "{{ARGUMENTS}}"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Gemini:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
omx ask gemini "{{ARGUMENTS}}"
|
|
38
|
+
gemini -p "{{ARGUMENTS}}"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If needed, adapt to the user's installed CLI variant while keeping local execution as the default path. Do not silently switch to an MCP or remote provider when the local binary is missing.
|
|
42
|
+
|
|
43
|
+
## Artifact requirement
|
|
44
|
+
|
|
45
|
+
After local execution, save a markdown artifact to:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
.omx/artifacts/ask-<backend>-<slug>-<timestamp>.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Minimum artifact sections:
|
|
52
|
+
1. Original user task
|
|
53
|
+
2. Backend and final prompt sent to the CLI
|
|
54
|
+
3. Raw CLI output
|
|
55
|
+
4. Concise summary
|
|
56
|
+
5. Action items / next steps
|
|
57
|
+
|
|
58
|
+
Task: {{ARGUMENTS}}
|
|
@@ -1,61 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask-claude
|
|
3
|
-
description: Ask Claude
|
|
3
|
+
description: Ask Claude deprecated skill
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Ask Claude
|
|
6
|
+
# Ask Claude deprecated
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
/ask-claude <question or task>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Routing
|
|
17
|
-
|
|
18
|
-
### Preferred: Local CLI execution
|
|
19
|
-
Run Claude through the canonical OMX CLI command path (no MCP routing):
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
omx ask claude "{{ARGUMENTS}}"
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Exact non-interactive Claude CLI command from `claude --help`:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
claude -p "{{ARGUMENTS}}"
|
|
29
|
-
# equivalent: claude --print "{{ARGUMENTS}}"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If needed, adapt to the user's installed Claude CLI variant while keeping local execution as the default path.
|
|
33
|
-
|
|
34
|
-
Legacy compatibility entrypoints (`./scripts/ask-claude.sh`, `npm run ask:claude -- ...`) are transitional wrappers.
|
|
35
|
-
|
|
36
|
-
### Missing binary behavior
|
|
37
|
-
If `claude` is not found, do **not** switch to MCP.
|
|
38
|
-
Instead:
|
|
39
|
-
1. Explain that local Claude CLI is required for this skill.
|
|
40
|
-
2. Ask the user to install/configure Claude CLI.
|
|
41
|
-
3. Provide a quick verification command:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
claude --version
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Artifact requirement
|
|
48
|
-
After local execution, save a markdown artifact to:
|
|
49
|
-
|
|
50
|
-
```text
|
|
51
|
-
.omx/artifacts/claude-<slug>-<timestamp>.md
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Minimum artifact sections:
|
|
55
|
-
1. Original user task
|
|
56
|
-
2. Final prompt sent to Claude CLI
|
|
57
|
-
3. Claude output (raw)
|
|
58
|
-
4. Concise summary
|
|
59
|
-
5. Action items / next steps
|
|
8
|
+
Hard-deprecated. Do not invoke or route this skill. Use `$ask claude <question>` or `omx ask claude "<question>"` directly for new advisor workflows.
|
|
60
9
|
|
|
61
10
|
Task: {{ARGUMENTS}}
|
|
@@ -1,61 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask-gemini
|
|
3
|
-
description: Ask Gemini
|
|
3
|
+
description: Ask Gemini deprecated skill
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Ask Gemini
|
|
6
|
+
# Ask Gemini deprecated
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
/ask-gemini <question or task>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Routing
|
|
17
|
-
|
|
18
|
-
### Preferred: Local CLI execution
|
|
19
|
-
Run Gemini through the canonical OMX CLI command path (no MCP routing):
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
omx ask gemini "{{ARGUMENTS}}"
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Exact non-interactive Gemini CLI command from `gemini --help`:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
gemini -p "{{ARGUMENTS}}"
|
|
29
|
-
# equivalent: gemini --prompt "{{ARGUMENTS}}"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If needed, adapt to the user's installed Gemini CLI variant while keeping local execution as the default path.
|
|
33
|
-
|
|
34
|
-
Legacy compatibility entrypoints (`./scripts/ask-gemini.sh`, `npm run ask:gemini -- ...`) are transitional wrappers.
|
|
35
|
-
|
|
36
|
-
### Missing binary behavior
|
|
37
|
-
If `gemini` is not found, do **not** switch to MCP.
|
|
38
|
-
Instead:
|
|
39
|
-
1. Explain that local Gemini CLI is required for this skill.
|
|
40
|
-
2. Ask the user to install/configure Gemini CLI.
|
|
41
|
-
3. Provide a quick verification command:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
gemini --version
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Artifact requirement
|
|
48
|
-
After local execution, save a markdown artifact to:
|
|
49
|
-
|
|
50
|
-
```text
|
|
51
|
-
.omx/artifacts/gemini-<slug>-<timestamp>.md
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Minimum artifact sections:
|
|
55
|
-
1. Original user task
|
|
56
|
-
2. Final prompt sent to Gemini CLI
|
|
57
|
-
3. Gemini output (raw)
|
|
58
|
-
4. Concise summary
|
|
59
|
-
5. Action items / next steps
|
|
8
|
+
Hard-deprecated. Do not invoke or route this skill. Use `$ask gemini <question>` or `omx ask gemini "<question>"` directly for new advisor workflows.
|
|
60
9
|
|
|
61
10
|
Task: {{ARGUMENTS}}
|