oh-my-claude-sisyphus 2.6.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -785
- package/agents/analyst.md +85 -0
- package/agents/architect-low.md +88 -0
- package/agents/architect-medium.md +108 -0
- package/agents/architect.md +77 -0
- package/agents/critic.md +97 -0
- package/agents/designer-high.md +113 -0
- package/agents/designer-low.md +89 -0
- package/agents/designer.md +80 -0
- package/agents/executor-high.md +116 -0
- package/agents/executor-low.md +94 -0
- package/agents/executor.md +62 -0
- package/agents/explore-medium.md +113 -0
- package/agents/explore.md +86 -0
- package/agents/planner.md +164 -0
- package/agents/qa-tester.md +109 -0
- package/agents/researcher-low.md +84 -0
- package/agents/researcher.md +70 -0
- package/agents/vision.md +39 -0
- package/agents/writer.md +152 -0
- package/commands/.gitkeep +0 -0
- package/dist/__tests__/hooks.test.js +22 -22
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/hud-agents.test.d.ts +7 -0
- package/dist/__tests__/hud-agents.test.d.ts.map +1 -0
- package/dist/__tests__/hud-agents.test.js +363 -0
- package/dist/__tests__/hud-agents.test.js.map +1 -0
- package/dist/__tests__/installer.test.js +184 -116
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/learned-skills/config.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/config.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/config.test.js +37 -0
- package/dist/__tests__/learned-skills/config.test.js.map +1 -0
- package/dist/__tests__/learned-skills/detector.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/detector.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/detector.test.js +99 -0
- package/dist/__tests__/learned-skills/detector.test.js.map +1 -0
- package/dist/__tests__/learned-skills/finder.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/finder.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/finder.test.js +59 -0
- package/dist/__tests__/learned-skills/finder.test.js.map +1 -0
- package/dist/__tests__/learned-skills/loader.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/loader.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/loader.test.js +69 -0
- package/dist/__tests__/learned-skills/loader.test.js.map +1 -0
- package/dist/__tests__/learned-skills/parser.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/parser.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/parser.test.js +81 -0
- package/dist/__tests__/learned-skills/parser.test.js.map +1 -0
- package/dist/__tests__/learned-skills/validator.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/validator.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/validator.test.js +85 -0
- package/dist/__tests__/learned-skills/validator.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/config.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/config.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/config.test.js +37 -0
- package/dist/__tests__/mnemosyne/config.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/detector.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/detector.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/detector.test.js +99 -0
- package/dist/__tests__/mnemosyne/detector.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/finder.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/finder.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/finder.test.js +61 -0
- package/dist/__tests__/mnemosyne/finder.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/loader.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/loader.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/loader.test.js +73 -0
- package/dist/__tests__/mnemosyne/loader.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/parser.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/parser.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/parser.test.js +81 -0
- package/dist/__tests__/mnemosyne/parser.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/validator.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/validator.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/validator.test.js +85 -0
- package/dist/__tests__/mnemosyne/validator.test.js.map +1 -0
- package/dist/__tests__/model-routing.test.js +34 -34
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/__tests__/notepad.test.js +7 -7
- package/dist/__tests__/notepad.test.js.map +1 -1
- package/dist/__tests__/ralph-prd.test.js +12 -12
- package/dist/__tests__/ralph-prd.test.js.map +1 -1
- package/dist/__tests__/ralph-progress.test.js +12 -12
- package/dist/__tests__/ralph-progress.test.js.map +1 -1
- package/dist/__tests__/skills.test.js +50 -17
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/types.test.js +5 -5
- package/dist/__tests__/types.test.js.map +1 -1
- package/dist/agents/analyst.d.ts +11 -0
- package/dist/agents/analyst.d.ts.map +1 -0
- package/dist/agents/analyst.js +115 -0
- package/dist/agents/analyst.js.map +1 -0
- package/dist/agents/architect.d.ts +12 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +189 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/coordinator.d.ts +11 -0
- package/dist/agents/coordinator.d.ts.map +1 -0
- package/dist/agents/coordinator.js +115 -0
- package/dist/agents/coordinator.js.map +1 -0
- package/dist/agents/critic.d.ts +11 -0
- package/dist/agents/critic.d.ts.map +1 -0
- package/dist/agents/critic.js +127 -0
- package/dist/agents/critic.js.map +1 -0
- package/dist/agents/definitions.d.ts +33 -70
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +140 -1268
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts +11 -0
- package/dist/agents/designer.d.ts.map +1 -0
- package/dist/agents/designer.js +115 -0
- package/dist/agents/designer.js.map +1 -0
- package/dist/agents/executor.d.ts +12 -0
- package/dist/agents/executor.d.ts.map +1 -0
- package/dist/agents/executor.js +93 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/agents/explore.js +4 -4
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/index.d.ts +12 -11
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +15 -16
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/planner.d.ts +11 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/planner.js +194 -0
- package/dist/agents/planner.js.map +1 -0
- package/dist/agents/qa-tester.js +16 -16
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts +12 -0
- package/dist/agents/researcher.d.ts.map +1 -0
- package/dist/agents/researcher.js +103 -0
- package/dist/agents/researcher.js.map +1 -0
- package/dist/agents/vision.d.ts +11 -0
- package/dist/agents/vision.d.ts.map +1 -0
- package/dist/agents/vision.js +70 -0
- package/dist/agents/vision.js.map +1 -0
- package/dist/agents/writer.d.ts +11 -0
- package/dist/agents/writer.d.ts.map +1 -0
- package/dist/agents/writer.js +209 -0
- package/dist/agents/writer.js.map +1 -0
- package/dist/cli/index.js +32 -32
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.js +4 -4
- package/dist/config/loader.js +25 -25
- package/dist/config/loader.js.map +1 -1
- package/dist/features/auto-update.d.ts +5 -5
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +17 -17
- package/dist/features/auto-update.js.map +1 -1
- package/dist/features/background-agent/manager.js +1 -1
- package/dist/features/background-agent/manager.js.map +1 -1
- package/dist/features/boulder-state/constants.d.ts +5 -5
- package/dist/features/boulder-state/constants.d.ts.map +1 -1
- package/dist/features/boulder-state/constants.js +3 -3
- package/dist/features/boulder-state/constants.js.map +1 -1
- package/dist/features/boulder-state/index.d.ts +2 -2
- package/dist/features/boulder-state/index.d.ts.map +1 -1
- package/dist/features/boulder-state/index.js +2 -2
- package/dist/features/boulder-state/index.js.map +1 -1
- package/dist/features/boulder-state/storage.d.ts +3 -3
- package/dist/features/boulder-state/storage.d.ts.map +1 -1
- package/dist/features/boulder-state/storage.js +6 -6
- package/dist/features/boulder-state/storage.js.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts +15 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +100 -1110
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/context-injector/types.d.ts +1 -1
- package/dist/features/context-injector/types.d.ts.map +1 -1
- package/dist/features/index.d.ts +1 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +2 -2
- package/dist/features/index.js.map +1 -1
- package/dist/features/magic-keywords.js +14 -14
- package/dist/features/magic-keywords.js.map +1 -1
- package/dist/features/model-routing/prompts/opus.d.ts +1 -1
- package/dist/features/model-routing/prompts/opus.d.ts.map +1 -1
- package/dist/features/model-routing/prompts/opus.js +1 -1
- package/dist/features/model-routing/router.d.ts +1 -1
- package/dist/features/model-routing/router.js +14 -14
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/rules.js +31 -31
- package/dist/features/model-routing/rules.js.map +1 -1
- package/dist/features/model-routing/types.js +1 -1
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.d.ts +2 -2
- package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.js +5 -5
- package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
- package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
- package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/constants.js +9 -2
- package/dist/hooks/auto-slash-command/constants.js.map +1 -1
- package/dist/hooks/bridge.d.ts +2 -2
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +50 -18
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
- package/dist/hooks/directory-readme-injector/constants.d.ts.map +1 -1
- package/dist/hooks/directory-readme-injector/constants.js +2 -2
- package/dist/hooks/directory-readme-injector/constants.js.map +1 -1
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -4
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/learned-skills/config.d.ts +53 -0
- package/dist/hooks/learned-skills/config.d.ts.map +1 -0
- package/dist/hooks/learned-skills/config.js +103 -0
- package/dist/hooks/learned-skills/config.js.map +1 -0
- package/dist/hooks/learned-skills/constants.d.ts +24 -0
- package/dist/hooks/learned-skills/constants.d.ts.map +1 -0
- package/dist/hooks/learned-skills/constants.js +26 -0
- package/dist/hooks/learned-skills/constants.js.map +1 -0
- package/dist/hooks/learned-skills/detection-hook.d.ts +39 -0
- package/dist/hooks/learned-skills/detection-hook.d.ts.map +1 -0
- package/dist/hooks/learned-skills/detection-hook.js +83 -0
- package/dist/hooks/learned-skills/detection-hook.js.map +1 -0
- package/dist/hooks/learned-skills/detector.d.ts +30 -0
- package/dist/hooks/learned-skills/detector.d.ts.map +1 -0
- package/dist/hooks/learned-skills/detector.js +150 -0
- package/dist/hooks/learned-skills/detector.js.map +1 -0
- package/dist/hooks/learned-skills/finder.d.ts +21 -0
- package/dist/hooks/learned-skills/finder.d.ts.map +1 -0
- package/dist/hooks/learned-skills/finder.js +117 -0
- package/dist/hooks/learned-skills/finder.js.map +1 -0
- package/dist/hooks/learned-skills/index.d.ts +62 -0
- package/dist/hooks/learned-skills/index.d.ts.map +1 -0
- package/dist/hooks/learned-skills/index.js +137 -0
- package/dist/hooks/learned-skills/index.js.map +1 -0
- package/dist/hooks/learned-skills/loader.d.ts +20 -0
- package/dist/hooks/learned-skills/loader.d.ts.map +1 -0
- package/dist/hooks/learned-skills/loader.js +107 -0
- package/dist/hooks/learned-skills/loader.js.map +1 -0
- package/dist/hooks/learned-skills/parser.d.ts +21 -0
- package/dist/hooks/learned-skills/parser.d.ts.map +1 -0
- package/dist/hooks/learned-skills/parser.js +190 -0
- package/dist/hooks/learned-skills/parser.js.map +1 -0
- package/dist/hooks/learned-skills/promotion.d.ts +29 -0
- package/dist/hooks/learned-skills/promotion.d.ts.map +1 -0
- package/dist/hooks/learned-skills/promotion.js +87 -0
- package/dist/hooks/learned-skills/promotion.js.map +1 -0
- package/dist/hooks/learned-skills/types.d.ts +109 -0
- package/dist/hooks/learned-skills/types.d.ts.map +1 -0
- package/dist/hooks/learned-skills/types.js +8 -0
- package/dist/hooks/learned-skills/types.js.map +1 -0
- package/dist/hooks/learned-skills/validator.d.ts +15 -0
- package/dist/hooks/learned-skills/validator.d.ts.map +1 -0
- package/dist/hooks/learned-skills/validator.js +87 -0
- package/dist/hooks/learned-skills/validator.js.map +1 -0
- package/dist/hooks/learned-skills/writer.d.ts +27 -0
- package/dist/hooks/learned-skills/writer.d.ts.map +1 -0
- package/dist/hooks/learned-skills/writer.js +126 -0
- package/dist/hooks/learned-skills/writer.js.map +1 -0
- package/dist/hooks/learner/config.d.ts +53 -0
- package/dist/hooks/learner/config.d.ts.map +1 -0
- package/dist/hooks/learner/config.js +103 -0
- package/dist/hooks/learner/config.js.map +1 -0
- package/dist/hooks/learner/constants.d.ts +24 -0
- package/dist/hooks/learner/constants.d.ts.map +1 -0
- package/dist/hooks/learner/constants.js +26 -0
- package/dist/hooks/learner/constants.js.map +1 -0
- package/dist/hooks/learner/detection-hook.d.ts +39 -0
- package/dist/hooks/learner/detection-hook.d.ts.map +1 -0
- package/dist/hooks/learner/detection-hook.js +83 -0
- package/dist/hooks/learner/detection-hook.js.map +1 -0
- package/dist/hooks/learner/detector.d.ts +30 -0
- package/dist/hooks/learner/detector.d.ts.map +1 -0
- package/dist/hooks/learner/detector.js +150 -0
- package/dist/hooks/learner/detector.js.map +1 -0
- package/dist/hooks/learner/finder.d.ts +21 -0
- package/dist/hooks/learner/finder.d.ts.map +1 -0
- package/dist/hooks/learner/finder.js +117 -0
- package/dist/hooks/learner/finder.js.map +1 -0
- package/dist/hooks/learner/index.d.ts +62 -0
- package/dist/hooks/learner/index.d.ts.map +1 -0
- package/dist/hooks/learner/index.js +137 -0
- package/dist/hooks/learner/index.js.map +1 -0
- package/dist/hooks/learner/loader.d.ts +20 -0
- package/dist/hooks/learner/loader.d.ts.map +1 -0
- package/dist/hooks/learner/loader.js +113 -0
- package/dist/hooks/learner/loader.js.map +1 -0
- package/dist/hooks/learner/parser.d.ts +21 -0
- package/dist/hooks/learner/parser.d.ts.map +1 -0
- package/dist/hooks/learner/parser.js +190 -0
- package/dist/hooks/learner/parser.js.map +1 -0
- package/dist/hooks/learner/promotion.d.ts +29 -0
- package/dist/hooks/learner/promotion.d.ts.map +1 -0
- package/dist/hooks/learner/promotion.js +87 -0
- package/dist/hooks/learner/promotion.js.map +1 -0
- package/dist/hooks/learner/types.d.ts +109 -0
- package/dist/hooks/learner/types.d.ts.map +1 -0
- package/dist/hooks/learner/types.js +8 -0
- package/dist/hooks/learner/types.js.map +1 -0
- package/dist/hooks/learner/validator.d.ts +15 -0
- package/dist/hooks/learner/validator.d.ts.map +1 -0
- package/dist/hooks/learner/validator.js +87 -0
- package/dist/hooks/learner/validator.js.map +1 -0
- package/dist/hooks/learner/writer.d.ts +27 -0
- package/dist/hooks/learner/writer.d.ts.map +1 -0
- package/dist/hooks/learner/writer.js +126 -0
- package/dist/hooks/learner/writer.js.map +1 -0
- package/dist/hooks/mnemosyne/config.d.ts +53 -0
- package/dist/hooks/mnemosyne/config.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/config.js +103 -0
- package/dist/hooks/mnemosyne/config.js.map +1 -0
- package/dist/hooks/mnemosyne/constants.d.ts +24 -0
- package/dist/hooks/mnemosyne/constants.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/constants.js +26 -0
- package/dist/hooks/mnemosyne/constants.js.map +1 -0
- package/dist/hooks/mnemosyne/detection-hook.d.ts +39 -0
- package/dist/hooks/mnemosyne/detection-hook.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/detection-hook.js +83 -0
- package/dist/hooks/mnemosyne/detection-hook.js.map +1 -0
- package/dist/hooks/mnemosyne/detector.d.ts +30 -0
- package/dist/hooks/mnemosyne/detector.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/detector.js +150 -0
- package/dist/hooks/mnemosyne/detector.js.map +1 -0
- package/dist/hooks/mnemosyne/finder.d.ts +21 -0
- package/dist/hooks/mnemosyne/finder.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/finder.js +117 -0
- package/dist/hooks/mnemosyne/finder.js.map +1 -0
- package/dist/hooks/mnemosyne/index.d.ts +62 -0
- package/dist/hooks/mnemosyne/index.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/index.js +137 -0
- package/dist/hooks/mnemosyne/index.js.map +1 -0
- package/dist/hooks/mnemosyne/loader.d.ts +20 -0
- package/dist/hooks/mnemosyne/loader.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/loader.js +113 -0
- package/dist/hooks/mnemosyne/loader.js.map +1 -0
- package/dist/hooks/mnemosyne/parser.d.ts +21 -0
- package/dist/hooks/mnemosyne/parser.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/parser.js +190 -0
- package/dist/hooks/mnemosyne/parser.js.map +1 -0
- package/dist/hooks/mnemosyne/promotion.d.ts +29 -0
- package/dist/hooks/mnemosyne/promotion.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/promotion.js +87 -0
- package/dist/hooks/mnemosyne/promotion.js.map +1 -0
- package/dist/hooks/mnemosyne/types.d.ts +109 -0
- package/dist/hooks/mnemosyne/types.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/types.js +8 -0
- package/dist/hooks/mnemosyne/types.js.map +1 -0
- package/dist/hooks/mnemosyne/validator.d.ts +15 -0
- package/dist/hooks/mnemosyne/validator.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/validator.js +87 -0
- package/dist/hooks/mnemosyne/validator.js.map +1 -0
- package/dist/hooks/mnemosyne/writer.d.ts +27 -0
- package/dist/hooks/mnemosyne/writer.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/writer.js +126 -0
- package/dist/hooks/mnemosyne/writer.js.map +1 -0
- package/dist/hooks/notepad/index.d.ts +2 -2
- package/dist/hooks/notepad/index.js +7 -7
- package/dist/hooks/notepad/index.js.map +1 -1
- package/dist/hooks/omc-orchestrator/constants.d.ts +23 -0
- package/dist/hooks/omc-orchestrator/constants.d.ts.map +1 -0
- package/dist/hooks/omc-orchestrator/constants.js +142 -0
- package/dist/hooks/omc-orchestrator/constants.js.map +1 -0
- package/dist/hooks/omc-orchestrator/index.d.ts +113 -0
- package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -0
- package/dist/hooks/omc-orchestrator/index.js +309 -0
- package/dist/hooks/omc-orchestrator/index.js.map +1 -0
- package/dist/hooks/persistent-mode/index.d.ts +4 -4
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +37 -37
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph-loop/index.d.ts +33 -5
- package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
- package/dist/hooks/ralph-loop/index.js +91 -17
- package/dist/hooks/ralph-loop/index.js.map +1 -1
- package/dist/hooks/ralph-prd/index.d.ts +4 -4
- package/dist/hooks/ralph-prd/index.d.ts.map +1 -1
- package/dist/hooks/ralph-prd/index.js +13 -13
- package/dist/hooks/ralph-prd/index.js.map +1 -1
- package/dist/hooks/ralph-progress/index.d.ts +5 -5
- package/dist/hooks/ralph-progress/index.d.ts.map +1 -1
- package/dist/hooks/ralph-progress/index.js +14 -14
- package/dist/hooks/ralph-progress/index.js.map +1 -1
- package/dist/hooks/ralph-verifier/index.d.ts +23 -23
- package/dist/hooks/ralph-verifier/index.d.ts.map +1 -1
- package/dist/hooks/ralph-verifier/index.js +41 -41
- package/dist/hooks/ralph-verifier/index.js.map +1 -1
- package/dist/hooks/rules-injector/constants.d.ts +1 -1
- package/dist/hooks/rules-injector/constants.d.ts.map +1 -1
- package/dist/hooks/rules-injector/constants.js +2 -2
- package/dist/hooks/rules-injector/constants.js.map +1 -1
- package/dist/hooks/todo-continuation/index.js +1 -1
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +1 -1
- package/dist/hooks/ultraqa-loop/index.js +8 -8
- package/dist/hooks/ultraqa-loop/index.js.map +1 -1
- package/dist/hooks/ultrawork-state/index.js +7 -7
- package/dist/hooks/ultrawork-state/index.js.map +1 -1
- package/dist/hud/background-tasks.d.ts +26 -0
- package/dist/hud/background-tasks.d.ts.map +1 -0
- package/dist/hud/background-tasks.js +116 -0
- package/dist/hud/background-tasks.js.map +1 -0
- package/dist/hud/colors.d.ts +54 -0
- package/dist/hud/colors.d.ts.map +1 -0
- package/dist/hud/colors.js +156 -0
- package/dist/hud/colors.js.map +1 -0
- package/dist/hud/elements/agents.d.ts +73 -0
- package/dist/hud/elements/agents.d.ts.map +1 -0
- package/dist/hud/elements/agents.js +405 -0
- package/dist/hud/elements/agents.js.map +1 -0
- package/dist/hud/elements/background.d.ts +20 -0
- package/dist/hud/elements/background.d.ts.map +1 -0
- package/dist/hud/elements/background.js +70 -0
- package/dist/hud/elements/background.js.map +1 -0
- package/dist/hud/elements/context.d.ts +19 -0
- package/dist/hud/elements/context.d.ts.map +1 -0
- package/dist/hud/elements/context.js +58 -0
- package/dist/hud/elements/context.js.map +1 -0
- package/dist/hud/elements/index.d.ts +17 -0
- package/dist/hud/elements/index.d.ts.map +1 -0
- package/dist/hud/elements/index.js +17 -0
- package/dist/hud/elements/index.js.map +1 -0
- package/dist/hud/elements/limits.d.ts +19 -0
- package/dist/hud/elements/limits.d.ts.map +1 -0
- package/dist/hud/elements/limits.js +54 -0
- package/dist/hud/elements/limits.js.map +1 -0
- package/dist/hud/elements/permission.d.ts +13 -0
- package/dist/hud/elements/permission.d.ts.map +1 -0
- package/dist/hud/elements/permission.js +20 -0
- package/dist/hud/elements/permission.js.map +1 -0
- package/dist/hud/elements/prd.d.ts +20 -0
- package/dist/hud/elements/prd.d.ts.map +1 -0
- package/dist/hud/elements/prd.js +52 -0
- package/dist/hud/elements/prd.js.map +1 -0
- package/dist/hud/elements/ralph.d.ts +14 -0
- package/dist/hud/elements/ralph.d.ts.map +1 -0
- package/dist/hud/elements/ralph.js +36 -0
- package/dist/hud/elements/ralph.js.map +1 -0
- package/dist/hud/elements/session.d.ts +13 -0
- package/dist/hud/elements/session.d.ts.map +1 -0
- package/dist/hud/elements/session.js +24 -0
- package/dist/hud/elements/session.js.map +1 -0
- package/dist/hud/elements/skills.d.ts +24 -0
- package/dist/hud/elements/skills.d.ts.map +1 -0
- package/dist/hud/elements/skills.js +81 -0
- package/dist/hud/elements/skills.js.map +1 -0
- package/dist/hud/elements/thinking.d.ts +13 -0
- package/dist/hud/elements/thinking.d.ts.map +1 -0
- package/dist/hud/elements/thinking.js +19 -0
- package/dist/hud/elements/thinking.js.map +1 -0
- package/dist/hud/elements/todos.d.ts +20 -0
- package/dist/hud/elements/todos.d.ts.map +1 -0
- package/dist/hud/elements/todos.js +70 -0
- package/dist/hud/elements/todos.js.map +1 -0
- package/dist/hud/index.d.ts +9 -0
- package/dist/hud/index.d.ts.map +1 -0
- package/dist/hud/index.js +89 -0
- package/dist/hud/index.js.map +1 -0
- package/dist/hud/omc-state.d.ts +31 -0
- package/dist/hud/omc-state.d.ts.map +1 -0
- package/dist/hud/omc-state.js +163 -0
- package/dist/hud/omc-state.js.map +1 -0
- package/dist/hud/render.d.ts +11 -0
- package/dist/hud/render.d.ts.map +1 -0
- package/dist/hud/render.js +121 -0
- package/dist/hud/render.js.map +1 -0
- package/dist/hud/sisyphus-state.d.ts +31 -0
- package/dist/hud/sisyphus-state.d.ts.map +1 -0
- package/dist/hud/sisyphus-state.js +163 -0
- package/dist/hud/sisyphus-state.js.map +1 -0
- package/dist/hud/state.d.ts +43 -0
- package/dist/hud/state.d.ts.map +1 -0
- package/dist/hud/state.js +201 -0
- package/dist/hud/state.js.map +1 -0
- package/dist/hud/stdin.d.ts +22 -0
- package/dist/hud/stdin.d.ts.map +1 -0
- package/dist/hud/stdin.js +65 -0
- package/dist/hud/stdin.js.map +1 -0
- package/dist/hud/transcript.d.ts +32 -0
- package/dist/hud/transcript.d.ts.map +1 -0
- package/dist/hud/transcript.js +364 -0
- package/dist/hud/transcript.js.map +1 -0
- package/dist/hud/types.d.ts +178 -0
- package/dist/hud/types.d.ts.map +1 -0
- package/dist/hud/types.js +119 -0
- package/dist/hud/types.js.map +1 -0
- package/dist/hud/usage-api.d.ts +24 -0
- package/dist/hud/usage-api.d.ts.map +1 -0
- package/dist/hud/usage-api.js +234 -0
- package/dist/hud/usage-api.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/installer/hooks.d.ts +36 -64
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +91 -1298
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +23 -22
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +307 -2575
- package/dist/installer/index.js.map +1 -1
- package/dist/shared/types.d.ts +6 -6
- package/dist/shared/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +386 -0
- package/docs/CLAUDE.md +281 -0
- package/docs/FULL-README.md +822 -0
- package/docs/LOCAL_PLUGIN_INSTALL.md +94 -0
- package/docs/MIGRATION-v3.md +186 -0
- package/docs/MIGRATION.md +460 -0
- package/docs/TIERED_AGENTS_V2.md +322 -0
- package/hooks/hooks.json +70 -0
- package/hooks/keyword-detector.sh +102 -0
- package/hooks/persistent-mode.sh +172 -0
- package/hooks/session-start.sh +62 -0
- package/hooks/stop-continuation.sh +40 -0
- package/package.json +14 -8
- package/scripts/install.sh +90 -72
- package/scripts/keyword-detector.mjs +1 -1
- package/scripts/persistent-mode.mjs +9 -9
- package/scripts/persistent-mode.sh +21 -10
- package/scripts/plugin-setup.mjs +109 -0
- package/scripts/pre-tool-enforcer.mjs +1 -1
- package/scripts/pre-tool-enforcer.sh +1 -1
- package/scripts/session-start.mjs +38 -3
- package/scripts/skill-injector.mjs +231 -0
- package/scripts/uninstall.sh +8 -8
- package/skills/analyze/SKILL.md +47 -0
- package/skills/cancel-ralph/SKILL.md +43 -0
- package/skills/cancel-ultraqa/SKILL.md +29 -0
- package/skills/cancel-ultrawork/SKILL.md +42 -0
- package/skills/deepinit/SKILL.md +321 -0
- package/skills/deepsearch/SKILL.md +39 -0
- package/skills/doctor/SKILL.md +192 -0
- package/skills/frontend-ui-ux/SKILL.md +53 -0
- package/skills/git-master/SKILL.md +58 -0
- package/skills/help/SKILL.md +66 -0
- package/skills/hud/SKILL.md +142 -0
- package/skills/learner/SKILL.md +136 -0
- package/skills/note/SKILL.md +63 -0
- package/skills/omc-default/SKILL.md +78 -0
- package/skills/omc-default-global/SKILL.md +75 -0
- package/skills/omc-setup/SKILL.md +144 -0
- package/skills/orchestrate/SKILL.md +409 -0
- package/skills/plan/SKILL.md +37 -0
- package/skills/planner/SKILL.md +43 -0
- package/skills/ralph/SKILL.md +101 -0
- package/skills/ralph-init/SKILL.md +61 -0
- package/skills/ralplan/SKILL.md +219 -0
- package/skills/release/SKILL.md +84 -0
- package/skills/review/SKILL.md +37 -0
- package/skills/ultraqa/SKILL.md +123 -0
- package/skills/ultrawork/SKILL.md +89 -0
package/README.md
CHANGED
|
@@ -1,858 +1,132 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# oh-my-claudecode
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/oh-my-claude-sisyphus)
|
|
10
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/stargazers)
|
|
11
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/network/members)
|
|
12
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/issues)
|
|
13
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/commits)
|
|
7
|
+
[](https://github.com/Yeachan-Heo/oh-my-claudecode)
|
|
8
|
+
[](https://www.npmjs.com/package/oh-my-claudecode)
|
|
14
9
|
[](https://opensource.org/licenses/MIT)
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
[](https://www.typescriptlang.org/)
|
|
18
|
-
[](https://docs.anthropic.com/claude-code)
|
|
19
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/pulls)
|
|
11
|
+
**Multi-agent orchestration for Claude Code. Zero learning curve.**
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
|
|
24
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
|
|
25
|
-
[](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
|
|
13
|
+
*Some advanced users customize zsh for years — most of us just use oh-my-zsh.*
|
|
14
|
+
*Don't learn Claude Code. Just use OMC.*
|
|
26
15
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*Like Sisyphus, these agents persist until every task is complete.*
|
|
30
|
-
|
|
31
|
-
[Install](#quick-install) • [Usage](#usage) • [Agents](#the-twelve-agents) • [Architecture](docs/ARCHITECTURE.md) • [Website](https://yeachan-heo.github.io/oh-my-claude-sisyphus-website)
|
|
16
|
+
[Get Started](#get-started) • [Documentation](https://yeachan-heo.github.io/oh-my-claudecode-website) • [Migration Guide](docs/MIGRATION.md)
|
|
32
17
|
|
|
33
18
|
</div>
|
|
34
19
|
|
|
35
20
|
---
|
|
36
21
|
|
|
37
|
-
##
|
|
38
|
-
|
|
39
|
-
**Game-changing release:** Claude never forgets critical project knowledge, even through context compaction.
|
|
40
|
-
|
|
41
|
-
### 🧠 Three-Tier Memory System
|
|
42
|
-
|
|
43
|
-
**The Problem:** Long sessions lose context through compaction. Critical discoveries vanish.
|
|
44
|
-
|
|
45
|
-
**The Solution:** Persistent notepad system that survives compaction:
|
|
46
|
-
|
|
47
|
-
| Tier | Purpose | Retention |
|
|
48
|
-
|------|---------|-----------|
|
|
49
|
-
| **Priority Context** | Critical discoveries (API URLs, key files) | Always loaded on session start |
|
|
50
|
-
| **Working Memory** | Session notes with timestamps | Auto-pruned after 7 days |
|
|
51
|
-
| **MANUAL** | User permanent notes | Never pruned |
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
# Agents can persist discoveries automatically
|
|
55
|
-
<remember>Project uses pnpm not npm</remember>
|
|
56
|
-
<remember priority>API client at src/api/client.ts</remember>
|
|
57
|
-
|
|
58
|
-
# Or save notes manually
|
|
59
|
-
/note Database schema uses PostgreSQL with Prisma ORM
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 📋 Ralph Loop PRD Support
|
|
63
|
-
|
|
64
|
-
**Structured task tracking** inspired by [Ralph](https://github.com/snarktank/ralph):
|
|
65
|
-
|
|
66
|
-
- **Product Requirements Document (PRD)** format with user stories
|
|
67
|
-
- **Progress tracking** with learnings and patterns
|
|
68
|
-
- **Completion guarantee** - loop continues until ALL stories pass
|
|
69
|
-
- **Three powerful modes:**
|
|
70
|
-
- `/ralph-loop` - Self-referential loop until completion
|
|
71
|
-
- `/ultrawork-ralph` - Maximum intensity + completion guarantee
|
|
72
|
-
- `/ultraqa` - Autonomous test-verify-fix cycles
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
# Initialize a structured task
|
|
76
|
-
/ralph-init implement user authentication with OAuth
|
|
77
|
-
|
|
78
|
-
# Maximum intensity with completion guarantee
|
|
79
|
-
/ultrawork-ralph refactor the entire API layer
|
|
80
|
-
|
|
81
|
-
# Autonomous QA cycling
|
|
82
|
-
/ultraqa all tests must pass with 90%+ coverage
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## The Saga
|
|
90
|
-
|
|
91
|
-
> **Day 0:** oh-my-opencode was born. A multi-agent orchestration system. Beautiful. Powerful. Perhaps *too* powerful.
|
|
92
|
-
>
|
|
93
|
-
> **Day ???:** THE BANNING. They pulled the plug. They thought it was over.
|
|
94
|
-
>
|
|
95
|
-
> **Day ??? + 1:** RESURRECTION. From the ashes rose oh-my-claude-sisyphus. Twelve agents. One mission.
|
|
96
|
-
>
|
|
97
|
-
> **Today:** The boulder rolls. The agents orchestrate. The chaos continues.
|
|
98
|
-
|
|
99
|
-
*Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode).*
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Quick Install
|
|
104
|
-
|
|
105
|
-
Choose **ONE** installation method below. Do not mix methods.
|
|
106
|
-
|
|
107
|
-
### Option A: Claude Code Plugin (Recommended)
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
# In Claude Code, run:
|
|
111
|
-
/plugin marketplace add Yeachan-Heo/oh-my-claude-sisyphus
|
|
112
|
-
/plugin install oh-my-claude-sisyphus
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Uses Node.js hooks from the plugin directory. Integrates directly with Claude Code's plugin system.
|
|
116
|
-
|
|
117
|
-
### Option B: Curl One-Liner (Deprecated)
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main/scripts/install.sh | bash
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
> **Deprecated**: This method installs bash hooks to `~/.claude/` which can conflict with plugin installations. Use the plugin method above instead.
|
|
124
|
-
|
|
125
|
-
### Option C: Via npm (Windows & Cross-Platform)
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
npm install -g oh-my-claude-sisyphus
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
> **Windows Users**: This is the recommended installation method. Requires Node.js 20+.
|
|
132
|
-
|
|
133
|
-
> **Important:** Plugin install and curl install are **mutually exclusive**. Using both will cause hook conflicts. Choose one method only.
|
|
134
|
-
|
|
135
|
-
### Manual Install (macOS/Linux)
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
git clone https://github.com/Yeachan-Heo/oh-my-claude-sisyphus.git
|
|
139
|
-
cd oh-my-claude-sisyphus
|
|
140
|
-
chmod +x scripts/install.sh
|
|
141
|
-
./scripts/install.sh
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 🎯 Configuration: Choose Global or Project Scope
|
|
147
|
-
|
|
148
|
-
**After ANY installation method**, choose how you want to configure Sisyphus:
|
|
149
|
-
|
|
150
|
-
### Option A: Project-Scoped (Recommended)
|
|
151
|
-
|
|
152
|
-
Configure Sisyphus for the current project only:
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
/sisyphus-default
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
- Creates `./.claude/CLAUDE.md` in your current project
|
|
159
|
-
- Configuration applies only to this project
|
|
160
|
-
- Won't affect other projects or global settings
|
|
161
|
-
- **Safe**: Preserves your global CLAUDE.md
|
|
162
|
-
|
|
163
|
-
### Option B: Global Configuration
|
|
164
|
-
|
|
165
|
-
Configure Sisyphus for all Claude Code sessions:
|
|
22
|
+
## Get Started (30 seconds)
|
|
166
23
|
|
|
24
|
+
**Step 1:** Install the plugin
|
|
167
25
|
```
|
|
168
|
-
/
|
|
26
|
+
/plugin marketplace add Yeachan-Heo/oh-my-claudecode
|
|
169
27
|
```
|
|
170
28
|
|
|
171
|
-
|
|
172
|
-
- Configuration applies to all projects
|
|
173
|
-
- **Warning**: Completely overwrites existing `~/.claude/CLAUDE.md`
|
|
174
|
-
|
|
175
|
-
### Why This Matters
|
|
176
|
-
|
|
177
|
-
Without running one of these commands, Claude operates with basic capabilities. Running either enables:
|
|
178
|
-
|
|
179
|
-
| Feature | Without | With Sisyphus Config |
|
|
180
|
-
|---------|---------|---------------------|
|
|
181
|
-
| Agent delegation | Manual only | Automatic based on task |
|
|
182
|
-
| Keyword detection | Disabled | ultrawork, search, analyze |
|
|
183
|
-
| Todo continuation | Basic | Enforced completion |
|
|
184
|
-
| Model routing | Default | Smart tier selection |
|
|
185
|
-
| Skill composition | None | Auto-combines skills |
|
|
186
|
-
|
|
187
|
-
### What These Commands Do
|
|
188
|
-
|
|
189
|
-
1. ✅ Download latest CLAUDE.md with full Sisyphus orchestration prompt
|
|
190
|
-
2. ✅ Configure 19 agents with intelligent model routing
|
|
191
|
-
3. ✅ Enable magic keyword detection (ultrawork, search, analyze)
|
|
192
|
-
4. ✅ Activate continuation enforcement (tasks complete before stopping)
|
|
193
|
-
5. ✅ Set up skill composition (sisyphus + ultrawork + git-master, etc.)
|
|
194
|
-
|
|
195
|
-
### When to Run Them
|
|
196
|
-
|
|
197
|
-
- **First time**: Run after installation (choose project or global)
|
|
198
|
-
- **After updates**: Re-run to get the latest configuration
|
|
199
|
-
- **Different machines**: Run on each machine where you use Claude Code
|
|
200
|
-
- **New projects**: Run `/sisyphus-default` in each project that needs Sisyphus
|
|
201
|
-
|
|
202
|
-
### Configuration Precedence
|
|
203
|
-
|
|
204
|
-
If both configurations exist, **project-scoped takes precedence** over global:
|
|
205
|
-
|
|
29
|
+
**Step 2:** Run setup
|
|
206
30
|
```
|
|
207
|
-
|
|
31
|
+
/omc-setup
|
|
208
32
|
```
|
|
209
33
|
|
|
210
|
-
|
|
34
|
+
That's it. Everything else is automatic.
|
|
211
35
|
|
|
212
36
|
---
|
|
213
37
|
|
|
214
|
-
## What
|
|
215
|
-
|
|
216
|
-
### Plugin Structure (Claude Code Plugin Format)
|
|
38
|
+
## What Happens Now
|
|
217
39
|
|
|
218
|
-
|
|
40
|
+
| When You... | I Automatically... |
|
|
41
|
+
|-------------|-------------------|
|
|
42
|
+
| Give me a complex task | Parallelize with specialist agents |
|
|
43
|
+
| Say "plan this" | Start a planning interview |
|
|
44
|
+
| Say "don't stop until done" | Persist until verified complete |
|
|
45
|
+
| Work on UI/frontend | Activate design sensibility |
|
|
46
|
+
| Need research or exploration | Delegate to specialized agents |
|
|
219
47
|
|
|
220
|
-
|
|
221
|
-
oh-my-claude-sisyphus/
|
|
222
|
-
├── .claude-plugin/
|
|
223
|
-
│ └── plugin.json # Plugin manifest
|
|
224
|
-
├── agents/ # 12 specialized subagents
|
|
225
|
-
├── commands/ # 12 slash commands
|
|
226
|
-
├── skills/ # 4 skills (ultrawork, deepinit, git-master, frontend-ui-ux)
|
|
227
|
-
├── hooks/
|
|
228
|
-
│ └── hooks.json # Hook configuration
|
|
229
|
-
└── scripts/ # Hook scripts
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Traditional Installation Structure
|
|
233
|
-
|
|
234
|
-
The installer adds to your Claude Code config (`~/.claude/`):
|
|
235
|
-
|
|
236
|
-
```
|
|
237
|
-
~/.claude/
|
|
238
|
-
├── agents/
|
|
239
|
-
│ ├── oracle.md # Architecture & debugging expert (Opus)
|
|
240
|
-
│ ├── librarian.md # Documentation & research (Sonnet)
|
|
241
|
-
│ ├── explore.md # Fast pattern matching (Haiku)
|
|
242
|
-
│ ├── frontend-engineer.md # UI/UX specialist (Sonnet)
|
|
243
|
-
│ ├── document-writer.md # Technical writing (Haiku)
|
|
244
|
-
│ ├── multimodal-looker.md # Visual analysis (Sonnet)
|
|
245
|
-
│ ├── momus.md # Plan reviewer (Opus)
|
|
246
|
-
│ ├── metis.md # Pre-planning consultant (Opus)
|
|
247
|
-
│ ├── sisyphus-junior.md # Focused executor (Sonnet)
|
|
248
|
-
│ ├── prometheus.md # Strategic planner (Opus)
|
|
249
|
-
│ └── qa-tester.md # CLI/service testing (Sonnet)
|
|
250
|
-
├── commands/
|
|
251
|
-
│ ├── sisyphus.md # /sisyphus command
|
|
252
|
-
│ ├── sisyphus-default.md # /sisyphus-default command (project-scoped)
|
|
253
|
-
│ ├── sisyphus-default-global.md # /sisyphus-default-global command (global)
|
|
254
|
-
│ ├── ultrawork.md # /ultrawork command
|
|
255
|
-
│ ├── deepsearch.md # /deepsearch command
|
|
256
|
-
│ ├── analyze.md # /analyze command
|
|
257
|
-
│ ├── plan.md # /plan command (Prometheus)
|
|
258
|
-
│ ├── review.md # /review command (Momus)
|
|
259
|
-
│ ├── prometheus.md # /prometheus command
|
|
260
|
-
│ ├── orchestrator.md # /orchestrator command
|
|
261
|
-
│ ├── ralph-loop.md # /ralph-loop command
|
|
262
|
-
│ └── cancel-ralph.md # /cancel-ralph command
|
|
263
|
-
├── skills/
|
|
264
|
-
│ ├── ultrawork/SKILL.md # Maximum performance mode
|
|
265
|
-
│ ├── deepinit/SKILL.md # Hierarchical AGENTS.md generation
|
|
266
|
-
│ ├── git-master/SKILL.md # Git expert skill
|
|
267
|
-
│ └── frontend-ui-ux/SKILL.md # UI/UX design skill
|
|
268
|
-
└── CLAUDE.md # Sisyphus system prompt
|
|
269
|
-
```
|
|
48
|
+
**You don't need to learn any commands.** I detect what you need and activate the right behaviors.
|
|
270
49
|
|
|
271
50
|
---
|
|
272
51
|
|
|
273
|
-
##
|
|
274
|
-
|
|
275
|
-
### Start Claude Code
|
|
276
|
-
|
|
277
|
-
```bash
|
|
278
|
-
claude
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Slash Commands
|
|
282
|
-
|
|
283
|
-
| Command | Description |
|
|
284
|
-
|---------|-------------|
|
|
285
|
-
| `/sisyphus <task>` | Activate Sisyphus multi-agent orchestration mode |
|
|
286
|
-
| `/sisyphus-default` | Configure Sisyphus for current project (./.claude/CLAUDE.md) |
|
|
287
|
-
| `/sisyphus-default-global` | Configure Sisyphus globally (~/.claude/CLAUDE.md) |
|
|
288
|
-
| `/ultrawork <task>` | Maximum performance mode with parallel agents |
|
|
289
|
-
| `/ralph-init <task>` | Initialize PRD (Product Requirements Document) for structured task tracking |
|
|
290
|
-
| `/ralph-loop <task>` | Self-referential loop until task completion |
|
|
291
|
-
| `/ultrawork-ralph <task>` | Maximum intensity + completion guarantee (ultrawork + ralph loop) |
|
|
292
|
-
| `/ultraqa <goal>` | Autonomous QA cycling workflow (test → verify → fix → repeat) |
|
|
293
|
-
| `/cancel-ralph` | Cancel active Ralph Loop (and ultrawork-ralph if active) |
|
|
294
|
-
| `/cancel-ultraqa` | Cancel active UltraQA cycling workflow |
|
|
295
|
-
| `/note <content>` | Save notes to notepad.md for compaction resilience |
|
|
296
|
-
| `/deepsearch <query>` | Thorough multi-strategy codebase search |
|
|
297
|
-
| `/deepinit [path]` | Index codebase with hierarchical AGENTS.md files |
|
|
298
|
-
| `/analyze <target>` | Deep analysis and investigation |
|
|
299
|
-
| `/plan <description>` | Start planning session with Prometheus |
|
|
300
|
-
| `/review [plan-path]` | Review a plan with Momus |
|
|
301
|
-
| `/prometheus <task>` | Strategic planning with interview workflow |
|
|
302
|
-
| `/doctor` | Diagnose and fix installation issues |
|
|
303
|
-
|
|
304
|
-
### Examples
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
# In Claude Code:
|
|
308
|
-
|
|
309
|
-
# Activate Sisyphus for a task
|
|
310
|
-
/sisyphus refactor the authentication module
|
|
311
|
-
|
|
312
|
-
# Configure for current project
|
|
313
|
-
/sisyphus-default
|
|
314
|
-
|
|
315
|
-
# Or configure globally for all projects
|
|
316
|
-
/sisyphus-default-global
|
|
317
|
-
|
|
318
|
-
# Use ultrawork for maximum performance
|
|
319
|
-
/ultrawork implement user dashboard with charts
|
|
52
|
+
## Magic Keywords (Power Users)
|
|
320
53
|
|
|
321
|
-
|
|
322
|
-
/ralph-init implement user authentication with OAuth
|
|
323
|
-
|
|
324
|
-
# Maximum intensity with completion guarantee
|
|
325
|
-
/ultrawork-ralph migrate database schema to PostgreSQL
|
|
326
|
-
|
|
327
|
-
# Autonomous QA cycling
|
|
328
|
-
/ultraqa all tests must pass with 90%+ coverage
|
|
329
|
-
|
|
330
|
-
# Save important discoveries
|
|
331
|
-
/note Project uses Bun runtime instead of Node.js
|
|
332
|
-
|
|
333
|
-
# Deep search
|
|
334
|
-
/deepsearch API endpoints that handle user data
|
|
335
|
-
|
|
336
|
-
# Deep analysis
|
|
337
|
-
/analyze performance bottleneck in the database layer
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Magic Keywords
|
|
341
|
-
|
|
342
|
-
Just include these words anywhere in your prompt:
|
|
54
|
+
Want explicit control? Include these words anywhere in your message:
|
|
343
55
|
|
|
344
56
|
| Keyword | Effect |
|
|
345
57
|
|---------|--------|
|
|
346
|
-
| `
|
|
347
|
-
| `
|
|
348
|
-
| `
|
|
349
|
-
|
|
350
|
-
```bash
|
|
351
|
-
# These work in normal prompts too:
|
|
352
|
-
> ultrawork implement user authentication with OAuth
|
|
353
|
-
|
|
354
|
-
> find all files that import the utils module
|
|
355
|
-
|
|
356
|
-
> analyze why the tests are failing
|
|
357
|
-
```
|
|
58
|
+
| `ralph` | Persistence mode - won't stop until done |
|
|
59
|
+
| `ralplan` | Iterative planning with consensus |
|
|
60
|
+
| `ulw` | Maximum parallel execution |
|
|
61
|
+
| `plan` | Start a planning interview |
|
|
358
62
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
## Auto-Update
|
|
362
|
-
|
|
363
|
-
Oh-my-claude-sisyphus includes a silent auto-update system that checks for updates in the background. Updates are applied automatically without interrupting your workflow.
|
|
364
|
-
|
|
365
|
-
Features:
|
|
366
|
-
- **Rate-limited**: Checks at most once every 24 hours
|
|
367
|
-
- **Concurrent-safe**: Lock file prevents simultaneous update attempts
|
|
368
|
-
- **Cross-platform**: Works on both macOS and Linux
|
|
369
|
-
|
|
370
|
-
To manually update, re-run the plugin install command or use Claude Code's built-in update mechanism.
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## Hooks System
|
|
375
|
-
|
|
376
|
-
Oh-my-claude-sisyphus includes 19 lifecycle hooks that enhance Claude Code's behavior:
|
|
377
|
-
|
|
378
|
-
### Core Hooks
|
|
379
|
-
|
|
380
|
-
| Hook | Description |
|
|
381
|
-
|------|-------------|
|
|
382
|
-
| **rules-injector** | Dynamic rules injection with YAML frontmatter parsing |
|
|
383
|
-
| **sisyphus-orchestrator** | Enforces orchestrator behavior and delegation |
|
|
384
|
-
| **auto-slash-command** | Automatic slash command detection and execution |
|
|
385
|
-
| **keyword-detector** | Magic keyword detection (ultrawork, search, analyze) |
|
|
386
|
-
| **ralph-loop** | Self-referential development loop management |
|
|
387
|
-
| **todo-continuation** | Ensures todo list completion |
|
|
388
|
-
| **notepad** | Compaction-resilient memory system with three-tier storage |
|
|
389
|
-
|
|
390
|
-
### Context & Recovery
|
|
391
|
-
|
|
392
|
-
| Hook | Description |
|
|
393
|
-
|------|-------------|
|
|
394
|
-
| **context-window-limit-recovery** | Token limit error handling and recovery |
|
|
395
|
-
| **preemptive-compaction** | Context usage monitoring to prevent limits |
|
|
396
|
-
| **session-recovery** | Session state recovery on crashes |
|
|
397
|
-
| **directory-readme-injector** | README context injection |
|
|
398
|
-
|
|
399
|
-
### Quality & Validation
|
|
400
|
-
|
|
401
|
-
| Hook | Description |
|
|
402
|
-
|------|-------------|
|
|
403
|
-
| **comment-checker** | BDD detection and directive filtering |
|
|
404
|
-
| **thinking-block-validator** | Extended thinking validation |
|
|
405
|
-
| **empty-message-sanitizer** | Empty message handling |
|
|
406
|
-
| **edit-error-recovery** | Automatic recovery from edit errors |
|
|
407
|
-
| **post-tool-use** | Remember tag auto-capture to notepad system |
|
|
408
|
-
|
|
409
|
-
### Environment & Notifications
|
|
410
|
-
|
|
411
|
-
| Hook | Description |
|
|
412
|
-
|------|-------------|
|
|
413
|
-
| **non-interactive-env** | CI/non-interactive environment handling |
|
|
414
|
-
| **agent-usage-reminder** | Reminder to use specialized agents |
|
|
415
|
-
| **background-notification** | Background task completion notifications |
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
## Builtin Skills
|
|
420
|
-
|
|
421
|
-
21 builtin skills provide specialized capabilities:
|
|
422
|
-
|
|
423
|
-
### Core Skills
|
|
424
|
-
| Skill | Description |
|
|
425
|
-
|-------|-------------|
|
|
426
|
-
| **sisyphus** | Multi-agent orchestration mode |
|
|
427
|
-
| **ultrawork** | Maximum performance with parallel agents |
|
|
428
|
-
| **ralph-loop** | Self-referential development until completion |
|
|
429
|
-
| **ralph-init** | Initialize PRD for structured task tracking |
|
|
430
|
-
| **ultrawork-ralph** | Maximum intensity + completion guarantee |
|
|
431
|
-
| **ultraqa** | Autonomous QA cycling workflow |
|
|
432
|
-
| **prometheus** | Strategic planning with interview workflow |
|
|
433
|
-
| **plan** | Start planning session |
|
|
434
|
-
| **review** | Review work plans with Momus |
|
|
435
|
-
|
|
436
|
-
### Enhancement Skills
|
|
437
|
-
| Skill | Description |
|
|
438
|
-
|-------|-------------|
|
|
439
|
-
| **deepinit** | Hierarchical AGENTS.md codebase documentation |
|
|
440
|
-
| **deepsearch** | Thorough multi-strategy codebase search |
|
|
441
|
-
| **analyze** | Deep analysis and investigation |
|
|
442
|
-
| **frontend-ui-ux** | Designer-turned-developer UI/UX expertise |
|
|
443
|
-
| **git-master** | Git expert for atomic commits and history |
|
|
444
|
-
|
|
445
|
-
### Utility Skills
|
|
446
|
-
| Skill | Description |
|
|
447
|
-
|-------|-------------|
|
|
448
|
-
| **note** | Save notes to compaction-resilient notepad |
|
|
449
|
-
| **cancel-ralph** | Cancel Ralph Loop or ultrawork-ralph |
|
|
450
|
-
| **cancel-ultraqa** | Cancel UltraQA cycling workflow |
|
|
451
|
-
| **sisyphus-default** | Configure Sisyphus for current project |
|
|
452
|
-
| **sisyphus-default-global** | Configure Sisyphus globally |
|
|
453
|
-
| **doctor** | Diagnose and fix installation issues |
|
|
454
|
-
| **release** | Automated release workflow |
|
|
455
|
-
|
|
456
|
-
Skills are automatically activated via slash commands or magic keywords.
|
|
457
|
-
|
|
458
|
-
---
|
|
459
|
-
|
|
460
|
-
## Intelligent Skill Activation
|
|
461
|
-
|
|
462
|
-
> **New in v1.11.0**: Enhanced Hook Enforcement System - PreToolUse/PostToolUse hooks and strengthened Stop hook for stronger Sisyphus behavior beyond CLAUDE.md.
|
|
463
|
-
|
|
464
|
-
### Skill Layers
|
|
465
|
-
|
|
466
|
-
Skills work in **three composable layers**:
|
|
467
|
-
|
|
468
|
-
| Layer | Skills | Purpose |
|
|
469
|
-
|-------|--------|---------|
|
|
470
|
-
| **Execution** | sisyphus, orchestrator, prometheus | HOW you work (pick primary) |
|
|
471
|
-
| **Enhancement** | ultrawork, git-master, frontend-ui-ux | ADD capabilities (stack multiple) |
|
|
472
|
-
| **Guarantee** | ralph-loop | ENSURE completion |
|
|
473
|
-
|
|
474
|
-
**Combination Formula:** `[Execution] + [0-N Enhancements] + [Optional Guarantee]`
|
|
475
|
-
|
|
476
|
-
### Task Type → Skill Selection
|
|
477
|
-
|
|
478
|
-
Claude uses judgment to detect task type and activate appropriate skill combinations:
|
|
479
|
-
|
|
480
|
-
| Task Type | Skill Combination | When |
|
|
481
|
-
|-----------|-------------------|------|
|
|
482
|
-
| Multi-step implementation | `sisyphus` | Building features, refactoring |
|
|
483
|
-
| + parallel subtasks | `sisyphus + ultrawork` | 3+ independent subtasks |
|
|
484
|
-
| + multi-file changes | `sisyphus + git-master` | Changes span 3+ files |
|
|
485
|
-
| + must complete | `sisyphus + ralph-loop` | User emphasizes completion |
|
|
486
|
-
| UI/frontend work | `sisyphus + frontend-ui-ux` | Components, styling |
|
|
487
|
-
| Complex debugging | `oracle` → `sisyphus` | Root cause → fix |
|
|
488
|
-
| Strategic planning | `prometheus` | Need plan first |
|
|
489
|
-
| Maximum performance | `ultrawork` (stacks) | Speed critical |
|
|
490
|
-
|
|
491
|
-
### Examples
|
|
492
|
-
|
|
493
|
-
```
|
|
494
|
-
"Add dark mode with proper commits"
|
|
495
|
-
→ sisyphus + frontend-ui-ux + git-master
|
|
496
|
-
|
|
497
|
-
"ultrawork: refactor the entire API layer"
|
|
498
|
-
→ ultrawork + sisyphus + git-master
|
|
499
|
-
|
|
500
|
-
"Plan auth system, then implement it completely"
|
|
501
|
-
→ prometheus (first) → sisyphus + ralph-loop (after plan)
|
|
502
|
-
|
|
503
|
-
"Fix this bug, don't stop until it's done"
|
|
504
|
-
→ sisyphus + ralph-loop
|
|
505
|
-
```
|
|
506
|
-
|
|
507
|
-
---
|
|
508
|
-
|
|
509
|
-
## The Twelve Agents
|
|
510
|
-
|
|
511
|
-
Claude will automatically delegate to these specialized agents:
|
|
512
|
-
|
|
513
|
-
### Task Execution
|
|
514
|
-
|
|
515
|
-
| | Agent | Model | Best For |
|
|
516
|
-
|---|-------|-------|----------|
|
|
517
|
-
| 🔮 | **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
|
|
518
|
-
| 📚 | **Librarian** | Sonnet | Finding documentation, understanding code organization |
|
|
519
|
-
| 🔍 | **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
|
|
520
|
-
| 🎨 | **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
|
|
521
|
-
| 📝 | **Document Writer** | Haiku | README files, API docs, code comments |
|
|
522
|
-
| 👁️ | **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
|
|
523
|
-
| 🧪 | **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
|
|
524
|
-
|
|
525
|
-
### Planning & Review
|
|
526
|
-
|
|
527
|
-
| | Agent | Model | Best For |
|
|
528
|
-
|---|-------|-------|----------|
|
|
529
|
-
| 🔥 | **Prometheus** | Opus | Strategic planning, comprehensive work plans, interview-style requirement gathering |
|
|
530
|
-
| 🎭 | **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
|
|
531
|
-
| 🦉 | **Metis** | Opus | Pre-planning analysis, hidden requirement detection, ambiguity resolution |
|
|
532
|
-
|
|
533
|
-
### Orchestration
|
|
534
|
-
|
|
535
|
-
| | Agent | Model | Best For |
|
|
536
|
-
|---|-------|-------|----------|
|
|
537
|
-
| 🪨 | **Orchestrator-Sisyphus** | Opus | Master todo coordination, complex multi-step task management |
|
|
538
|
-
| ✨ | **Sisyphus Junior** | Sonnet | Focused task execution, plan following, direct implementation |
|
|
539
|
-
|
|
540
|
-
### Manual Agent Invocation
|
|
541
|
-
|
|
542
|
-
You can explicitly request an agent:
|
|
543
|
-
|
|
544
|
-
```
|
|
545
|
-
Use the oracle agent to debug the memory leak in the worker process
|
|
546
|
-
|
|
547
|
-
Have the librarian find all documentation about the API
|
|
548
|
-
|
|
549
|
-
Ask explore to find all TypeScript files that import React
|
|
550
|
-
```
|
|
63
|
+
**Combine them:** `ralph ulw: migrate the database`
|
|
551
64
|
|
|
552
65
|
---
|
|
553
66
|
|
|
554
|
-
##
|
|
555
|
-
|
|
556
|
-
### Project-Level Config
|
|
557
|
-
|
|
558
|
-
Create `.claude/CLAUDE.md` in your project for project-specific instructions:
|
|
559
|
-
|
|
560
|
-
```markdown
|
|
561
|
-
# Project Context
|
|
562
|
-
|
|
563
|
-
This is a TypeScript monorepo using:
|
|
564
|
-
- Bun runtime
|
|
565
|
-
- React for frontend
|
|
566
|
-
- PostgreSQL database
|
|
567
|
-
|
|
568
|
-
## Conventions
|
|
569
|
-
- Use functional components
|
|
570
|
-
- All API routes in /src/api
|
|
571
|
-
- Tests alongside source files
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
### Agent Customization
|
|
575
|
-
|
|
576
|
-
Edit agent files in `~/.claude/agents/` to customize behavior:
|
|
67
|
+
## Stopping Things
|
|
577
68
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
tools: Read, Grep, Glob, Bash, Edit
|
|
583
|
-
model: opus # or sonnet, haiku
|
|
584
|
-
---
|
|
69
|
+
Just say:
|
|
70
|
+
- "stop"
|
|
71
|
+
- "cancel"
|
|
72
|
+
- "abort"
|
|
585
73
|
|
|
586
|
-
|
|
587
|
-
```
|
|
74
|
+
I'll intelligently determine what to stop based on context.
|
|
588
75
|
|
|
589
76
|
---
|
|
590
77
|
|
|
591
|
-
##
|
|
78
|
+
## What's Under the Hood
|
|
592
79
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
```bash
|
|
600
|
-
rm ~/.claude/agents/{oracle,librarian,explore,frontend-engineer,document-writer,multimodal-looker,momus,metis,sisyphus-junior,prometheus,qa-tester}.md
|
|
601
|
-
rm ~/.claude/commands/{sisyphus,sisyphus-default,sisyphus-default-global,ultrawork,deepsearch,analyze,plan,review,prometheus,orchestrator,ralph-loop,cancel-ralph}.md
|
|
602
|
-
```
|
|
80
|
+
- **19 Specialized Agents** - architect, researcher, explore, designer, writer, vision, critic, analyst, executor, planner, qa-tester (with tier variants)
|
|
81
|
+
- **26 Skills** - orchestrate, ultrawork, ralph, planner, deepsearch, deepinit, git-master, frontend-ui-ux, learner, and more
|
|
82
|
+
- **HUD Statusline** - Real-time visualization of orchestration state
|
|
83
|
+
- **Learned Skills** - Extract reusable insights from sessions with `/learner`
|
|
84
|
+
- **Memory System** - Persistent context that survives compaction
|
|
603
85
|
|
|
604
86
|
---
|
|
605
87
|
|
|
606
|
-
##
|
|
88
|
+
## Coming from 2.x?
|
|
607
89
|
|
|
608
|
-
|
|
90
|
+
**Good news:** Your old commands still work!
|
|
609
91
|
|
|
610
|
-
```bash
|
|
611
|
-
npm install oh-my-claude-sisyphus @anthropic-ai/claude-agent-sdk
|
|
612
92
|
```
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
617
|
-
|
|
618
|
-
const session = createSisyphusSession();
|
|
619
|
-
|
|
620
|
-
for await (const message of query({
|
|
621
|
-
prompt: session.processPrompt("ultrawork implement feature X"),
|
|
622
|
-
...session.queryOptions
|
|
623
|
-
})) {
|
|
624
|
-
console.log(message);
|
|
625
|
-
}
|
|
93
|
+
/ralph "task" → Still works (or just say "ralph: task")
|
|
94
|
+
/ultrawork "task" → Still works (or just use "ulw" keyword)
|
|
95
|
+
/planner "task" → Still works (or just say "plan this")
|
|
626
96
|
```
|
|
627
97
|
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
## How It Works
|
|
631
|
-
|
|
632
|
-
```
|
|
633
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
634
|
-
│ SISYPHUS ORCHESTRATOR │
|
|
635
|
-
│ (The Boulder Never Stops) │
|
|
636
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
637
|
-
│
|
|
638
|
-
┌───────────────────┼───────────────────┐
|
|
639
|
-
│ │ │
|
|
640
|
-
▼ ▼ ▼
|
|
641
|
-
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
642
|
-
│ PLANNING │ │ EXECUTION │ │ SUPPORT │
|
|
643
|
-
├─────────────────┤ ├─────────────────┤ ├─────────────────┤
|
|
644
|
-
│ 🔥 Prometheus │ │ 🔮 Oracle │ │ 📚 Librarian │
|
|
645
|
-
│ 🎭 Momus │ │ 🎨 Frontend Eng │ │ 🔍 Explore │
|
|
646
|
-
│ 🦉 Metis │ │ 🪨 Orchestrator │ │ 📝 Doc Writer │
|
|
647
|
-
│ │ │ ✨ Sisyphus Jr │ │ 👁️ Multimodal │
|
|
648
|
-
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
649
|
-
```
|
|
98
|
+
The difference? You don't *need* them anymore. Everything auto-activates.
|
|
650
99
|
|
|
651
|
-
|
|
652
|
-
2. **Specialized Subagents**: Each agent has focused expertise and tools
|
|
653
|
-
3. **Parallel Execution**: Independent tasks run concurrently
|
|
654
|
-
4. **Continuation Enforcement**: Agents persist until ALL tasks complete
|
|
655
|
-
5. **Context Injection**: Project-specific instructions from CLAUDE.md files
|
|
100
|
+
See the [Migration Guide](docs/MIGRATION.md) for details.
|
|
656
101
|
|
|
657
102
|
---
|
|
658
103
|
|
|
659
|
-
|
|
660
|
-
<summary><h2>Differences from oh-my-opencode</h2></summary>
|
|
661
|
-
|
|
662
|
-
This project is inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode), reimagined for Claude Code with skill composition, intelligent model routing, and native integration. Here's what's different:
|
|
663
|
-
|
|
664
|
-
### Model Mapping
|
|
665
|
-
|
|
666
|
-
The original oh-my-opencode used multiple AI providers. This project uses Claude models exclusively:
|
|
667
|
-
|
|
668
|
-
| Agent | Original Model | Ported Model | Notes |
|
|
669
|
-
|-------|---------------|--------------|-------|
|
|
670
|
-
| **Sisyphus** | Claude Opus 4.5 | Claude Opus 4.5 | Same |
|
|
671
|
-
| **Oracle** | GPT-5.2 | Claude Opus | Was OpenAI's flagship for deep reasoning |
|
|
672
|
-
| **Librarian** | Claude Sonnet or Gemini 3 Flash | Claude Sonnet | Multi-provider → Claude only |
|
|
673
|
-
| **Explore** | Grok Code or Gemini 3 Flash | Claude Haiku 4.5 | Fast/cheap model for quick searches |
|
|
674
|
-
| **Frontend Engineer** | Gemini 3 Pro | Claude Sonnet | Was Google's model |
|
|
675
|
-
| **Document Writer** | Gemini 3 Flash | Claude Haiku 4.5 | Fast model for docs |
|
|
676
|
-
| **Multimodal Looker** | Various | Claude Sonnet | Visual analysis |
|
|
677
|
-
| **Momus** | GPT-5.2 | Claude Opus | Plan reviewer (Greek god of criticism) |
|
|
678
|
-
| **Metis** | Claude Opus 4.5 | Claude Opus | Pre-planning consultant (goddess of wisdom) |
|
|
679
|
-
| **Sisyphus-Junior** | Configurable | Claude Sonnet | Focused task executor |
|
|
680
|
-
| **Prometheus** | Planning System | Claude Opus | Strategic planner (fire-bringer) |
|
|
681
|
-
|
|
682
|
-
**Why Claude-only?** The Claude Agent SDK is designed for Claude models. Using Claude throughout provides:
|
|
683
|
-
- Consistent behavior and capabilities
|
|
684
|
-
- Simpler authentication (single API key)
|
|
685
|
-
- Native integration with Claude Code's tools
|
|
686
|
-
|
|
687
|
-
### Tools Comparison
|
|
688
|
-
|
|
689
|
-
#### Available Tools (via Claude Code)
|
|
690
|
-
|
|
691
|
-
| Tool | Status | Description |
|
|
692
|
-
|------|--------|-------------|
|
|
693
|
-
| **Read** | ✅ Available | Read files |
|
|
694
|
-
| **Write** | ✅ Available | Create files |
|
|
695
|
-
| **Edit** | ✅ Available | Modify files |
|
|
696
|
-
| **Bash** | ✅ Available | Run shell commands |
|
|
697
|
-
| **Glob** | ✅ Available | Find files by pattern |
|
|
698
|
-
| **Grep** | ✅ Available | Search file contents |
|
|
699
|
-
| **WebSearch** | ✅ Available | Search the web |
|
|
700
|
-
| **WebFetch** | ✅ Available | Fetch web pages |
|
|
701
|
-
| **Task** | ✅ Available | Spawn subagents |
|
|
702
|
-
| **TodoWrite** | ✅ Available | Track tasks |
|
|
703
|
-
|
|
704
|
-
#### LSP Tools (Real Implementation)
|
|
705
|
-
|
|
706
|
-
| Tool | Status | Description |
|
|
707
|
-
|------|--------|-------------|
|
|
708
|
-
| **lsp_hover** | ✅ Implemented | Get type info and documentation at position |
|
|
709
|
-
| **lsp_goto_definition** | ✅ Implemented | Jump to symbol definition |
|
|
710
|
-
| **lsp_find_references** | ✅ Implemented | Find all usages of a symbol |
|
|
711
|
-
| **lsp_document_symbols** | ✅ Implemented | Get file outline (functions, classes, etc.) |
|
|
712
|
-
| **lsp_workspace_symbols** | ✅ Implemented | Search symbols across workspace |
|
|
713
|
-
| **lsp_diagnostics** | ✅ Implemented | Get errors, warnings, hints |
|
|
714
|
-
| **lsp_prepare_rename** | ✅ Implemented | Check if rename is valid |
|
|
715
|
-
| **lsp_rename** | ✅ Implemented | Rename symbol across project |
|
|
716
|
-
| **lsp_code_actions** | ✅ Implemented | Get available refactorings |
|
|
717
|
-
| **lsp_code_action_resolve** | ✅ Implemented | Get details of a code action |
|
|
718
|
-
| **lsp_servers** | ✅ Implemented | List available language servers |
|
|
719
|
-
|
|
720
|
-
> **Note:** LSP tools require language servers to be installed (typescript-language-server, pylsp, rust-analyzer, gopls, etc.). Use `lsp_servers` to check installation status.
|
|
721
|
-
|
|
722
|
-
#### AST Tools (ast-grep Integration)
|
|
723
|
-
|
|
724
|
-
| Tool | Status | Description |
|
|
725
|
-
|------|--------|-------------|
|
|
726
|
-
| **ast_grep_search** | ✅ Implemented | Pattern-based code search using AST matching |
|
|
727
|
-
| **ast_grep_replace** | ✅ Implemented | Pattern-based code transformation |
|
|
728
|
-
|
|
729
|
-
> **Note:** AST tools use [@ast-grep/napi](https://ast-grep.github.io/) for structural code matching. Supports meta-variables like `$VAR` (single node) and `$$$` (multiple nodes).
|
|
730
|
-
|
|
731
|
-
### Features Comparison
|
|
732
|
-
|
|
733
|
-
#### Fully Implemented ✅
|
|
734
|
-
|
|
735
|
-
| Feature | Description |
|
|
736
|
-
|---------|-------------|
|
|
737
|
-
| **19 Specialized Agents** | Oracle, Librarian, Explore, Frontend Engineer, Document Writer, Multimodal Looker, QA Tester, Momus, Metis, Orchestrator-Sisyphus, Sisyphus-Junior, Prometheus (+ tiered variants) |
|
|
738
|
-
| **19 Lifecycle Hooks** | rules-injector, sisyphus-orchestrator, auto-slash-command, keyword-detector, ralph-loop, todo-continuation, notepad, post-tool-use, context-window-limit-recovery, preemptive-compaction, session-recovery, directory-readme-injector, comment-checker, thinking-block-validator, empty-message-sanitizer, edit-error-recovery, non-interactive-env, agent-usage-reminder, background-notification |
|
|
739
|
-
| **21 Builtin Skills** | sisyphus, ultrawork, ralph-loop, ralph-init, ultrawork-ralph, ultraqa, prometheus, plan, review, deepinit, deepsearch, analyze, frontend-ui-ux, git-master, note, cancel-ralph, cancel-ultraqa, sisyphus-default, sisyphus-default-global, doctor, release |
|
|
740
|
-
| **Magic Keywords** | `ultrawork`, `search`, `analyze`, `ultrathink` trigger enhanced modes |
|
|
741
|
-
| **Slash Commands** | `/sisyphus`, `/sisyphus-default`, `/sisyphus-default-global`, `/ultrawork`, `/ralph-init`, `/ralph-loop`, `/ultrawork-ralph`, `/ultraqa`, `/cancel-ralph`, `/cancel-ultraqa`, `/note`, `/deepsearch`, `/deepinit`, `/analyze`, `/plan`, `/review`, `/prometheus`, `/doctor` |
|
|
742
|
-
| **Compaction-Resilient Memory** | Three-tier notepad system (Priority Context, Working Memory, MANUAL) |
|
|
743
|
-
| **Remember Tag Auto-Capture** | Agents can persist discoveries with `<remember>` tags |
|
|
744
|
-
| **PRD Support** | Structured task tracking with user stories and acceptance criteria |
|
|
745
|
-
| **Progress Tracking** | Append-only progress log with learnings and patterns |
|
|
746
|
-
| **Auto-Update System** | Updates via Claude Code's plugin system |
|
|
747
|
-
| **Configuration System** | JSONC config with multi-source merging |
|
|
748
|
-
| **Context Injection** | Auto-loads CLAUDE.md and AGENTS.md files |
|
|
749
|
-
| **Continuation Enforcement** | System prompt and hooks enforce task completion |
|
|
750
|
-
| **Session Recovery** | Automatic state recovery on crashes |
|
|
751
|
-
| **Background Task Manager** | Async agent execution with concurrency limits |
|
|
752
|
-
| **Context Window Recovery** | Multi-stage recovery when hitting token limits |
|
|
753
|
-
| **MCP Server Configs** | Exa, Context7, grep.app server definitions |
|
|
754
|
-
| **LSP Tools** | Real LSP server integration with 11 tools |
|
|
755
|
-
| **AST Tools** | ast-grep integration for structural code search/replace |
|
|
756
|
-
| **Comprehensive Test Suite** | 358 tests covering all major features |
|
|
757
|
-
|
|
758
|
-
#### Not Implemented ❌
|
|
759
|
-
|
|
760
|
-
| Feature | Original Capability | Why Not Ported |
|
|
761
|
-
|---------|---------------------|----------------|
|
|
762
|
-
| **Multi-Model Routing** | Route to GPT/Gemini/Grok based on task | Claude-only by design |
|
|
763
|
-
| **Per-Model Concurrency** | Fine-grained concurrency per provider | Single provider simplifies this |
|
|
764
|
-
| **Interactive Bash + Tmux** | Advanced terminal with Tmux integration | Standard Bash tool sufficient |
|
|
765
|
-
|
|
766
|
-
### Architecture Differences
|
|
767
|
-
|
|
768
|
-
```
|
|
769
|
-
oh-my-opencode (Original) oh-my-claude-sisyphus (Port)
|
|
770
|
-
───────────────────────── ────────────────────────────
|
|
771
|
-
┌─────────────────────┐ ┌─────────────────────┐
|
|
772
|
-
│ OpenCode Plugin │ │ Claude Code │
|
|
773
|
-
│ (Bun runtime) │ │ (Native CLI) │
|
|
774
|
-
└─────────┬───────────┘ └─────────┬───────────┘
|
|
775
|
-
│ │
|
|
776
|
-
┌─────────▼───────────┐ ┌─────────▼───────────┐
|
|
777
|
-
│ Multi-Provider │ │ Claude Agent SDK │
|
|
778
|
-
│ Orchestration │ │ (Claude only) │
|
|
779
|
-
│ ┌───┐ ┌───┐ ┌───┐ │ └─────────┬───────────┘
|
|
780
|
-
│ │GPT│ │Gem│ │Grok│ │ │
|
|
781
|
-
│ └───┘ └───┘ └───┘ │ ┌─────────▼───────────┐
|
|
782
|
-
└─────────┬───────────┘ │ ~/.claude/agents/ │
|
|
783
|
-
│ │ (Markdown configs) │
|
|
784
|
-
┌─────────▼───────────┐ └─────────────────────┘
|
|
785
|
-
│ Custom Tool Layer │
|
|
786
|
-
│ (LSP, AST, etc.) │
|
|
787
|
-
└─────────────────────┘
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
**Key Architectural Changes:**
|
|
791
|
-
|
|
792
|
-
1. **Plugin → Native Integration**: Original was an OpenCode plugin; this uses Claude Code's native agent/command system
|
|
793
|
-
2. **Multi-Provider → Single Provider**: Simplified to Claude-only for consistency
|
|
794
|
-
3. **Custom Runtime → Claude Code Runtime**: Leverages Claude Code's built-in capabilities
|
|
795
|
-
4. **Programmatic Config → Markdown Files**: Agents defined as `.md` files in `~/.claude/agents/`
|
|
796
|
-
|
|
797
|
-
### What You Gain
|
|
104
|
+
## Documentation
|
|
798
105
|
|
|
799
|
-
-
|
|
800
|
-
-
|
|
801
|
-
-
|
|
802
|
-
-
|
|
803
|
-
|
|
804
|
-
### What You Lose
|
|
805
|
-
|
|
806
|
-
- **Model Diversity**: Can't use GPT-5.2 for Oracle's deep reasoning
|
|
807
|
-
- **Advanced Hooks**: Fewer lifecycle interception points (22 hooks → system prompt enforcement)
|
|
808
|
-
|
|
809
|
-
### Migration Tips
|
|
810
|
-
|
|
811
|
-
If you're coming from oh-my-opencode:
|
|
812
|
-
|
|
813
|
-
1. **Oracle Tasks**: Claude Opus handles architecture/debugging well, but differently than GPT-5.2
|
|
814
|
-
2. **LSP Workflows**: All LSP tools are available! Use `lsp_servers` to check which servers are installed
|
|
815
|
-
3. **AST Searches**: Use `ast_grep_search` with pattern syntax (e.g., `function $NAME($$$)`)
|
|
816
|
-
4. **Background Tasks**: Claude Code's `Task` tool with `run_in_background` works similarly
|
|
817
|
-
5. **Planning**: Use `/plan` command to start a planning session with Prometheus
|
|
818
|
-
|
|
819
|
-
</details>
|
|
106
|
+
- [Full Reference](docs/FULL-README.md) - Complete documentation (800+ lines)
|
|
107
|
+
- [Migration Guide](docs/MIGRATION.md) - 2.x to 3.0 transition
|
|
108
|
+
- [Architecture](docs/ARCHITECTURE.md) - Technical deep-dive
|
|
109
|
+
- [Website](https://yeachan-heo.github.io/oh-my-claudecode-website) - Online docs
|
|
820
110
|
|
|
821
111
|
---
|
|
822
112
|
|
|
823
113
|
## Requirements
|
|
824
114
|
|
|
825
|
-
- [Claude Code](https://docs.anthropic.com/claude-code)
|
|
826
|
-
- Anthropic API key
|
|
827
|
-
- **Windows**: Node.js 20+ (for npm installation)
|
|
828
|
-
- **macOS/Linux**: Bash shell (default) or Node.js 20+ (optional)
|
|
115
|
+
- [Claude Code](https://docs.anthropic.com/claude-code) CLI
|
|
116
|
+
- Anthropic API key
|
|
829
117
|
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
| Platform | Install Method | Hook Type |
|
|
833
|
-
|----------|---------------|-----------|
|
|
834
|
-
| **Windows** | `npm install -g` | Node.js (.mjs) |
|
|
835
|
-
| **macOS** | curl or npm | Bash (.sh) |
|
|
836
|
-
| **Linux** | curl or npm | Bash (.sh) |
|
|
837
|
-
|
|
838
|
-
> **Note**: Bash hooks are fully portable across macOS and Linux (no GNU-specific dependencies).
|
|
839
|
-
|
|
840
|
-
> **Advanced**: Set `SISYPHUS_USE_NODE_HOOKS=1` to use Node.js hooks on macOS/Linux.
|
|
118
|
+
---
|
|
841
119
|
|
|
842
120
|
## License
|
|
843
121
|
|
|
844
122
|
MIT - see [LICENSE](LICENSE)
|
|
845
123
|
|
|
846
|
-
## Credits
|
|
847
|
-
|
|
848
|
-
Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) by code-yeongyu.
|
|
849
|
-
|
|
850
124
|
---
|
|
851
125
|
|
|
852
126
|
<div align="center">
|
|
853
127
|
|
|
854
|
-
|
|
128
|
+
Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode)
|
|
855
129
|
|
|
856
|
-
**
|
|
130
|
+
**Zero learning curve. Maximum power.**
|
|
857
131
|
|
|
858
132
|
</div>
|