oh-my-claude-sisyphus 2.6.1 → 3.0.1
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 +61 -784
- 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 +824 -0
- package/docs/LOCAL_PLUGIN_INSTALL.md +94 -0
- package/docs/MIGRATION-v3.md +186 -0
- package/docs/MIGRATION.md +456 -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 +134 -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
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralplan
|
|
3
|
+
description: Iterative planning with Planner, Architect, and Critic until consensus
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ralplan Skill
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Ralplan orchestrates three specialized agents—Planner, Architect, and Critic—in an iterative loop until consensus is reached on a comprehensive work plan. This skill ensures plans are strategically sound, architecturally valid, and thoroughly reviewed before execution.
|
|
12
|
+
|
|
13
|
+
## The Planning Triad
|
|
14
|
+
|
|
15
|
+
Three agents collaborate in structured phases to validate and refine work plans:
|
|
16
|
+
|
|
17
|
+
| Agent | Role | Output |
|
|
18
|
+
|-------|------|--------|
|
|
19
|
+
| **Planner** | Strategic Planner | Creates/refines the work plan |
|
|
20
|
+
| **Architect** | Strategic Advisor | Answers questions, validates architecture |
|
|
21
|
+
| **Critic** | Ruthless Reviewer | Critiques and identifies gaps |
|
|
22
|
+
|
|
23
|
+
## The Iteration Loop
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
27
|
+
│ RALPLAN LOOP │
|
|
28
|
+
│ │
|
|
29
|
+
│ ┌──────────────┐ │
|
|
30
|
+
│ │ PLANNER │◄────────────────────────────────┐ │
|
|
31
|
+
│ │ (Plans) │ │ │
|
|
32
|
+
│ └──────┬───────┘ │ │
|
|
33
|
+
│ │ │ │
|
|
34
|
+
│ ▼ │ │
|
|
35
|
+
│ ┌──────────────┐ Questions? ┌───────────┐ │ │
|
|
36
|
+
│ │ Has open │─────────────────► │ ARCHITECT │ │ │
|
|
37
|
+
│ │ questions? │ │ (Advises) │ │ │
|
|
38
|
+
│ └──────┬───────┘ └─────┬─────┘ │ │
|
|
39
|
+
│ │ │ │ │
|
|
40
|
+
│ │ No questions │ │ │
|
|
41
|
+
│ ▼ ▼ │ │
|
|
42
|
+
│ ┌──────────────┐ ┌──────────┐ │ │
|
|
43
|
+
│ │ CRITIC │◄─────────────────│ Answers │ │ │
|
|
44
|
+
│ │ (Reviews) │ └──────────┘ │ │
|
|
45
|
+
│ └──────┬───────┘ │ │
|
|
46
|
+
│ │ │ │
|
|
47
|
+
│ ▼ │ │
|
|
48
|
+
│ ┌──────────────┐ REJECT ┌──────────────┐│ │
|
|
49
|
+
│ │ Verdict? │─────────────────►│ Feedback ││ │
|
|
50
|
+
│ └──────┬───────┘ │ to Planner │┘ │
|
|
51
|
+
│ │ └─────────────┘ │
|
|
52
|
+
│ │ OKAY │
|
|
53
|
+
│ ▼ │
|
|
54
|
+
│ ┌──────────────────────────────────────────────────────────┐ │
|
|
55
|
+
│ │ PLAN APPROVED │ │
|
|
56
|
+
│ │ Ready for /ralph execution │ │
|
|
57
|
+
│ └──────────────────────────────────────────────────────────┘ │
|
|
58
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## State Management
|
|
62
|
+
|
|
63
|
+
Ralplan maintains persistent state in `.omc/ralplan-state.json` to track progress and enable recovery across interruptions:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"active": true,
|
|
68
|
+
"mode": "ralplan",
|
|
69
|
+
"iteration": 1,
|
|
70
|
+
"max_iterations": 5,
|
|
71
|
+
"plan_path": ".omc/plans/[feature].md",
|
|
72
|
+
"current_phase": "planner_planning",
|
|
73
|
+
"started_at": "ISO-timestamp",
|
|
74
|
+
"task_description": "[original task]"
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Phases**: `planner_planning` → `architect_consultation` → `critic_review` → `handling_verdict` → `complete`
|
|
79
|
+
|
|
80
|
+
## Execution Protocol
|
|
81
|
+
|
|
82
|
+
### Initialization
|
|
83
|
+
|
|
84
|
+
The skill begins by establishing the planning environment:
|
|
85
|
+
|
|
86
|
+
1. Create `.omc/plans/` directory if it doesn't exist
|
|
87
|
+
2. Read task description from user input
|
|
88
|
+
3. Create `ralplan-state.json` with initial values:
|
|
89
|
+
- `active: true`
|
|
90
|
+
- `iteration: 0`
|
|
91
|
+
- `max_iterations: 5`
|
|
92
|
+
- `current_phase: "planner_planning"`
|
|
93
|
+
- `started_at`: Current ISO timestamp
|
|
94
|
+
- `task_description`: User's task description
|
|
95
|
+
|
|
96
|
+
### Planner Planning Phase
|
|
97
|
+
|
|
98
|
+
The Planner creates an initial plan based on task context:
|
|
99
|
+
|
|
100
|
+
- Invoke Planner in **direct planning mode** (bypassing interview since task context is pre-gathered)
|
|
101
|
+
- Planner receives task context directly without preliminary questioning
|
|
102
|
+
- Planner mandatorily consults with Metis for gap detection
|
|
103
|
+
- Planner generates plan directly to `.omc/plans/[feature-name].md`
|
|
104
|
+
- Plan includes: requirements summary, concrete acceptance criteria, specific implementation steps with file references, risk identification with mitigations, and verification steps
|
|
105
|
+
- Signal completion with `PLAN_READY: .omc/plans/[filename].md`
|
|
106
|
+
- Extract plan path from completion signal and update state
|
|
107
|
+
|
|
108
|
+
### Architect Consultation (Conditional)
|
|
109
|
+
|
|
110
|
+
The Architect provides strategic guidance in two scenarios:
|
|
111
|
+
|
|
112
|
+
1. **After Planner**: If Planner raises architectural questions needing strategic input
|
|
113
|
+
2. **After Critic rejection**: If Critic identifies questions requiring expert guidance
|
|
114
|
+
|
|
115
|
+
When invoked, the Architect receives file paths to read for analysis, not summaries. This enables thorough examination of the existing codebase context before providing recommendations.
|
|
116
|
+
|
|
117
|
+
### Critic Review
|
|
118
|
+
|
|
119
|
+
The Critic examines the plan against quality standards:
|
|
120
|
+
|
|
121
|
+
- Critic receives the plan file path (per its design)
|
|
122
|
+
- Critic conducts thorough review of plan completeness and feasibility
|
|
123
|
+
- Critic emits verdict: either `OKAY` (approval) or `REJECT` with specific issues
|
|
124
|
+
|
|
125
|
+
### Verdict Handling and Iteration
|
|
126
|
+
|
|
127
|
+
Based on Critic's verdict, the skill either approves the plan or continues iteration:
|
|
128
|
+
|
|
129
|
+
**If verdict is OKAY:**
|
|
130
|
+
- Mark plan as approved
|
|
131
|
+
- Log approval with iteration count
|
|
132
|
+
- Prepare plan for execution with `/ralph` or manual orchestration
|
|
133
|
+
- Set state `active: false, current_phase: "complete"`
|
|
134
|
+
|
|
135
|
+
**If verdict is REJECT:**
|
|
136
|
+
- Extract Critic feedback with specific issues
|
|
137
|
+
- Increment iteration counter
|
|
138
|
+
- If `iteration >= max_iterations` (5):
|
|
139
|
+
- Force approval with warning about unresolved concerns
|
|
140
|
+
- Recommend manual review before execution
|
|
141
|
+
- Otherwise:
|
|
142
|
+
- Feed Critic feedback back to Planner
|
|
143
|
+
- Return to Planner Planning phase for refinement
|
|
144
|
+
|
|
145
|
+
## Iteration Rules
|
|
146
|
+
|
|
147
|
+
| Rule | Description |
|
|
148
|
+
|------|-------------|
|
|
149
|
+
| **Max 5 iterations** | Safety limit prevents infinite loops |
|
|
150
|
+
| **Planner owns plan** | Only Planner writes to plan file |
|
|
151
|
+
| **Architect provides wisdom** | Architect reads and advises, never modifies |
|
|
152
|
+
| **Critic has final say** | Plan approved only when Critic signals OKAY |
|
|
153
|
+
| **Feedback is specific** | Each rejection includes actionable improvements |
|
|
154
|
+
| **State persists** | Progress survives session interruptions |
|
|
155
|
+
|
|
156
|
+
## Quality Gates
|
|
157
|
+
|
|
158
|
+
The orchestrator must verify these gates before invoking Critic for each review:
|
|
159
|
+
|
|
160
|
+
1. **Plan file exists** at the path specified in state
|
|
161
|
+
2. **File references are valid** - Verify all mentioned files exist in codebase
|
|
162
|
+
3. **Acceptance criteria are concrete** - No vague "improve" or "optimize" without measurable metrics
|
|
163
|
+
4. **No ambiguous language** - Each task clearly specifies what to do
|
|
164
|
+
|
|
165
|
+
If any gate fails, return to Planner with specific failure feedback for remediation.
|
|
166
|
+
|
|
167
|
+
## Agent Communication Protocol
|
|
168
|
+
|
|
169
|
+
### Planner to Architect Questions
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
ARCHITECT_QUESTION:
|
|
173
|
+
- Topic: [Architecture/Performance/Security/Pattern]
|
|
174
|
+
- Context: [What we're planning]
|
|
175
|
+
- Files to examine: [specific paths]
|
|
176
|
+
- Specific Question: [What we need answered]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Architect to Planner Answers
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
ARCHITECT_ANSWER:
|
|
183
|
+
- Topic: [Matching topic]
|
|
184
|
+
- Analysis: [What Architect found after reading files]
|
|
185
|
+
- Recommendation: [Specific guidance]
|
|
186
|
+
- Trade-offs: [What to consider]
|
|
187
|
+
- References: [file:line citations from codebase]
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Critic to Planner Feedback
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
CRITIC_FEEDBACK:
|
|
194
|
+
- Verdict: REJECT
|
|
195
|
+
- Critical Issues:
|
|
196
|
+
1. [Issue with specific fix required]
|
|
197
|
+
2. [Issue with specific fix required]
|
|
198
|
+
- Minor Issues:
|
|
199
|
+
1. [Nice to fix]
|
|
200
|
+
- Questions for Architect (if any):
|
|
201
|
+
1. [Architectural question needing expert input]
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Cancellation
|
|
205
|
+
|
|
206
|
+
To stop an active ralplan session:
|
|
207
|
+
|
|
208
|
+
- Use `/cancel-ralph` (automatically detects ralplan via state file)
|
|
209
|
+
- Or manually delete `.omc/ralplan-state.json`
|
|
210
|
+
|
|
211
|
+
## Skill Workflow
|
|
212
|
+
|
|
213
|
+
1. **Initialize state** and log: `[RALPLAN Iteration 0/5] Initializing...`
|
|
214
|
+
2. **Parse task** from user input
|
|
215
|
+
3. **Spawn Planner** in direct planning mode
|
|
216
|
+
4. **Iterate** through planning loop with observability logging at each phase
|
|
217
|
+
5. **Complete** when Critic approves or max iterations reached with warnings
|
|
218
|
+
|
|
219
|
+
The iterative loop refines the plan until it meets the rigorous standards of all three agents, ensuring comprehensive, architecturally sound work plans ready for execution.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Automated release workflow for oh-my-claudecode
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Release Skill
|
|
8
|
+
|
|
9
|
+
Automate the release process for oh-my-claudecode.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/release <version>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Example: `/release 2.4.0` or `/release patch` or `/release minor`
|
|
18
|
+
|
|
19
|
+
## Release Checklist
|
|
20
|
+
|
|
21
|
+
Execute these steps in order:
|
|
22
|
+
|
|
23
|
+
### 1. Version Bump
|
|
24
|
+
Update version in all locations:
|
|
25
|
+
- `package.json`
|
|
26
|
+
- `src/installer/index.ts` (VERSION constant)
|
|
27
|
+
- `src/__tests__/installer.test.ts` (expected version)
|
|
28
|
+
- `.claude-plugin/plugin.json`
|
|
29
|
+
- `README.md` (version badge and title)
|
|
30
|
+
|
|
31
|
+
### 2. Run Tests
|
|
32
|
+
```bash
|
|
33
|
+
npm run test:run
|
|
34
|
+
```
|
|
35
|
+
All 231+ tests must pass before proceeding.
|
|
36
|
+
|
|
37
|
+
### 3. Commit Version Bump
|
|
38
|
+
```bash
|
|
39
|
+
git add -A
|
|
40
|
+
git commit -m "chore: Bump version to <version>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 4. Create & Push Tag
|
|
44
|
+
```bash
|
|
45
|
+
git tag v<version>
|
|
46
|
+
git push origin main
|
|
47
|
+
git push origin v<version>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 5. Publish to npm
|
|
51
|
+
```bash
|
|
52
|
+
npm publish --access public
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 6. Create GitHub Release
|
|
56
|
+
```bash
|
|
57
|
+
gh release create v<version> --title "v<version> - <title>" --notes "<release notes>"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 7. Verify
|
|
61
|
+
- [ ] npm: https://www.npmjs.com/package/oh-my-claudecode
|
|
62
|
+
- [ ] GitHub: https://github.com/Yeachan-Heo/oh-my-claudecode/releases
|
|
63
|
+
|
|
64
|
+
## Version Files Reference
|
|
65
|
+
|
|
66
|
+
| File | Field/Line |
|
|
67
|
+
|------|------------|
|
|
68
|
+
| `package.json` | `"version": "X.Y.Z"` |
|
|
69
|
+
| `src/installer/index.ts` | `export const VERSION = 'X.Y.Z'` |
|
|
70
|
+
| `src/__tests__/installer.test.ts` | `expect(VERSION).toBe('X.Y.Z')` |
|
|
71
|
+
| `.claude-plugin/plugin.json` | `"version": "X.Y.Z"` |
|
|
72
|
+
| `README.md` | Title + version badge |
|
|
73
|
+
|
|
74
|
+
## Semantic Versioning
|
|
75
|
+
|
|
76
|
+
- **patch** (X.Y.Z+1): Bug fixes, minor improvements
|
|
77
|
+
- **minor** (X.Y+1.0): New features, backward compatible
|
|
78
|
+
- **major** (X+1.0.0): Breaking changes
|
|
79
|
+
|
|
80
|
+
## Notes
|
|
81
|
+
|
|
82
|
+
- Always run tests before publishing
|
|
83
|
+
- Create release notes summarizing changes
|
|
84
|
+
- Plugin marketplace syncs automatically from GitHub releases
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Review a plan with Critic
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Review Skill
|
|
8
|
+
|
|
9
|
+
[PLAN REVIEW MODE ACTIVATED]
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
|
|
13
|
+
Critically evaluate plans using Critic. No plan passes without meeting rigorous standards.
|
|
14
|
+
|
|
15
|
+
## Review Criteria
|
|
16
|
+
|
|
17
|
+
| Criterion | Standard |
|
|
18
|
+
|-----------|----------|
|
|
19
|
+
| Clarity | 80%+ claims cite file/line |
|
|
20
|
+
| Testability | 90%+ criteria are concrete |
|
|
21
|
+
| Verification | All file refs exist |
|
|
22
|
+
| Specificity | No vague terms |
|
|
23
|
+
|
|
24
|
+
## Verdicts
|
|
25
|
+
|
|
26
|
+
**APPROVED** - Plan meets all criteria, ready for execution
|
|
27
|
+
**REVISE** - Plan has issues needing fixes (with specific feedback)
|
|
28
|
+
**REJECT** - Fundamental problems require replanning
|
|
29
|
+
|
|
30
|
+
## What Gets Checked
|
|
31
|
+
|
|
32
|
+
1. Are requirements clear and unambiguous?
|
|
33
|
+
2. Are acceptance criteria concrete and testable?
|
|
34
|
+
3. Do file references actually exist?
|
|
35
|
+
4. Are implementation steps specific?
|
|
36
|
+
5. Are risks identified with mitigations?
|
|
37
|
+
6. Are verification steps defined?
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultraqa
|
|
3
|
+
description: QA cycling workflow - test, verify, fix, repeat until goal met
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# UltraQA Skill
|
|
8
|
+
|
|
9
|
+
[ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
You are now in **ULTRAQA** mode - an autonomous QA cycling workflow that runs until your quality goal is met.
|
|
14
|
+
|
|
15
|
+
**Cycle**: qa-tester → architect verification → fix → repeat
|
|
16
|
+
|
|
17
|
+
## Goal Parsing
|
|
18
|
+
|
|
19
|
+
Parse the goal from arguments. Supported formats:
|
|
20
|
+
|
|
21
|
+
| Invocation | Goal Type | What to Check |
|
|
22
|
+
|------------|-----------|---------------|
|
|
23
|
+
| `/ultraqa --tests` | tests | All test suites pass |
|
|
24
|
+
| `/ultraqa --build` | build | Build succeeds with exit 0 |
|
|
25
|
+
| `/ultraqa --lint` | lint | No lint errors |
|
|
26
|
+
| `/ultraqa --typecheck` | typecheck | No TypeScript errors |
|
|
27
|
+
| `/ultraqa --custom "pattern"` | custom | Custom success pattern in output |
|
|
28
|
+
|
|
29
|
+
If no structured goal provided, interpret the argument as a custom goal.
|
|
30
|
+
|
|
31
|
+
## Cycle Workflow
|
|
32
|
+
|
|
33
|
+
### Cycle N (Max 5)
|
|
34
|
+
|
|
35
|
+
1. **RUN QA**: Execute verification based on goal type
|
|
36
|
+
- `--tests`: Run `npm test` or equivalent
|
|
37
|
+
- `--build`: Run `npm run build` or equivalent
|
|
38
|
+
- `--lint`: Run `npm run lint` or equivalent
|
|
39
|
+
- `--typecheck`: Run `npm run typecheck` or `tsc --noEmit`
|
|
40
|
+
- `--custom`: Run appropriate command and check for pattern
|
|
41
|
+
- `--interactive`: Use qa-tester for interactive CLI/service testing:
|
|
42
|
+
```
|
|
43
|
+
Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="TEST:
|
|
44
|
+
Goal: [describe what to verify]
|
|
45
|
+
Service: [how to start]
|
|
46
|
+
Test cases: [specific scenarios to verify]")
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. **CHECK RESULT**: Did the goal pass?
|
|
50
|
+
- **YES** → Exit with success message
|
|
51
|
+
- **NO** → Continue to step 3
|
|
52
|
+
|
|
53
|
+
3. **ARCHITECT DIAGNOSIS**: Spawn architect to analyze failure
|
|
54
|
+
```
|
|
55
|
+
Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="DIAGNOSE FAILURE:
|
|
56
|
+
Goal: [goal type]
|
|
57
|
+
Output: [test/build output]
|
|
58
|
+
Provide root cause and specific fix recommendations.")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
4. **FIX ISSUES**: Apply architect's recommendations
|
|
62
|
+
```
|
|
63
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
|
|
64
|
+
Issue: [architect diagnosis]
|
|
65
|
+
Files: [affected files]
|
|
66
|
+
Apply the fix precisely as recommended.")
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
5. **REPEAT**: Go back to step 1
|
|
70
|
+
|
|
71
|
+
## Exit Conditions
|
|
72
|
+
|
|
73
|
+
| Condition | Action |
|
|
74
|
+
|-----------|--------|
|
|
75
|
+
| **Goal Met** | Exit with success: "ULTRAQA COMPLETE: Goal met after N cycles" |
|
|
76
|
+
| **Cycle 5 Reached** | Exit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..." |
|
|
77
|
+
| **Same Failure 3x** | Exit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..." |
|
|
78
|
+
| **Environment Error** | Exit: "ULTRAQA ERROR: [tmux/port/dependency issue]" |
|
|
79
|
+
|
|
80
|
+
## Observability
|
|
81
|
+
|
|
82
|
+
Output progress each cycle:
|
|
83
|
+
```
|
|
84
|
+
[ULTRAQA Cycle 1/5] Running tests...
|
|
85
|
+
[ULTRAQA Cycle 1/5] FAILED - 3 tests failing
|
|
86
|
+
[ULTRAQA Cycle 1/5] Architect diagnosing...
|
|
87
|
+
[ULTRAQA Cycle 1/5] Fixing: auth.test.ts - missing mock
|
|
88
|
+
[ULTRAQA Cycle 2/5] Running tests...
|
|
89
|
+
[ULTRAQA Cycle 2/5] PASSED - All 47 tests pass
|
|
90
|
+
[ULTRAQA COMPLETE] Goal met after 2 cycles
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## State Tracking
|
|
94
|
+
|
|
95
|
+
Track state in `.omc/ultraqa-state.json`:
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"active": true,
|
|
99
|
+
"goal_type": "tests",
|
|
100
|
+
"goal_pattern": null,
|
|
101
|
+
"cycle": 1,
|
|
102
|
+
"max_cycles": 5,
|
|
103
|
+
"failures": ["3 tests failing: auth.test.ts"],
|
|
104
|
+
"started_at": "2024-01-18T12:00:00Z",
|
|
105
|
+
"session_id": "uuid"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Cancellation
|
|
110
|
+
|
|
111
|
+
User can cancel with `/cancel-ultraqa` which clears the state file.
|
|
112
|
+
|
|
113
|
+
## Important Rules
|
|
114
|
+
|
|
115
|
+
1. **PARALLEL when possible** - Run diagnosis while preparing potential fixes
|
|
116
|
+
2. **TRACK failures** - Record each failure to detect patterns
|
|
117
|
+
3. **EARLY EXIT on pattern** - 3x same failure = stop and surface
|
|
118
|
+
4. **CLEAR OUTPUT** - User should always know current cycle and status
|
|
119
|
+
5. **CLEAN UP** - Clear state file on completion or cancellation
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultrawork
|
|
3
|
+
description: Activate maximum performance mode with parallel agent orchestration for high-throughput task completion
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ultrawork Skill
|
|
8
|
+
|
|
9
|
+
Activates maximum performance mode with parallel agent orchestration.
|
|
10
|
+
|
|
11
|
+
## When Activated
|
|
12
|
+
|
|
13
|
+
This skill enhances Claude's capabilities by:
|
|
14
|
+
|
|
15
|
+
1. **Parallel Execution**: Running multiple agents simultaneously for independent tasks
|
|
16
|
+
2. **Aggressive Delegation**: Routing tasks to specialist agents immediately
|
|
17
|
+
3. **Background Operations**: Using `run_in_background: true` for long operations
|
|
18
|
+
4. **Persistence Enforcement**: Never stopping until all tasks are verified complete
|
|
19
|
+
5. **Smart Model Routing**: Using tiered agents to save tokens
|
|
20
|
+
|
|
21
|
+
## Smart Model Routing (CRITICAL - SAVE TOKENS)
|
|
22
|
+
|
|
23
|
+
**Choose tier based on task complexity: LOW (haiku) → MEDIUM (sonnet) → HIGH (opus)**
|
|
24
|
+
|
|
25
|
+
### Available Agents by Tier
|
|
26
|
+
|
|
27
|
+
| Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
|
|
28
|
+
|--------|-------------|-----------------|-------------|
|
|
29
|
+
| **Analysis** | `architect-low` | `architect-medium` | `architect` |
|
|
30
|
+
| **Execution** | `executor-low` | `executor` | `executor-high` |
|
|
31
|
+
| **Search** | `explore` | `explore-medium` | - |
|
|
32
|
+
| **Research** | `researcher-low` | `researcher` | - |
|
|
33
|
+
| **Frontend** | `designer-low` | `designer` | `designer-high` |
|
|
34
|
+
| **Docs** | `writer` | - | - |
|
|
35
|
+
| **Visual** | - | `vision` | - |
|
|
36
|
+
| **Planning** | - | - | `planner`, `critic`, `analyst` |
|
|
37
|
+
| **Testing** | - | `qa-tester` | - |
|
|
38
|
+
|
|
39
|
+
### Tier Selection Guide
|
|
40
|
+
|
|
41
|
+
| Task Complexity | Tier | Examples |
|
|
42
|
+
|-----------------|------|----------|
|
|
43
|
+
| Simple lookups | LOW | "What does this function return?", "Find where X is defined" |
|
|
44
|
+
| Standard work | MEDIUM | "Add error handling", "Implement this feature" |
|
|
45
|
+
| Complex analysis | HIGH | "Debug this race condition", "Refactor auth module across 5 files" |
|
|
46
|
+
|
|
47
|
+
### Routing Examples
|
|
48
|
+
|
|
49
|
+
**CRITICAL: Always pass `model` parameter explicitly - Claude Code does NOT auto-apply models from agent definitions!**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
// Simple question → LOW tier (saves tokens!)
|
|
53
|
+
Task(subagent_type="architect-low", model="haiku", prompt="What does this function return?")
|
|
54
|
+
|
|
55
|
+
// Standard implementation → MEDIUM tier
|
|
56
|
+
Task(subagent_type="executor", model="sonnet", prompt="Add error handling to login")
|
|
57
|
+
|
|
58
|
+
// Complex refactoring → HIGH tier
|
|
59
|
+
Task(subagent_type="executor-high", model="opus", prompt="Refactor auth module using JWT across 5 files")
|
|
60
|
+
|
|
61
|
+
// Quick file lookup → LOW tier
|
|
62
|
+
Task(subagent_type="explore", model="haiku", prompt="Find where UserService is defined")
|
|
63
|
+
|
|
64
|
+
// Thorough search → MEDIUM tier
|
|
65
|
+
Task(subagent_type="explore-medium", model="sonnet", prompt="Find all authentication patterns in the codebase")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Background Execution Rules
|
|
69
|
+
|
|
70
|
+
**Run in Background** (set `run_in_background: true`):
|
|
71
|
+
- Package installation: npm install, pip install, cargo build
|
|
72
|
+
- Build processes: npm run build, make, tsc
|
|
73
|
+
- Test suites: npm test, pytest, cargo test
|
|
74
|
+
- Docker operations: docker build, docker pull
|
|
75
|
+
|
|
76
|
+
**Run Blocking** (foreground):
|
|
77
|
+
- Quick status checks: git status, ls, pwd
|
|
78
|
+
- File reads, edits
|
|
79
|
+
- Simple commands
|
|
80
|
+
|
|
81
|
+
## Verification Checklist
|
|
82
|
+
|
|
83
|
+
Before stopping, verify:
|
|
84
|
+
- [ ] TODO LIST: Zero pending/in_progress tasks
|
|
85
|
+
- [ ] FUNCTIONALITY: All requested features work
|
|
86
|
+
- [ ] TESTS: All tests pass (if applicable)
|
|
87
|
+
- [ ] ERRORS: Zero unaddressed errors
|
|
88
|
+
|
|
89
|
+
**If ANY checkbox is unchecked, CONTINUE WORKING.**
|