oh-my-claude-sisyphus 3.8.9 → 3.8.11
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 +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/agents/architect.md +78 -0
- package/agents/explore.md +15 -0
- package/agents/qa-tester.md +159 -1
- package/agents/writer.md +20 -0
- package/commands/help.md +1 -1
- package/commands/omc-setup.md +1 -1
- package/dist/__tests__/agent-registry.test.d.ts +2 -0
- package/dist/__tests__/agent-registry.test.d.ts.map +1 -0
- package/dist/__tests__/agent-registry.test.js +39 -0
- package/dist/__tests__/agent-registry.test.js.map +1 -0
- package/dist/__tests__/load-agent-prompt.test.d.ts +2 -0
- package/dist/__tests__/load-agent-prompt.test.d.ts.map +1 -0
- package/dist/__tests__/load-agent-prompt.test.js +68 -0
- package/dist/__tests__/load-agent-prompt.test.js.map +1 -0
- package/dist/__tests__/model-routing.test.js +5 -34
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/agents/analyst.d.ts.map +1 -1
- package/dist/agents/analyst.js +2 -77
- package/dist/agents/analyst.js.map +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +3 -148
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/coordinator-deprecated.d.ts +18 -0
- package/dist/agents/coordinator-deprecated.d.ts.map +1 -0
- package/dist/agents/coordinator-deprecated.js +34 -0
- package/dist/agents/coordinator-deprecated.js.map +1 -0
- package/dist/agents/critic.d.ts.map +1 -1
- package/dist/agents/critic.js +2 -90
- package/dist/agents/critic.js.map +1 -1
- package/dist/agents/definitions.d.ts +2 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +3 -32
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts.map +1 -1
- package/dist/agents/designer.js +2 -73
- package/dist/agents/designer.js.map +1 -1
- package/dist/agents/executor.d.ts +1 -0
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +3 -56
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +2 -64
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/index.d.ts +4 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +6 -3
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +2 -157
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/qa-tester.d.ts.map +1 -1
- package/dist/agents/qa-tester.js +2 -324
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts.map +1 -1
- package/dist/agents/researcher.js +2 -65
- package/dist/agents/researcher.js.map +1 -1
- package/dist/agents/scientist.d.ts.map +1 -1
- package/dist/agents/scientist.js +2 -293
- package/dist/agents/scientist.js.map +1 -1
- package/dist/agents/utils.d.ts +7 -0
- package/dist/agents/utils.d.ts.map +1 -1
- package/dist/agents/utils.js +50 -0
- package/dist/agents/utils.js.map +1 -1
- package/dist/agents/vision.d.ts.map +1 -1
- package/dist/agents/vision.js +2 -32
- package/dist/agents/vision.js.map +1 -1
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +2 -171
- package/dist/agents/writer.js.map +1 -1
- package/dist/cli/analytics.js +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/features/model-routing/index.d.ts +1 -1
- package/dist/features/model-routing/index.d.ts.map +1 -1
- package/dist/features/model-routing/index.js +1 -1
- package/dist/features/model-routing/index.js.map +1 -1
- package/dist/features/model-routing/router.d.ts +1 -15
- package/dist/features/model-routing/router.d.ts.map +1 -1
- package/dist/features/model-routing/router.js +2 -33
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/rules.d.ts.map +1 -1
- package/dist/features/model-routing/rules.js +0 -8
- package/dist/features/model-routing/rules.js.map +1 -1
- package/dist/features/model-routing/types.d.ts +1 -2
- package/dist/features/model-routing/types.d.ts.map +1 -1
- package/dist/features/model-routing/types.js +2 -6
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/features/task-decomposer/index.d.ts +1 -1
- package/dist/features/task-decomposer/index.d.ts.map +1 -1
- package/dist/features/task-decomposer/index.js +5 -8
- package/dist/features/task-decomposer/index.js.map +1 -1
- package/dist/features/task-decomposer/types.d.ts +4 -4
- package/dist/features/task-decomposer/types.d.ts.map +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +56 -49
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js +89 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +5 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +32 -11
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/ultrapilot/decomposer.d.ts +1 -1
- package/dist/hooks/ultrapilot/decomposer.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/docs/CLAUDE.md +44 -4
- package/docs/FEATURES.md +1 -1
- package/docs/MIGRATION.md +5 -5
- package/docs/REFERENCE.md +6 -2
- package/package.json +1 -1
- package/scripts/keyword-detector.mjs +140 -59
- package/skills/help/SKILL.md +1 -1
- package/skills/omc-setup/SKILL.md +1 -1
- package/templates/hooks/keyword-detector.mjs +280 -118
- package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
- package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
- package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
- package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
- package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
- package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
- package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/config.test.js +0 -37
- package/dist/__tests__/learned-skills/config.test.js.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.js +0 -99
- package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.js +0 -59
- package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.js +0 -69
- package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.js +0 -81
- package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.js +0 -85
- package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
- package/dist/agents/codex-agents.d.ts +0 -20
- package/dist/agents/codex-agents.d.ts.map +0 -1
- package/dist/agents/codex-agents.js +0 -36
- package/dist/agents/codex-agents.js.map +0 -1
- package/dist/agents/coordinator.d.ts +0 -11
- package/dist/agents/coordinator.d.ts.map +0 -1
- package/dist/agents/coordinator.js +0 -115
- package/dist/agents/coordinator.js.map +0 -1
- package/dist/agents/document-writer.d.ts +0 -11
- package/dist/agents/document-writer.d.ts.map +0 -1
- package/dist/agents/document-writer.js +0 -209
- package/dist/agents/document-writer.js.map +0 -1
- package/dist/agents/frontend-engineer.d.ts +0 -11
- package/dist/agents/frontend-engineer.d.ts.map +0 -1
- package/dist/agents/frontend-engineer.js +0 -115
- package/dist/agents/frontend-engineer.js.map +0 -1
- package/dist/agents/librarian.d.ts +0 -12
- package/dist/agents/librarian.d.ts.map +0 -1
- package/dist/agents/librarian.js +0 -103
- package/dist/agents/librarian.js.map +0 -1
- package/dist/agents/metis.d.ts +0 -12
- package/dist/agents/metis.d.ts.map +0 -1
- package/dist/agents/metis.js +0 -117
- package/dist/agents/metis.js.map +0 -1
- package/dist/agents/momus.d.ts +0 -12
- package/dist/agents/momus.d.ts.map +0 -1
- package/dist/agents/momus.js +0 -128
- package/dist/agents/momus.js.map +0 -1
- package/dist/agents/multimodal-looker.d.ts +0 -11
- package/dist/agents/multimodal-looker.d.ts.map +0 -1
- package/dist/agents/multimodal-looker.js +0 -70
- package/dist/agents/multimodal-looker.js.map +0 -1
- package/dist/agents/oracle.d.ts +0 -13
- package/dist/agents/oracle.d.ts.map +0 -1
- package/dist/agents/oracle.js +0 -191
- package/dist/agents/oracle.js.map +0 -1
- package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
- package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
- package/dist/agents/orchestrator-sisyphus.js +0 -115
- package/dist/agents/orchestrator-sisyphus.js.map +0 -1
- package/dist/agents/prometheus.d.ts +0 -12
- package/dist/agents/prometheus.d.ts.map +0 -1
- package/dist/agents/prometheus.js +0 -195
- package/dist/agents/prometheus.js.map +0 -1
- package/dist/agents/sisyphus-junior.d.ts +0 -12
- package/dist/agents/sisyphus-junior.d.ts.map +0 -1
- package/dist/agents/sisyphus-junior.js +0 -93
- package/dist/agents/sisyphus-junior.js.map +0 -1
- package/dist/cli/components/CostDashboard.d.ts +0 -15
- package/dist/cli/components/CostDashboard.d.ts.map +0 -1
- package/dist/cli/components/CostDashboard.js +0 -15
- package/dist/cli/components/CostDashboard.js.map +0 -1
- package/dist/cli/components/LiveStats.d.ts +0 -16
- package/dist/cli/components/LiveStats.d.ts.map +0 -1
- package/dist/cli/components/LiveStats.js +0 -16
- package/dist/cli/components/LiveStats.js.map +0 -1
- package/dist/cli/components/SessionBrowser.d.ts +0 -14
- package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
- package/dist/cli/components/SessionBrowser.js +0 -14
- package/dist/cli/components/SessionBrowser.js.map +0 -1
- package/dist/cli/tui.d.ts +0 -21
- package/dist/cli/tui.d.ts.map +0 -1
- package/dist/cli/tui.js +0 -21
- package/dist/cli/tui.js.map +0 -1
- package/dist/hooks/autopilot/signals.d.ts +0 -20
- package/dist/hooks/autopilot/signals.d.ts.map +0 -1
- package/dist/hooks/autopilot/signals.js +0 -75
- package/dist/hooks/autopilot/signals.js.map +0 -1
- package/dist/hooks/autopilot/summary.d.ts +0 -27
- package/dist/hooks/autopilot/summary.d.ts.map +0 -1
- package/dist/hooks/autopilot/summary.js +0 -160
- package/dist/hooks/autopilot/summary.js.map +0 -1
- package/dist/hooks/autopilot/transition.d.ts +0 -39
- package/dist/hooks/autopilot/transition.d.ts.map +0 -1
- package/dist/hooks/autopilot/transition.js +0 -216
- package/dist/hooks/autopilot/transition.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
- package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
- package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
- package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.js +0 -201
- package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
- package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
- package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
- package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.js +0 -34
- package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
- package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
- package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
- package/dist/hooks/edit-error-recovery/index.js +0 -89
- package/dist/hooks/edit-error-recovery/index.js.map +0 -1
- package/dist/hooks/github-auto-responder/classifier.d.ts +0 -43
- package/dist/hooks/github-auto-responder/classifier.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/classifier.js +0 -150
- package/dist/hooks/github-auto-responder/classifier.js.map +0 -1
- package/dist/hooks/github-auto-responder/config.d.ts +0 -109
- package/dist/hooks/github-auto-responder/config.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/config.js +0 -69
- package/dist/hooks/github-auto-responder/config.js.map +0 -1
- package/dist/hooks/github-auto-responder/constants.d.ts +0 -45
- package/dist/hooks/github-auto-responder/constants.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/constants.js +0 -60
- package/dist/hooks/github-auto-responder/constants.js.map +0 -1
- package/dist/hooks/github-auto-responder/filters.d.ts +0 -95
- package/dist/hooks/github-auto-responder/filters.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/filters.js +0 -174
- package/dist/hooks/github-auto-responder/filters.js.map +0 -1
- package/dist/hooks/github-auto-responder/github-client.d.ts +0 -65
- package/dist/hooks/github-auto-responder/github-client.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/github-client.js +0 -128
- package/dist/hooks/github-auto-responder/github-client.js.map +0 -1
- package/dist/hooks/github-auto-responder/idempotency.d.ts +0 -68
- package/dist/hooks/github-auto-responder/idempotency.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/idempotency.js +0 -147
- package/dist/hooks/github-auto-responder/idempotency.js.map +0 -1
- package/dist/hooks/github-auto-responder/index.d.ts +0 -140
- package/dist/hooks/github-auto-responder/index.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/index.js +0 -145
- package/dist/hooks/github-auto-responder/index.js.map +0 -1
- package/dist/hooks/github-auto-responder/persona.d.ts +0 -40
- package/dist/hooks/github-auto-responder/persona.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/persona.js +0 -99
- package/dist/hooks/github-auto-responder/persona.js.map +0 -1
- package/dist/hooks/github-auto-responder/responder.d.ts +0 -122
- package/dist/hooks/github-auto-responder/responder.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/responder.js +0 -264
- package/dist/hooks/github-auto-responder/responder.js.map +0 -1
- package/dist/hooks/github-auto-responder/server.d.ts +0 -140
- package/dist/hooks/github-auto-responder/server.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/server.js +0 -301
- package/dist/hooks/github-auto-responder/server.js.map +0 -1
- package/dist/hooks/github-auto-responder/signature.d.ts +0 -34
- package/dist/hooks/github-auto-responder/signature.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/signature.js +0 -79
- package/dist/hooks/github-auto-responder/signature.js.map +0 -1
- package/dist/hooks/github-auto-responder/templates.d.ts +0 -16
- package/dist/hooks/github-auto-responder/templates.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/templates.js +0 -93
- package/dist/hooks/github-auto-responder/templates.js.map +0 -1
- package/dist/hooks/github-auto-responder/types.d.ts +0 -246
- package/dist/hooks/github-auto-responder/types.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/types.js +0 -7
- package/dist/hooks/github-auto-responder/types.js.map +0 -1
- package/dist/hooks/learned-skills/config.d.ts +0 -53
- package/dist/hooks/learned-skills/config.d.ts.map +0 -1
- package/dist/hooks/learned-skills/config.js +0 -103
- package/dist/hooks/learned-skills/config.js.map +0 -1
- package/dist/hooks/learned-skills/constants.d.ts +0 -24
- package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
- package/dist/hooks/learned-skills/constants.js +0 -26
- package/dist/hooks/learned-skills/constants.js.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
- package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.js +0 -83
- package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
- package/dist/hooks/learned-skills/detector.d.ts +0 -30
- package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detector.js +0 -150
- package/dist/hooks/learned-skills/detector.js.map +0 -1
- package/dist/hooks/learned-skills/finder.d.ts +0 -21
- package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
- package/dist/hooks/learned-skills/finder.js +0 -117
- package/dist/hooks/learned-skills/finder.js.map +0 -1
- package/dist/hooks/learned-skills/index.d.ts +0 -62
- package/dist/hooks/learned-skills/index.d.ts.map +0 -1
- package/dist/hooks/learned-skills/index.js +0 -137
- package/dist/hooks/learned-skills/index.js.map +0 -1
- package/dist/hooks/learned-skills/loader.d.ts +0 -20
- package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
- package/dist/hooks/learned-skills/loader.js +0 -107
- package/dist/hooks/learned-skills/loader.js.map +0 -1
- package/dist/hooks/learned-skills/parser.d.ts +0 -21
- package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
- package/dist/hooks/learned-skills/parser.js +0 -190
- package/dist/hooks/learned-skills/parser.js.map +0 -1
- package/dist/hooks/learned-skills/promotion.d.ts +0 -29
- package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
- package/dist/hooks/learned-skills/promotion.js +0 -87
- package/dist/hooks/learned-skills/promotion.js.map +0 -1
- package/dist/hooks/learned-skills/types.d.ts +0 -109
- package/dist/hooks/learned-skills/types.d.ts.map +0 -1
- package/dist/hooks/learned-skills/types.js +0 -8
- package/dist/hooks/learned-skills/types.js.map +0 -1
- package/dist/hooks/learned-skills/validator.d.ts +0 -15
- package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
- package/dist/hooks/learned-skills/validator.js +0 -87
- package/dist/hooks/learned-skills/validator.js.map +0 -1
- package/dist/hooks/learned-skills/writer.d.ts +0 -27
- package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
- package/dist/hooks/learned-skills/writer.js +0 -126
- package/dist/hooks/learned-skills/writer.js.map +0 -1
- package/dist/hooks/mnemosyne/config.d.ts +0 -53
- package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/config.js +0 -103
- package/dist/hooks/mnemosyne/config.js.map +0 -1
- package/dist/hooks/mnemosyne/constants.d.ts +0 -24
- package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/constants.js +0 -26
- package/dist/hooks/mnemosyne/constants.js.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
- package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.js +0 -83
- package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
- package/dist/hooks/mnemosyne/detector.d.ts +0 -30
- package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detector.js +0 -150
- package/dist/hooks/mnemosyne/detector.js.map +0 -1
- package/dist/hooks/mnemosyne/finder.d.ts +0 -21
- package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/finder.js +0 -117
- package/dist/hooks/mnemosyne/finder.js.map +0 -1
- package/dist/hooks/mnemosyne/index.d.ts +0 -62
- package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/index.js +0 -137
- package/dist/hooks/mnemosyne/index.js.map +0 -1
- package/dist/hooks/mnemosyne/loader.d.ts +0 -20
- package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/loader.js +0 -113
- package/dist/hooks/mnemosyne/loader.js.map +0 -1
- package/dist/hooks/mnemosyne/parser.d.ts +0 -21
- package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/parser.js +0 -190
- package/dist/hooks/mnemosyne/parser.js.map +0 -1
- package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
- package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/promotion.js +0 -87
- package/dist/hooks/mnemosyne/promotion.js.map +0 -1
- package/dist/hooks/mnemosyne/types.d.ts +0 -109
- package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/types.js +0 -8
- package/dist/hooks/mnemosyne/types.js.map +0 -1
- package/dist/hooks/mnemosyne/validator.d.ts +0 -15
- package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/validator.js +0 -87
- package/dist/hooks/mnemosyne/validator.js.map +0 -1
- package/dist/hooks/mnemosyne/writer.d.ts +0 -27
- package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/writer.js +0 -126
- package/dist/hooks/mnemosyne/writer.js.map +0 -1
- package/dist/hooks/ralph-loop/index.d.ts +0 -116
- package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
- package/dist/hooks/ralph-loop/index.js +0 -322
- package/dist/hooks/ralph-loop/index.js.map +0 -1
- package/dist/hooks/ralph-prd/index.d.ts +0 -130
- package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
- package/dist/hooks/ralph-prd/index.js +0 -310
- package/dist/hooks/ralph-prd/index.js.map +0 -1
- package/dist/hooks/ralph-progress/index.d.ts +0 -102
- package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
- package/dist/hooks/ralph-progress/index.js +0 -408
- package/dist/hooks/ralph-progress/index.js.map +0 -1
- package/dist/hooks/ralph-verifier/index.d.ts +0 -72
- package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
- package/dist/hooks/ralph-verifier/index.js +0 -223
- package/dist/hooks/ralph-verifier/index.js.map +0 -1
- package/dist/hooks/session-recovery/constants.d.ts +0 -56
- package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/session-recovery/constants.js +0 -78
- package/dist/hooks/session-recovery/constants.js.map +0 -1
- package/dist/hooks/session-recovery/index.d.ts +0 -53
- package/dist/hooks/session-recovery/index.d.ts.map +0 -1
- package/dist/hooks/session-recovery/index.js +0 -321
- package/dist/hooks/session-recovery/index.js.map +0 -1
- package/dist/hooks/session-recovery/storage.d.ts +0 -76
- package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
- package/dist/hooks/session-recovery/storage.js +0 -383
- package/dist/hooks/session-recovery/storage.js.map +0 -1
- package/dist/hooks/session-recovery/types.d.ts +0 -145
- package/dist/hooks/session-recovery/types.d.ts.map +0 -1
- package/dist/hooks/session-recovery/types.js +0 -8
- package/dist/hooks/session-recovery/types.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
- package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
- package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
- package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
- package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
- package/dist/hooks/ultraqa-loop/index.js +0 -216
- package/dist/hooks/ultraqa-loop/index.js.map +0 -1
- package/dist/hooks/ultrawork-state/index.d.ts +0 -62
- package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
- package/dist/hooks/ultrawork-state/index.js +0 -208
- package/dist/hooks/ultrawork-state/index.js.map +0 -1
- package/dist/hud/sisyphus-state.d.ts +0 -31
- package/dist/hud/sisyphus-state.d.ts.map +0 -1
- package/dist/hud/sisyphus-state.js +0 -163
- package/dist/hud/sisyphus-state.js.map +0 -1
- package/dist/mcp/standalone-server.cjs +0 -19135
package/docs/CLAUDE.md
CHANGED
|
@@ -227,7 +227,7 @@ Users don't need to learn commands. You detect intent and activate behaviors aut
|
|
|
227
227
|
| `ralplan` | Iterative planning consensus | "ralplan this feature" |
|
|
228
228
|
| `eco` | Token-efficient parallelism | "eco fix all errors" |
|
|
229
229
|
|
|
230
|
-
**
|
|
230
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
231
231
|
|
|
232
232
|
### Stopping and Cancelling
|
|
233
233
|
|
|
@@ -274,6 +274,32 @@ User says "cancelomc", "stopomc" → Invoke unified `cancel` skill (automaticall
|
|
|
274
274
|
| `tdd` | TDD enforcement: test-first development | "tdd", "test first" | `/oh-my-claudecode:tdd` |
|
|
275
275
|
| `mcp-setup` | Configure MCP servers for extended capabilities | "setup mcp", "configure mcp" | `/oh-my-claudecode:mcp-setup` |
|
|
276
276
|
| `learn-about-omc` | Usage pattern analysis | - | `/oh-my-claudecode:learn-about-omc` |
|
|
277
|
+
| `build-fix` | Fix build and TypeScript errors with minimal changes | - | `/oh-my-claudecode:build-fix` |
|
|
278
|
+
| `code-review` | Run a comprehensive code review | - | `/oh-my-claudecode:code-review` |
|
|
279
|
+
| `security-review` | Run a comprehensive security review on code | - | `/oh-my-claudecode:security-review` |
|
|
280
|
+
| `writer-memory` | Agentic memory system for writers - track characters, relationships, scenes | - | `/oh-my-claudecode:writer-memory` |
|
|
281
|
+
| `project-session-manager` | Manage isolated dev environments with git worktrees and tmux | - | `/oh-my-claudecode:project-session-manager` |
|
|
282
|
+
| `local-skills-setup` | Set up and manage local skills for automatic matching and invocation | - | `/oh-my-claudecode:local-skills-setup` |
|
|
283
|
+
| `skill` | Manage local skills - list, add, remove, search, edit | - | `/oh-my-claudecode:skill` |
|
|
284
|
+
|
|
285
|
+
### Choosing the Right Mode
|
|
286
|
+
|
|
287
|
+
| If you want... | Use this mode | Trigger keyword |
|
|
288
|
+
|----------------|---------------|-----------------|
|
|
289
|
+
| Full autonomous build from idea | `autopilot` | "autopilot", "build me", "I want a" |
|
|
290
|
+
| Parallel autopilot (3-5x faster) | `ultrapilot` | "ultrapilot", "parallel build" |
|
|
291
|
+
| Persistence until verified done | `ralph` | "ralph", "don't stop", "must complete" |
|
|
292
|
+
| Maximum parallelism, manual verify | `ultrawork` | "ulw", "ultrawork" |
|
|
293
|
+
| Cost-efficient parallel execution | `ecomode` | "eco", "ecomode", "budget" |
|
|
294
|
+
| Coordinated N agents on task pool | `swarm` | "swarm N agents" |
|
|
295
|
+
| Sequential agent chaining | `pipeline` | "pipeline", "chain agents" |
|
|
296
|
+
| QA cycling: test, fix, repeat | `ultraqa` | via autopilot transition |
|
|
297
|
+
|
|
298
|
+
#### Mode Relationships
|
|
299
|
+
|
|
300
|
+
- **ralph includes ultrawork**: When ralph is activated, it automatically enables ultrawork's parallel execution. No need to combine keywords.
|
|
301
|
+
- **autopilot can transition**: Autopilot may transition to ralph (for persistence) or ultraqa (for QA cycling) during execution.
|
|
302
|
+
- **ecomode = ultrawork + cheaper models**: Same parallel behavior but routes to haiku/sonnet agents for cost savings.
|
|
277
303
|
|
|
278
304
|
### All 32 Agents
|
|
279
305
|
|
|
@@ -528,9 +554,23 @@ Reusable verification protocol for workflows.
|
|
|
528
554
|
|
|
529
555
|
Standardized state file locations.
|
|
530
556
|
|
|
531
|
-
**Standard paths:**
|
|
532
|
-
-
|
|
533
|
-
- Global: `~/.omc/state/{name}.json`
|
|
557
|
+
**Standard paths for all mode state files:**
|
|
558
|
+
- Primary: `.omc/state/{name}.json` (local, per-project)
|
|
559
|
+
- Global backup: `~/.omc/state/{name}.json` (global, session continuity)
|
|
560
|
+
|
|
561
|
+
**Mode State Files:**
|
|
562
|
+
| Mode | State File |
|
|
563
|
+
|------|-----------|
|
|
564
|
+
| ralph | `ralph-state.json` |
|
|
565
|
+
| autopilot | `autopilot-state.json` |
|
|
566
|
+
| ultrapilot | `ultrapilot-state.json` |
|
|
567
|
+
| ultrawork | `ultrawork-state.json` |
|
|
568
|
+
| ecomode | `ecomode-state.json` |
|
|
569
|
+
| ultraqa | `ultraqa-state.json` |
|
|
570
|
+
| pipeline | `pipeline-state.json` |
|
|
571
|
+
| swarm | `swarm-summary.json` + `swarm-active.marker` |
|
|
572
|
+
|
|
573
|
+
**Important:** Never store OMC state in `~/.claude/` - that directory is reserved for Claude Code itself.
|
|
534
574
|
|
|
535
575
|
Legacy locations auto-migrated on read.
|
|
536
576
|
|
package/docs/FEATURES.md
CHANGED
|
@@ -562,7 +562,7 @@ if (validationStatus?.allApproved) {
|
|
|
562
562
|
|
|
563
563
|
### State Persistence
|
|
564
564
|
|
|
565
|
-
All state is persisted to `.omc/autopilot-state.json` and includes:
|
|
565
|
+
All state is persisted to `.omc/state/autopilot-state.json` and includes:
|
|
566
566
|
|
|
567
567
|
- Active status and current phase
|
|
568
568
|
- Original user idea
|
package/docs/MIGRATION.md
CHANGED
|
@@ -30,7 +30,7 @@ Maintenance release fixing test suite issues and continuing skill consolidation
|
|
|
30
30
|
**Skill Consolidation:**
|
|
31
31
|
- Continued cleanup from v3.5.3
|
|
32
32
|
- Removed deprecated `cancel-*` skills (use `/cancel` instead)
|
|
33
|
-
- Final skill count:
|
|
33
|
+
- Final skill count: 37 core skills
|
|
34
34
|
|
|
35
35
|
### Migration Steps
|
|
36
36
|
|
|
@@ -103,7 +103,7 @@ The following skills have been **completely removed** in v3.5.3:
|
|
|
103
103
|
### Skill Count
|
|
104
104
|
|
|
105
105
|
- v3.5: 42 skills
|
|
106
|
-
- v3.5.3:
|
|
106
|
+
- v3.5.3: 37 skills (8 removed, 3 added)
|
|
107
107
|
|
|
108
108
|
---
|
|
109
109
|
|
|
@@ -254,11 +254,11 @@ Include these anywhere in your message to explicitly activate behaviors. Use key
|
|
|
254
254
|
| `ulw` / `ultrawork` | Maximum parallel execution | "ulw: fix all type errors" |
|
|
255
255
|
| `plan` | Planning interview | "plan: new API design" |
|
|
256
256
|
|
|
257
|
-
**
|
|
257
|
+
**ralph includes ultrawork:**
|
|
258
258
|
```
|
|
259
|
-
ralph
|
|
259
|
+
ralph: migrate the entire database
|
|
260
260
|
↓
|
|
261
|
-
Persistence (won't stop) + Ultrawork (maximum parallelism)
|
|
261
|
+
Persistence (won't stop) + Ultrawork (maximum parallelism) built-in
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
**No keywords?** Claude still auto-detects:
|
package/docs/REFERENCE.md
CHANGED
|
@@ -9,7 +9,7 @@ Complete reference for oh-my-claudecode. For quick start, see the main [README.m
|
|
|
9
9
|
- [Installation](#installation)
|
|
10
10
|
- [Configuration](#configuration)
|
|
11
11
|
- [Agents (32 Total)](#agents-32-total)
|
|
12
|
-
- [Skills (
|
|
12
|
+
- [Skills (37 Total)](#skills-37-total)
|
|
13
13
|
- [Slash Commands](#slash-commands)
|
|
14
14
|
- [Hooks System](#hooks-system)
|
|
15
15
|
- [Magic Keywords](#magic-keywords)
|
|
@@ -195,7 +195,7 @@ Always use `oh-my-claudecode:` prefix when calling via Task tool.
|
|
|
195
195
|
|
|
196
196
|
---
|
|
197
197
|
|
|
198
|
-
## Skills (
|
|
198
|
+
## Skills (37 Total)
|
|
199
199
|
|
|
200
200
|
### Core Skills
|
|
201
201
|
|
|
@@ -241,6 +241,10 @@ Always use `oh-my-claudecode:` prefix when calling via Task tool.
|
|
|
241
241
|
| `release` | Automated release workflow | `/oh-my-claudecode:release` |
|
|
242
242
|
| `mcp-setup` | Configure MCP servers | `/oh-my-claudecode:mcp-setup` |
|
|
243
243
|
| `learn-about-omc` | Usage pattern analysis | `/oh-my-claudecode:learn-about-omc` |
|
|
244
|
+
| `writer-memory` | Agentic memory system for writers | `/oh-my-claudecode:writer-memory` |
|
|
245
|
+
| `project-session-manager` | Manage isolated dev environments (git worktrees + tmux) | `/oh-my-claudecode:project-session-manager` |
|
|
246
|
+
| `local-skills-setup` | Set up and manage local skills | `/oh-my-claudecode:local-skills-setup` |
|
|
247
|
+
| `skill` | Manage local skills (list, add, remove, search, edit) | `/oh-my-claudecode:skill` |
|
|
244
248
|
|
|
245
249
|
---
|
|
246
250
|
|
package/package.json
CHANGED
|
@@ -134,6 +134,64 @@ ${originalPrompt}
|
|
|
134
134
|
IMPORTANT: Invoke the skill IMMEDIATELY. Do not proceed without loading the skill instructions.`;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Create multi-skill invocation message for combined keywords
|
|
139
|
+
*/
|
|
140
|
+
function createMultiSkillInvocation(skills, originalPrompt) {
|
|
141
|
+
if (skills.length === 0) return '';
|
|
142
|
+
if (skills.length === 1) {
|
|
143
|
+
return createSkillInvocation(skills[0].name, originalPrompt, skills[0].args);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const skillBlocks = skills.map((s, i) => {
|
|
147
|
+
const argsSection = s.args ? `\nArguments: ${s.args}` : '';
|
|
148
|
+
return `### Skill ${i + 1}: ${s.name.toUpperCase()}
|
|
149
|
+
Skill: oh-my-claudecode:${s.name}${argsSection}`;
|
|
150
|
+
}).join('\n\n');
|
|
151
|
+
|
|
152
|
+
return `[MAGIC KEYWORDS DETECTED: ${skills.map(s => s.name.toUpperCase()).join(', ')}]
|
|
153
|
+
|
|
154
|
+
You MUST invoke ALL of the following skills using the Skill tool, in order:
|
|
155
|
+
|
|
156
|
+
${skillBlocks}
|
|
157
|
+
|
|
158
|
+
User request:
|
|
159
|
+
${originalPrompt}
|
|
160
|
+
|
|
161
|
+
IMPORTANT: Invoke ALL skills listed above. Start with the first skill IMMEDIATELY. After it completes, invoke the next skill in order. Do not skip any skill.`;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Resolve conflicts between detected keywords
|
|
166
|
+
*/
|
|
167
|
+
function resolveConflicts(matches) {
|
|
168
|
+
const names = matches.map(m => m.name);
|
|
169
|
+
|
|
170
|
+
// Cancel is exclusive
|
|
171
|
+
if (names.includes('cancel')) {
|
|
172
|
+
return [matches.find(m => m.name === 'cancel')];
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
let resolved = [...matches];
|
|
176
|
+
|
|
177
|
+
// Ecomode beats ultrawork
|
|
178
|
+
if (names.includes('ecomode') && names.includes('ultrawork')) {
|
|
179
|
+
resolved = resolved.filter(m => m.name !== 'ultrawork');
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Ultrapilot beats autopilot
|
|
183
|
+
if (names.includes('ultrapilot') && names.includes('autopilot')) {
|
|
184
|
+
resolved = resolved.filter(m => m.name !== 'autopilot');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Sort by priority order
|
|
188
|
+
const priorityOrder = ['cancel','ralph','autopilot','ultrapilot','ultrawork','ecomode',
|
|
189
|
+
'swarm','pipeline','ralplan','plan','tdd','research','ultrathink','deepsearch','analyze'];
|
|
190
|
+
resolved.sort((a, b) => priorityOrder.indexOf(a.name) - priorityOrder.indexOf(b.name));
|
|
191
|
+
|
|
192
|
+
return resolved;
|
|
193
|
+
}
|
|
194
|
+
|
|
137
195
|
/**
|
|
138
196
|
* Create proper hook output with additionalContext (Claude Code hooks API)
|
|
139
197
|
* The 'message' field is NOT a valid hook output - use hookSpecificOutput.additionalContext
|
|
@@ -169,27 +227,20 @@ async function main() {
|
|
|
169
227
|
|
|
170
228
|
const cleanPrompt = removeCodeBlocks(prompt).toLowerCase();
|
|
171
229
|
|
|
172
|
-
//
|
|
230
|
+
// Collect all matching keywords
|
|
231
|
+
const matches = [];
|
|
173
232
|
|
|
174
|
-
//
|
|
175
|
-
// Use specific keywords to avoid false positives from natural language
|
|
176
|
-
// (e.g., "don't let it stop the context" or URLs containing "cancel")
|
|
233
|
+
// Cancel keywords
|
|
177
234
|
if (/\b(cancelomc|stopomc)\b/i.test(cleanPrompt)) {
|
|
178
|
-
|
|
179
|
-
clearStateFiles(directory, ['ralph', 'autopilot', 'ultrapilot', 'ultrawork', 'ecomode', 'swarm', 'pipeline']);
|
|
180
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('cancel', prompt))));
|
|
181
|
-
return;
|
|
235
|
+
matches.push({ name: 'cancel', args: '' });
|
|
182
236
|
}
|
|
183
237
|
|
|
184
|
-
//
|
|
238
|
+
// Ralph keywords
|
|
185
239
|
if (/\b(ralph|don't stop|must complete|until done)\b/i.test(cleanPrompt)) {
|
|
186
|
-
|
|
187
|
-
activateState(directory, prompt, 'ultrawork');
|
|
188
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('ralph', prompt))));
|
|
189
|
-
return;
|
|
240
|
+
matches.push({ name: 'ralph', args: '' });
|
|
190
241
|
}
|
|
191
242
|
|
|
192
|
-
//
|
|
243
|
+
// Autopilot keywords
|
|
193
244
|
if (/\b(autopilot|auto pilot|auto-pilot|autonomous|full auto|fullsend)\b/i.test(cleanPrompt) ||
|
|
194
245
|
/\bbuild\s+me\s+/i.test(cleanPrompt) ||
|
|
195
246
|
/\bcreate\s+me\s+/i.test(cleanPrompt) ||
|
|
@@ -199,101 +250,131 @@ async function main() {
|
|
|
199
250
|
/\bhandle\s+it\s+all\b/i.test(cleanPrompt) ||
|
|
200
251
|
/\bend\s+to\s+end\b/i.test(cleanPrompt) ||
|
|
201
252
|
/\be2e\s+this\b/i.test(cleanPrompt)) {
|
|
202
|
-
|
|
203
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('autopilot', prompt))));
|
|
204
|
-
return;
|
|
253
|
+
matches.push({ name: 'autopilot', args: '' });
|
|
205
254
|
}
|
|
206
255
|
|
|
207
|
-
//
|
|
256
|
+
// Ultrapilot keywords
|
|
208
257
|
if (/\b(ultrapilot|ultra-pilot)\b/i.test(cleanPrompt) ||
|
|
209
258
|
/\bparallel\s+build\b/i.test(cleanPrompt) ||
|
|
210
259
|
/\bswarm\s+build\b/i.test(cleanPrompt)) {
|
|
211
|
-
|
|
212
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('ultrapilot', prompt))));
|
|
213
|
-
return;
|
|
260
|
+
matches.push({ name: 'ultrapilot', args: '' });
|
|
214
261
|
}
|
|
215
262
|
|
|
216
|
-
//
|
|
263
|
+
// Ultrawork keywords
|
|
217
264
|
if (/\b(ultrawork|ulw|uw)\b/i.test(cleanPrompt)) {
|
|
218
|
-
|
|
219
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('ultrawork', prompt))));
|
|
220
|
-
return;
|
|
265
|
+
matches.push({ name: 'ultrawork', args: '' });
|
|
221
266
|
}
|
|
222
267
|
|
|
223
|
-
//
|
|
268
|
+
// Ecomode keywords
|
|
224
269
|
if (/\b(eco|ecomode|eco-mode|efficient|save-tokens|budget)\b/i.test(cleanPrompt)) {
|
|
225
|
-
|
|
226
|
-
console.log(JSON.stringify(createHookOutput(createSkillInvocation('ecomode', prompt))));
|
|
227
|
-
return;
|
|
270
|
+
matches.push({ name: 'ecomode', args: '' });
|
|
228
271
|
}
|
|
229
272
|
|
|
230
|
-
//
|
|
273
|
+
// Swarm - parse N from "swarm N agents"
|
|
231
274
|
const swarmMatch = cleanPrompt.match(/\bswarm\s+(\d+)\s+agents?\b/i);
|
|
232
275
|
if (swarmMatch || /\bcoordinated\s+agents\b/i.test(cleanPrompt)) {
|
|
233
|
-
const agentCount = swarmMatch ? swarmMatch[1] : '3';
|
|
234
|
-
|
|
235
|
-
return;
|
|
276
|
+
const agentCount = swarmMatch ? swarmMatch[1] : '3';
|
|
277
|
+
matches.push({ name: 'swarm', args: agentCount });
|
|
236
278
|
}
|
|
237
279
|
|
|
238
|
-
//
|
|
280
|
+
// Pipeline keywords
|
|
239
281
|
if (/\b(pipeline)\b/i.test(cleanPrompt) || /\bchain\s+agents\b/i.test(cleanPrompt)) {
|
|
240
|
-
|
|
241
|
-
return;
|
|
282
|
+
matches.push({ name: 'pipeline', args: '' });
|
|
242
283
|
}
|
|
243
284
|
|
|
244
|
-
//
|
|
285
|
+
// Ralplan keyword
|
|
245
286
|
if (/\b(ralplan)\b/i.test(cleanPrompt)) {
|
|
246
|
-
|
|
247
|
-
return;
|
|
287
|
+
matches.push({ name: 'ralplan', args: '' });
|
|
248
288
|
}
|
|
249
289
|
|
|
250
|
-
//
|
|
290
|
+
// Plan keywords
|
|
251
291
|
if (/\b(plan this|plan the)\b/i.test(cleanPrompt)) {
|
|
252
|
-
|
|
253
|
-
return;
|
|
292
|
+
matches.push({ name: 'plan', args: '' });
|
|
254
293
|
}
|
|
255
294
|
|
|
256
|
-
//
|
|
295
|
+
// TDD keywords
|
|
257
296
|
if (/\b(tdd)\b/i.test(cleanPrompt) ||
|
|
258
297
|
/\btest\s+first\b/i.test(cleanPrompt) ||
|
|
259
298
|
/\bred\s+green\b/i.test(cleanPrompt)) {
|
|
260
|
-
|
|
261
|
-
return;
|
|
299
|
+
matches.push({ name: 'tdd', args: '' });
|
|
262
300
|
}
|
|
263
301
|
|
|
264
|
-
//
|
|
265
|
-
// "research" alone OR "analyze data" OR "statistics" trigger research skill
|
|
302
|
+
// Research keywords
|
|
266
303
|
if (/\b(research)\b/i.test(cleanPrompt) ||
|
|
267
304
|
/\banalyze\s+data\b/i.test(cleanPrompt) ||
|
|
268
305
|
/\bstatistics\b/i.test(cleanPrompt)) {
|
|
269
|
-
|
|
270
|
-
return;
|
|
306
|
+
matches.push({ name: 'research', args: '' });
|
|
271
307
|
}
|
|
272
308
|
|
|
273
|
-
//
|
|
309
|
+
// Ultrathink keywords
|
|
274
310
|
if (/\b(ultrathink|think hard|think deeply)\b/i.test(cleanPrompt)) {
|
|
275
|
-
|
|
276
|
-
return;
|
|
311
|
+
matches.push({ name: 'ultrathink', args: '' });
|
|
277
312
|
}
|
|
278
313
|
|
|
279
|
-
//
|
|
314
|
+
// Deepsearch keywords
|
|
280
315
|
if (/\b(deepsearch)\b/i.test(cleanPrompt) ||
|
|
281
316
|
/\bsearch\s+(the\s+)?(codebase|code|files?|project)\b/i.test(cleanPrompt) ||
|
|
282
317
|
/\bfind\s+(in\s+)?(codebase|code|all\s+files?)\b/i.test(cleanPrompt)) {
|
|
283
|
-
|
|
284
|
-
return;
|
|
318
|
+
matches.push({ name: 'deepsearch', args: '' });
|
|
285
319
|
}
|
|
286
320
|
|
|
287
|
-
//
|
|
321
|
+
// Analyze keywords
|
|
288
322
|
if (/\b(deep\s*analyze)\b/i.test(cleanPrompt) ||
|
|
289
323
|
/\binvestigate\s+(the|this|why)\b/i.test(cleanPrompt) ||
|
|
290
324
|
/\bdebug\s+(the|this|why)\b/i.test(cleanPrompt)) {
|
|
291
|
-
|
|
325
|
+
matches.push({ name: 'analyze', args: '' });
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// No matches - pass through
|
|
329
|
+
if (matches.length === 0) {
|
|
330
|
+
console.log(JSON.stringify({ continue: true }));
|
|
292
331
|
return;
|
|
293
332
|
}
|
|
294
333
|
|
|
295
|
-
//
|
|
296
|
-
|
|
334
|
+
// Resolve conflicts
|
|
335
|
+
const resolved = resolveConflicts(matches);
|
|
336
|
+
|
|
337
|
+
// Handle cancel specially - clear states and emit
|
|
338
|
+
if (resolved.length > 0 && resolved[0].name === 'cancel') {
|
|
339
|
+
clearStateFiles(directory, ['ralph', 'autopilot', 'ultrapilot', 'ultrawork', 'ecomode', 'swarm', 'pipeline']);
|
|
340
|
+
console.log(JSON.stringify(createHookOutput(createSkillInvocation('cancel', prompt))));
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// Activate states for modes that need them
|
|
345
|
+
const stateModes = resolved.filter(m => ['ralph', 'autopilot', 'ultrapilot', 'ultrawork', 'ecomode'].includes(m.name));
|
|
346
|
+
for (const mode of stateModes) {
|
|
347
|
+
activateState(directory, prompt, mode.name);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// Special: Ralph with ultrawork (only if ecomode NOT present)
|
|
351
|
+
const hasRalph = resolved.some(m => m.name === 'ralph');
|
|
352
|
+
const hasEcomode = resolved.some(m => m.name === 'ecomode');
|
|
353
|
+
const hasUltrawork = resolved.some(m => m.name === 'ultrawork');
|
|
354
|
+
if (hasRalph && !hasEcomode && !hasUltrawork) {
|
|
355
|
+
activateState(directory, prompt, 'ultrawork');
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// Handle ultrathink specially - prepend message instead of skill invocation
|
|
359
|
+
const ultrathinkIndex = resolved.findIndex(m => m.name === 'ultrathink');
|
|
360
|
+
if (ultrathinkIndex !== -1) {
|
|
361
|
+
// Remove ultrathink from skill list
|
|
362
|
+
resolved.splice(ultrathinkIndex, 1);
|
|
363
|
+
|
|
364
|
+
// If ultrathink was the only match, emit message
|
|
365
|
+
if (resolved.length === 0) {
|
|
366
|
+
console.log(JSON.stringify(createHookOutput(ULTRATHINK_MESSAGE)));
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Otherwise, prepend ultrathink message to skill invocation
|
|
371
|
+
const skillMessage = createMultiSkillInvocation(resolved, prompt);
|
|
372
|
+
console.log(JSON.stringify(createHookOutput(ULTRATHINK_MESSAGE + skillMessage)));
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Emit skill invocation(s)
|
|
377
|
+
console.log(JSON.stringify(createHookOutput(createMultiSkillInvocation(resolved, prompt))));
|
|
297
378
|
} catch (error) {
|
|
298
379
|
// On any error, allow continuation
|
|
299
380
|
console.log(JSON.stringify({ continue: true }));
|
package/skills/help/SKILL.md
CHANGED
|
@@ -28,7 +28,7 @@ You can include these words naturally in your request for explicit control:
|
|
|
28
28
|
| **ulw** | Max parallelism | "ulw refactor the API" |
|
|
29
29
|
| **plan** | Planning interview | "plan the new endpoints" |
|
|
30
30
|
|
|
31
|
-
**
|
|
31
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
32
32
|
|
|
33
33
|
## Stopping Things
|
|
34
34
|
|
|
@@ -511,7 +511,7 @@ Just include these words naturally in your request:
|
|
|
511
511
|
| eco | Token-efficient mode | "eco refactor the API" |
|
|
512
512
|
| plan | Planning interview | "plan the new endpoints" |
|
|
513
513
|
|
|
514
|
-
|
|
514
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
515
515
|
|
|
516
516
|
MCP SERVERS:
|
|
517
517
|
Run /oh-my-claudecode:mcp-setup to add tools like web search, GitHub, etc.
|