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
|
@@ -8,7 +8,6 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
8
8
|
|--------|-------------|-----------------|-------------|
|
|
9
9
|
| **Analysis** | architect-low | architect-medium | architect |
|
|
10
10
|
| **Execution** | executor-low | executor | executor-high |
|
|
11
|
-
| **Deep Work** | - | - | deep-executor |
|
|
12
11
|
| **Search** | explore | - | explore-high |
|
|
13
12
|
| **Research** | - | document-specialist | - |
|
|
14
13
|
| **Frontend** | designer-low | designer | designer-high |
|
|
@@ -19,8 +18,7 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
19
18
|
| **Pre-Planning** | - | - | analyst |
|
|
20
19
|
| **Testing** | - | qa-tester | - |
|
|
21
20
|
| **Security** | security-reviewer-low | - | security-reviewer |
|
|
22
|
-
| **
|
|
23
|
-
| **TDD** | tdd-guide-low | tdd-guide | - |
|
|
21
|
+
| **TDD** | test-engineer (model=haiku) | test-engineer | - |
|
|
24
22
|
| **Code Review** | - | - | code-reviewer |
|
|
25
23
|
| **Data Science** | - | scientist | scientist-high |
|
|
26
24
|
|
|
@@ -55,10 +53,10 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
55
53
|
| Interactive CLI testing | qa-tester | MEDIUM |
|
|
56
54
|
| Security review | security-reviewer | HIGH |
|
|
57
55
|
| Quick security scan | security-reviewer-low | LOW |
|
|
58
|
-
| Fix build errors |
|
|
59
|
-
| Simple build fix |
|
|
60
|
-
| TDD workflow |
|
|
61
|
-
| Quick test suggestions |
|
|
56
|
+
| Fix build errors | debugger | MEDIUM |
|
|
57
|
+
| Simple build fix | debugger (model=haiku) | LOW |
|
|
58
|
+
| TDD workflow | test-engineer | MEDIUM |
|
|
59
|
+
| Quick test suggestions | test-engineer (model=haiku) | LOW |
|
|
62
60
|
| Code review | code-reviewer | HIGH |
|
|
63
61
|
| Quick code check | code-reviewer (model=haiku) | LOW |
|
|
64
62
|
| Data analysis/stats | scientist | MEDIUM |
|
|
@@ -68,11 +66,11 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
68
66
|
| Get file/workspace symbol outline | explore | LOW |
|
|
69
67
|
| Structural code pattern search | explore | LOW |
|
|
70
68
|
| Structural code transformation | executor-high | HIGH |
|
|
71
|
-
| Project-wide type checking |
|
|
69
|
+
| Project-wide type checking | debugger | MEDIUM |
|
|
72
70
|
| Check single file for errors | executor-low | LOW |
|
|
73
71
|
| Data analysis / computation | scientist | MEDIUM |
|
|
74
|
-
| Complex autonomous work |
|
|
75
|
-
| Deep goal-oriented execution |
|
|
72
|
+
| Complex autonomous work | executor-high | HIGH |
|
|
73
|
+
| Deep goal-oriented execution | executor-high | HIGH |
|
|
76
74
|
|
|
77
75
|
## Usage
|
|
78
76
|
|
|
@@ -123,10 +121,8 @@ For token savings, prefer lower tiers when the task allows:
|
|
|
123
121
|
| `executor-low` | yes | - | - | - | - | - | - |
|
|
124
122
|
| `executor` | yes | yes | - | - | - | - | - |
|
|
125
123
|
| `executor-high` | yes | yes | - | - | yes | yes | - |
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `tdd-guide` | yes | - | - | - | - | - | - |
|
|
129
|
-
| `tdd-guide-low` | yes | - | - | - | - | - | - |
|
|
124
|
+
| `debugger` | yes | yes | - | - | - | - | - |
|
|
125
|
+
| `test-engineer` | yes | - | - | - | - | - | - |
|
|
130
126
|
| `code-reviewer` | yes | - | - | - | yes | - | - |
|
|
131
127
|
| `qa-tester` | yes | - | - | - | - | - | - |
|
|
132
128
|
| `scientist` | - | - | - | - | - | - | yes |
|
|
@@ -154,7 +150,7 @@ For complex rename or refactoring tasks requiring implementation, delegate to `e
|
|
|
154
150
|
- **Need to find all usages of a symbol?** Use `lsp_find_references` via `explore-high` (only agent with it)
|
|
155
151
|
- **Need structural code patterns?** (e.g., "find all functions matching X shape") Use `ast_grep_search` via `explore` family, `architect`/`architect-medium`, or `code-reviewer`
|
|
156
152
|
- **Need to transform code structurally?** Use `ast_grep_replace` via `executor-high` (only agent with it)
|
|
157
|
-
- **Need project-wide type checking?** Use `lsp_diagnostics_directory` via `architect`/`architect-medium`, `executor`/`executor-high`, or `
|
|
153
|
+
- **Need project-wide type checking?** Use `lsp_diagnostics_directory` via `architect`/`architect-medium`, `executor`/`executor-high`, or `debugger`
|
|
158
154
|
- **Need single-file error checking?** Use `lsp_diagnostics` via many agents (see matrix)
|
|
159
155
|
- **Need data analysis / computation?** Use `python_repl` via `scientist` or `scientist-high`
|
|
160
156
|
- **Need quick type info or definition lookup?** Use `lsp_hover`/`lsp_goto_definition` directly (orchestrator-direct tools)
|
|
@@ -103,8 +103,8 @@ Sequential agent chaining with data passing between stages.
|
|
|
103
103
|
| Preset | Stages |
|
|
104
104
|
|--------|--------|
|
|
105
105
|
| `review` | explore -> architect -> critic -> executor |
|
|
106
|
-
| `implement` | planner -> executor ->
|
|
107
|
-
| `debug` | explore -> architect ->
|
|
106
|
+
| `implement` | planner -> executor -> test-engineer |
|
|
107
|
+
| `debug` | explore -> architect -> debugger |
|
|
108
108
|
| `research` | parallel(document-specialist, explore) -> architect -> writer |
|
|
109
109
|
| `refactor` | explore -> architect-medium -> executor-high -> qa-tester |
|
|
110
110
|
| `security` | explore -> security-reviewer -> executor -> security-reviewer-low |
|
|
@@ -29,7 +29,7 @@ Uncertain about requirements or have a vague idea?
|
|
|
29
29
|
|
|
30
30
|
Want autonomous execution?
|
|
31
31
|
├── YES: Is task parallelizable into 3+ independent components?
|
|
32
|
-
│ ├── YES: team N:
|
|
32
|
+
│ ├── YES: team N:executor (parallel autonomous with file ownership)
|
|
33
33
|
│ └── NO: autopilot (sequential with ralph phases)
|
|
34
34
|
└── NO: Want parallel execution with manual oversight?
|
|
35
35
|
├── YES: Do you want cost optimization?
|
|
@@ -48,7 +48,7 @@ Have many similar independent tasks (e.g., "fix 47 errors")?
|
|
|
48
48
|
| User Request | Best Mode | Why |
|
|
49
49
|
|--------------|-----------|-----|
|
|
50
50
|
| "Build me a REST API" | autopilot | Single coherent deliverable |
|
|
51
|
-
| "Build frontend, backend, and database" | team 3:
|
|
51
|
+
| "Build frontend, backend, and database" | team 3:executor | Clear component boundaries |
|
|
52
52
|
| "Fix all 47 TypeScript errors" | team 5:executor | Many independent similar tasks |
|
|
53
53
|
| "Refactor auth module thoroughly" | ralph | Need persistence + verification |
|
|
54
54
|
| "Quick parallel execution" | ultrawork | Manual oversight preferred |
|
|
@@ -8,7 +8,6 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
8
8
|
|--------|-------------|-----------------|-------------|
|
|
9
9
|
| **Analysis** | architect-low | architect-medium | architect |
|
|
10
10
|
| **Execution** | executor-low | executor | executor-high |
|
|
11
|
-
| **Deep Work** | - | - | deep-executor |
|
|
12
11
|
| **Search** | explore | - | explore-high |
|
|
13
12
|
| **Research** | - | document-specialist | - |
|
|
14
13
|
| **Frontend** | designer-low | designer | designer-high |
|
|
@@ -19,8 +18,7 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
19
18
|
| **Pre-Planning** | - | - | analyst |
|
|
20
19
|
| **Testing** | - | qa-tester | - |
|
|
21
20
|
| **Security** | security-reviewer-low | - | security-reviewer |
|
|
22
|
-
| **
|
|
23
|
-
| **TDD** | tdd-guide-low | tdd-guide | - |
|
|
21
|
+
| **TDD** | test-engineer (model=haiku) | test-engineer | - |
|
|
24
22
|
| **Code Review** | - | - | code-reviewer |
|
|
25
23
|
| **Data Science** | - | scientist | scientist-high |
|
|
26
24
|
|
|
@@ -55,10 +53,10 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
55
53
|
| Interactive CLI testing | qa-tester | MEDIUM |
|
|
56
54
|
| Security review | security-reviewer | HIGH |
|
|
57
55
|
| Quick security scan | security-reviewer-low | LOW |
|
|
58
|
-
| Fix build errors |
|
|
59
|
-
| Simple build fix |
|
|
60
|
-
| TDD workflow |
|
|
61
|
-
| Quick test suggestions |
|
|
56
|
+
| Fix build errors | debugger | MEDIUM |
|
|
57
|
+
| Simple build fix | debugger (model=haiku) | LOW |
|
|
58
|
+
| TDD workflow | test-engineer | MEDIUM |
|
|
59
|
+
| Quick test suggestions | test-engineer (model=haiku) | LOW |
|
|
62
60
|
| Code review | code-reviewer | HIGH |
|
|
63
61
|
| Quick code check | code-reviewer (model=haiku) | LOW |
|
|
64
62
|
| Data analysis/stats | scientist | MEDIUM |
|
|
@@ -68,11 +66,11 @@ This is the single source of truth for all agent tier information. All skill fil
|
|
|
68
66
|
| Get file/workspace symbol outline | explore | LOW |
|
|
69
67
|
| Structural code pattern search | explore | LOW |
|
|
70
68
|
| Structural code transformation | executor-high | HIGH |
|
|
71
|
-
| Project-wide type checking |
|
|
69
|
+
| Project-wide type checking | debugger | MEDIUM |
|
|
72
70
|
| Check single file for errors | executor-low | LOW |
|
|
73
71
|
| Data analysis / computation | scientist | MEDIUM |
|
|
74
|
-
| Complex autonomous work |
|
|
75
|
-
| Deep goal-oriented execution |
|
|
72
|
+
| Complex autonomous work | executor-high | HIGH |
|
|
73
|
+
| Deep goal-oriented execution | executor-high | HIGH |
|
|
76
74
|
|
|
77
75
|
## Usage
|
|
78
76
|
|
|
@@ -123,10 +121,8 @@ For token savings, prefer lower tiers when the task allows:
|
|
|
123
121
|
| `executor-low` | yes | - | - | - | - | - | - |
|
|
124
122
|
| `executor` | yes | yes | - | - | - | - | - |
|
|
125
123
|
| `executor-high` | yes | yes | - | - | yes | yes | - |
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `tdd-guide` | yes | - | - | - | - | - | - |
|
|
129
|
-
| `tdd-guide-low` | yes | - | - | - | - | - | - |
|
|
124
|
+
| `debugger` | yes | yes | - | - | - | - | - |
|
|
125
|
+
| `test-engineer` | yes | - | - | - | - | - | - |
|
|
130
126
|
| `code-reviewer` | yes | - | - | - | yes | - | - |
|
|
131
127
|
| `qa-tester` | yes | - | - | - | - | - | - |
|
|
132
128
|
| `scientist` | - | - | - | - | - | - | yes |
|
|
@@ -154,7 +150,7 @@ For complex rename or refactoring tasks requiring implementation, delegate to `e
|
|
|
154
150
|
- **Need to find all usages of a symbol?** Use `lsp_find_references` via `explore-high` (only agent with it)
|
|
155
151
|
- **Need structural code patterns?** (e.g., "find all functions matching X shape") Use `ast_grep_search` via `explore` family, `architect`/`architect-medium`, or `code-reviewer`
|
|
156
152
|
- **Need to transform code structurally?** Use `ast_grep_replace` via `executor-high` (only agent with it)
|
|
157
|
-
- **Need project-wide type checking?** Use `lsp_diagnostics_directory` via `architect`/`architect-medium`, `executor`/`executor-high`, or `
|
|
153
|
+
- **Need project-wide type checking?** Use `lsp_diagnostics_directory` via `architect`/`architect-medium`, `executor`/`executor-high`, or `debugger`
|
|
158
154
|
- **Need single-file error checking?** Use `lsp_diagnostics` via many agents (see matrix)
|
|
159
155
|
- **Need data analysis / computation?** Use `python_repl` via `scientist` or `scientist-high`
|
|
160
156
|
- **Need quick type info or definition lookup?** Use `lsp_hover`/`lsp_goto_definition` directly (orchestrator-direct tools)
|
package/docs/shared/features.md
CHANGED
|
@@ -103,8 +103,8 @@ Sequential agent chaining with data passing between stages.
|
|
|
103
103
|
| Preset | Stages |
|
|
104
104
|
|--------|--------|
|
|
105
105
|
| `review` | explore -> architect -> critic -> executor |
|
|
106
|
-
| `implement` | planner -> executor ->
|
|
107
|
-
| `debug` | explore -> architect ->
|
|
106
|
+
| `implement` | planner -> executor -> test-engineer |
|
|
107
|
+
| `debug` | explore -> architect -> debugger |
|
|
108
108
|
| `research` | parallel(document-specialist, explore) -> architect -> writer |
|
|
109
109
|
| `refactor` | explore -> architect-medium -> executor-high -> qa-tester |
|
|
110
110
|
| `security` | explore -> security-reviewer -> executor -> security-reviewer-low |
|
|
@@ -29,7 +29,7 @@ Uncertain about requirements or have a vague idea?
|
|
|
29
29
|
|
|
30
30
|
Want autonomous execution?
|
|
31
31
|
├── YES: Is task parallelizable into 3+ independent components?
|
|
32
|
-
│ ├── YES: team N:
|
|
32
|
+
│ ├── YES: team N:executor (parallel autonomous with file ownership)
|
|
33
33
|
│ └── NO: autopilot (sequential with ralph phases)
|
|
34
34
|
└── NO: Want parallel execution with manual oversight?
|
|
35
35
|
├── YES: Do you want cost optimization?
|
|
@@ -48,7 +48,7 @@ Have many similar independent tasks (e.g., "fix 47 errors")?
|
|
|
48
48
|
| User Request | Best Mode | Why |
|
|
49
49
|
|--------------|-----------|-----|
|
|
50
50
|
| "Build me a REST API" | autopilot | Single coherent deliverable |
|
|
51
|
-
| "Build frontend, backend, and database" | team 3:
|
|
51
|
+
| "Build frontend, backend, and database" | team 3:executor | Clear component boundaries |
|
|
52
52
|
| "Fix all 47 TypeScript errors" | team 5:executor | Many independent similar tasks |
|
|
53
53
|
| "Refactor auth module thoroughly" | ralph | Need persistence + verification |
|
|
54
54
|
| "Quick parallel execution" | ultrawork | Manual oversight preferred |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudecode-omc",
|
|
3
|
-
"version": "4.8.
|
|
3
|
+
"version": "4.8.4",
|
|
4
4
|
"description": "Multi-agent orchestration system for Claude Code - Inspired by oh-my-opencode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -52,6 +52,9 @@
|
|
|
52
52
|
"dev": "tsc --watch",
|
|
53
53
|
"start": "node dist/index.js",
|
|
54
54
|
"test": "vitest",
|
|
55
|
+
"bench:prompts": "tsx benchmarks/run-all.ts",
|
|
56
|
+
"bench:prompts:save": "tsx benchmarks/run-all.ts --save-baseline",
|
|
57
|
+
"bench:prompts:compare": "tsx benchmarks/run-all.ts --compare",
|
|
55
58
|
"test:ui": "vitest --ui",
|
|
56
59
|
"test:run": "vitest run",
|
|
57
60
|
"test:coverage": "vitest run --coverage",
|
|
@@ -129,7 +129,7 @@ async function main() {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
process.stdout.write(
|
|
132
|
-
JSON.stringify({ decision: 'block', reason: buildMessage(files) }) + '\n',
|
|
132
|
+
JSON.stringify({ continue: false, decision: 'block', reason: buildMessage(files) }) + '\n',
|
|
133
133
|
);
|
|
134
134
|
} catch (error) {
|
|
135
135
|
try {
|
|
@@ -26,6 +26,7 @@ import { execSync } from 'node:child_process';
|
|
|
26
26
|
import { readStdin } from './lib/stdin.mjs';
|
|
27
27
|
|
|
28
28
|
const THRESHOLD = parseInt(process.env.OMC_CONTEXT_GUARD_THRESHOLD || '75', 10);
|
|
29
|
+
const CRITICAL_THRESHOLD = 95;
|
|
29
30
|
const MAX_BLOCKS = 2;
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -33,19 +34,22 @@ const MAX_BLOCKS = 2;
|
|
|
33
34
|
* Mirrors the logic in persistent-mode.cjs to stay consistent.
|
|
34
35
|
*/
|
|
35
36
|
function isContextLimitStop(data) {
|
|
36
|
-
const
|
|
37
|
+
const reasons = [
|
|
38
|
+
data.stop_reason,
|
|
39
|
+
data.stopReason,
|
|
40
|
+
data.end_turn_reason,
|
|
41
|
+
data.endTurnReason,
|
|
42
|
+
data.reason,
|
|
43
|
+
]
|
|
44
|
+
.filter((value) => typeof value === 'string' && value.trim().length > 0)
|
|
45
|
+
.map((value) => value.toLowerCase().replace(/[\s-]+/g, '_'));
|
|
37
46
|
const contextPatterns = [
|
|
38
47
|
'context_limit', 'context_window', 'context_exceeded',
|
|
39
48
|
'context_full', 'max_context', 'token_limit',
|
|
40
49
|
'max_tokens', 'conversation_too_long', 'input_too_long',
|
|
41
50
|
];
|
|
42
51
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const endTurnReason = (data.end_turn_reason || data.endTurnReason || '').toLowerCase();
|
|
46
|
-
if (endTurnReason && contextPatterns.some(p => endTurnReason.includes(p))) return true;
|
|
47
|
-
|
|
48
|
-
return false;
|
|
52
|
+
return reasons.some((reason) => contextPatterns.some(p => reason.includes(p)));
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
/**
|
|
@@ -192,6 +196,14 @@ function incrementBlockCount(sessionId) {
|
|
|
192
196
|
} catch { /* ignore */ }
|
|
193
197
|
}
|
|
194
198
|
|
|
199
|
+
function buildStopRecoveryAdvice(contextPercent, blockCount) {
|
|
200
|
+
const severity = contextPercent >= 90 ? 'CRITICAL' : 'HIGH';
|
|
201
|
+
return `[OMC ${severity}] Context at ${contextPercent}% (threshold: ${THRESHOLD}%). ` +
|
|
202
|
+
`Run /compact immediately before continuing. If /compact cannot complete, ` +
|
|
203
|
+
`stop spawning new agents and recover in a fresh session using existing checkpoints ` +
|
|
204
|
+
`(.omc/state, .omc/notepad.md). (Block ${blockCount}/${MAX_BLOCKS})`;
|
|
205
|
+
}
|
|
206
|
+
|
|
195
207
|
async function main() {
|
|
196
208
|
try {
|
|
197
209
|
const input = await readStdin();
|
|
@@ -214,6 +226,11 @@ async function main() {
|
|
|
214
226
|
const transcriptPath = resolveTranscriptPath(rawTranscriptPath, data.cwd);
|
|
215
227
|
const pct = estimateContextPercent(transcriptPath);
|
|
216
228
|
|
|
229
|
+
if (pct >= CRITICAL_THRESHOLD) {
|
|
230
|
+
console.log(JSON.stringify({ continue: true, suppressOutput: true }));
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
|
|
217
234
|
if (pct >= THRESHOLD) {
|
|
218
235
|
// Check retry guard
|
|
219
236
|
const blockCount = getBlockCount(sessionId);
|
|
@@ -226,10 +243,9 @@ async function main() {
|
|
|
226
243
|
incrementBlockCount(sessionId);
|
|
227
244
|
|
|
228
245
|
console.log(JSON.stringify({
|
|
246
|
+
continue: false,
|
|
229
247
|
decision: 'block',
|
|
230
|
-
reason:
|
|
231
|
-
`Quality degrades at high context. Run /compact or start a fresh session. ` +
|
|
232
|
-
`(Block ${blockCount + 1}/${MAX_BLOCKS})`
|
|
248
|
+
reason: buildStopRecoveryAdvice(pct, blockCount + 1)
|
|
233
249
|
}));
|
|
234
250
|
return;
|
|
235
251
|
}
|
|
@@ -9,17 +9,18 @@
|
|
|
9
9
|
* 1. cancelomc/stopomc: Stop active modes
|
|
10
10
|
* 2. ralph: Persistence mode until task completion
|
|
11
11
|
* 3. autopilot: Full autonomous execution
|
|
12
|
-
* 4. team:
|
|
12
|
+
* 4. team: Explicit-only via /team (not auto-triggered)
|
|
13
13
|
* 5. ultrawork/ulw: Maximum parallel execution
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
14
|
+
* 5. ccg: Claude-Codex-Gemini tri-model orchestration
|
|
15
|
+
* 6. ralplan: Iterative planning with consensus
|
|
16
|
+
* 7. deep interview: Socratic interview workflow
|
|
17
|
+
* 8. ai-slop-cleaner: Cleanup/deslop anti-slop workflow
|
|
18
|
+
* 9. tdd: Test-driven development
|
|
19
|
+
* 10. code review: Comprehensive review mode
|
|
20
|
+
* 11. security review: Security-focused review mode
|
|
21
|
+
* 12. ultrathink: Extended reasoning
|
|
22
|
+
* 13. deepsearch: Codebase search (restricted patterns)
|
|
23
|
+
* 14. analyze: Analysis mode (restricted patterns)
|
|
23
24
|
*/
|
|
24
25
|
|
|
25
26
|
import { writeFileSync, readFileSync, mkdirSync, existsSync, unlinkSync } from 'fs';
|
|
@@ -44,6 +45,40 @@ Use your extended thinking capabilities to provide the most thorough and well-re
|
|
|
44
45
|
---
|
|
45
46
|
`;
|
|
46
47
|
|
|
48
|
+
const ANALYZE_MESSAGE = `<analyze-mode>
|
|
49
|
+
ANALYSIS MODE. Gather context before diving deep:
|
|
50
|
+
- Search relevant code paths first
|
|
51
|
+
- Compare working vs broken behavior
|
|
52
|
+
- Synthesize findings before proposing changes
|
|
53
|
+
</analyze-mode>
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
`;
|
|
57
|
+
|
|
58
|
+
const TDD_MESSAGE = `<tdd-mode>
|
|
59
|
+
[TDD MODE ACTIVATED]
|
|
60
|
+
Write or update tests first when practical, confirm they fail for the right reason, then implement the minimal fix and re-run verification.
|
|
61
|
+
</tdd-mode>
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
`;
|
|
65
|
+
|
|
66
|
+
const CODE_REVIEW_MESSAGE = `<code-review-mode>
|
|
67
|
+
[CODE REVIEW MODE ACTIVATED]
|
|
68
|
+
Perform a comprehensive code review of the relevant changes or target area. Focus on correctness, maintainability, edge cases, regressions, and test adequacy before recommending changes.
|
|
69
|
+
</code-review-mode>
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
`;
|
|
73
|
+
|
|
74
|
+
const SECURITY_REVIEW_MESSAGE = `<security-review-mode>
|
|
75
|
+
[SECURITY REVIEW MODE ACTIVATED]
|
|
76
|
+
Perform a focused security review of the relevant changes or target area. Check trust boundaries, auth/authz, data exposure, input validation, command/file access, secrets handling, and escalation risks before recommending changes.
|
|
77
|
+
</security-review-mode>
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
`;
|
|
81
|
+
|
|
47
82
|
// Extract prompt from various JSON structures
|
|
48
83
|
function extractPrompt(input) {
|
|
49
84
|
try {
|
|
@@ -64,6 +99,15 @@ function extractPrompt(input) {
|
|
|
64
99
|
}
|
|
65
100
|
|
|
66
101
|
// Sanitize text to prevent false positives from code blocks, XML tags, URLs, and file paths
|
|
102
|
+
const ANTI_SLOP_EXPLICIT_PATTERN = /\b(ai[\s-]?slop|anti[\s-]?slop|deslop|de[\s-]?slop)\b/i;
|
|
103
|
+
const ANTI_SLOP_ACTION_PATTERN = /\b(clean(?:\s*up)?|cleanup|refactor|simplify|dedupe|de-duplicate|prune)\b/i;
|
|
104
|
+
const ANTI_SLOP_SMELL_PATTERN = /\b(slop|duplicate(?:d|s)?|duplication|dead\s+code|unused\s+code|over[\s-]?abstract(?:ion|ed)?|wrapper\s+layers?|boundary\s+violations?|needless\s+abstractions?|unnecessary\s+abstractions?|ai[\s-]?generated|generated\s+code|tech\s+debt)\b/i;
|
|
105
|
+
|
|
106
|
+
function isAntiSlopCleanupRequest(text) {
|
|
107
|
+
return ANTI_SLOP_EXPLICIT_PATTERN.test(text) ||
|
|
108
|
+
(ANTI_SLOP_ACTION_PATTERN.test(text) && ANTI_SLOP_SMELL_PATTERN.test(text));
|
|
109
|
+
}
|
|
110
|
+
|
|
67
111
|
function sanitizeForKeywordDetection(text) {
|
|
68
112
|
return text
|
|
69
113
|
// 1. Strip XML-style tag blocks: <tag-name ...>...</tag-name> (multi-line, greedy on tag name)
|
|
@@ -88,6 +132,7 @@ function activateState(directory, prompt, stateName, sessionId) {
|
|
|
88
132
|
started_at: new Date().toISOString(),
|
|
89
133
|
original_prompt: prompt,
|
|
90
134
|
session_id: sessionId || undefined,
|
|
135
|
+
project_path: directory,
|
|
91
136
|
reinforcement_count: 0,
|
|
92
137
|
last_checked_at: new Date().toISOString()
|
|
93
138
|
};
|
|
@@ -261,8 +306,8 @@ function resolveConflicts(matches) {
|
|
|
261
306
|
// Team keyword detection removed — team is now explicit-only via /team skill.
|
|
262
307
|
|
|
263
308
|
// Sort by priority order
|
|
264
|
-
const priorityOrder = ['cancel','ralph','autopilot','
|
|
265
|
-
'
|
|
309
|
+
const priorityOrder = ['cancel','ralph','autopilot','ultrawork',
|
|
310
|
+
'ccg','ralplan','deep-interview','ai-slop-cleaner','tdd','code-review','security-review','ultrathink','deepsearch','analyze'];
|
|
266
311
|
resolved.sort((a, b) => priorityOrder.indexOf(a.name) - priorityOrder.indexOf(b.name));
|
|
267
312
|
|
|
268
313
|
return resolved;
|
|
@@ -353,10 +398,6 @@ async function main() {
|
|
|
353
398
|
// Team keyword detection removed — team mode is now explicit-only via /team skill.
|
|
354
399
|
// This prevents infinite spawning when Claude workers receive prompts containing "team".
|
|
355
400
|
|
|
356
|
-
// Pipeline keywords
|
|
357
|
-
if (/\b(pipeline)\b/i.test(cleanPrompt) || /\bchain\s+agents\b/i.test(cleanPrompt)) {
|
|
358
|
-
matches.push({ name: 'pipeline', args: '' });
|
|
359
|
-
}
|
|
360
401
|
|
|
361
402
|
// CCG keywords (Claude-Codex-Gemini tri-model orchestration)
|
|
362
403
|
if (/\b(ccg|claude-codex-gemini)\b/i.test(cleanPrompt)) {
|
|
@@ -368,6 +409,16 @@ async function main() {
|
|
|
368
409
|
matches.push({ name: 'ralplan', args: '' });
|
|
369
410
|
}
|
|
370
411
|
|
|
412
|
+
// Deep interview keywords
|
|
413
|
+
if (/\b(deep[\s-]interview|ouroboros)\b/i.test(cleanPrompt)) {
|
|
414
|
+
matches.push({ name: 'deep-interview', args: '' });
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// AI slop cleanup keywords
|
|
418
|
+
if (isAntiSlopCleanupRequest(cleanPrompt)) {
|
|
419
|
+
matches.push({ name: 'ai-slop-cleaner', args: '' });
|
|
420
|
+
}
|
|
421
|
+
|
|
371
422
|
// TDD keywords
|
|
372
423
|
if (/\b(tdd)\b/i.test(cleanPrompt) ||
|
|
373
424
|
/\btest\s+first\b/i.test(cleanPrompt) ||
|
|
@@ -375,9 +426,14 @@ async function main() {
|
|
|
375
426
|
matches.push({ name: 'tdd', args: '' });
|
|
376
427
|
}
|
|
377
428
|
|
|
378
|
-
//
|
|
379
|
-
if (/\
|
|
380
|
-
matches.push({ name: '
|
|
429
|
+
// Code review keywords
|
|
430
|
+
if (/\b(code\s+review|review\s+code)\b/i.test(cleanPrompt)) {
|
|
431
|
+
matches.push({ name: 'code-review', args: '' });
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
// Security review keywords
|
|
435
|
+
if (/\b(security\s+review|review\s+security)\b/i.test(cleanPrompt)) {
|
|
436
|
+
matches.push({ name: 'security-review', args: '' });
|
|
381
437
|
}
|
|
382
438
|
|
|
383
439
|
// Ultrathink keywords
|
|
@@ -393,9 +449,7 @@ async function main() {
|
|
|
393
449
|
}
|
|
394
450
|
|
|
395
451
|
// Analyze keywords
|
|
396
|
-
if (/\b(deep\s
|
|
397
|
-
/\binvestigate\s+(the|this|why)\b/i.test(cleanPrompt) ||
|
|
398
|
-
/\bdebug\s+(the|this|why)\b/i.test(cleanPrompt)) {
|
|
452
|
+
if (/\b(deep[\s-]?analyze|deepanalyze)\b/i.test(cleanPrompt)) {
|
|
399
453
|
matches.push({ name: 'analyze', args: '' });
|
|
400
454
|
}
|
|
401
455
|
|
|
@@ -431,7 +485,7 @@ async function main() {
|
|
|
431
485
|
|
|
432
486
|
// Handle cancel specially - clear states and emit
|
|
433
487
|
if (resolved.length > 0 && resolved[0].name === 'cancel') {
|
|
434
|
-
clearStateFiles(directory, ['ralph', 'autopilot', 'ultrawork', 'swarm'
|
|
488
|
+
clearStateFiles(directory, ['ralph', 'autopilot', 'ultrawork', 'swarm'], sessionId);
|
|
435
489
|
console.log(JSON.stringify(createHookOutput(createSkillInvocation('cancel', prompt))));
|
|
436
490
|
return;
|
|
437
491
|
}
|
|
@@ -456,27 +510,33 @@ async function main() {
|
|
|
456
510
|
activateState(directory, prompt, 'ultrawork', sessionId);
|
|
457
511
|
}
|
|
458
512
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
513
|
+
const additionalContextParts = [];
|
|
514
|
+
for (const [keywordName, message] of [
|
|
515
|
+
['ultrathink', ULTRATHINK_MESSAGE],
|
|
516
|
+
['analyze', ANALYZE_MESSAGE],
|
|
517
|
+
['tdd', TDD_MESSAGE],
|
|
518
|
+
['code-review', CODE_REVIEW_MESSAGE],
|
|
519
|
+
['security-review', SECURITY_REVIEW_MESSAGE],
|
|
520
|
+
]) {
|
|
521
|
+
const index = resolved.findIndex(m => m.name === keywordName);
|
|
522
|
+
if (index !== -1) {
|
|
523
|
+
resolved.splice(index, 1);
|
|
524
|
+
additionalContextParts.push(message);
|
|
469
525
|
}
|
|
526
|
+
}
|
|
470
527
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
console.log(JSON.stringify(createHookOutput(ULTRATHINK_MESSAGE + skillMessage)));
|
|
528
|
+
if (resolved.length === 0 && additionalContextParts.length > 0) {
|
|
529
|
+
console.log(JSON.stringify(createHookOutput(additionalContextParts.join(''))));
|
|
474
530
|
return;
|
|
475
531
|
}
|
|
476
532
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
533
|
+
if (resolved.length > 0) {
|
|
534
|
+
additionalContextParts.push(createMultiSkillInvocation(resolved, prompt));
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
if (additionalContextParts.length > 0) {
|
|
538
|
+
console.log(JSON.stringify(createHookOutput(additionalContextParts.join(''))));
|
|
539
|
+
return;
|
|
480
540
|
}
|
|
481
541
|
} catch (error) {
|
|
482
542
|
// On any error, allow continuation
|