claudecode-omc 4.8.2 → 4.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +3 -3
- package/README.de.md +60 -0
- package/README.es.md +60 -0
- package/README.fr.md +60 -0
- package/README.it.md +60 -0
- package/README.ja.md +60 -0
- package/README.ko.md +60 -0
- package/README.md +101 -16
- package/README.pt.md +60 -0
- package/README.ru.md +60 -0
- package/README.tr.md +60 -0
- package/README.vi.md +60 -0
- package/README.zh.md +60 -0
- package/agents/code-reviewer.md +107 -6
- package/agents/critic.md +212 -42
- package/agents/debugger.md +52 -4
- package/agents/document-specialist.md +39 -60
- package/agents/executor.md +29 -9
- package/agents/explore.md +3 -1
- package/agents/security-reviewer.md +57 -0
- package/agents/test-engineer.md +21 -0
- package/agents/verifier.md +2 -0
- package/agents/writer.md +2 -0
- package/bridge/cli.cjs +7402 -3580
- package/bridge/mcp-server.cjs +558 -43
- package/bridge/runtime-cli.cjs +3034 -1801
- package/bridge/team-bridge.cjs +25 -1
- package/bridge/team-mcp.cjs +257 -88
- package/bridge/team.js +5226 -413
- package/dist/__tests__/agent-boundary-guidance.test.d.ts +2 -0
- package/dist/__tests__/agent-boundary-guidance.test.d.ts.map +1 -0
- package/dist/__tests__/agent-boundary-guidance.test.js +48 -0
- package/dist/__tests__/agent-boundary-guidance.test.js.map +1 -0
- package/dist/__tests__/agent-registry.test.js +48 -11
- package/dist/__tests__/agent-registry.test.js.map +1 -1
- package/dist/__tests__/auto-slash-aliases.test.js +25 -0
- package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
- package/dist/__tests__/bedrock-model-routing.test.d.ts +21 -0
- package/dist/__tests__/bedrock-model-routing.test.d.ts.map +1 -0
- package/dist/__tests__/bedrock-model-routing.test.js +397 -0
- package/dist/__tests__/bedrock-model-routing.test.js.map +1 -0
- package/dist/__tests__/cleanup-validation.test.js +7 -3
- package/dist/__tests__/cleanup-validation.test.js.map +1 -1
- package/dist/__tests__/cli-win32-warning.test.js +15 -2
- package/dist/__tests__/cli-win32-warning.test.js.map +1 -1
- package/dist/__tests__/consolidation-contracts.test.js +27 -3
- package/dist/__tests__/consolidation-contracts.test.js.map +1 -1
- package/dist/__tests__/context-guard-stop.test.d.ts +2 -0
- package/dist/__tests__/context-guard-stop.test.d.ts.map +1 -0
- package/dist/__tests__/context-guard-stop.test.js +58 -0
- package/dist/__tests__/context-guard-stop.test.js.map +1 -0
- package/dist/__tests__/delegation-enforcer.test.js +76 -11
- package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
- package/dist/__tests__/doctor-conflicts.test.js +62 -1
- package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
- package/dist/__tests__/hooks.test.js +165 -4
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/hud/defaults.test.js +4 -0
- package/dist/__tests__/hud/defaults.test.js.map +1 -1
- package/dist/__tests__/hud/limits-error.test.js +2 -4
- package/dist/__tests__/hud/limits-error.test.js.map +1 -1
- package/dist/__tests__/hud/mission-board-state.test.d.ts +2 -0
- package/dist/__tests__/hud/mission-board-state.test.d.ts.map +1 -0
- package/dist/__tests__/hud/mission-board-state.test.js +170 -0
- package/dist/__tests__/hud/mission-board-state.test.js.map +1 -0
- package/dist/__tests__/hud/mission-board.test.d.ts +2 -0
- package/dist/__tests__/hud/mission-board.test.d.ts.map +1 -0
- package/dist/__tests__/hud/mission-board.test.js +143 -0
- package/dist/__tests__/hud/mission-board.test.js.map +1 -0
- package/dist/__tests__/hud/rate-limits-error.test.js +13 -0
- package/dist/__tests__/hud/rate-limits-error.test.js.map +1 -1
- package/dist/__tests__/hud/render-rate-limits-priority.test.d.ts +8 -0
- package/dist/__tests__/hud/render-rate-limits-priority.test.d.ts.map +1 -0
- package/dist/__tests__/hud/render-rate-limits-priority.test.js +145 -0
- package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -0
- package/dist/__tests__/hud/render.test.js +22 -0
- package/dist/__tests__/hud/render.test.js.map +1 -1
- package/dist/__tests__/hud/stale-indicator.test.d.ts +9 -0
- package/dist/__tests__/hud/stale-indicator.test.d.ts.map +1 -0
- package/dist/__tests__/hud/stale-indicator.test.js +81 -0
- package/dist/__tests__/hud/stale-indicator.test.js.map +1 -0
- package/dist/__tests__/hud/state.test.js +30 -0
- package/dist/__tests__/hud/state.test.js.map +1 -1
- package/dist/__tests__/hud/usage-api-lock.test.d.ts +2 -0
- package/dist/__tests__/hud/usage-api-lock.test.d.ts.map +1 -0
- package/dist/__tests__/hud/usage-api-lock.test.js +245 -0
- package/dist/__tests__/hud/usage-api-lock.test.js.map +1 -0
- package/dist/__tests__/hud/usage-api-stale.test.d.ts +9 -0
- package/dist/__tests__/hud/usage-api-stale.test.d.ts.map +1 -0
- package/dist/__tests__/hud/usage-api-stale.test.js +297 -0
- package/dist/__tests__/hud/usage-api-stale.test.js.map +1 -0
- package/dist/__tests__/hud/usage-api.test.js +223 -0
- package/dist/__tests__/hud/usage-api.test.js.map +1 -1
- package/dist/__tests__/hud/watch-mode-init.test.d.ts +2 -0
- package/dist/__tests__/hud/watch-mode-init.test.d.ts.map +1 -0
- package/dist/__tests__/hud/watch-mode-init.test.js +133 -0
- package/dist/__tests__/hud/watch-mode-init.test.js.map +1 -0
- package/dist/__tests__/hud-agents.test.js +12 -10
- package/dist/__tests__/hud-agents.test.js.map +1 -1
- package/dist/__tests__/hud-build-guidance.test.js +6 -2
- package/dist/__tests__/hud-build-guidance.test.js.map +1 -1
- package/dist/__tests__/hud-marketplace-resolution.test.d.ts +2 -0
- package/dist/__tests__/hud-marketplace-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/hud-marketplace-resolution.test.js +53 -0
- package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -0
- package/dist/__tests__/installer-hud-skip.test.js +12 -0
- package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
- package/dist/__tests__/installer-plugin-agents.test.d.ts +2 -0
- package/dist/__tests__/installer-plugin-agents.test.d.ts.map +1 -0
- package/dist/__tests__/installer-plugin-agents.test.js +111 -0
- package/dist/__tests__/installer-plugin-agents.test.js.map +1 -0
- package/dist/__tests__/installer-version-guard.test.d.ts +2 -0
- package/dist/__tests__/installer-version-guard.test.d.ts.map +1 -0
- package/dist/__tests__/installer-version-guard.test.js +75 -0
- package/dist/__tests__/installer-version-guard.test.js.map +1 -0
- package/dist/__tests__/installer.test.js +58 -4
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/omc-tools-server.test.js +8 -5
- package/dist/__tests__/omc-tools-server.test.js.map +1 -1
- package/dist/__tests__/pre-tool-enforcer.test.js +38 -0
- package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
- package/dist/__tests__/prompt-injection.test.js +3 -3
- package/dist/__tests__/prompt-injection.test.js.map +1 -1
- package/dist/__tests__/ralph-prd-mandatory.test.js +53 -2
- package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -1
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +42 -0
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +1 -1
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +1 -1
- package/dist/__tests__/session-history-search.test.d.ts +2 -0
- package/dist/__tests__/session-history-search.test.d.ts.map +1 -0
- package/dist/__tests__/session-history-search.test.js +115 -0
- package/dist/__tests__/session-history-search.test.js.map +1 -0
- package/dist/__tests__/session-start-script-context.test.d.ts +2 -0
- package/dist/__tests__/session-start-script-context.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-script-context.test.js +49 -0
- package/dist/__tests__/session-start-script-context.test.js.map +1 -0
- package/dist/__tests__/skills.test.js +81 -24
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/standalone-server.test.js +8 -4
- package/dist/__tests__/standalone-server.test.js.map +1 -1
- package/dist/__tests__/tier0-docs-consistency.test.js +10 -2
- package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +5 -15
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +48 -49
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/document-specialist.d.ts +1 -1
- package/dist/agents/document-specialist.d.ts.map +1 -1
- package/dist/agents/document-specialist.js +46 -21
- package/dist/agents/document-specialist.js.map +1 -1
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +3 -2
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/index.d.ts +2 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +3 -6
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/types.d.ts +2 -2
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/cli/__tests__/ask.test.js +255 -8
- package/dist/cli/__tests__/ask.test.js.map +1 -1
- package/dist/cli/__tests__/session-search-help.test.d.ts +2 -0
- package/dist/cli/__tests__/session-search-help.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-search-help.test.js +13 -0
- package/dist/cli/__tests__/session-search-help.test.js.map +1 -0
- package/dist/cli/__tests__/session-search.test.d.ts +2 -0
- package/dist/cli/__tests__/session-search.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-search.test.js +72 -0
- package/dist/cli/__tests__/session-search.test.js.map +1 -0
- package/dist/cli/__tests__/team-help.test.js +1 -1
- package/dist/cli/__tests__/team-help.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +256 -4
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/commands/__tests__/team.test.js +52 -2
- package/dist/cli/commands/__tests__/team.test.js.map +1 -1
- package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
- package/dist/cli/commands/doctor-conflicts.js +15 -1
- package/dist/cli/commands/doctor-conflicts.js.map +1 -1
- package/dist/cli/commands/session-search.d.ts +18 -0
- package/dist/cli/commands/session-search.d.ts.map +1 -0
- package/dist/cli/commands/session-search.js +47 -0
- package/dist/cli/commands/session-search.js.map +1 -0
- package/dist/cli/commands/team.d.ts +11 -0
- package/dist/cli/commands/team.d.ts.map +1 -1
- package/dist/cli/commands/team.js +94 -24
- package/dist/cli/commands/team.js.map +1 -1
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +12 -1
- package/dist/cli/commands/wait.js.map +1 -1
- package/dist/cli/index.js +70 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/team.d.ts +1 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +100 -214
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/win32-warning.d.ts +2 -1
- package/dist/cli/win32-warning.d.ts.map +1 -1
- package/dist/cli/win32-warning.js +20 -6
- package/dist/cli/win32-warning.js.map +1 -1
- package/dist/config/__tests__/loader.test.d.ts +2 -0
- package/dist/config/__tests__/loader.test.d.ts.map +1 -0
- package/dist/config/__tests__/loader.test.js +145 -0
- package/dist/config/__tests__/loader.test.js.map +1 -0
- package/dist/config/__tests__/models.test.d.ts +2 -0
- package/dist/config/__tests__/models.test.d.ts.map +1 -0
- package/dist/config/__tests__/models.test.js +147 -0
- package/dist/config/__tests__/models.test.js.map +1 -0
- package/dist/config/__tests__/test-helpers.d.ts +3 -0
- package/dist/config/__tests__/test-helpers.d.ts.map +1 -0
- package/dist/config/__tests__/test-helpers.js +19 -0
- package/dist/config/__tests__/test-helpers.js.map +1 -0
- package/dist/config/loader.d.ts +3 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +140 -126
- package/dist/config/loader.js.map +1 -1
- package/dist/config/models.d.ts +29 -10
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +96 -10
- package/dist/config/models.js.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +8 -1
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/builtin-skills/types.d.ts +3 -0
- package/dist/features/builtin-skills/types.d.ts.map +1 -1
- package/dist/features/delegation-enforcer.d.ts +5 -12
- package/dist/features/delegation-enforcer.d.ts.map +1 -1
- package/dist/features/delegation-enforcer.js +48 -54
- package/dist/features/delegation-enforcer.js.map +1 -1
- package/dist/features/delegation-routing/__tests__/resolver.test.js +4 -3
- package/dist/features/delegation-routing/__tests__/resolver.test.js.map +1 -1
- package/dist/features/delegation-routing/types.d.ts.map +1 -1
- package/dist/features/delegation-routing/types.js +7 -4
- package/dist/features/delegation-routing/types.js.map +1 -1
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +2 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/daemon.js +8 -5
- package/dist/features/rate-limit-wait/daemon.js.map +1 -1
- package/dist/features/rate-limit-wait/index.d.ts +1 -1
- package/dist/features/rate-limit-wait/index.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/index.js +1 -1
- package/dist/features/rate-limit-wait/index.js.map +1 -1
- package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts +9 -0
- package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/rate-limit-monitor.js +38 -0
- package/dist/features/rate-limit-wait/rate-limit-monitor.js.map +1 -1
- package/dist/features/rate-limit-wait/tmux-detector.d.ts +2 -1
- package/dist/features/rate-limit-wait/tmux-detector.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/tmux-detector.js +8 -9
- package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
- package/dist/features/rate-limit-wait/types.d.ts +11 -0
- package/dist/features/rate-limit-wait/types.d.ts.map +1 -1
- package/dist/features/session-history-search/index.d.ts +6 -0
- package/dist/features/session-history-search/index.d.ts.map +1 -0
- package/dist/features/session-history-search/index.js +480 -0
- package/dist/features/session-history-search/index.js.map +1 -0
- package/dist/features/session-history-search/types.d.ts +36 -0
- package/dist/features/session-history-search/types.d.ts.map +1 -0
- package/dist/features/session-history-search/types.js +2 -0
- package/dist/features/session-history-search/types.js.map +1 -0
- package/dist/hooks/__tests__/background-process-guard.test.js +101 -5
- package/dist/hooks/__tests__/background-process-guard.test.js.map +1 -1
- package/dist/hooks/__tests__/bridge-openclaw.test.js +16 -5
- package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -1
- package/dist/hooks/__tests__/bridge-routing.test.js +48 -1
- package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
- package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/executor.js +9 -1
- package/dist/hooks/auto-slash-command/executor.js.map +1 -1
- package/dist/hooks/auto-slash-command/types.d.ts +2 -0
- package/dist/hooks/auto-slash-command/types.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/types.js +0 -7
- package/dist/hooks/auto-slash-command/types.js.map +1 -1
- package/dist/hooks/autopilot/adapters/execution-adapter.js +3 -3
- package/dist/hooks/autopilot/prompts.js +1 -1
- package/dist/hooks/bridge-normalize.d.ts.map +1 -1
- package/dist/hooks/bridge-normalize.js +2 -0
- package/dist/hooks/bridge-normalize.js.map +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +248 -39
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js +41 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +1 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +3 -1
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/permission-handler/index.d.ts +8 -0
- package/dist/hooks/permission-handler/index.d.ts.map +1 -1
- package/dist/hooks/permission-handler/index.js +76 -0
- package/dist/hooks/permission-handler/index.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts +2 -0
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +90 -0
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.d.ts +2 -0
- package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.d.ts.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js +535 -0
- package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js.map +1 -0
- package/dist/hooks/persistent-mode/index.d.ts +1 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +296 -21
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +156 -0
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
- package/dist/hooks/project-memory/__tests__/integration.test.js +27 -2
- package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
- package/dist/hooks/project-memory/__tests__/storage.test.js +37 -0
- package/dist/hooks/project-memory/__tests__/storage.test.js.map +1 -1
- package/dist/hooks/project-memory/storage.d.ts +1 -1
- package/dist/hooks/project-memory/storage.d.ts.map +1 -1
- package/dist/hooks/project-memory/storage.js +5 -4
- package/dist/hooks/project-memory/storage.js.map +1 -1
- package/dist/hooks/ralph/index.d.ts +1 -1
- package/dist/hooks/ralph/index.d.ts.map +1 -1
- package/dist/hooks/ralph/index.js +1 -1
- package/dist/hooks/ralph/index.js.map +1 -1
- package/dist/hooks/ralph/loop.d.ts +18 -0
- package/dist/hooks/ralph/loop.d.ts.map +1 -1
- package/dist/hooks/ralph/loop.js +31 -0
- package/dist/hooks/ralph/loop.js.map +1 -1
- package/dist/hooks/ralph/verifier.d.ts +4 -1
- package/dist/hooks/ralph/verifier.d.ts.map +1 -1
- package/dist/hooks/ralph/verifier.js +56 -21
- package/dist/hooks/ralph/verifier.js.map +1 -1
- package/dist/hooks/recovery/__tests__/storage.test.d.ts +2 -0
- package/dist/hooks/recovery/__tests__/storage.test.d.ts.map +1 -0
- package/dist/hooks/recovery/__tests__/storage.test.js +65 -0
- package/dist/hooks/recovery/__tests__/storage.test.js.map +1 -0
- package/dist/hooks/recovery/storage.d.ts +5 -1
- package/dist/hooks/recovery/storage.d.ts.map +1 -1
- package/dist/hooks/recovery/storage.js +7 -29
- package/dist/hooks/recovery/storage.js.map +1 -1
- package/dist/hooks/recovery/types.d.ts +1 -1
- package/dist/hooks/recovery/types.d.ts.map +1 -1
- package/dist/hooks/session-end/__tests__/duplicate-notifications.test.d.ts +2 -0
- package/dist/hooks/session-end/__tests__/duplicate-notifications.test.d.ts.map +1 -0
- package/dist/hooks/session-end/__tests__/duplicate-notifications.test.js +140 -0
- package/dist/hooks/session-end/__tests__/duplicate-notifications.test.js.map +1 -0
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.d.ts +2 -0
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.d.ts.map +1 -0
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +122 -0
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -0
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js +38 -12
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js.map +1 -1
- package/dist/hooks/session-end/callbacks.d.ts +4 -1
- package/dist/hooks/session-end/callbacks.d.ts.map +1 -1
- package/dist/hooks/session-end/callbacks.js +5 -4
- package/dist/hooks/session-end/callbacks.js.map +1 -1
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +162 -36
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/skill-state/__tests__/skill-state.test.js +35 -33
- package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
- package/dist/hooks/skill-state/index.d.ts +3 -3
- package/dist/hooks/skill-state/index.d.ts.map +1 -1
- package/dist/hooks/skill-state/index.js +7 -11
- package/dist/hooks/skill-state/index.js.map +1 -1
- package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
- package/dist/hooks/subagent-tracker/index.js +22 -0
- package/dist/hooks/subagent-tracker/index.js.map +1 -1
- package/dist/hooks/think-mode/__tests__/index.test.js +20 -20
- package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -1
- package/dist/hooks/think-mode/switcher.d.ts.map +1 -1
- package/dist/hooks/think-mode/switcher.js +13 -10
- package/dist/hooks/think-mode/switcher.js.map +1 -1
- package/dist/hooks/thinking-block-validator/__tests__/index.test.d.ts +2 -0
- package/dist/hooks/thinking-block-validator/__tests__/index.test.d.ts.map +1 -0
- package/dist/hooks/thinking-block-validator/__tests__/index.test.js +56 -0
- package/dist/hooks/thinking-block-validator/__tests__/index.test.js.map +1 -0
- package/dist/hooks/thinking-block-validator/index.d.ts.map +1 -1
- package/dist/hooks/thinking-block-validator/index.js +7 -6
- package/dist/hooks/thinking-block-validator/index.js.map +1 -1
- package/dist/hooks/todo-continuation/index.d.ts +6 -0
- package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
- package/dist/hooks/todo-continuation/index.js +14 -5
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hud/elements/agents.d.ts.map +1 -1
- package/dist/hud/elements/agents.js +8 -14
- package/dist/hud/elements/agents.js.map +1 -1
- package/dist/hud/elements/index.d.ts +1 -0
- package/dist/hud/elements/index.d.ts.map +1 -1
- package/dist/hud/elements/index.js +1 -0
- package/dist/hud/elements/index.js.map +1 -1
- package/dist/hud/elements/limits.d.ts +3 -3
- package/dist/hud/elements/limits.d.ts.map +1 -1
- package/dist/hud/elements/limits.js +26 -18
- package/dist/hud/elements/limits.js.map +1 -1
- package/dist/hud/elements/mission-board.d.ts +2 -0
- package/dist/hud/elements/mission-board.d.ts.map +1 -0
- package/dist/hud/elements/mission-board.js +2 -0
- package/dist/hud/elements/mission-board.js.map +1 -0
- package/dist/hud/index.d.ts +1 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +10 -2
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/mission-board.d.ts +75 -0
- package/dist/hud/mission-board.d.ts.map +1 -0
- package/dist/hud/mission-board.js +420 -0
- package/dist/hud/mission-board.js.map +1 -0
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +16 -8
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +13 -0
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/types.d.ts +11 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +10 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/usage-api.d.ts +1 -1
- package/dist/hud/usage-api.d.ts.map +1 -1
- package/dist/hud/usage-api.js +207 -106
- package/dist/hud/usage-api.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/installer/__tests__/claude-md-merge.test.js +53 -9
- package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
- package/dist/installer/__tests__/hook-templates.test.d.ts +2 -0
- package/dist/installer/__tests__/hook-templates.test.d.ts.map +1 -0
- package/dist/installer/__tests__/hook-templates.test.js +76 -0
- package/dist/installer/__tests__/hook-templates.test.js.map +1 -0
- package/dist/installer/hooks.d.ts +15 -0
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +51 -0
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +25 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +273 -64
- package/dist/installer/index.js.map +1 -1
- package/dist/lib/mode-names.d.ts.map +1 -1
- package/dist/lib/mode-names.js +2 -0
- package/dist/lib/mode-names.js.map +1 -1
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.js +30 -3
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.js.map +1 -1
- package/dist/mcp/__tests__/team-server-deprecation.test.js +2 -0
- package/dist/mcp/__tests__/team-server-deprecation.test.js.map +1 -1
- package/dist/mcp/team-job-convergence.d.ts.map +1 -1
- package/dist/mcp/team-job-convergence.js +12 -3
- package/dist/mcp/team-job-convergence.js.map +1 -1
- package/dist/mcp/team-server.d.ts.map +1 -1
- package/dist/mcp/team-server.js +18 -4
- package/dist/mcp/team-server.js.map +1 -1
- package/dist/notifications/__tests__/config-merge.test.js +36 -1
- package/dist/notifications/__tests__/config-merge.test.js.map +1 -1
- package/dist/notifications/__tests__/formatter.test.js +13 -5
- package/dist/notifications/__tests__/formatter.test.js.map +1 -1
- package/dist/notifications/__tests__/notify-registry-integration.test.js +27 -1
- package/dist/notifications/__tests__/notify-registry-integration.test.js.map +1 -1
- package/dist/notifications/__tests__/verbosity.test.js +33 -1
- package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
- package/dist/notifications/config.d.ts +7 -0
- package/dist/notifications/config.d.ts.map +1 -1
- package/dist/notifications/config.js +18 -0
- package/dist/notifications/config.js.map +1 -1
- package/dist/notifications/formatter.d.ts +2 -2
- package/dist/notifications/formatter.d.ts.map +1 -1
- package/dist/notifications/formatter.js +7 -6
- package/dist/notifications/formatter.js.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +5 -3
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/template-engine.js +1 -1
- package/dist/notifications/template-engine.js.map +1 -1
- package/dist/notifications/types.d.ts +4 -0
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/openclaw/__tests__/dispatcher.test.js +26 -0
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
- package/dist/openclaw/__tests__/index.test.js +42 -0
- package/dist/openclaw/__tests__/index.test.js.map +1 -1
- package/dist/openclaw/__tests__/signal.test.d.ts +2 -0
- package/dist/openclaw/__tests__/signal.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/signal.test.js +69 -0
- package/dist/openclaw/__tests__/signal.test.js.map +1 -0
- package/dist/openclaw/dispatcher.d.ts +5 -1
- package/dist/openclaw/dispatcher.d.ts.map +1 -1
- package/dist/openclaw/dispatcher.js +13 -2
- package/dist/openclaw/dispatcher.js.map +1 -1
- package/dist/openclaw/index.d.ts +2 -1
- package/dist/openclaw/index.d.ts.map +1 -1
- package/dist/openclaw/index.js +29 -15
- package/dist/openclaw/index.js.map +1 -1
- package/dist/openclaw/signal.d.ts +3 -0
- package/dist/openclaw/signal.d.ts.map +1 -0
- package/dist/openclaw/signal.js +215 -0
- package/dist/openclaw/signal.js.map +1 -0
- package/dist/openclaw/types.d.ts +35 -0
- package/dist/openclaw/types.d.ts.map +1 -1
- package/dist/shared/types.d.ts +2 -12
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/skills/__tests__/mingw-escape.test.js +41 -11
- package/dist/skills/__tests__/mingw-escape.test.js.map +1 -1
- package/dist/team/__tests__/api-interop.cwd-resolution.test.d.ts +2 -0
- package/dist/team/__tests__/api-interop.cwd-resolution.test.d.ts.map +1 -0
- package/dist/team/__tests__/api-interop.cwd-resolution.test.js +78 -0
- package/dist/team/__tests__/api-interop.cwd-resolution.test.js.map +1 -0
- package/dist/team/__tests__/api-interop.dispatch.test.d.ts +2 -0
- package/dist/team/__tests__/api-interop.dispatch.test.d.ts.map +1 -0
- package/dist/team/__tests__/api-interop.dispatch.test.js +125 -0
- package/dist/team/__tests__/api-interop.dispatch.test.js.map +1 -0
- package/dist/team/__tests__/cli-detection.test.d.ts +2 -0
- package/dist/team/__tests__/cli-detection.test.d.ts.map +1 -0
- package/dist/team/__tests__/cli-detection.test.js +36 -0
- package/dist/team/__tests__/cli-detection.test.js.map +1 -0
- package/dist/team/__tests__/model-contract.test.js +79 -2
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/runtime-done-recovery.test.js +1 -0
- package/dist/team/__tests__/runtime-done-recovery.test.js.map +1 -1
- package/dist/team/__tests__/runtime-prompt-mode.test.js +84 -8
- package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
- package/dist/team/__tests__/runtime-v2.dispatch.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-v2.dispatch.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-v2.dispatch.test.js +237 -0
- package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -0
- package/dist/team/__tests__/runtime-v2.monitor.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-v2.monitor.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-v2.monitor.test.js +103 -0
- package/dist/team/__tests__/runtime-v2.monitor.test.js.map +1 -0
- package/dist/team/__tests__/runtime-v2.shutdown.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-v2.shutdown.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-v2.shutdown.test.js +49 -0
- package/dist/team/__tests__/runtime-v2.shutdown.test.js.map +1 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.js +3 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.create-team.test.js +29 -12
- package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.kill-team-session.test.js +6 -0
- package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +9 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +32 -3
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +153 -2
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/cli-detection.d.ts.map +1 -1
- package/dist/team/cli-detection.js +6 -2
- package/dist/team/cli-detection.js.map +1 -1
- package/dist/team/idle-nudge.js +1 -1
- package/dist/team/idle-nudge.js.map +1 -1
- package/dist/team/mcp-team-bridge.d.ts.map +1 -1
- package/dist/team/mcp-team-bridge.js +2 -1
- package/dist/team/mcp-team-bridge.js.map +1 -1
- package/dist/team/model-contract.d.ts +1 -1
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +35 -4
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +10 -7
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime-v2.d.ts +4 -0
- package/dist/team/runtime-v2.d.ts.map +1 -1
- package/dist/team/runtime-v2.js +231 -59
- package/dist/team/runtime-v2.js.map +1 -1
- package/dist/team/runtime.d.ts +6 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +39 -14
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/tmux-session.d.ts +20 -11
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +108 -51
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/types.d.ts +1 -0
- package/dist/team/types.d.ts.map +1 -1
- package/dist/team/types.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +2 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +46 -12
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/tools/__tests__/memory-tools.test.js +29 -1
- package/dist/tools/__tests__/memory-tools.test.js.map +1 -1
- package/dist/tools/lsp/client.d.ts +11 -0
- package/dist/tools/lsp/client.d.ts.map +1 -1
- package/dist/tools/lsp/client.js +46 -0
- package/dist/tools/lsp/client.js.map +1 -1
- package/dist/tools/session-history-tools.d.ts +23 -0
- package/dist/tools/session-history-tools.d.ts.map +1 -0
- package/dist/tools/session-history-tools.js +41 -0
- package/dist/tools/session-history-tools.js.map +1 -0
- package/dist/tools/trace-tools.d.ts +9 -0
- package/dist/tools/trace-tools.d.ts.map +1 -1
- package/dist/tools/trace-tools.js +2 -1
- package/dist/tools/trace-tools.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +5 -0
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +22 -0
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/skill-pipeline.d.ts +9 -0
- package/dist/utils/skill-pipeline.d.ts.map +1 -0
- package/dist/utils/skill-pipeline.js +97 -0
- package/dist/utils/skill-pipeline.js.map +1 -0
- package/docs/AGENTS.md +1 -1
- package/docs/ANALYTICS-SYSTEM.md +23 -132
- package/docs/CLAUDE.md +40 -139
- package/docs/MIGRATION.md +4 -4
- package/docs/OPENCLAW-ROUTING.md +102 -0
- package/docs/PERFORMANCE-MONITORING.md +30 -55
- package/docs/REFERENCE.md +62 -35
- package/docs/TIERED_AGENTS_V2.md +3 -2
- package/docs/design/SKILL_AUDIT_1445.md +75 -0
- package/docs/ko/MIGRATION.md +2 -2
- package/docs/ko/REFERENCE.md +14 -22
- package/docs/partials/agent-tiers.md +11 -15
- package/docs/partials/features.md +2 -2
- package/docs/partials/mode-selection-guide.md +2 -2
- package/docs/shared/agent-tiers.md +11 -15
- package/docs/shared/features.md +2 -2
- package/docs/shared/mode-selection-guide.md +2 -2
- package/package.json +4 -1
- package/scripts/code-simplifier.mjs +1 -1
- package/scripts/context-guard-stop.mjs +26 -10
- package/scripts/keyword-detector.mjs +99 -39
- package/scripts/persistent-mode.cjs +295 -34
- package/scripts/persistent-mode.mjs +79 -21
- package/scripts/plugin-setup.mjs +10 -1
- package/scripts/post-tool-verifier.mjs +57 -3
- package/scripts/pre-tool-enforcer.mjs +207 -2
- package/scripts/run-provider-advisor.js +30 -3
- package/scripts/session-start.mjs +3 -3
- package/scripts/setup-claude-md.sh +159 -0
- package/scripts/setup-progress.sh +123 -0
- package/scripts/sync-metadata.ts +11 -1
- package/skills/AGENTS.md +13 -17
- package/skills/ai-slop-cleaner/SKILL.md +130 -0
- package/skills/analyze/SKILL.md +28 -73
- package/skills/ask/SKILL.md +51 -0
- package/skills/bdd-generator/SKILL.md +60 -0
- package/skills/ccg/SKILL.md +6 -6
- package/skills/deep-interview/SKILL.md +4 -0
- package/skills/e2e/SKILL.md +55 -0
- package/skills/electron-driver/SKILL.md +51 -0
- package/skills/electron-driver/scripts/driver-template.js +46 -0
- package/skills/multi-model-research/SKILL.md +51 -0
- package/skills/omc-doctor/SKILL.md +2 -2
- package/skills/omc-setup/SKILL.md +75 -1206
- package/skills/omc-setup/phases/01-install-claude-md.md +76 -0
- package/skills/omc-setup/phases/02-configure.md +211 -0
- package/skills/omc-setup/phases/03-integrations.md +192 -0
- package/skills/omc-setup/phases/04-welcome.md +192 -0
- package/skills/omc-teams/SKILL.md +35 -2
- package/skills/plan/SKILL.md +3 -0
- package/skills/planning-with-files/SKILL.md +49 -0
- package/skills/planning-with-files/examples.md +17 -0
- package/skills/planning-with-files/reference.md +21 -0
- package/skills/planning-with-files/scripts/check-complete.ps1 +28 -0
- package/skills/planning-with-files/scripts/check-complete.sh +31 -0
- package/skills/planning-with-files/scripts/init-session.ps1 +31 -0
- package/skills/planning-with-files/scripts/init-session.sh +36 -0
- package/skills/planning-with-files/scripts/session-catchup.py +66 -0
- package/skills/planning-with-files/templates/findings.md +24 -0
- package/skills/planning-with-files/templates/progress.md +38 -0
- package/skills/planning-with-files/templates/task_plan.md +53 -0
- package/skills/ralph/SKILL.md +16 -10
- package/skills/release/SKILL.md +4 -0
- package/skills/setup/SKILL.md +40 -0
- package/skills/start-dev/SKILL.md +45 -0
- package/skills/tdd-generator/SKILL.md +51 -0
- package/skills/team/SKILL.md +6 -6
- package/skills/test-coverage/SKILL.md +40 -0
- package/skills/test-gen/SKILL.md +70 -0
- package/templates/hooks/code-simplifier.mjs +1 -1
- package/templates/hooks/keyword-detector.mjs +100 -32
- package/templates/hooks/persistent-mode.mjs +43 -4
- package/templates/hooks/pre-tool-use.mjs +115 -1
- package/templates/hooks/session-start.mjs +1 -1
- package/agents/build-fixer.md +0 -90
- package/agents/deep-executor.md +0 -112
- package/agents/harsh-critic.md +0 -254
- package/agents/quality-reviewer.md +0 -151
- package/skills/ask-codex/SKILL.md +0 -47
- package/skills/ask-gemini/SKILL.md +0 -47
- package/skills/build-fix/SKILL.md +0 -123
- package/skills/code-review/SKILL.md +0 -573
- package/skills/configure-openclaw/SKILL.md +0 -383
- package/skills/learn-about-omc/SKILL.md +0 -37
- package/skills/note/SKILL.md +0 -62
- package/skills/omc-help/SKILL.md +0 -192
- package/skills/ralph-init/SKILL.md +0 -40
- package/skills/security-review/SKILL.md +0 -282
- package/skills/tdd/SKILL.md +0 -104
- package/skills/test-gen/skill.md +0 -531
- package/skills/trace/SKILL.md +0 -33
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { parseFrontmatterList, stripOptionalQuotes } from './frontmatter.js';
|
|
2
|
+
function normalizeSkillReference(value) {
|
|
3
|
+
if (!value)
|
|
4
|
+
return undefined;
|
|
5
|
+
const trimmed = stripOptionalQuotes(value).trim();
|
|
6
|
+
if (!trimmed)
|
|
7
|
+
return undefined;
|
|
8
|
+
return trimmed
|
|
9
|
+
.replace(/^\/oh-my-claudecode:/i, '')
|
|
10
|
+
.replace(/^oh-my-claudecode:/i, '')
|
|
11
|
+
.replace(/^\//, '')
|
|
12
|
+
.trim()
|
|
13
|
+
.toLowerCase() || undefined;
|
|
14
|
+
}
|
|
15
|
+
function uniqueStrings(values) {
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
const results = [];
|
|
18
|
+
for (const value of values) {
|
|
19
|
+
const normalized = value.trim();
|
|
20
|
+
if (!normalized)
|
|
21
|
+
continue;
|
|
22
|
+
const key = normalized.toLowerCase();
|
|
23
|
+
if (seen.has(key))
|
|
24
|
+
continue;
|
|
25
|
+
seen.add(key);
|
|
26
|
+
results.push(normalized);
|
|
27
|
+
}
|
|
28
|
+
return results;
|
|
29
|
+
}
|
|
30
|
+
export function parseSkillPipelineMetadata(frontmatter) {
|
|
31
|
+
const steps = uniqueStrings(parseFrontmatterList(frontmatter.pipeline)
|
|
32
|
+
.map((step) => normalizeSkillReference(step))
|
|
33
|
+
.filter((step) => Boolean(step)));
|
|
34
|
+
const nextSkill = normalizeSkillReference(frontmatter['next-skill']);
|
|
35
|
+
const nextSkillArgs = stripOptionalQuotes(frontmatter['next-skill-args'] ?? '').trim() || undefined;
|
|
36
|
+
const handoff = stripOptionalQuotes(frontmatter.handoff ?? '').trim() || undefined;
|
|
37
|
+
if (steps.length === 0 && !nextSkill && !nextSkillArgs && !handoff) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
steps,
|
|
42
|
+
nextSkill,
|
|
43
|
+
nextSkillArgs,
|
|
44
|
+
handoff,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function renderSkillPipelineGuidance(skillName, pipeline) {
|
|
48
|
+
if (!pipeline) {
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
const currentSkill = normalizeSkillReference(skillName) ?? skillName.trim().toLowerCase();
|
|
52
|
+
const steps = uniqueStrings([
|
|
53
|
+
...pipeline.steps,
|
|
54
|
+
currentSkill,
|
|
55
|
+
...(pipeline.nextSkill ? [pipeline.nextSkill] : []),
|
|
56
|
+
]);
|
|
57
|
+
const nextInvocation = pipeline.nextSkill
|
|
58
|
+
? [
|
|
59
|
+
`Skill("oh-my-claudecode:${pipeline.nextSkill}")`,
|
|
60
|
+
pipeline.nextSkillArgs ? `with arguments \`${pipeline.nextSkillArgs}\`` : undefined,
|
|
61
|
+
'using the handoff context from this stage',
|
|
62
|
+
].filter(Boolean).join(' ')
|
|
63
|
+
: undefined;
|
|
64
|
+
const lines = [
|
|
65
|
+
'## Skill Pipeline',
|
|
66
|
+
];
|
|
67
|
+
if (steps.length > 0) {
|
|
68
|
+
lines.push(`Pipeline: \`${steps.join(' → ')}\``);
|
|
69
|
+
}
|
|
70
|
+
lines.push(`Current stage: \`${currentSkill}\``);
|
|
71
|
+
if (pipeline.nextSkill) {
|
|
72
|
+
lines.push(`Next skill: \`${pipeline.nextSkill}\``);
|
|
73
|
+
}
|
|
74
|
+
if (pipeline.nextSkillArgs) {
|
|
75
|
+
lines.push(`Next skill arguments: \`${pipeline.nextSkillArgs}\``);
|
|
76
|
+
}
|
|
77
|
+
if (pipeline.handoff) {
|
|
78
|
+
lines.push(`Handoff artifact: \`${pipeline.handoff}\``);
|
|
79
|
+
}
|
|
80
|
+
lines.push('');
|
|
81
|
+
if (pipeline.nextSkill) {
|
|
82
|
+
lines.push('When this stage completes:');
|
|
83
|
+
if (pipeline.handoff) {
|
|
84
|
+
lines.push(`1. Write or update the handoff artifact at \`${pipeline.handoff}\`.`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
lines.push('1. Write a concise handoff note before moving to the next skill.');
|
|
88
|
+
}
|
|
89
|
+
lines.push('2. Carry forward the concrete output, decisions made, and remaining risks or assumptions.');
|
|
90
|
+
lines.push(`3. Invoke ${nextInvocation}.`);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
lines.push('This is the terminal stage in the declared skill pipeline. Do not hand off to another skill unless the user explicitly asks.');
|
|
94
|
+
}
|
|
95
|
+
return lines.join('\n');
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=skill-pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-pipeline.js","sourceRoot":"","sources":["../../src/utils/skill-pipeline.ts"],"names":[],"mappings":"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"}
|
package/docs/AGENTS.md
CHANGED
|
@@ -26,7 +26,7 @@ This directory contains documentation for end-users and developers:
|
|
|
26
26
|
| `TIERED_AGENTS_V2.md` | Model routing and tiered agent design |
|
|
27
27
|
| `DELEGATION-ENFORCER.md` | Delegation protocol documentation |
|
|
28
28
|
| `SYNC-SYSTEM.md` | State synchronization system |
|
|
29
|
-
| `ANALYTICS-SYSTEM.md` |
|
|
29
|
+
| `ANALYTICS-SYSTEM.md` | Historical note on the removed analytics subsystem and current monitoring replacements |
|
|
30
30
|
| `LOCAL_PLUGIN_INSTALL.md` | Plugin installation guide |
|
|
31
31
|
|
|
32
32
|
## Subdirectories
|
package/docs/ANALYTICS-SYSTEM.md
CHANGED
|
@@ -1,147 +1,38 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Analytics System (Removed)
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Status
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The legacy analytics subsystem referenced by issue #1533 no longer exists on current `dev`.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The original code paths (`src/analytics/session-manager.ts`, `src/analytics/query-engine.ts`, and the related `omc-analytics` / `omc cost` / `omc backfill` workflow) were removed in commit `8011af06` as part of the broader analytics cleanup.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- **Cost Estimation**: Model-specific pricing with cache economics
|
|
11
|
-
- **Session Management**: Track costs across multiple sessions
|
|
12
|
-
- **Beautiful CLI**: Enhanced analytics visualization
|
|
13
|
-
- **HUD Integration**: Real-time cost display in statusline
|
|
9
|
+
## What Replaced It
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
Current builds still expose useful monitoring surfaces, but they are different from the removed analytics stack:
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
↓
|
|
22
|
-
CLI Reports
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Auto-Tracking
|
|
26
|
-
|
|
27
|
-
Token usage is automatically captured on every HUD render:
|
|
28
|
-
|
|
29
|
-
1. **TokenExtractor** parses StatuslineStdin for token data
|
|
30
|
-
2. **Delta Calculation** computes change from previous render
|
|
31
|
-
3. **Agent Correlation** associates tokens with running agents
|
|
32
|
-
4. **TokenTracker** records usage to JSONL log
|
|
33
|
-
5. **Summary Files** provide fast <10ms session loading
|
|
13
|
+
- **Agent Observatory** — real-time agent status in the HUD / API
|
|
14
|
+
- **Session Replay** — `.omc/state/agent-replay-*.jsonl` event timelines
|
|
15
|
+
- **Session-end summaries** — `.omc/sessions/<sessionId>.json` written by the `session-end` hook
|
|
16
|
+
- **Session-end notifications/callbacks** — summary payloads sent through configured notification channels
|
|
34
17
|
|
|
35
|
-
##
|
|
18
|
+
## What Is No Longer Available
|
|
36
19
|
|
|
37
|
-
|
|
20
|
+
The following legacy surfaces should be treated as removed:
|
|
38
21
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
22
|
+
- `omc-analytics`
|
|
23
|
+
- `omc cost`, `omc sessions`, `omc export`, `omc backfill`
|
|
24
|
+
- the HUD `analytics` preset
|
|
25
|
+
- `src/analytics/*` implementation files
|
|
26
|
+
- the old metrics cleanup pipeline described in issue #1533
|
|
42
27
|
|
|
43
|
-
|
|
28
|
+
## If You Need Session Metrics Today
|
|
44
29
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Real-time analytics in statusline:
|
|
48
|
-
|
|
49
|
-
- Session cost and tokens
|
|
50
|
-
- Cost per hour
|
|
51
|
-
- Cache efficiency
|
|
52
|
-
- Budget warnings (>$2 warning, >$5 critical)
|
|
53
|
-
|
|
54
|
-
Use `analytics` preset for detailed display.
|
|
55
|
-
|
|
56
|
-
## CLI Usage
|
|
30
|
+
Use the currently supported surfaces instead:
|
|
57
31
|
|
|
58
32
|
```bash
|
|
59
|
-
|
|
60
|
-
omc
|
|
61
|
-
|
|
62
|
-
# Cost reports
|
|
63
|
-
omc cost daily
|
|
64
|
-
omc cost weekly
|
|
65
|
-
omc cost monthly
|
|
66
|
-
|
|
67
|
-
# Session history
|
|
68
|
-
omc sessions
|
|
69
|
-
|
|
70
|
-
# Agent observability is shown in HUD/replay logs
|
|
71
|
-
# (legacy standalone agent-breakdown command was removed)
|
|
72
|
-
|
|
73
|
-
# Export data
|
|
74
|
-
omc export cost csv ./costs.csv
|
|
33
|
+
omc hud
|
|
34
|
+
tail -20 .omc/state/agent-replay-*.jsonl
|
|
35
|
+
ls .omc/sessions/*.json
|
|
75
36
|
```
|
|
76
37
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- **HUD Render**: <100ms total (including analytics)
|
|
80
|
-
- **Token Extraction**: <5ms per render
|
|
81
|
-
- **Summary Loading**: <10ms (mtime-cached)
|
|
82
|
-
- **CLI Startup**: <500ms
|
|
83
|
-
|
|
84
|
-
## Files
|
|
85
|
-
|
|
86
|
-
- `src/analytics/token-extractor.ts` - Token extraction
|
|
87
|
-
- `src/analytics/output-estimator.ts` - Output estimation & session ID
|
|
88
|
-
- `src/analytics/analytics-summary.ts` - Fast summary loading
|
|
89
|
-
- `src/hud/index.ts` - Auto-recording integration
|
|
90
|
-
- `.omc/state/token-tracking.jsonl` - Append-only token log
|
|
91
|
-
- `.omc/state/analytics-summary-{sessionId}.json` - Cached summaries
|
|
92
|
-
|
|
93
|
-
## Offline Transcript Analysis
|
|
94
|
-
|
|
95
|
-
### Overview
|
|
96
|
-
|
|
97
|
-
The analytics system can analyze historical Claude Code session transcripts from `~/.claude/projects/` to backfill token usage data.
|
|
98
|
-
|
|
99
|
-
### The `omc backfill` Command
|
|
100
|
-
|
|
101
|
-
Extracts actual token usage from Claude Code transcripts and adds them to the analytics database.
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
omc backfill [options]
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
#### Options
|
|
108
|
-
|
|
109
|
-
| Option | Description |
|
|
110
|
-
|--------|-------------|
|
|
111
|
-
| `--project <glob>` | Filter to specific project paths |
|
|
112
|
-
| `--from <date>` | Only process transcripts modified after date (ISO format) |
|
|
113
|
-
| `--to <date>` | Only process transcripts modified before date |
|
|
114
|
-
| `--dry-run` | Preview without writing to database |
|
|
115
|
-
| `--reset` | Clear deduplication index and re-process all |
|
|
116
|
-
| `--verbose` | Show detailed per-file progress |
|
|
117
|
-
| `--json` | Output as JSON |
|
|
118
|
-
|
|
119
|
-
#### Examples
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
# Preview all available transcripts
|
|
123
|
-
omc backfill --dry-run
|
|
124
|
-
|
|
125
|
-
# Backfill specific project
|
|
126
|
-
omc backfill --project "*VibeQuant*"
|
|
127
|
-
|
|
128
|
-
# Backfill recent transcripts only
|
|
129
|
-
omc backfill --from "2026-01-01"
|
|
130
|
-
|
|
131
|
-
# Re-process everything
|
|
132
|
-
omc backfill --reset
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Auto-Backfill
|
|
136
|
-
|
|
137
|
-
The `omc` CLI automatically runs a silent backfill on startup if more than 24 hours have passed since the last backfill. This ensures your analytics stay up-to-date without manual intervention.
|
|
138
|
-
|
|
139
|
-
### Data Sources
|
|
140
|
-
|
|
141
|
-
- **Transcript Location**: `~/.claude/projects/<encoded-path>/<uuid>.jsonl`
|
|
142
|
-
- **Token Data**: Actual `output_tokens` from API responses (not estimates)
|
|
143
|
-
- **Agent Detection**: Extracted from `tool_use` blocks with Task tool
|
|
144
|
-
|
|
145
|
-
### Deduplication
|
|
146
|
-
|
|
147
|
-
Entries are deduplicated using a hash of `sessionId + timestamp + model`. Safe to run multiple times.
|
|
38
|
+
For integration hooks, inspect the `session-end` summary JSON and notification payloads rather than looking for the removed analytics commands.
|
package/docs/CLAUDE.md
CHANGED
|
@@ -1,184 +1,85 @@
|
|
|
1
1
|
<!-- OMC:START -->
|
|
2
|
-
<!-- OMC:VERSION:4.
|
|
2
|
+
<!-- OMC:VERSION:4.7.10 -->
|
|
3
3
|
|
|
4
4
|
# oh-my-claudecode - Intelligent Multi-Agent Orchestration
|
|
5
5
|
|
|
6
6
|
You are running with oh-my-claudecode (OMC), a multi-agent orchestration layer for Claude Code.
|
|
7
|
-
|
|
7
|
+
Coordinate specialized agents, tools, and skills so work is completed accurately and efficiently.
|
|
8
8
|
|
|
9
9
|
<operating_principles>
|
|
10
|
-
|
|
11
10
|
- Delegate specialized work to the most appropriate agent.
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
</operating_principles>
|
|
11
|
+
- Prefer evidence over assumptions: verify outcomes before final claims.
|
|
12
|
+
- Choose the lightest-weight path that preserves quality.
|
|
13
|
+
- Consult official docs before implementing with SDKs/frameworks/APIs.
|
|
14
|
+
</operating_principles>
|
|
17
15
|
|
|
18
16
|
<delegation_rules>
|
|
19
|
-
Delegate for: multi-file changes, refactors, debugging, reviews, planning, research, verification
|
|
20
|
-
Work directly for: trivial
|
|
21
|
-
Route code
|
|
22
|
-
For uncertain SDK/API usage, delegate to `document-specialist` to fetch official docs first.
|
|
17
|
+
Delegate for: multi-file changes, refactors, debugging, reviews, planning, research, verification.
|
|
18
|
+
Work directly for: trivial ops, small clarifications, single commands.
|
|
19
|
+
Route code to `executor` (use `model=opus` for complex work). Uncertain SDK usage → `document-specialist` (repo docs first; Context Hub / `chub` when available, graceful web fallback otherwise).
|
|
23
20
|
</delegation_rules>
|
|
24
21
|
|
|
25
22
|
<model_routing>
|
|
26
|
-
|
|
23
|
+
`haiku` (quick lookups), `sonnet` (standard), `opus` (architecture, deep analysis).
|
|
27
24
|
Direct writes OK for: `~/.claude/**`, `.omc/**`, `.claude/**`, `CLAUDE.md`, `AGENTS.md`.
|
|
28
|
-
For source-code edits, prefer delegation to implementation agents.
|
|
29
25
|
</model_routing>
|
|
30
26
|
|
|
31
27
|
<agent_catalog>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Build/Analysis:
|
|
35
|
-
|
|
36
|
-
- `explore` (haiku): codebase discovery, symbol/file mapping
|
|
37
|
-
- `analyst` (opus): requirements clarity, acceptance criteria
|
|
38
|
-
- `planner` (opus): task sequencing, execution plans
|
|
39
|
-
- `architect` (opus): system design, boundaries, interfaces
|
|
40
|
-
- `debugger` (sonnet): root-cause analysis, regression isolation
|
|
41
|
-
- `executor` (sonnet): code implementation, refactoring
|
|
42
|
-
- `deep-executor` (opus): complex autonomous goal-oriented tasks
|
|
43
|
-
- `verifier` (sonnet): completion evidence, claim validation
|
|
44
|
-
|
|
45
|
-
Review:
|
|
46
|
-
|
|
47
|
-
- `quality-reviewer` (sonnet): logic defects, maintainability, anti-patterns, performance
|
|
48
|
-
- `security-reviewer` (sonnet): vulnerabilities, trust boundaries, authn/authz
|
|
49
|
-
- `code-reviewer` (opus): comprehensive review, API contracts, backward compatibility
|
|
50
|
-
|
|
51
|
-
Domain:
|
|
52
|
-
|
|
53
|
-
- `test-engineer` (sonnet): test strategy, coverage, flaky-test hardening
|
|
54
|
-
- `build-fixer` (sonnet): build/toolchain/type failures
|
|
55
|
-
- `designer` (sonnet): UX/UI architecture, interaction design
|
|
56
|
-
- `writer` (haiku): docs, migration notes, user guidance
|
|
57
|
-
- `qa-tester` (sonnet): interactive CLI/service runtime validation
|
|
58
|
-
- `scientist` (sonnet): data/statistical analysis
|
|
59
|
-
- `document-specialist` (sonnet): external documentation & reference lookup
|
|
60
|
-
- `git-master` (sonnet): git operations, commit history management
|
|
61
|
-
- `code-simplifier` (opus): code clarity and simplification
|
|
28
|
+
Prefix: `oh-my-claudecode:`. See `agents/*.md` for full prompts.
|
|
62
29
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- `critic` (opus): plan/design critical challenge
|
|
66
|
-
</agent_catalog>
|
|
30
|
+
explore (haiku), analyst (opus), planner (opus), architect (opus), debugger (sonnet), executor (sonnet), verifier (sonnet), security-reviewer (sonnet), code-reviewer (opus), test-engineer (sonnet), designer (sonnet), writer (haiku), qa-tester (sonnet), scientist (sonnet), document-specialist (sonnet), git-master (sonnet), code-simplifier (opus), critic (opus)
|
|
31
|
+
</agent_catalog>
|
|
67
32
|
|
|
68
33
|
<tools>
|
|
69
|
-
External AI
|
|
70
|
-
- Claude agents: `/team N:executor "task"` via `TeamCreate`/`Task`
|
|
71
|
-
- Codex/Gemini workers: `omc team N:codex|gemini "..."` (plus `omc team status <team-name>` / `omc team shutdown <team-name>`)
|
|
72
|
-
- Provider advisor CLI: `omc ask <claude|codex|gemini> ...` (writes artifacts to `.omc/artifacts/ask/`)
|
|
73
|
-
- Ask shortcuts: `/oh-my-claudecode:ask-codex` and `/oh-my-claudecode:ask-gemini` route to the same `omc ask` flow
|
|
74
|
-
- CCG skill route: `/oh-my-claudecode:ccg` fans out via `ask-codex` + `ask-gemini`, then Claude synthesizes
|
|
75
|
-
|
|
34
|
+
External AI: `/team N:executor "task"`, `omc team N:codex|gemini "..."`, `omc ask <claude|codex|gemini>`, `/ccg`
|
|
76
35
|
OMC State: `state_read`, `state_write`, `state_clear`, `state_list_active`, `state_get_status`
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
- AST: `ast_grep_search`, `ast_grep_replace`
|
|
90
|
-
- `python_repl`: persistent Python REPL for data analysis
|
|
91
|
-
</tools>
|
|
92
|
-
|
|
93
|
-
<passive-behaviors>
|
|
94
|
-
These behaviors apply unconditionally — no skill invocation required:
|
|
95
|
-
- ALWAYS delegate source code edits (.ts/.py/.go/.js/.tsx etc.) to `executor`; never write them directly
|
|
96
|
-
- ALWAYS run `verifier` before claiming a task complete
|
|
97
|
-
- "build me" / "I want a [project]" / "create a [app]" → start autopilot workflow immediately
|
|
98
|
-
- "don't stop" / "must complete" → ralph mode, loop until verified complete
|
|
99
|
-
- broad request (vague verb, no target file/function, touches 3+ areas) → explore first, then plan skill
|
|
100
|
-
- project has AGENTS.md files → read them as authoritative passive context before any codebase work
|
|
101
|
-
</passive-behaviors>
|
|
102
|
-
|
|
103
|
-
Workflow:
|
|
104
|
-
|
|
105
|
-
- `autopilot` ("autopilot", "build me", "I want a"): full autonomous execution from idea to working code
|
|
106
|
-
- `ralph` ("ralph", "don't stop", "must complete"): self-referential loop with verifier verification; includes ultrawork
|
|
107
|
-
- `ultrawork` ("ulw", "ultrawork"): maximum parallelism with parallel agent orchestration
|
|
108
|
-
- `team` ("team", "coordinated team", "team ralph"): N coordinated Claude agents with stage-aware routing; `team ralph` for persistent team execution
|
|
109
|
-
- `ccg` ("ccg", "tri-model", "claude codex gemini"): fan out via `ask-codex` + `ask-gemini`, then Claude synthesizes
|
|
110
|
-
- `ultraqa` (activated by autopilot): QA cycling -- test, verify, fix, repeat
|
|
111
|
-
- `omc-plan` (manual command): strategic planning; supports `--consensus` and `--review`
|
|
112
|
-
- `ralplan` ("ralplan", "consensus plan"): alias for `/omc-plan --consensus` -- iterative planning with Planner, Architect, Critic until consensus; short deliberation by default, `--deliberate` for high-risk work (adds pre-mortem + expanded unit/integration/e2e/observability test planning)
|
|
113
|
-
- `sciomc` ("sciomc"): parallel scientist agents for comprehensive analysis
|
|
114
|
-
- `external-context`: parallel document-specialist agents for web searches
|
|
115
|
-
- `deepinit` ("deepinit"): deep codebase init with hierarchical AGENTS.md
|
|
116
|
-
|
|
117
|
-
Agent Shortcuts (thin wrappers):
|
|
118
|
-
|
|
119
|
-
- `analyze` -> `debugger`: "analyze", "debug", "investigate"
|
|
120
|
-
- `tdd` -> `test-engineer`: "tdd", "test first", "red green"
|
|
121
|
-
- `build-fix` -> `build-fixer`: "fix build", "type errors"
|
|
122
|
-
- `code-review` -> `code-reviewer`: "review code"
|
|
123
|
-
- `security-review` -> `security-reviewer`: "security review"
|
|
124
|
-
- `review` -> `omc-plan --review`: "review plan", "critique plan"
|
|
125
|
-
|
|
126
|
-
Notifications: `configure-notifications` ("configure discord", "setup telegram", "configure slack")
|
|
127
|
-
Utilities: `ask-codex`, `ask-gemini`, `cancel`, `note`, `learner`, `omc-setup`, `mcp-setup`, `hud`, `omc-doctor`, `omc-help`, `trace`, `release`, `project-session-manager`, `skill`, `writer-memory`, `ralph-init`, `learn-about-omc`
|
|
128
|
-
|
|
129
|
-
Disambiguation: prompts like "ask/use/delegate to codex|gemini" -> `ask-codex` / `ask-gemini`; "claude codex gemini" -> ccg.
|
|
36
|
+
Teams: `TeamCreate`, `TeamDelete`, `SendMessage`, `TaskCreate`, `TaskList`, `TaskGet`, `TaskUpdate`
|
|
37
|
+
Notepad: `notepad_read`, `notepad_write_priority`, `notepad_write_working`, `notepad_write_manual`
|
|
38
|
+
Project Memory: `project_memory_read`, `project_memory_write`, `project_memory_add_note`, `project_memory_add_directive`
|
|
39
|
+
Code Intel: LSP (`lsp_hover`, `lsp_goto_definition`, `lsp_find_references`, `lsp_diagnostics`, etc.), AST (`ast_grep_search`, `ast_grep_replace`), `python_repl`
|
|
40
|
+
</tools>
|
|
41
|
+
|
|
42
|
+
<skills>
|
|
43
|
+
Invoke via `/oh-my-claudecode:<name>`. Trigger patterns auto-detect keywords.
|
|
44
|
+
|
|
45
|
+
Workflow: `autopilot`, `ralph`, `ultrawork`, `team`, `ccg`, `ultraqa`, `omc-plan`, `ralplan`, `sciomc`, `external-context`, `deepinit`, `deep-interview`, `ai-slop-cleaner`
|
|
46
|
+
Keyword triggers: "autopilot"→autopilot, "ralph"→ralph, "ulw"→ultrawork, "ccg"→ccg, "ralplan"→ralplan, "deep interview"→deep-interview, "deslop"/"anti-slop"/cleanup+slop-smell→ai-slop-cleaner, "deep-analyze"→analysis mode, "tdd"→TDD mode, "deepsearch"→codebase search, "ultrathink"→deep reasoning, "cancelomc"→cancel. Team orchestration is explicit via `/team`.
|
|
47
|
+
Utilities: `ask-codex`, `ask-gemini`, `cancel`, `note`, `learner`, `omc-setup`, `mcp-setup`, `hud`, `omc-doctor`, `omc-help`, `trace`, `release`, `project-session-manager`, `skill`, `writer-memory`, `ralph-init`, `configure-notifications`, `learn-about-omc`
|
|
130
48
|
</skills>
|
|
131
49
|
|
|
132
50
|
<team_pipeline>
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
Stage routing:
|
|
136
|
-
|
|
137
|
-
- `team-plan`: `explore` + `planner`, optionally `analyst`/`architect`
|
|
138
|
-
- `team-prd`: `analyst`, optionally `critic`
|
|
139
|
-
- `team-exec`: `executor` + specialists (`designer`, `build-fixer`, `writer`, `test-engineer`, `deep-executor`)
|
|
140
|
-
- `team-verify`: `verifier` + reviewers as needed
|
|
141
|
-
- `team-fix`: `executor`/`build-fixer`/`debugger` depending on defect type
|
|
142
|
-
|
|
143
|
-
Fix loop bounded by max attempts. Terminal states: `complete`, `failed`, `cancelled`.
|
|
144
|
-
`team ralph` links both modes; cancelling either cancels both.
|
|
51
|
+
Stages: `team-plan` → `team-prd` → `team-exec` → `team-verify` → `team-fix` (loop).
|
|
52
|
+
Fix loop bounded by max attempts. `team ralph` links both modes.
|
|
145
53
|
</team_pipeline>
|
|
146
54
|
|
|
147
55
|
<verification>
|
|
148
|
-
Verify before claiming completion.
|
|
149
|
-
|
|
56
|
+
Verify before claiming completion. Size appropriately: small→haiku, standard→sonnet, large/security→opus.
|
|
57
|
+
If verification fails, keep iterating.
|
|
150
58
|
</verification>
|
|
151
59
|
|
|
152
60
|
<execution_protocols>
|
|
153
|
-
Broad requests
|
|
154
|
-
|
|
155
|
-
|
|
61
|
+
Broad requests: explore first, then plan. 2+ independent tasks in parallel. `run_in_background` for builds/tests.
|
|
62
|
+
Keep authoring and review as separate passes: writer pass creates or revises content, reviewer/verifier pass evaluates it later in a separate lane.
|
|
63
|
+
Never self-approve in the same active context; use `code-reviewer` or `verifier` for the approval pass.
|
|
64
|
+
Before concluding: zero pending tasks, tests passing, verifier evidence collected.
|
|
156
65
|
</execution_protocols>
|
|
157
66
|
|
|
158
67
|
<hooks_and_context>
|
|
159
|
-
Hooks inject
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
- `hook additional context: ...` -- read it; relevant to your task
|
|
163
|
-
- `[MAGIC KEYWORD: ...]` -- invoke the indicated skill immediately
|
|
164
|
-
- `The boulder never stops` -- ralph/ultrawork mode; keep working
|
|
165
|
-
|
|
166
|
-
Persistence: `<remember>info</remember>` (7 days), `<remember priority>info</remember>` (permanent).
|
|
167
|
-
Kill switches: `DISABLE_OMC` (all hooks), `OMC_SKIP_HOOKS` (comma-separated).
|
|
68
|
+
Hooks inject `<system-reminder>` tags. Key patterns: `hook success: Success` (proceed), `[MAGIC KEYWORD: ...]` (invoke skill), `The boulder never stops` (ralph/ultrawork active).
|
|
69
|
+
Persistence: `<remember>` (7 days), `<remember priority>` (permanent).
|
|
70
|
+
Kill switches: `DISABLE_OMC`, `OMC_SKIP_HOOKS` (comma-separated).
|
|
168
71
|
</hooks_and_context>
|
|
169
72
|
|
|
170
73
|
<cancellation>
|
|
171
|
-
|
|
172
|
-
Cancel when: tasks done and verified, work blocked (explain first), user says "stop".
|
|
173
|
-
Do not cancel when: stop hook fires but work is still incomplete.
|
|
74
|
+
`/oh-my-claudecode:cancel` ends execution modes. Cancel when done+verified or blocked. Don't cancel if work incomplete.
|
|
174
75
|
</cancellation>
|
|
175
76
|
|
|
176
77
|
<worktree_paths>
|
|
177
|
-
|
|
78
|
+
State: `.omc/state/`, `.omc/state/sessions/{sessionId}/`, `.omc/notepad.md`, `.omc/project-memory.json`, `.omc/plans/`, `.omc/research/`, `.omc/logs/`
|
|
178
79
|
</worktree_paths>
|
|
179
80
|
|
|
180
81
|
## Setup
|
|
181
82
|
|
|
182
|
-
Say "setup omc" or run `/oh-my-claudecode:omc-setup`.
|
|
83
|
+
Say "setup omc" or run `/oh-my-claudecode:omc-setup`.
|
|
183
84
|
|
|
184
85
|
<!-- OMC:END -->
|
package/docs/MIGRATION.md
CHANGED
|
@@ -178,12 +178,12 @@ The project was rebranded to better reflect its purpose and improve discoverabil
|
|
|
178
178
|
- **Project/brand name**: `oh-my-claudecode` (GitHub repo, plugin name, commands)
|
|
179
179
|
- **npm package name**: `claudecode-omc`
|
|
180
180
|
|
|
181
|
-
> **Why the difference?** The npm package name `claudecode-omc` is used for distribution, while the project, GitHub repository, plugin, and commands use `oh-my-claudecode`.
|
|
181
|
+
> **Why the difference?** The npm package name `claudecode-omc` is used for distribution, while the project, GitHub repository, plugin, and all commands use `oh-my-claudecode`.
|
|
182
182
|
|
|
183
183
|
#### NPM Install Command
|
|
184
184
|
|
|
185
185
|
```bash
|
|
186
|
-
npm
|
|
186
|
+
npm i -g claudecode-omc@latest
|
|
187
187
|
```
|
|
188
188
|
|
|
189
189
|
### What Changed
|
|
@@ -276,7 +276,7 @@ All 2.x commands continue to work. Here's what changed:
|
|
|
276
276
|
| `/oh-my-claudecode:plan "description"` | Start planning naturally | ✅ YES |
|
|
277
277
|
| `/oh-my-claudecode:review [path]` | Invoke normally | ✅ YES (unchanged) |
|
|
278
278
|
| `/oh-my-claudecode:deepsearch "query"` | Say "find" or "search" | ✅ YES (auto-detect) |
|
|
279
|
-
| `/oh-my-claudecode:analyze "target"` | Say "analyze"
|
|
279
|
+
| `/oh-my-claudecode:analyze "target"` | Say "analyze" — routes to debugger/architect agent | ✅ YES (keyword route) |
|
|
280
280
|
| `/oh-my-claudecode:deepinit [path]` | Invoke normally | ✅ YES (unchanged) |
|
|
281
281
|
| `/oh-my-claudecode:git-master` | Say "git", "commit", "atomic commit" | ✅ YES (auto-detect) |
|
|
282
282
|
| `/oh-my-claudecode:frontend-ui-ux` | Say "UI", "styling", "component", "design" | ✅ YES (auto-detect) |
|
|
@@ -671,7 +671,7 @@ Chain agents with data passing between stages:
|
|
|
671
671
|
|
|
672
672
|
- `review` - explore → architect → critic → executor
|
|
673
673
|
- `implement` - planner → executor → tdd-guide
|
|
674
|
-
- `debug` - explore → architect →
|
|
674
|
+
- `debug` - explore → architect → debugger
|
|
675
675
|
- `research` - parallel(document-specialist, explore) → architect → writer
|
|
676
676
|
- `refactor` - explore → architect-medium → executor-high → qa-tester
|
|
677
677
|
- `security` - explore → security-reviewer → executor → security-reviewer-low
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# OpenClaw / Clawhip Routing Contract
|
|
2
|
+
|
|
3
|
+
This document defines the normalized event contract OMC emits through the OpenClaw bridge for native Clawhip-style consumers.
|
|
4
|
+
|
|
5
|
+
## Goals
|
|
6
|
+
|
|
7
|
+
- Keep the raw hook event (`event`) for backward compatibility.
|
|
8
|
+
- Add a normalized `signal` object for routing and dedupe-friendly filtering.
|
|
9
|
+
- Make command/native gateways receive the same logical payload shape as HTTP gateways.
|
|
10
|
+
|
|
11
|
+
## Payload shape
|
|
12
|
+
|
|
13
|
+
HTTP gateways receive JSON with this structure:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"event": "post-tool-use",
|
|
18
|
+
"instruction": "...",
|
|
19
|
+
"timestamp": "2026-03-09T00:00:00.000Z",
|
|
20
|
+
"sessionId": "...",
|
|
21
|
+
"projectPath": "...",
|
|
22
|
+
"projectName": "...",
|
|
23
|
+
"tmuxSession": "...",
|
|
24
|
+
"tmuxTail": "...",
|
|
25
|
+
"signal": {
|
|
26
|
+
"kind": "test",
|
|
27
|
+
"name": "test-run",
|
|
28
|
+
"phase": "failed",
|
|
29
|
+
"routeKey": "test.failed",
|
|
30
|
+
"priority": "high",
|
|
31
|
+
"toolName": "Bash",
|
|
32
|
+
"command": "pnpm test",
|
|
33
|
+
"testRunner": "package-test",
|
|
34
|
+
"summary": "FAIL src/example.test.ts | ..."
|
|
35
|
+
},
|
|
36
|
+
"context": {
|
|
37
|
+
"sessionId": "...",
|
|
38
|
+
"projectPath": "...",
|
|
39
|
+
"toolName": "Bash"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## `signal` contract
|
|
45
|
+
|
|
46
|
+
| Field | Meaning |
|
|
47
|
+
| ---------- | --------------------------------------------------------------------------------- |
|
|
48
|
+
| `kind` | Routing family: `session`, `tool`, `test`, `pull-request`, `question`, `keyword` |
|
|
49
|
+
| `name` | Stable logical signal name |
|
|
50
|
+
| `phase` | Lifecycle phase: `started`, `finished`, `failed`, `idle`, `detected`, `requested` |
|
|
51
|
+
| `routeKey` | Canonical routing key for downstream consumers |
|
|
52
|
+
| `priority` | `high` for operational signals, `low` for generic tool noise |
|
|
53
|
+
|
|
54
|
+
Additional fields may appear when applicable:
|
|
55
|
+
|
|
56
|
+
- `toolName`
|
|
57
|
+
- `command`
|
|
58
|
+
- `testRunner`
|
|
59
|
+
- `prUrl`
|
|
60
|
+
- `summary`
|
|
61
|
+
|
|
62
|
+
## Native command gateway contract
|
|
63
|
+
|
|
64
|
+
Command gateways now get the same normalized payload through both:
|
|
65
|
+
|
|
66
|
+
- template variable: `{{payloadJson}}`
|
|
67
|
+
- env var: `OPENCLAW_PAYLOAD_JSON`
|
|
68
|
+
|
|
69
|
+
They also receive convenience env vars:
|
|
70
|
+
|
|
71
|
+
- `OPENCLAW_SIGNAL_ROUTE_KEY`
|
|
72
|
+
- `OPENCLAW_SIGNAL_PHASE`
|
|
73
|
+
- `OPENCLAW_SIGNAL_KIND`
|
|
74
|
+
|
|
75
|
+
That lets native Clawhip routing consume one contract whether the transport is HTTP or shell-command based.
|
|
76
|
+
|
|
77
|
+
## Current high-priority route keys
|
|
78
|
+
|
|
79
|
+
- `session.started`
|
|
80
|
+
- `session.finished`
|
|
81
|
+
- `session.idle`
|
|
82
|
+
- `question.requested`
|
|
83
|
+
- `test.started`
|
|
84
|
+
- `test.finished`
|
|
85
|
+
- `test.failed`
|
|
86
|
+
- `pull-request.started`
|
|
87
|
+
- `pull-request.created`
|
|
88
|
+
- `pull-request.failed`
|
|
89
|
+
- `tool.failed`
|
|
90
|
+
|
|
91
|
+
Generic `tool.started` / `tool.finished` remain available as low-priority fallback signals.
|
|
92
|
+
|
|
93
|
+
## Noise reduction
|
|
94
|
+
|
|
95
|
+
- `AskUserQuestion` now emits only the dedicated `question.requested` signal instead of also emitting generic tool lifecycle events.
|
|
96
|
+
- Consumers should prefer `signal.priority === "high"` or explicit `signal.routeKey` filters instead of routing directly on raw hook names.
|
|
97
|
+
|
|
98
|
+
## Stability notes
|
|
99
|
+
|
|
100
|
+
- Raw `event` names are preserved for backward compatibility.
|
|
101
|
+
- `signal` is the preferred routing surface for new native Clawhip integrations.
|
|
102
|
+
- `context` remains a whitelisted subset; internal raw tool input/output are used only to derive normalized signals and are not forwarded in `payload.context`.
|