oh-my-codex 0.16.3 → 0.17.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 +5 -5
- package/Cargo.toml +1 -1
- package/README.md +3 -3
- package/dist/catalog/__tests__/generator.test.js +2 -0
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +9 -0
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
- package/dist/cli/__tests__/cleanup.test.js +27 -0
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +7 -5
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +175 -7
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +147 -12
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-serve.test.js +4 -0
- package/dist/cli/__tests__/mcp-serve.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +2 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +47 -0
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +10 -5
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +299 -27
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +85 -3
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +1 -1
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +2 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +108 -0
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +91 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +54 -8
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +8 -4
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +9 -0
- package/dist/cli/codex-feature-probe.d.ts.map +1 -0
- package/dist/cli/codex-feature-probe.js +28 -0
- package/dist/cli/codex-feature-probe.js.map +1 -0
- package/dist/cli/doctor.d.ts +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +214 -23
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +17 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +152 -24
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-parity.js +8 -8
- package/dist/cli/mcp-parity.js.map +1 -1
- package/dist/cli/mcp-serve.d.ts.map +1 -1
- package/dist/cli/mcp-serve.js +4 -0
- package/dist/cli/mcp-serve.js.map +1 -1
- package/dist/cli/plugin-marketplace.d.ts +23 -0
- package/dist/cli/plugin-marketplace.d.ts.map +1 -1
- package/dist/cli/plugin-marketplace.js +203 -1
- package/dist/cli/plugin-marketplace.js.map +1 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +21 -0
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup-preferences.d.ts +4 -0
- package/dist/cli/setup-preferences.d.ts.map +1 -1
- package/dist/cli/setup-preferences.js +7 -0
- package/dist/cli/setup-preferences.js.map +1 -1
- package/dist/cli/setup.d.ts +5 -3
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +140 -51
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/ultragoal.d.ts +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +70 -5
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/cli/uninstall.d.ts +2 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +12 -3
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/codex-feature-flags.test.d.ts +2 -0
- package/dist/config/__tests__/codex-feature-flags.test.d.ts.map +1 -0
- package/dist/config/__tests__/codex-feature-flags.test.js +35 -0
- package/dist/config/__tests__/codex-feature-flags.test.js.map +1 -0
- package/dist/config/__tests__/codex-hooks.test.js +143 -9
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +85 -9
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +116 -11
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/__tests__/wiki-config-contract.test.js +6 -3
- package/dist/config/__tests__/wiki-config-contract.test.js.map +1 -1
- package/dist/config/codex-feature-flags.d.ts +21 -0
- package/dist/config/codex-feature-flags.d.ts.map +1 -0
- package/dist/config/codex-feature-flags.js +56 -0
- package/dist/config/codex-feature-flags.js.map +1 -0
- package/dist/config/codex-hooks.d.ts +14 -13
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +108 -8
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/config/generator.d.ts +15 -3
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +233 -129
- package/dist/config/generator.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts +3 -1
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
- package/dist/config/omx-first-party-mcp.js +9 -2
- package/dist/config/omx-first-party-mcp.js.map +1 -1
- package/dist/hooks/__tests__/design-skill.test.d.ts +2 -0
- package/dist/hooks/__tests__/design-skill.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/design-skill.test.js +55 -0
- package/dist/hooks/__tests__/design-skill.test.js.map +1 -0
- package/dist/hooks/__tests__/keyword-detector.test.js +92 -2
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js +125 -1
- package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +265 -0
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.d.ts +2 -0
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.js +84 -0
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.js.map +1 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +41 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.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 +1 -0
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +12 -6
- 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 -0
- 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 +47 -2
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +164 -0
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +4 -5
- package/dist/hud/state.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +3 -0
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/hermes-bridge.test.d.ts +2 -0
- package/dist/mcp/__tests__/hermes-bridge.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/hermes-bridge.test.js +374 -0
- package/dist/mcp/__tests__/hermes-bridge.test.js.map +1 -0
- package/dist/mcp/__tests__/state-paths.test.js +155 -11
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +166 -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 +2 -0
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/hermes-bridge.d.ts +81 -0
- package/dist/mcp/hermes-bridge.d.ts.map +1 -0
- package/dist/mcp/hermes-bridge.js +400 -0
- package/dist/mcp/hermes-bridge.js.map +1 -0
- package/dist/mcp/hermes-server.d.ts +269 -0
- package/dist/mcp/hermes-server.d.ts.map +1 -0
- package/dist/mcp/hermes-server.js +121 -0
- package/dist/mcp/hermes-server.js.map +1 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +64 -11
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +22 -0
- package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js +88 -27
- package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +5 -0
- package/dist/modes/base.js.map +1 -1
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.d.ts +2 -0
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.d.ts.map +1 -0
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js +316 -0
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js.map +1 -0
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.d.ts +2 -0
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.d.ts.map +1 -0
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js +481 -0
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js.map +1 -0
- package/dist/planning/__tests__/artifacts.test.js +533 -4
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/__tests__/context-pack-status.test.js +524 -0
- package/dist/planning/__tests__/context-pack-status.test.js.map +1 -1
- package/dist/planning/__tests__/markdown-structure.test.d.ts +2 -0
- package/dist/planning/__tests__/markdown-structure.test.d.ts.map +1 -0
- package/dist/planning/__tests__/markdown-structure.test.js +459 -0
- package/dist/planning/__tests__/markdown-structure.test.js.map +1 -0
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +523 -1
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +1 -1
- package/dist/planning/artifacts.d.ts +1 -1
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +227 -28
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/planning/context-pack-status.d.ts +25 -0
- package/dist/planning/context-pack-status.d.ts.map +1 -1
- package/dist/planning/context-pack-status.js +272 -31
- package/dist/planning/context-pack-status.js.map +1 -1
- package/dist/planning/markdown-structure.d.ts +20 -0
- package/dist/planning/markdown-structure.d.ts.map +1 -0
- package/dist/planning/markdown-structure.js +137 -0
- package/dist/planning/markdown-structure.js.map +1 -0
- package/dist/ralph/__tests__/completion-audit.test.d.ts +2 -0
- package/dist/ralph/__tests__/completion-audit.test.d.ts.map +1 -0
- package/dist/ralph/__tests__/completion-audit.test.js +121 -0
- package/dist/ralph/__tests__/completion-audit.test.js.map +1 -0
- package/dist/ralph/completion-audit.d.ts +8 -0
- package/dist/ralph/completion-audit.d.ts.map +1 -0
- package/dist/ralph/completion-audit.js +99 -0
- package/dist/ralph/completion-audit.js.map +1 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js +407 -15
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/notify-dispatcher.test.d.ts +2 -0
- package/dist/scripts/__tests__/notify-dispatcher.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/notify-dispatcher.test.js +126 -0
- package/dist/scripts/__tests__/notify-dispatcher.test.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts +1 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +177 -71
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +4 -2
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/notify-dispatcher.js +30 -1
- package/dist/scripts/notify-dispatcher.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +91 -2
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +3 -1
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/state/__tests__/workflow-transition.test.js +102 -27
- package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
- package/dist/state/mode-state-context.d.ts +2 -0
- package/dist/state/mode-state-context.d.ts.map +1 -1
- package/dist/state/mode-state-context.js +21 -0
- package/dist/state/mode-state-context.js.map +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +9 -3
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +7 -0
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +25 -8
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/workflow-transition-reconcile.d.ts +1 -0
- package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
- package/dist/state/workflow-transition-reconcile.js +22 -15
- package/dist/state/workflow-transition-reconcile.js.map +1 -1
- package/dist/state/workflow-transition.js +3 -3
- package/dist/state/workflow-transition.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.js +39 -0
- package/dist/team/__tests__/approved-execution.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +5 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +497 -2
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +1 -1
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +8 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/approved-execution.d.ts.map +1 -1
- package/dist/team/approved-execution.js +3 -0
- package/dist/team/approved-execution.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +43 -0
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state-root.d.ts.map +1 -1
- package/dist/team/state-root.js +4 -0
- package/dist/team/state-root.js.map +1 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +2 -6
- package/dist/team/state.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.js +245 -1
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
- package/dist/ultragoal/__tests__/docs-contract.test.js +21 -0
- package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts +52 -2
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +301 -15
- package/dist/ultragoal/artifacts.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/paths.d.ts +6 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +18 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/wiki/lifecycle.js +4 -4
- package/dist/wiki/lifecycle.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/.mcp.json +13 -5
- package/plugins/oh-my-codex/skills/analyze/SKILL.md +0 -2
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/code-review/SKILL.md +1 -3
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +5 -7
- package/plugins/oh-my-codex/skills/design/SKILL.md +180 -0
- package/plugins/oh-my-codex/skills/doctor/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +3 -3
- package/plugins/oh-my-codex/skills/pipeline/SKILL.md +3 -3
- package/plugins/oh-my-codex/skills/plan/SKILL.md +3 -6
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +9 -10
- package/plugins/oh-my-codex/skills/skill/SKILL.md +2 -1
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +36 -3
- package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +175 -64
- package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +8 -8
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/wiki/SKILL.md +13 -13
- package/skills/analyze/SKILL.md +0 -2
- package/skills/ask-claude/SKILL.md +5 -3
- package/skills/ask-gemini/SKILL.md +5 -3
- package/skills/autopilot/SKILL.md +2 -2
- package/skills/code-review/SKILL.md +1 -3
- package/skills/deep-interview/SKILL.md +5 -7
- package/skills/design/SKILL.md +180 -0
- package/skills/doctor/SKILL.md +2 -2
- package/skills/ecomode/SKILL.md +105 -1
- package/skills/frontend-ui-ux/SKILL.md +6 -24
- package/skills/git-master/SKILL.md +2 -4
- package/skills/omx-setup/SKILL.md +3 -3
- package/skills/pipeline/SKILL.md +3 -3
- package/skills/plan/SKILL.md +3 -6
- package/skills/ralph/SKILL.md +9 -10
- package/skills/skill/SKILL.md +2 -1
- package/skills/swarm/SKILL.md +5 -3
- package/skills/tdd/SKILL.md +95 -1
- package/skills/ultragoal/SKILL.md +36 -3
- package/skills/ultraqa/SKILL.md +175 -64
- package/skills/ultrawork/SKILL.md +8 -8
- package/skills/visual-ralph/SKILL.md +2 -2
- package/skills/web-clone/SKILL.md +348 -1
- package/skills/wiki/SKILL.md +13 -13
- package/src/scripts/__tests__/codex-native-hook.test.ts +437 -14
- package/src/scripts/__tests__/notify-dispatcher.test.ts +153 -0
- package/src/scripts/codex-native-hook.ts +205 -61
- package/src/scripts/codex-native-pre-post.ts +4 -1
- package/src/scripts/notify-dispatcher.ts +40 -1
- package/src/scripts/notify-hook/tmux-injection.ts +110 -3
- package/src/scripts/notify-hook.ts +3 -1
- package/templates/catalog-manifest.json +9 -2
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design
|
|
3
|
+
description: Canonical repo-local DESIGN.md workflow for product, UI/UX, and frontend decision source of truth
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Skill
|
|
7
|
+
|
|
8
|
+
Use `$design` when product, UI/UX, frontend, or design-system decisions need a durable source of truth in the repository. This skill discovers existing design context, interviews for missing product/design information, and creates or refreshes repo-local `DESIGN.md` so future UI/UX/frontend work is grounded instead of improvised.
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Make repo-local `DESIGN.md` source of truth and canonical design contract for the current repository:
|
|
13
|
+
|
|
14
|
+
`existing repo evidence -> missing-context interview -> create/refresh DESIGN.md -> use DESIGN.md for UI/UX/frontend decisions`.
|
|
15
|
+
|
|
16
|
+
The output is not a pixel-matching loop and not a one-off visual critique. It is the maintained design brief/checklist that implementation, review, and future visual work should cite.
|
|
17
|
+
|
|
18
|
+
## Use when
|
|
19
|
+
|
|
20
|
+
- The user asks for design direction, UX guidance, frontend planning, or design-system alignment.
|
|
21
|
+
- A repo needs a design brief before UI/frontend implementation begins.
|
|
22
|
+
- Existing UI/components/assets/screenshots need to be summarized into a reusable design source of truth.
|
|
23
|
+
- UI/UX/frontend decisions are ambiguous and should be resolved through product context, constraints, and documented principles.
|
|
24
|
+
- A feature needs `DESIGN.md` created or refreshed before `$ralph`, a designer lane, or implementation work proceeds.
|
|
25
|
+
|
|
26
|
+
## Do not use when
|
|
27
|
+
|
|
28
|
+
- The user provides or requests a visual reference/image/live URL and wants measured implementation until screenshots match. Use `$visual-ralph` for that visual-reference implementation loop.
|
|
29
|
+
- The task is pure backend/API/infrastructure work with no user-facing design consequence.
|
|
30
|
+
- The user only asks to compare screenshots or score visual fidelity. Use `$visual-ralph` and its built-in visual verdict flow.
|
|
31
|
+
|
|
32
|
+
## Relationship to `$visual-ralph`
|
|
33
|
+
|
|
34
|
+
`$design` owns the durable repo design source of truth: product goals, users, IA, visual language, components, accessibility, constraints, and open questions in `DESIGN.md`.
|
|
35
|
+
|
|
36
|
+
`$visual-ralph` owns implementation against an approved generated/static/live-URL visual reference, with screenshot capture, Visual Ralph verdict scoring, and pixel-diff evidence. `$visual-ralph` may read `DESIGN.md`, and it may leave design-system artifacts behind, but it does not replace the `DESIGN.md` discovery/interview/refresh workflow.
|
|
37
|
+
|
|
38
|
+
If both are needed, run `$design` first to establish the design contract, then run `$visual-ralph` only after the visual reference/baseline is approved.
|
|
39
|
+
|
|
40
|
+
## Workflow
|
|
41
|
+
|
|
42
|
+
### 1. Discover local design evidence
|
|
43
|
+
|
|
44
|
+
Inspect the repository before writing guidance. Look for:
|
|
45
|
+
|
|
46
|
+
- `DESIGN.md`, `docs/design*`, `docs/ux*`, `docs/frontend*`, `README.md`, product specs, PRDs, and issue notes.
|
|
47
|
+
- Existing UI source: routes, pages, layouts, components, stories, examples, demos, theme files, CSS variables, Tailwind/theme config, tokens, icons, and assets.
|
|
48
|
+
- Screenshots, mockups, brand files, logos, Figma/export notes, Storybook snapshots, Playwright screenshots, visual-regression baselines, or `.omx/artifacts/visual-ralph/*` references.
|
|
49
|
+
- Accessibility, responsive, i18n, content, and platform constraints already encoded in code or docs.
|
|
50
|
+
|
|
51
|
+
Record evidence with file paths. Distinguish observed facts from design inferences.
|
|
52
|
+
|
|
53
|
+
### 2. Interview only for missing context
|
|
54
|
+
|
|
55
|
+
Ask concise questions only when repo evidence cannot answer design-critical context. Prefer one focused round that closes the biggest gaps, such as:
|
|
56
|
+
|
|
57
|
+
- target users/personas and jobs to be done,
|
|
58
|
+
- product/business goals and non-goals,
|
|
59
|
+
- brand personality or forbidden aesthetics,
|
|
60
|
+
- primary flows and information architecture,
|
|
61
|
+
- accessibility level, device/browser support, and implementation constraints,
|
|
62
|
+
- existing design assets or references the repo does not contain.
|
|
63
|
+
|
|
64
|
+
If the user wants autonomous progress or cannot answer, create `DESIGN.md` with explicit assumptions and open questions instead of blocking.
|
|
65
|
+
|
|
66
|
+
### 3. Create or refresh `DESIGN.md`
|
|
67
|
+
|
|
68
|
+
Use the structure below. Preserve useful existing content, remove contradictions, and mark unknowns as open questions. Keep it actionable for implementers and reviewers.
|
|
69
|
+
|
|
70
|
+
#### Required `DESIGN.md` structure/checklist
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
# Design
|
|
74
|
+
|
|
75
|
+
## Source of truth
|
|
76
|
+
- Status: Draft | Active | Needs refresh
|
|
77
|
+
- Last refreshed: YYYY-MM-DD
|
|
78
|
+
- Primary product surfaces:
|
|
79
|
+
- Evidence reviewed:
|
|
80
|
+
|
|
81
|
+
## Brand
|
|
82
|
+
- Personality:
|
|
83
|
+
- Trust signals:
|
|
84
|
+
- Avoid:
|
|
85
|
+
|
|
86
|
+
## Product goals
|
|
87
|
+
- Goals:
|
|
88
|
+
- Non-goals:
|
|
89
|
+
- Success signals:
|
|
90
|
+
|
|
91
|
+
## Personas and jobs
|
|
92
|
+
- Primary personas:
|
|
93
|
+
- User jobs:
|
|
94
|
+
- Key contexts of use:
|
|
95
|
+
|
|
96
|
+
## Information architecture
|
|
97
|
+
- Primary navigation:
|
|
98
|
+
- Core routes/screens:
|
|
99
|
+
- Content hierarchy:
|
|
100
|
+
|
|
101
|
+
## Design principles
|
|
102
|
+
- Principle 1:
|
|
103
|
+
- Principle 2:
|
|
104
|
+
- Tradeoffs:
|
|
105
|
+
|
|
106
|
+
## Visual language
|
|
107
|
+
- Color:
|
|
108
|
+
- Typography:
|
|
109
|
+
- Spacing/layout rhythm:
|
|
110
|
+
- Shape/radius/elevation:
|
|
111
|
+
- Motion:
|
|
112
|
+
- Imagery/iconography:
|
|
113
|
+
|
|
114
|
+
## Components
|
|
115
|
+
- Existing components to reuse:
|
|
116
|
+
- New/changed components:
|
|
117
|
+
- Variants and states:
|
|
118
|
+
- Token/component ownership:
|
|
119
|
+
|
|
120
|
+
## Accessibility
|
|
121
|
+
- Target standard:
|
|
122
|
+
- Keyboard/focus behavior:
|
|
123
|
+
- Contrast/readability:
|
|
124
|
+
- Screen-reader semantics:
|
|
125
|
+
- Reduced motion and sensory considerations:
|
|
126
|
+
|
|
127
|
+
## Responsive behavior
|
|
128
|
+
- Supported breakpoints/devices:
|
|
129
|
+
- Layout adaptations:
|
|
130
|
+
- Touch/hover differences:
|
|
131
|
+
|
|
132
|
+
## Interaction states
|
|
133
|
+
- Loading:
|
|
134
|
+
- Empty:
|
|
135
|
+
- Error:
|
|
136
|
+
- Success:
|
|
137
|
+
- Disabled:
|
|
138
|
+
- Offline/slow network, if applicable:
|
|
139
|
+
|
|
140
|
+
## Content voice
|
|
141
|
+
- Tone:
|
|
142
|
+
- Terminology:
|
|
143
|
+
- Microcopy rules:
|
|
144
|
+
|
|
145
|
+
## Implementation constraints
|
|
146
|
+
- Framework/styling system:
|
|
147
|
+
- Design-token constraints:
|
|
148
|
+
- Performance constraints:
|
|
149
|
+
- Compatibility constraints:
|
|
150
|
+
- Test/screenshot expectations:
|
|
151
|
+
|
|
152
|
+
## Open questions
|
|
153
|
+
- [ ] Question / owner / impact
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 4. Use `DESIGN.md` as the decision contract
|
|
157
|
+
|
|
158
|
+
For UI/UX/frontend work after the refresh:
|
|
159
|
+
|
|
160
|
+
- Cite the relevant `DESIGN.md` sections before making design choices.
|
|
161
|
+
- Prefer existing components, tokens, and documented constraints.
|
|
162
|
+
- If implementation reveals a design contradiction, update `DESIGN.md` or add an open question before proceeding.
|
|
163
|
+
- Do not introduce a new design-system layer when existing repo-native patterns can be extended.
|
|
164
|
+
|
|
165
|
+
### 5. Handoff to implementation or Visual Ralph when appropriate
|
|
166
|
+
|
|
167
|
+
- For normal frontend implementation, hand off with the relevant `DESIGN.md` sections, repo evidence, and acceptance criteria.
|
|
168
|
+
- For visual-reference/image/live-URL matching, hand off to `$visual-ralph` with the approved reference/baseline and note that `DESIGN.md` is supporting context, not the visual verdict target.
|
|
169
|
+
|
|
170
|
+
## Completion checklist
|
|
171
|
+
|
|
172
|
+
Do not declare the design workflow complete until:
|
|
173
|
+
|
|
174
|
+
- Existing design docs/assets/components/screenshots have been inspected or explicitly noted as absent.
|
|
175
|
+
- Missing product/design context has been answered, assumed, or listed in `DESIGN.md` open questions.
|
|
176
|
+
- `DESIGN.md` exists at the repo root and contains all required checklist sections.
|
|
177
|
+
- UI/UX/frontend recommendations cite `DESIGN.md` rather than relying on unstated preferences.
|
|
178
|
+
- Any `$visual-ralph` handoff is clearly separated as visual implementation matching, not DESIGN.md governance.
|
|
179
|
+
|
|
180
|
+
Task: {{ARGUMENTS}}
|
package/skills/doctor/SKILL.md
CHANGED
|
@@ -51,7 +51,7 @@ echo "Latest npm: $LATEST"
|
|
|
51
51
|
- If no cache entry exists: INFO - plugin marketplace artifact not cached; this may be normal when OMX was installed only through npm/setup
|
|
52
52
|
- Compare each printed `PLUGIN_VERSION` with `LATEST`; if it differs and is not `local`: WARN - outdated plugin cache
|
|
53
53
|
- If one marketplace has multiple version directories: WARN - stale cache for that marketplace/plugin pair
|
|
54
|
-
- Remember: plugin install/discovery is not a replacement for `npm install -g oh-my-codex` plus `omx setup`; the packaged plugin
|
|
54
|
+
- Remember: plugin install/discovery is not a replacement for `npm install -g oh-my-codex` plus `omx setup`; the packaged plugin carries plugin-scoped companion metadata for optional MCP compatibility servers and apps, with first-party MCP disabled by default, while native/runtime hooks and the rest of OMX runtime wiring stay setup-owned
|
|
55
55
|
|
|
56
56
|
### Step 2: Check Hook Configuration (config.toml + legacy settings.json)
|
|
57
57
|
|
|
@@ -123,7 +123,7 @@ ls -la ~/.agents/skills/ 2>/dev/null
|
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
**Diagnosis**:
|
|
126
|
-
- If `~/.codex/agents/` exists with oh-my-codex-related files: WARN - legacy generated agents or hand-installed role files. The Codex plugin can package reusable workflows plus plugin-scoped companion metadata for MCP/apps; legacy setup installs native agents, while plugin setup archives stale legacy native-agent files and keeps config/hooks current.
|
|
126
|
+
- If `~/.codex/agents/` exists with oh-my-codex-related files: WARN - legacy generated agents or hand-installed role files. The Codex plugin can package reusable workflows plus plugin-scoped companion metadata for optional MCP/apps; legacy setup installs native agents, while plugin setup archives stale legacy native-agent files and keeps config/hooks current.
|
|
127
127
|
- If `~/.codex/commands/` exists with oh-my-codex-related files: WARN - legacy command files from older installs. Current OMX uses skills/workflows plus setup-managed native surfaces.
|
|
128
128
|
- If `${CODEX_HOME:-~/.codex}/skills/` exists with OMX skills: OK - canonical current user skill root
|
|
129
129
|
- If `~/.agents/skills/` exists: WARN - historical legacy skill root that can overlap with `${CODEX_HOME:-~/.codex}/skills/` and cause duplicate Enable/Disable Skills entries
|
package/skills/ecomode/SKILL.md
CHANGED
|
@@ -7,4 +7,108 @@ description: Ecomode deprecated shim
|
|
|
7
7
|
|
|
8
8
|
Hard-deprecated. Do not invoke or route this skill. Use `$ultrawork` directly for maintained high-throughput execution workflows.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## What Ecomode Does
|
|
11
|
+
|
|
12
|
+
Overrides default model selection to prefer cheaper tiers:
|
|
13
|
+
|
|
14
|
+
| Default Tier | Ecomode Override |
|
|
15
|
+
|--------------|------------------|
|
|
16
|
+
| THOROUGH | STANDARD, THOROUGH only if essential |
|
|
17
|
+
| STANDARD | LOW first, STANDARD if needed |
|
|
18
|
+
| LOW | LOW - no change |
|
|
19
|
+
|
|
20
|
+
## What Ecomode Does NOT Do
|
|
21
|
+
|
|
22
|
+
- **Persistence**: Use `ralph` for "don't stop until done"
|
|
23
|
+
- **Parallel Execution**: Use `ultrawork` for parallel agents
|
|
24
|
+
- **Delegation Enforcement**: Always active via core orchestration
|
|
25
|
+
|
|
26
|
+
## Combining Ecomode with Other Modes
|
|
27
|
+
|
|
28
|
+
Ecomode is a modifier that combines with execution modes:
|
|
29
|
+
|
|
30
|
+
| Combination | Effect |
|
|
31
|
+
|-------------|--------|
|
|
32
|
+
| `eco ralph` | Ralph loop with cheaper agents |
|
|
33
|
+
| `eco ultrawork` | Parallel execution with cheaper agents |
|
|
34
|
+
| `eco autopilot` | Full autonomous with cost optimization |
|
|
35
|
+
|
|
36
|
+
## Ecomode Routing Rules
|
|
37
|
+
|
|
38
|
+
**ALWAYS prefer lower tiers. Only escalate when task genuinely requires it.**
|
|
39
|
+
|
|
40
|
+
| Decision | Rule |
|
|
41
|
+
|----------|------|
|
|
42
|
+
| DEFAULT | Start with LOW tier for most tasks |
|
|
43
|
+
| UPGRADE | Escalate to STANDARD when LOW tier fails or task requires multi-file reasoning |
|
|
44
|
+
| AVOID | THOROUGH tier - only for planning/critique if essential |
|
|
45
|
+
|
|
46
|
+
## Agent Selection in Ecomode
|
|
47
|
+
|
|
48
|
+
**FIRST ACTION:** Before delegating any work, read the agent reference file:
|
|
49
|
+
```
|
|
50
|
+
Read file: docs/shared/agent-tiers.md
|
|
51
|
+
```
|
|
52
|
+
This provides the complete agent tier matrix, MCP tool assignments, and selection guidance.
|
|
53
|
+
|
|
54
|
+
**Ecomode preference order:**
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
// PREFERRED - Use for most tasks
|
|
58
|
+
use /prompts:executor for this scoped task
|
|
59
|
+
use /prompts:explore for this scoped task
|
|
60
|
+
use /prompts:architect for this scoped task
|
|
61
|
+
|
|
62
|
+
// FALLBACK - Only if LOW fails
|
|
63
|
+
use /prompts:executor for this scoped task
|
|
64
|
+
use /prompts:architect for this scoped task
|
|
65
|
+
|
|
66
|
+
// AVOID - Only for planning/critique if essential
|
|
67
|
+
use /prompts:planner for this scoped task
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Delegation Enforcement
|
|
71
|
+
|
|
72
|
+
Ecomode maintains all delegation rules from core protocol with cost-optimized routing:
|
|
73
|
+
|
|
74
|
+
| Action | Delegate To | Model |
|
|
75
|
+
|--------|-------------|-------|
|
|
76
|
+
| Code changes | executor | LOW / STANDARD |
|
|
77
|
+
| Analysis | architect | LOW |
|
|
78
|
+
| Search | explore | LOW |
|
|
79
|
+
| Documentation | writer | LOW |
|
|
80
|
+
|
|
81
|
+
### Background Execution
|
|
82
|
+
Long-running commands (install, build, test) run in background. Maximum 20 concurrent.
|
|
83
|
+
|
|
84
|
+
## Token Savings Tips
|
|
85
|
+
|
|
86
|
+
1. **Batch similar tasks** to one agent instead of spawning many
|
|
87
|
+
2. **Use explore (LOW tier)** for file discovery, not architect
|
|
88
|
+
3. **Prefer LOW-tier executor routing** for simple changes - only upgrade if it fails
|
|
89
|
+
4. **Use writer (LOW tier)** for all documentation tasks
|
|
90
|
+
5. **Avoid THOROUGH-tier agents** unless the task genuinely requires deep reasoning
|
|
91
|
+
|
|
92
|
+
## Disabling Ecomode
|
|
93
|
+
|
|
94
|
+
Ecomode can be completely disabled via config. When disabled, all ecomode keywords are ignored.
|
|
95
|
+
|
|
96
|
+
Set in `~/.codex/.omx-config.json`:
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"ecomode": {
|
|
100
|
+
"enabled": false
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## State Management
|
|
106
|
+
|
|
107
|
+
Use the CLI-first state surface (`omx state ... --json`) for ecomode lifecycle state. If explicit MCP compatibility tools are already available, equivalent `omx_state` calls are optional compatibility, not the default.
|
|
108
|
+
|
|
109
|
+
- **On activation**:
|
|
110
|
+
`omx state write --input '{"mode":"ecomode","active":true}' --json`
|
|
111
|
+
- **On deactivation/completion**:
|
|
112
|
+
`omx state write --input '{"mode":"ecomode","active":false}' --json`
|
|
113
|
+
- **On cancellation/cleanup**:
|
|
114
|
+
run `$cancel` (which should call `omx state clear --input '{"mode":"ecomode"}' --json`)
|
|
@@ -1,34 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-ui-ux
|
|
3
|
-
description:
|
|
3
|
+
description: Deprecated compatibility shim for frontend UI/UX work; use $design or $visual-ralph
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Frontend UI/UX
|
|
6
|
+
# Frontend UI/UX compatibility shim
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Hard-deprecated. Do not invoke or route this skill for new work.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Use `$design` when the task needs product/design context, UX guidance, frontend planning, design-system alignment, or a repo-local `DESIGN.md` source of truth.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
/frontend-ui-ux <design task>
|
|
14
|
-
```
|
|
12
|
+
Use `$visual-ralph` when the task needs implementation against an approved generated/static/live-URL visual reference with screenshot capture, Visual Ralph verdict scoring, and pixel-diff evidence.
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
### Preferred: MCP Direct
|
|
19
|
-
Before first MCP tool use, call `ToolSearch("mcp")` to discover deferred MCP tools.
|
|
20
|
-
Use `mcp__g__ask_gemini` with `agent_role: "designer"` for design tasks.
|
|
21
|
-
If ToolSearch finds no MCP tools, use the Codex agent fallback below.
|
|
22
|
-
|
|
23
|
-
### Fallback: Codex Agent
|
|
24
|
-
```
|
|
25
|
-
delegate(role="designer", tier="STANDARD", task="{{ARGUMENTS}}")
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Capabilities
|
|
29
|
-
- Component design and implementation
|
|
30
|
-
- Responsive layouts
|
|
31
|
-
- Design system consistency
|
|
32
|
-
- Accessibility compliance
|
|
14
|
+
This file exists only to preserve the public/catalog-visible `frontend-ui-ux` compatibility contract while canonical design guidance is handled by `$design` and measured visual implementation is handled by `$visual-ralph`.
|
|
33
15
|
|
|
34
16
|
Task: {{ARGUMENTS}}
|
|
@@ -15,8 +15,8 @@ Routes to the git-master agent for git operations.
|
|
|
15
15
|
|
|
16
16
|
## Routing
|
|
17
17
|
|
|
18
|
-
```
|
|
19
|
-
|
|
18
|
+
```text
|
|
19
|
+
Use /prompts:git-master with the user task.
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Capabilities
|
|
@@ -25,5 +25,3 @@ delegate(role="git-master", tier="STANDARD", task="{{ARGUMENTS}}")
|
|
|
25
25
|
- Branch management
|
|
26
26
|
- History cleanup
|
|
27
27
|
- Style detection from repo history
|
|
28
|
-
|
|
29
|
-
Task: {{ARGUMENTS}}
|
|
@@ -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 setup-owned runtime feature flags (`codex_hooks = true
|
|
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 (`hooks = true` on current Codex, legacy `codex_hooks = true` when that is the only reported hook feature, plus `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; setup-owned runtime feature flags include `multi_agent`, `child_agents_md`, `codex_hooks
|
|
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`, the Codex hook feature flag (`hooks` or legacy `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. |
|
|
@@ -114,7 +114,7 @@ From `omx doctor`, expect:
|
|
|
114
114
|
- Skills installed (scope-dependent: user or project)
|
|
115
115
|
- AGENTS.md found in project root
|
|
116
116
|
- `.omx/state` exists
|
|
117
|
-
-
|
|
117
|
+
- CLI-first config present in the scope target `config.toml`; first-party OMX MCP servers and shared MCP registry sync are omitted by default unless setup was run with `--mcp compat`
|
|
118
118
|
|
|
119
119
|
## Troubleshooting
|
|
120
120
|
|
package/skills/pipeline/SKILL.md
CHANGED
|
@@ -52,9 +52,9 @@ return a `StageResult` with status, artifacts, and duration.
|
|
|
52
52
|
Pipeline state persists via the ModeState system at `.omx/state/pipeline-state.json`.
|
|
53
53
|
The HUD renders pipeline phase automatically. Resume is supported from the last incomplete stage.
|
|
54
54
|
|
|
55
|
-
- **On start**: `
|
|
56
|
-
- **On stage transitions**: `
|
|
57
|
-
- **On completion**: `
|
|
55
|
+
- **On start**: `omx state write --input '{"mode":"pipeline","active":true,"current_phase":"stage:ralplan"}' --json`
|
|
56
|
+
- **On stage transitions**: `omx state write --input '{"mode":"pipeline","current_phase":"stage:<name>"}' --json`
|
|
57
|
+
- **On completion**: `omx state write --input '{"mode":"pipeline","active":false,"current_phase":"complete"}' --json`
|
|
58
58
|
|
|
59
59
|
## API
|
|
60
60
|
|
package/skills/plan/SKILL.md
CHANGED
|
@@ -137,15 +137,13 @@ Plans are saved to `.omx/plans/`. Drafts go to `.omx/drafts/`.
|
|
|
137
137
|
</Steps>
|
|
138
138
|
|
|
139
139
|
<Tool_Usage>
|
|
140
|
-
-
|
|
141
|
-
- Use
|
|
142
|
-
- `omx question` success JSON uses `answers[]` as the primary contract. For single-question planning prompts, read `answers[0].answer`; treat top-level `answer` as legacy compatibility fallback only.
|
|
143
|
-
- Batch `questions[]` may be used for non-interview grouped preference or approval prompts when one submitted form is clearer than multiple interruptions; interview mode still asks one question per round.
|
|
140
|
+
- Use `AskUserQuestion` for preference questions (scope, priority, timeline, risk tolerance) -- provides clickable UI
|
|
141
|
+
- Use plain text for questions needing specific values (port numbers, names, follow-up clarifications)
|
|
144
142
|
- Use the `explore` agent (LOW tier, bounded quick pass) to gather codebase facts before asking the user
|
|
145
143
|
- Use `ask_codex` with `agent_role: "planner"` for planning validation on large-scope plans
|
|
146
144
|
- Use `ask_codex` with `agent_role: "analyst"` for requirements analysis
|
|
147
145
|
- Use `ask_codex` with `agent_role: "critic"` for plan review in consensus and review modes
|
|
148
|
-
- If
|
|
146
|
+
- If optional MCP compatibility tools or Codex consultation are unavailable, fall back to equivalent OMX prompt/native agents -- never block on external tools
|
|
149
147
|
- **CRITICAL — Consensus mode agent calls MUST be sequential, never parallel.** Always await the Architect result before issuing the Critic call.
|
|
150
148
|
- In consensus mode, default to RALPLAN-DR short mode; enable deliberate mode on `--deliberate` or explicit high-risk signals (auth/security, migrations, destructive changes, production incidents, compliance/PII, public API breakage)
|
|
151
149
|
- In consensus mode with `--interactive`: use `AskUserQuestion` / the structured question UI for the user feedback step (step 2) and the final approval step (step 7) -- never ask for approval in plain text when a structured surface is available. Without `--interactive`, auto-proceed through planning steps without pausing. Output the final plan without execution.
|
|
@@ -153,7 +151,6 @@ Plans are saved to `.omx/plans/`. Drafts go to `.omx/drafts/`.
|
|
|
153
151
|
- In consensus mode, execution follow-up handoff **MUST** include an explicit available-agent-types roster plus concrete staffing / role-allocation guidance grounded in that roster, suggested reasoning levels by lane, product-facing goal-mode follow-up suggestions (`$ultragoal` by default, `$autoresearch-goal` for research projects, `$performance-goal` for optimization/performance projects), explicit `omx team` / `$team` launch hints, and a team verification path
|
|
154
152
|
</Tool_Usage>
|
|
155
153
|
|
|
156
|
-
|
|
157
154
|
## Scenario Examples
|
|
158
155
|
|
|
159
156
|
**Good:** The user says `continue` after the workflow already has a clear next step. Continue the current branch of work instead of restarting or re-asking the same question.
|
package/skills/ralph/SKILL.md
CHANGED
|
@@ -91,14 +91,13 @@ Complex tasks often fail silently: partial implementations get declared "done",
|
|
|
91
91
|
</Steps>
|
|
92
92
|
|
|
93
93
|
<Tool_Usage>
|
|
94
|
-
- Before first MCP tool use, call `ToolSearch("mcp")` to discover deferred MCP tools
|
|
95
94
|
- Use `ask_codex` with `agent_role: "architect"` for verification cross-checks when changes are security-sensitive, architectural, or involve complex multi-system integration
|
|
96
95
|
- Skip Codex consultation for simple feature additions, well-tested changes, or time-critical verification
|
|
97
|
-
- If
|
|
98
|
-
- Use `
|
|
96
|
+
- If MCP compatibility tools are unavailable, proceed with CLI/agent verification alone -- never block on external tools
|
|
97
|
+
- Use `omx state write/read --input '<json>' --json` for ralph mode state persistence between iterations
|
|
99
98
|
- 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.
|
|
100
99
|
- Persist context snapshot path in Ralph mode state so later phases and agents share the same grounding context
|
|
101
|
-
- If an `omx_state`
|
|
100
|
+
- Prefer CLI state commands. If an explicit MCP compatibility `omx_state` 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.
|
|
102
101
|
</Tool_Usage>
|
|
103
102
|
|
|
104
103
|
## Goal Mode Integration
|
|
@@ -118,18 +117,18 @@ Codex goal mode is the thread-level completion contract for long-running Ralph w
|
|
|
118
117
|
|
|
119
118
|
## State Management
|
|
120
119
|
|
|
121
|
-
Use the `
|
|
120
|
+
Use the CLI-first state surface for Ralph lifecycle state (`omx state write/read/clear --input '<json>' --json`). Explicit MCP compatibility tools (`state_write`, `state_read`, `state_clear`) remain acceptable only when already enabled.
|
|
122
121
|
|
|
123
122
|
- **On start**:
|
|
124
|
-
`
|
|
123
|
+
`omx state write --input '{"mode":"ralph","active":true,"iteration":1,"max_iterations":10,"current_phase":"executing","started_at":"<now>","state":{"context_snapshot_path":"<snapshot-path>"}}' --json`
|
|
125
124
|
- **On each iteration**:
|
|
126
|
-
`
|
|
125
|
+
`omx state write --input '{"mode":"ralph","iteration":<current>,"current_phase":"executing"}' --json`
|
|
127
126
|
- **On verification/fix transition**:
|
|
128
|
-
`
|
|
127
|
+
`omx state write --input '{"mode":"ralph","current_phase":"verifying"}' --json` or `omx state write --input '{"mode":"ralph","current_phase":"fixing"}' --json`
|
|
129
128
|
- **On completion**:
|
|
130
|
-
`
|
|
129
|
+
`omx state write --input '{"mode":"ralph","active":false,"current_phase":"complete","completed_at":"<now>"}' --json`
|
|
131
130
|
- **On cancellation/cleanup**:
|
|
132
|
-
run `$cancel` (which should call `
|
|
131
|
+
run `$cancel` (which should call `omx state clear --input '{"mode":"ralph"}' --json`)
|
|
133
132
|
|
|
134
133
|
|
|
135
134
|
## Scenario Examples
|
package/skills/skill/SKILL.md
CHANGED
package/skills/swarm/SKILL.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: swarm
|
|
3
|
-
description:
|
|
3
|
+
description: Deprecated compatibility shim for team execution
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Swarm
|
|
6
|
+
# Swarm compatibility shim
|
|
7
7
|
|
|
8
|
-
Hard-deprecated. Do not invoke or route this skill
|
|
8
|
+
Hard-deprecated. Do not invoke or route this skill for new work.
|
|
9
|
+
|
|
10
|
+
Use `$team` or `omx team` directly for coordinated multi-agent execution. This file exists only to preserve the public/catalog-visible `swarm` skill contract while Team mode owns coordinated execution.
|
|
9
11
|
|
|
10
12
|
Task: {{ARGUMENTS}}
|
package/skills/tdd/SKILL.md
CHANGED
|
@@ -7,4 +7,98 @@ description: TDD deprecated shim
|
|
|
7
7
|
|
|
8
8
|
Hard-deprecated. Do not invoke or route this skill. Keep test-first discipline inside the active implementation workflow and verify with the project test suite.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## The Iron Law
|
|
11
|
+
|
|
12
|
+
**NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST**
|
|
13
|
+
|
|
14
|
+
Write code before test? DELETE IT. Start over. No exceptions.
|
|
15
|
+
|
|
16
|
+
## Red-Green-Refactor Cycle
|
|
17
|
+
|
|
18
|
+
### 1. RED: Write Failing Test
|
|
19
|
+
- Write test for the NEXT piece of functionality
|
|
20
|
+
- Run test - MUST FAIL
|
|
21
|
+
- If it passes, your test is wrong
|
|
22
|
+
|
|
23
|
+
### 2. GREEN: Minimal Implementation
|
|
24
|
+
- Write ONLY enough code to pass the test
|
|
25
|
+
- No extras. No "while I'm here."
|
|
26
|
+
- Run test - MUST PASS
|
|
27
|
+
|
|
28
|
+
### 3. REFACTOR: Clean Up
|
|
29
|
+
- Improve code quality
|
|
30
|
+
- Run tests after EVERY change
|
|
31
|
+
- Must stay green
|
|
32
|
+
|
|
33
|
+
### 4. REPEAT
|
|
34
|
+
- Next failing test
|
|
35
|
+
- Continue cycle
|
|
36
|
+
|
|
37
|
+
## Enforcement Rules
|
|
38
|
+
|
|
39
|
+
| If You See | Action |
|
|
40
|
+
|------------|--------|
|
|
41
|
+
| Code written before test | STOP. Delete code. Write test first. |
|
|
42
|
+
| Test passes on first run | Test is wrong. Fix it to fail first. |
|
|
43
|
+
| Multiple features in one cycle | STOP. One test, one feature. |
|
|
44
|
+
| Skipping refactor | Go back. Clean up before next feature. |
|
|
45
|
+
|
|
46
|
+
## Commands
|
|
47
|
+
|
|
48
|
+
Before each implementation:
|
|
49
|
+
```bash
|
|
50
|
+
# Run the project's test command - should have ONE new failure
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
After implementation:
|
|
54
|
+
```bash
|
|
55
|
+
# Run the project's test command - new test should pass, all others still pass
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Output Format
|
|
59
|
+
|
|
60
|
+
When guiding TDD:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
## TDD Cycle: [Feature Name]
|
|
64
|
+
|
|
65
|
+
### RED Phase
|
|
66
|
+
Test: [test code]
|
|
67
|
+
Expected failure: [what error you expect]
|
|
68
|
+
Actual: [run result showing failure]
|
|
69
|
+
|
|
70
|
+
### GREEN Phase
|
|
71
|
+
Implementation: [minimal code]
|
|
72
|
+
Result: [run result showing pass]
|
|
73
|
+
|
|
74
|
+
### REFACTOR Phase
|
|
75
|
+
Changes: [what was cleaned up]
|
|
76
|
+
Result: [tests still pass]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## External Model Consultation (Preferred)
|
|
80
|
+
|
|
81
|
+
The tdd-guide agent SHOULD consult Codex for test strategy validation.
|
|
82
|
+
|
|
83
|
+
### Protocol
|
|
84
|
+
1. **Form your OWN test strategy FIRST** - Design tests independently
|
|
85
|
+
2. **Consult for validation** - Cross-check test coverage strategy
|
|
86
|
+
3. **Critically evaluate** - Never blindly adopt external suggestions
|
|
87
|
+
4. **Graceful fallback** - Never block if tools unavailable
|
|
88
|
+
|
|
89
|
+
### When to Consult
|
|
90
|
+
- Complex domain logic requiring comprehensive test coverage
|
|
91
|
+
- Edge case identification for critical paths
|
|
92
|
+
- Test architecture for large features
|
|
93
|
+
- Unfamiliar testing patterns
|
|
94
|
+
|
|
95
|
+
### When to Skip
|
|
96
|
+
- Simple unit tests
|
|
97
|
+
- Well-understood testing patterns
|
|
98
|
+
- Time-critical TDD cycles
|
|
99
|
+
- Small, isolated functionality
|
|
100
|
+
|
|
101
|
+
### Tool Usage
|
|
102
|
+
Prefer native `test-engineer` consultation or CLI-backed ask surfaces when available. Optional MCP compatibility ask tools may be used only when already enabled. If consultation tools are unavailable, fall back to the `test-engineer` agent.
|
|
103
|
+
|
|
104
|
+
**Remember:** The discipline IS the value. Shortcuts destroy the benefit.
|