oh-my-codex 0.15.2 → 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/agents/__tests__/native-config.test.js +33 -0
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- 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 +29 -2
- 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-context-window-warning.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js +122 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +25 -2
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +1 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +48 -18
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +222 -10
- 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__/mcp-serve.test.js +27 -1
- package/dist/cli/__tests__/mcp-serve.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__/ralph.test.js +59 -1
- package/dist/cli/__tests__/ralph.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 +20 -10
- 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 +242 -10
- 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 +95 -3
- 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 +21 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +268 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-serve.d.ts +1 -0
- package/dist/cli/mcp-serve.d.ts.map +1 -1
- package/dist/cli/mcp-serve.js +8 -0
- package/dist/cli/mcp-serve.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 +2 -0
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +25 -1
- 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 +6 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +113 -33
- 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 +39 -6
- 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 +14 -4
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +166 -66
- 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__/agents-overlay.test.js +59 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +109 -18
- 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 +23 -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__/index.test.js +30 -14
- package/dist/hud/__tests__/index.test.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 +63 -2
- 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 +423 -14
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/team-exec.d.ts +8 -4
- package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
- package/dist/pipeline/stages/team-exec.js +181 -13
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +261 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifact-names.d.ts +13 -0
- package/dist/planning/artifact-names.d.ts.map +1 -0
- package/dist/planning/artifact-names.js +108 -0
- package/dist/planning/artifact-names.js.map +1 -0
- package/dist/planning/artifacts.d.ts +23 -1
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +171 -59
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/ralph/__tests__/persistence.test.js +21 -1
- package/dist/ralph/__tests__/persistence.test.js.map +1 -1
- package/dist/ralph/persistence.d.ts.map +1 -1
- package/dist/ralph/persistence.js +6 -4
- package/dist/ralph/persistence.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 +1749 -88
- 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 +570 -45
- 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 +341 -15
- 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-posttooluse.js +1 -1
- package/dist/scripts/notify-hook/team-worker-posttooluse.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/notify-hook.js +1 -1
- package/dist/scripts/notify-hook.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.d.ts +1 -0
- package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js +10 -4
- 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 +76 -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 +279 -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__/model-contract.test.js +40 -9
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/repo-aware-decomposition.test.js +41 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -1
- 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-cli.test.js +24 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +563 -72
- 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__/state.test.js +13 -0
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-identity.test.d.ts +2 -0
- package/dist/team/__tests__/team-identity.test.d.ts.map +1 -0
- package/dist/team/__tests__/team-identity.test.js +166 -0
- package/dist/team/__tests__/team-identity.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.test.js +58 -1
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +62 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts +1 -0
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +163 -132
- 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 +1 -1
- 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/repo-aware-decomposition.d.ts +3 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js +2 -0
- package/dist/team/repo-aware-decomposition.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-cli.d.ts +32 -2
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +78 -26
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +7 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +383 -40
- 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/state.d.ts +9 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +21 -0
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-identity.d.ts +26 -0
- package/dist/team/team-identity.d.ts.map +1 -0
- package/dist/team/team-identity.js +169 -0
- package/dist/team/team-identity.js.map +1 -0
- package/dist/team/tmux-session.d.ts +18 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +65 -3
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +4 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +28 -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/ai-slop-cleaner/SKILL.md +30 -5
- 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/ai-slop-cleaner/SKILL.md +30 -5
- 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 +2923 -1030
- 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 +696 -46
- package/src/scripts/codex-native-pre-post.ts +369 -16
- 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-posttooluse.ts +1 -1
- package/src/scripts/notify-hook/team-worker-stop.ts +246 -0
- package/src/scripts/notify-hook/team-worker.ts +23 -14
- package/src/scripts/notify-hook.ts +1 -1
- package/src/scripts/run-test-files.ts +20 -1
- package/src/scripts/sync-plugin-mirror.ts +13 -4
- 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
|
@@ -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>
|
|
@@ -12,7 +12,7 @@ Reduce AI-generated slop with a regression-tests-first, smell-by-smell cleanup w
|
|
|
12
12
|
Use this skill when:
|
|
13
13
|
- A code path works but feels bloated, noisy, repetitive, or over-abstracted
|
|
14
14
|
- A user asks to “cleanup”, “refactor”, or “deslop” AI-generated output
|
|
15
|
-
- Follow-up implementation left duplicate code, dead code, weak boundaries, missing tests, or unnecessary wrapper layers
|
|
15
|
+
- Follow-up implementation left duplicate code, dead code, weak boundaries, missing tests, fallback-like code, or unnecessary wrapper layers
|
|
16
16
|
- You need a disciplined cleanup workflow without broad rewrites
|
|
17
17
|
|
|
18
18
|
## GPT-5.5 Guidance Alignment
|
|
@@ -34,22 +34,35 @@ Use this skill when:
|
|
|
34
34
|
- Identify the behavior that must not change
|
|
35
35
|
- Add or run targeted regression tests before editing cleanup candidates
|
|
36
36
|
- If behavior is currently untested, create the narrowest test coverage needed first
|
|
37
|
+
- For fallback-like code, cover the primary path and any preserved compatibility/fail-safe fallback before cleanup
|
|
37
38
|
|
|
38
39
|
2. **Create a cleanup plan before code**
|
|
39
40
|
- List the specific smells to remove
|
|
40
41
|
- Bound the pass to the requested files/scope
|
|
41
42
|
- If a file list scope is provided, keep the pass restricted to that changed-files list
|
|
43
|
+
- Include fallback findings, classifications, and escalation status in the plan
|
|
42
44
|
- Order fixes from safest/highest-signal to riskiest
|
|
43
45
|
- Do not start coding until the cleanup plan is explicit
|
|
44
46
|
|
|
45
|
-
3. **
|
|
47
|
+
3. **Inventory fallback-like code before editing**
|
|
48
|
+
- Search the requested scope for fallback-like detection signals: quick hacks, temporary workaround, temporary fallback, just bypass, just skip, fallback if it fails, swallowed errors, silent defaults, broad compatibility shims, and duplicate alternate execution paths
|
|
49
|
+
- Classify each finding before changing it:
|
|
50
|
+
- **Masking fallback slop** — hides errors or evidence, bypasses the primary contract, suppresses tests or validation, swallows failures, silently defaults, or adds untested alternate paths
|
|
51
|
+
- **Grounded compatibility/fail-safe fallback** — is scoped to an external/version/fail-safe boundary, documents the rationale, preserves failure evidence, and has regression tests for both the primary and fallback behavior
|
|
52
|
+
- Prefer root-cause repair, deletion, boundary repair, or explicit failure behavior before preserving fallback paths
|
|
53
|
+
- For broad, ambiguous, cross-layer, or architectural fallback-like code, invoke `$ralplan` for consensus resolution before edits
|
|
54
|
+
- Recursion guard: when already inside ralplan, ralph, team, or another OMX workflow, do not spawn a nested `$ralplan`; record the finding and attach it to the active ralplan, leader, or plan handoff instead
|
|
55
|
+
|
|
56
|
+
4. **Categorize issues before editing**
|
|
57
|
+
- **Fallback-like code** — masking fallbacks, workaround branches, bypasses, swallowed errors, silent defaults, broad shims, alternate execution paths
|
|
46
58
|
- **Duplication** — repeated logic, copy-paste branches, redundant helpers
|
|
47
59
|
- **Dead code** — unused code, unreachable branches, stale flags, debug leftovers
|
|
48
60
|
- **Needless abstraction** — pass-through wrappers, speculative indirection, single-use helper layers
|
|
49
61
|
- **Boundary violations** — hidden coupling, leaky responsibilities, wrong-layer imports or side effects
|
|
50
62
|
- **Missing tests** — behavior not locked, weak regression coverage, gaps around edge cases
|
|
51
63
|
|
|
52
|
-
|
|
64
|
+
5. **Execute passes one smell at a time**
|
|
65
|
+
- **Fallback-like code resolution gate** — remove masking fallback slop, repair root causes, or escalate ambiguous cases before continuing
|
|
53
66
|
- **Pass 1: Dead code deletion**
|
|
54
67
|
- **Pass 2: Duplicate removal**
|
|
55
68
|
- **Pass 3: Naming/error handling cleanup**
|
|
@@ -57,7 +70,7 @@ Use this skill when:
|
|
|
57
70
|
- Re-run targeted verification after each pass
|
|
58
71
|
- Avoid bundling unrelated refactors into the same edit set
|
|
59
72
|
|
|
60
|
-
|
|
73
|
+
6. **Run quality gates**
|
|
61
74
|
- Regression tests stay green
|
|
62
75
|
- Lint passes
|
|
63
76
|
- Typecheck passes
|
|
@@ -66,9 +79,10 @@ Use this skill when:
|
|
|
66
79
|
- Diff stays minimal and scoped
|
|
67
80
|
- No new abstractions or dependencies unless explicitly required
|
|
68
81
|
|
|
69
|
-
|
|
82
|
+
7. **Finish with an evidence-dense report**
|
|
70
83
|
- Changed files
|
|
71
84
|
- Simplifications made
|
|
85
|
+
- Fallback findings, classifications, and escalation status
|
|
72
86
|
- Tests/diagnostics/build checks run
|
|
73
87
|
- Remaining risks
|
|
74
88
|
- Residual follow-ups or consciously deferred cleanup
|
|
@@ -82,8 +96,10 @@ AI SLOP CLEANUP REPORT
|
|
|
82
96
|
Scope: [files or feature area]
|
|
83
97
|
Behavior Lock: [targeted regression tests added/run]
|
|
84
98
|
Cleanup Plan: [bounded smells and order]
|
|
99
|
+
Fallback Findings: [none, or finding -> masking fallback slop / grounded compatibility/fail-safe fallback -> escalation status]
|
|
85
100
|
|
|
86
101
|
Passes Completed:
|
|
102
|
+
- Fallback-like code resolution gate - [root-cause repair, explicit failure behavior, preserved grounded fallback, or ralplan handoff]
|
|
87
103
|
1. Pass 1: Dead code deletion - [concise fix]
|
|
88
104
|
2. Pass 2: Duplicate removal - [concise fix]
|
|
89
105
|
3. Pass 3: Naming/error handling cleanup - [concise fix]
|
|
@@ -99,6 +115,11 @@ Quality Gates:
|
|
|
99
115
|
Changed Files:
|
|
100
116
|
- [path] - [simplification]
|
|
101
117
|
|
|
118
|
+
Fallback Review:
|
|
119
|
+
- Findings: [fallback-like findings detected]
|
|
120
|
+
- Classification: [masking fallback slop | grounded fallback]
|
|
121
|
+
- Escalation Status: [none | raised to leader/ralplan | no escalation]
|
|
122
|
+
|
|
102
123
|
Remaining Risks:
|
|
103
124
|
- [none or short deferred item]
|
|
104
125
|
```
|
|
@@ -112,3 +133,7 @@ Remaining Risks:
|
|
|
112
133
|
**Bad:** Start rewriting architecture before protecting behavior with tests.
|
|
113
134
|
|
|
114
135
|
**Bad:** Collapse multiple smell categories into one large refactor with no intermediate verification.
|
|
136
|
+
|
|
137
|
+
**Bad:** Keep a `fallback if it fails` branch that silently defaults after a swallowed error instead of fixing the root cause or making failure explicit.
|
|
138
|
+
|
|
139
|
+
**Good:** A version-specific compatibility shim is narrow, documented, preserves error evidence, has primary and fallback regression tests, and is reported as a grounded compatibility/fail-safe fallback.
|
|
@@ -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}}
|
|
@@ -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.
|