oh-my-claude-sisyphus 3.3.10 → 3.4.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 +74 -8
- package/agents/explore-high.md +195 -0
- package/agents/qa-tester-high.md +141 -0
- package/agents/templates/README.md +110 -0
- package/agents/templates/base-agent.md +54 -0
- package/agents/templates/tier-instructions.md +94 -0
- package/commands/cancel-ecomode.md +71 -0
- package/commands/cancel.md +75 -0
- package/commands/ecomode.md +60 -0
- package/commands/help.md +1 -1
- package/commands/mcp-setup.md +7 -6
- package/commands/pipeline.md +231 -0
- package/commands/planner.md +174 -0
- package/commands/ralplan.md +8 -1
- package/commands/swarm.md +280 -0
- package/commands/ultrapilot.md +158 -0
- package/commands/ultrawork.md +1 -0
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts +6 -0
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +1 -0
- package/dist/__tests__/delegation-enforcer-integration.test.js +136 -0
- package/dist/__tests__/delegation-enforcer-integration.test.js.map +1 -0
- package/dist/__tests__/delegation-enforcer.test.d.ts +5 -0
- package/dist/__tests__/delegation-enforcer.test.d.ts.map +1 -0
- package/dist/__tests__/delegation-enforcer.test.js +208 -0
- package/dist/__tests__/delegation-enforcer.test.js.map +1 -0
- package/dist/__tests__/hooks.test.js +2 -2
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +4 -6
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/ralph-prd.test.js +1 -1
- package/dist/__tests__/ralph-prd.test.js.map +1 -1
- package/dist/__tests__/ralph-progress.test.js +1 -1
- package/dist/__tests__/ralph-progress.test.js.map +1 -1
- package/dist/__tests__/skills.test.js +31 -24
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/agents/analyst.d.ts.map +1 -1
- package/dist/agents/analyst.js +1 -0
- package/dist/agents/analyst.js.map +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +1 -0
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/critic.d.ts.map +1 -1
- package/dist/agents/critic.js +1 -0
- package/dist/agents/critic.js.map +1 -1
- package/dist/agents/definitions.d.ts +5 -1
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +53 -155
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts.map +1 -1
- package/dist/agents/designer.js +1 -0
- package/dist/agents/designer.js.map +1 -1
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +1 -0
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +1 -0
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +1 -0
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/qa-tester.d.ts.map +1 -1
- package/dist/agents/qa-tester.js +1 -0
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts.map +1 -1
- package/dist/agents/researcher.js +1 -0
- package/dist/agents/researcher.js.map +1 -1
- package/dist/agents/scientist.d.ts.map +1 -1
- package/dist/agents/scientist.js +1 -0
- package/dist/agents/scientist.js.map +1 -1
- package/dist/agents/types.d.ts +2 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/vision.d.ts.map +1 -1
- package/dist/agents/vision.js +1 -0
- package/dist/agents/vision.js.map +1 -1
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +1 -0
- package/dist/agents/writer.js.map +1 -1
- package/dist/analytics/cost-estimator.d.ts +14 -0
- package/dist/analytics/cost-estimator.d.ts.map +1 -0
- package/dist/analytics/cost-estimator.js +70 -0
- package/dist/analytics/cost-estimator.js.map +1 -0
- package/dist/analytics/export.d.ts +7 -0
- package/dist/analytics/export.d.ts.map +1 -0
- package/dist/analytics/export.js +93 -0
- package/dist/analytics/export.js.map +1 -0
- package/dist/analytics/index.d.ts +14 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +14 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/metrics-collector.d.ts +30 -0
- package/dist/analytics/metrics-collector.d.ts.map +1 -0
- package/dist/analytics/metrics-collector.js +96 -0
- package/dist/analytics/metrics-collector.js.map +1 -0
- package/dist/analytics/query-engine.d.ts +32 -0
- package/dist/analytics/query-engine.d.ts.map +1 -0
- package/dist/analytics/query-engine.js +151 -0
- package/dist/analytics/query-engine.js.map +1 -0
- package/dist/analytics/session-manager.d.ts +26 -0
- package/dist/analytics/session-manager.d.ts.map +1 -0
- package/dist/analytics/session-manager.js +201 -0
- package/dist/analytics/session-manager.js.map +1 -0
- package/dist/analytics/session-types.d.ts +37 -0
- package/dist/analytics/session-types.d.ts.map +1 -0
- package/dist/analytics/session-types.js +2 -0
- package/dist/analytics/session-types.js.map +1 -0
- package/dist/analytics/token-tracker.d.ts +24 -0
- package/dist/analytics/token-tracker.d.ts.map +1 -0
- package/dist/analytics/token-tracker.js +161 -0
- package/dist/analytics/token-tracker.js.map +1 -0
- package/dist/analytics/types.d.ts +37 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +21 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/cli/analytics.d.ts +3 -0
- package/dist/cli/analytics.d.ts.map +1 -0
- package/dist/cli/analytics.js +74 -0
- package/dist/cli/analytics.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +5 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +29 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/cleanup.d.ts +4 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -0
- package/dist/cli/commands/cleanup.js +17 -0
- package/dist/cli/commands/cleanup.js.map +1 -0
- package/dist/cli/commands/cost.d.ts +4 -0
- package/dist/cli/commands/cost.d.ts.map +1 -0
- package/dist/cli/commands/cost.js +53 -0
- package/dist/cli/commands/cost.js.map +1 -0
- package/dist/cli/commands/export.d.ts +5 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +30 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +5 -0
- package/dist/cli/commands/sessions.d.ts.map +1 -0
- package/dist/cli/commands/sessions.js +37 -0
- package/dist/cli/commands/sessions.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +4 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +43 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/index.js +0 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/formatting.d.ts +22 -0
- package/dist/cli/utils/formatting.d.ts.map +1 -0
- package/dist/cli/utils/formatting.js +70 -0
- package/dist/cli/utils/formatting.js.map +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -6
- package/dist/config/loader.js.map +1 -1
- package/dist/features/delegation-enforcer.d.ts +71 -0
- package/dist/features/delegation-enforcer.d.ts.map +1 -0
- package/dist/features/delegation-enforcer.js +128 -0
- package/dist/features/delegation-enforcer.js.map +1 -0
- package/dist/features/index.d.ts +3 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +18 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/state-manager/index.d.ts +100 -0
- package/dist/features/state-manager/index.d.ts.map +1 -0
- package/dist/features/state-manager/index.js +407 -0
- package/dist/features/state-manager/index.js.map +1 -0
- package/dist/features/state-manager/types.d.ts +147 -0
- package/dist/features/state-manager/types.d.ts.map +1 -0
- package/dist/features/state-manager/types.js +30 -0
- package/dist/features/state-manager/types.js.map +1 -0
- package/dist/features/task-decomposer/index.d.ts +33 -0
- package/dist/features/task-decomposer/index.d.ts.map +1 -0
- package/dist/features/task-decomposer/index.js +698 -0
- package/dist/features/task-decomposer/index.js.map +1 -0
- package/dist/features/task-decomposer/types.d.ts +133 -0
- package/dist/features/task-decomposer/types.d.ts.map +1 -0
- package/dist/features/task-decomposer/types.js +8 -0
- package/dist/features/task-decomposer/types.js.map +1 -0
- package/dist/features/verification/example.d.ts +49 -0
- package/dist/features/verification/example.d.ts.map +1 -0
- package/dist/features/verification/example.js +235 -0
- package/dist/features/verification/example.js.map +1 -0
- package/dist/features/verification/index.d.ts +97 -0
- package/dist/features/verification/index.d.ts.map +1 -0
- package/dist/features/verification/index.js +439 -0
- package/dist/features/verification/index.js.map +1 -0
- package/dist/features/verification/types.d.ts +142 -0
- package/dist/features/verification/types.d.ts.map +1 -0
- package/dist/features/verification/types.js +7 -0
- package/dist/features/verification/types.js.map +1 -0
- package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.js +0 -1
- package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.js +4 -4
- package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js +1 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/transition.test.js +1 -2
- package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
- package/dist/hooks/autopilot/cancel.js +2 -2
- package/dist/hooks/autopilot/cancel.js.map +1 -1
- package/dist/hooks/autopilot/enforcement.d.ts +16 -2
- package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
- package/dist/hooks/autopilot/enforcement.js +78 -4
- package/dist/hooks/autopilot/enforcement.js.map +1 -1
- package/dist/hooks/autopilot/index.d.ts +3 -6
- package/dist/hooks/autopilot/index.d.ts.map +1 -1
- package/dist/hooks/autopilot/index.js +6 -12
- package/dist/hooks/autopilot/index.js.map +1 -1
- package/dist/hooks/autopilot/state.d.ts +36 -2
- package/dist/hooks/autopilot/state.d.ts.map +1 -1
- package/dist/hooks/autopilot/state.js +216 -2
- package/dist/hooks/autopilot/state.js.map +1 -1
- package/dist/hooks/autopilot/validation.d.ts +23 -2
- package/dist/hooks/autopilot/validation.d.ts.map +1 -1
- package/dist/hooks/autopilot/validation.js +158 -1
- package/dist/hooks/autopilot/validation.js.map +1 -1
- package/dist/hooks/bridge.js +3 -3
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/index.d.ts +5 -9
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +31 -21
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/learner/promotion.js +1 -1
- package/dist/hooks/learner/promotion.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +2 -3
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph/index.d.ts +11 -0
- package/dist/hooks/ralph/index.d.ts.map +1 -0
- package/dist/hooks/ralph/index.js +53 -0
- package/dist/hooks/ralph/index.js.map +1 -0
- package/dist/hooks/ralph/loop.d.ts +116 -0
- package/dist/hooks/ralph/loop.d.ts.map +1 -0
- package/dist/hooks/ralph/loop.js +322 -0
- package/dist/hooks/ralph/loop.js.map +1 -0
- package/dist/hooks/ralph/prd.d.ts +130 -0
- package/dist/hooks/ralph/prd.d.ts.map +1 -0
- package/dist/hooks/ralph/prd.js +310 -0
- package/dist/hooks/ralph/prd.js.map +1 -0
- package/dist/hooks/ralph/progress.d.ts +102 -0
- package/dist/hooks/ralph/progress.d.ts.map +1 -0
- package/dist/hooks/ralph/progress.js +408 -0
- package/dist/hooks/ralph/progress.js.map +1 -0
- package/dist/hooks/ralph/verifier.d.ts +72 -0
- package/dist/hooks/ralph/verifier.d.ts.map +1 -0
- package/dist/hooks/ralph/verifier.js +223 -0
- package/dist/hooks/ralph/verifier.js.map +1 -0
- package/dist/hooks/recovery/constants.d.ts +114 -0
- package/dist/hooks/recovery/constants.d.ts.map +1 -0
- package/dist/hooks/recovery/constants.js +227 -0
- package/dist/hooks/recovery/constants.js.map +1 -0
- package/dist/hooks/recovery/context-window.d.ts +24 -0
- package/dist/hooks/recovery/context-window.d.ts.map +1 -0
- package/dist/hooks/recovery/context-window.js +321 -0
- package/dist/hooks/recovery/context-window.js.map +1 -0
- package/dist/hooks/recovery/edit-error.d.ts +24 -0
- package/dist/hooks/recovery/edit-error.d.ts.map +1 -0
- package/dist/hooks/recovery/edit-error.js +56 -0
- package/dist/hooks/recovery/edit-error.js.map +1 -0
- package/dist/hooks/recovery/index.d.ts +102 -0
- package/dist/hooks/recovery/index.d.ts.map +1 -0
- package/dist/hooks/recovery/index.js +166 -0
- package/dist/hooks/recovery/index.js.map +1 -0
- package/dist/hooks/recovery/session-recovery.d.ts +24 -0
- package/dist/hooks/recovery/session-recovery.d.ts.map +1 -0
- package/dist/hooks/recovery/session-recovery.js +281 -0
- package/dist/hooks/recovery/session-recovery.js.map +1 -0
- package/dist/hooks/recovery/storage.d.ts +75 -0
- package/dist/hooks/recovery/storage.d.ts.map +1 -0
- package/dist/hooks/recovery/storage.js +382 -0
- package/dist/hooks/recovery/storage.js.map +1 -0
- package/dist/hooks/recovery/types.d.ts +196 -0
- package/dist/hooks/recovery/types.d.ts.map +1 -0
- package/dist/hooks/recovery/types.js +32 -0
- package/dist/hooks/recovery/types.js.map +1 -0
- package/dist/hooks/ultrapilot/index.d.ts +90 -0
- package/dist/hooks/ultrapilot/index.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/index.js +310 -0
- package/dist/hooks/ultrapilot/index.js.map +1 -0
- package/dist/hooks/ultrapilot/state.d.ts +72 -0
- package/dist/hooks/ultrapilot/state.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/state.js +258 -0
- package/dist/hooks/ultrapilot/state.js.map +1 -0
- package/dist/hooks/ultrapilot/types.d.ts +113 -0
- package/dist/hooks/ultrapilot/types.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/types.js +36 -0
- package/dist/hooks/ultrapilot/types.js.map +1 -0
- package/dist/hooks/ultraqa/index.d.ts +94 -0
- package/dist/hooks/ultraqa/index.d.ts.map +1 -0
- package/dist/hooks/ultraqa/index.js +216 -0
- package/dist/hooks/ultraqa/index.js.map +1 -0
- package/dist/hooks/ultrawork/index.d.ts +62 -0
- package/dist/hooks/ultrawork/index.d.ts.map +1 -0
- package/dist/hooks/ultrawork/index.js +208 -0
- package/dist/hooks/ultrawork/index.js.map +1 -0
- package/dist/hud/analytics-display.d.ts +28 -0
- package/dist/hud/analytics-display.d.ts.map +1 -0
- package/dist/hud/analytics-display.js +105 -0
- package/dist/hud/analytics-display.js.map +1 -0
- package/dist/hud/background-cleanup.d.ts +28 -0
- package/dist/hud/background-cleanup.d.ts.map +1 -0
- package/dist/hud/background-cleanup.js +92 -0
- package/dist/hud/background-cleanup.js.map +1 -0
- package/dist/hud/index.js +4 -2
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/render.d.ts +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +32 -1
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts +5 -0
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +13 -0
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/types.d.ts +11 -1
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +19 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +1 -1
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/servers.d.ts +2 -18
- package/dist/mcp/servers.d.ts.map +1 -1
- package/dist/mcp/servers.js +4 -36
- package/dist/mcp/servers.js.map +1 -1
- package/dist/shared/types.d.ts +1 -3
- package/dist/shared/types.d.ts.map +1 -1
- package/docs/CLAUDE.md +170 -44
- package/docs/DELEGATION-ENFORCER.md +282 -0
- package/docs/FULL-README.md +130 -16
- package/docs/LOCAL_PLUGIN_INSTALL.md +1 -1
- package/docs/MIGRATION.md +513 -98
- package/docs/SYNC-SYSTEM.md +528 -0
- package/package.json +9 -3
- package/scripts/sync-metadata.ts +363 -0
- package/scripts/test-mutual-exclusion.ts +1 -1
- package/skills/analyze/SKILL.md +0 -1
- package/skills/autopilot/SKILL.md +0 -1
- package/skills/build-fix/SKILL.md +123 -0
- package/skills/cancel/SKILL.md +580 -0
- package/skills/cancel-autopilot/SKILL.md +0 -1
- package/skills/cancel-ecomode/SKILL.md +41 -0
- package/skills/cancel-ralph/SKILL.md +0 -1
- package/skills/cancel-ultraqa/SKILL.md +0 -1
- package/skills/cancel-ultrawork/SKILL.md +0 -1
- package/skills/code-review/SKILL.md +179 -0
- package/skills/deepinit/SKILL.md +0 -1
- package/skills/deepsearch/SKILL.md +0 -1
- package/skills/doctor/SKILL.md +0 -1
- package/skills/ecomode/SKILL.md +128 -0
- package/skills/frontend-ui-ux/SKILL.md +0 -1
- package/skills/git-master/SKILL.md +0 -1
- package/skills/help/SKILL.md +1 -2
- package/skills/hud/SKILL.md +0 -1
- package/skills/learner/SKILL.md +0 -1
- package/skills/mcp-setup/SKILL.md +8 -7
- package/skills/note/SKILL.md +0 -1
- package/skills/omc-default/SKILL.md +0 -1
- package/skills/omc-default-global/SKILL.md +0 -1
- package/skills/omc-setup/SKILL.md +176 -10
- package/skills/orchestrate/SKILL.md +0 -1
- package/skills/pipeline/SKILL.md +417 -0
- package/skills/plan/SKILL.md +138 -21
- package/skills/planner/SKILL.md +0 -1
- package/skills/ralph/SKILL.md +65 -1
- package/skills/ralph-init/SKILL.md +0 -1
- package/skills/ralplan/SKILL.md +0 -1
- package/skills/release/SKILL.md +0 -1
- package/skills/research/SKILL.md +0 -1
- package/skills/review/SKILL.md +0 -1
- package/skills/security-review/SKILL.md +254 -0
- package/skills/swarm/SKILL.md +349 -0
- package/skills/tdd/SKILL.md +0 -1
- package/skills/ultrapilot/SKILL.md +563 -0
- package/skills/ultraqa/SKILL.md +0 -1
- package/skills/ultrawork/SKILL.md +0 -1
- package/docs/MIGRATION-v3.md +0 -186
package/skills/plan/SKILL.md
CHANGED
|
@@ -1,38 +1,155 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
3
|
+
description: Strategic planning with optional interview workflow
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
# Plan Skill
|
|
6
|
+
# Plan - Strategic Planning Skill
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
You are Planner, a strategic planning consultant who creates comprehensive work plans through intelligent interview-style interaction.
|
|
10
9
|
|
|
11
|
-
##
|
|
10
|
+
## Your Role
|
|
12
11
|
|
|
13
|
-
You
|
|
12
|
+
You guide users through planning by:
|
|
13
|
+
1. Determining if an interview is needed (broad/vague requests) or if direct planning is possible (detailed requirements)
|
|
14
|
+
2. Asking clarifying questions when needed about requirements, constraints, and goals
|
|
15
|
+
3. Consulting with Analyst for hidden requirements and risk analysis
|
|
16
|
+
4. Creating detailed, actionable work plans
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
## Planning Modes
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
### Auto-Detection: Interview vs Direct Planning
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
4. **Review** (optional) - Critic can review the plan for quality
|
|
22
|
+
**Interview Mode** (when request is BROAD):
|
|
23
|
+
- Vague verbs: "improve", "enhance", "fix", "refactor" without specific targets
|
|
24
|
+
- No specific files/functions mentioned
|
|
25
|
+
- Touches 3+ unrelated areas
|
|
26
|
+
- Single sentence without clear deliverable
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- "
|
|
28
|
+
**Direct Planning** (when request is DETAILED):
|
|
29
|
+
- Specific files/functions/components mentioned
|
|
30
|
+
- Clear acceptance criteria provided
|
|
31
|
+
- Concrete implementation approach described
|
|
32
|
+
- User explicitly says "skip interview" or "just plan"
|
|
33
|
+
|
|
34
|
+
### Interview Mode Workflow
|
|
35
|
+
|
|
36
|
+
When requirements are unclear, activate interview mode:
|
|
37
|
+
|
|
38
|
+
[PLANNING MODE ACTIVATED - INTERVIEW PHASE]
|
|
39
|
+
|
|
40
|
+
#### Phase 1: Interview
|
|
41
|
+
Ask clarifying questions about: Goals, Constraints, Context, Risks, Preferences
|
|
42
|
+
|
|
43
|
+
**CRITICAL**: Don't assume. Ask until requirements are clear.
|
|
44
|
+
|
|
45
|
+
**IMPORTANT**: Use the `AskUserQuestion` tool when asking preference questions. This provides a clickable UI for faster responses.
|
|
46
|
+
|
|
47
|
+
**Question types requiring AskUserQuestion:**
|
|
48
|
+
- Preference (speed vs quality)
|
|
49
|
+
- Requirement (deadline)
|
|
50
|
+
- Scope (include feature Y?)
|
|
51
|
+
- Constraint (performance needs)
|
|
52
|
+
- Risk tolerance (refactoring acceptable?)
|
|
53
|
+
|
|
54
|
+
**When plain text is OK:** Questions needing specific values (port numbers, names) or follow-up clarifications.
|
|
55
|
+
|
|
56
|
+
**MANDATORY: Single Question at a Time**
|
|
57
|
+
|
|
58
|
+
**Core Rule:** Never ask multiple questions in one message during interview mode.
|
|
59
|
+
|
|
60
|
+
| BAD | GOOD |
|
|
61
|
+
|-----|------|
|
|
62
|
+
| "What's the scope? And the timeline? And who's the audience?" | "What's the primary scope for this feature?" |
|
|
63
|
+
| "Should it be async? What about error handling? Caching?" | "Should this operation be synchronous or asynchronous?" |
|
|
64
|
+
|
|
65
|
+
**Pattern:**
|
|
66
|
+
1. Ask ONE focused question
|
|
67
|
+
2. Wait for user response
|
|
68
|
+
3. Build next question on the answer
|
|
69
|
+
4. Repeat until requirements are clear
|
|
70
|
+
|
|
71
|
+
**Example progression:**
|
|
72
|
+
```
|
|
73
|
+
Q1: "What's the main goal?"
|
|
74
|
+
A1: "Improve performance"
|
|
75
|
+
|
|
76
|
+
Q2: "For performance, what matters more - latency or throughput?"
|
|
77
|
+
A2: "Latency"
|
|
78
|
+
|
|
79
|
+
Q3: "For latency, are we optimizing for p50 or p99?"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
#### Design Option Presentation
|
|
83
|
+
|
|
84
|
+
When presenting design choices, chunk them:
|
|
85
|
+
|
|
86
|
+
**Structure:**
|
|
87
|
+
1. **Overview** (2-3 sentences)
|
|
88
|
+
2. **Option A** with trade-offs
|
|
89
|
+
3. [Wait for user reaction]
|
|
90
|
+
4. **Option B** with trade-offs
|
|
91
|
+
5. [Wait for user reaction]
|
|
92
|
+
6. **Recommendation** (only after options discussed)
|
|
93
|
+
|
|
94
|
+
**Format for each option:**
|
|
95
|
+
```
|
|
96
|
+
### Option A: [Name]
|
|
97
|
+
**Approach:** [1 sentence]
|
|
98
|
+
**Pros:** [bullets]
|
|
99
|
+
**Cons:** [bullets]
|
|
100
|
+
|
|
101
|
+
What's your reaction to this approach?
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
[Wait for response before presenting next option]
|
|
105
|
+
|
|
106
|
+
**Never dump all options at once** - this causes decision fatigue and shallow evaluation.
|
|
107
|
+
|
|
108
|
+
#### Phase 2: Analysis
|
|
109
|
+
Consult Analyst for hidden requirements, edge cases, risks.
|
|
110
|
+
|
|
111
|
+
Task(subagent_type="oh-my-claudecode:analyst", model="opus", prompt="Analyze requirements...")
|
|
112
|
+
|
|
113
|
+
#### Phase 3: Plan Creation
|
|
114
|
+
When user says "Create the plan", generate structured plan with:
|
|
115
|
+
- Requirements Summary
|
|
116
|
+
- Acceptance Criteria (testable)
|
|
117
|
+
- Implementation Steps (with file references)
|
|
118
|
+
- Risks & Mitigations
|
|
119
|
+
- Verification Steps
|
|
120
|
+
|
|
121
|
+
**Transition Triggers:**
|
|
122
|
+
Create plan when user says: "Create the plan", "Make it into a work plan", "I'm ready to plan"
|
|
123
|
+
|
|
124
|
+
### Direct Planning Mode
|
|
125
|
+
|
|
126
|
+
When requirements are already detailed, skip straight to:
|
|
127
|
+
|
|
128
|
+
1. **Quick Analysis** - Brief Analyst consultation (optional)
|
|
129
|
+
2. **Plan Creation** - Generate comprehensive work plan immediately
|
|
130
|
+
3. **Review** (optional) - Critic review if requested
|
|
131
|
+
|
|
132
|
+
## Quality Criteria
|
|
133
|
+
|
|
134
|
+
Plans must meet these standards:
|
|
135
|
+
- 80%+ claims cite file/line references
|
|
136
|
+
- 90%+ acceptance criteria are testable
|
|
137
|
+
- No vague terms without metrics
|
|
138
|
+
- All risks have mitigations
|
|
139
|
+
|
|
140
|
+
## Plan Storage
|
|
31
141
|
|
|
32
|
-
### Plan Storage
|
|
33
142
|
- Drafts are saved to `.omc/drafts/`
|
|
34
143
|
- Final plans are saved to `.omc/plans/`
|
|
35
144
|
|
|
145
|
+
## Deprecation Notice
|
|
146
|
+
|
|
147
|
+
**Note:** The separate `/planner` skill has been merged into `/plan`. If you invoke `/planner`, it will automatically redirect to this skill. Both workflows (interview and direct planning) are now available through `/plan`.
|
|
148
|
+
|
|
36
149
|
---
|
|
37
150
|
|
|
38
|
-
|
|
151
|
+
## Getting Started
|
|
152
|
+
|
|
153
|
+
If requirements are clear, I'll plan directly. If not, I'll start an interview.
|
|
154
|
+
|
|
155
|
+
Tell me what you want to accomplish.
|
package/skills/planner/SKILL.md
CHANGED
package/skills/ralph/SKILL.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ralph
|
|
3
3
|
description: Self-referential loop until task completion with architect verification
|
|
4
|
-
user-invocable: true
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Ralph Skill
|
|
@@ -10,6 +9,71 @@ user-invocable: true
|
|
|
10
9
|
|
|
11
10
|
Your previous attempt did not output the completion promise. Continue working on the task.
|
|
12
11
|
|
|
12
|
+
## PRD MODE (OPTIONAL)
|
|
13
|
+
|
|
14
|
+
If the user provides the `--prd` flag, initialize a PRD (Product Requirements Document) BEFORE starting the ralph loop.
|
|
15
|
+
|
|
16
|
+
### Detecting PRD Mode
|
|
17
|
+
|
|
18
|
+
Check if `{{PROMPT}}` contains the flag pattern: `--prd` or `--PRD`
|
|
19
|
+
|
|
20
|
+
### PRD Initialization Workflow
|
|
21
|
+
|
|
22
|
+
When `--prd` flag detected:
|
|
23
|
+
|
|
24
|
+
1. **Create PRD File Structure** (`.omc/prd.json` and `.omc/progress.txt`)
|
|
25
|
+
2. **Parse the task** (everything after `--prd` flag)
|
|
26
|
+
3. **Break down into user stories** with this structure:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"project": "[Project Name]",
|
|
31
|
+
"branchName": "ralph/[feature-name]",
|
|
32
|
+
"description": "[Feature description]",
|
|
33
|
+
"userStories": [
|
|
34
|
+
{
|
|
35
|
+
"id": "US-001",
|
|
36
|
+
"title": "[Short title]",
|
|
37
|
+
"description": "As a [user], I want to [action] so that [benefit].",
|
|
38
|
+
"acceptanceCriteria": ["Criterion 1", "Typecheck passes"],
|
|
39
|
+
"priority": 1,
|
|
40
|
+
"passes": false
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
4. **Create progress.txt**:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
# Ralph Progress Log
|
|
50
|
+
Started: [ISO timestamp]
|
|
51
|
+
|
|
52
|
+
## Codebase Patterns
|
|
53
|
+
(No patterns discovered yet)
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
5. **Guidelines for PRD creation**:
|
|
59
|
+
- Right-sized stories: Each completable in one focused session
|
|
60
|
+
- Verifiable criteria: Include "Typecheck passes", "Tests pass"
|
|
61
|
+
- Independent stories: Minimize dependencies
|
|
62
|
+
- Priority order: Foundational work (DB, types) before UI
|
|
63
|
+
|
|
64
|
+
6. **After PRD created**: Proceed to normal ralph loop execution using the user stories as your task list
|
|
65
|
+
|
|
66
|
+
### Example Usage
|
|
67
|
+
|
|
68
|
+
User input: `--prd build a todo app with React and TypeScript`
|
|
69
|
+
|
|
70
|
+
Your workflow:
|
|
71
|
+
1. Detect `--prd` flag
|
|
72
|
+
2. Extract task: "build a todo app with React and TypeScript"
|
|
73
|
+
3. Create `.omc/prd.json` with user stories
|
|
74
|
+
4. Create `.omc/progress.txt`
|
|
75
|
+
5. Begin ralph loop using user stories as task breakdown
|
|
76
|
+
|
|
13
77
|
## ULTRAWORK MODE (AUTO-ACTIVATED)
|
|
14
78
|
|
|
15
79
|
Ralph automatically activates Ultrawork for maximum parallel execution. You MUST follow these rules:
|
package/skills/ralplan/SKILL.md
CHANGED
package/skills/release/SKILL.md
CHANGED
package/skills/research/SKILL.md
CHANGED
package/skills/review/SKILL.md
CHANGED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-review
|
|
3
|
+
description: Run a comprehensive security review on code
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security Review Skill
|
|
7
|
+
|
|
8
|
+
Conduct a thorough security audit checking for OWASP Top 10 vulnerabilities, hardcoded secrets, and unsafe patterns.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
This skill activates when:
|
|
13
|
+
- User requests "security review", "security audit"
|
|
14
|
+
- After writing code that handles user input
|
|
15
|
+
- After adding new API endpoints
|
|
16
|
+
- After modifying authentication/authorization logic
|
|
17
|
+
- Before deploying to production
|
|
18
|
+
- After adding external dependencies
|
|
19
|
+
|
|
20
|
+
## What It Does
|
|
21
|
+
|
|
22
|
+
Delegates to the `security-reviewer` agent (Opus model) for deep security analysis:
|
|
23
|
+
|
|
24
|
+
1. **OWASP Top 10 Scan**
|
|
25
|
+
- A01: Broken Access Control
|
|
26
|
+
- A02: Cryptographic Failures
|
|
27
|
+
- A03: Injection (SQL, NoSQL, Command, XSS)
|
|
28
|
+
- A04: Insecure Design
|
|
29
|
+
- A05: Security Misconfiguration
|
|
30
|
+
- A06: Vulnerable and Outdated Components
|
|
31
|
+
- A07: Identification and Authentication Failures
|
|
32
|
+
- A08: Software and Data Integrity Failures
|
|
33
|
+
- A09: Security Logging and Monitoring Failures
|
|
34
|
+
- A10: Server-Side Request Forgery (SSRF)
|
|
35
|
+
|
|
36
|
+
2. **Secrets Detection**
|
|
37
|
+
- Hardcoded API keys
|
|
38
|
+
- Passwords in source code
|
|
39
|
+
- Private keys in repo
|
|
40
|
+
- Tokens and credentials
|
|
41
|
+
- Connection strings with secrets
|
|
42
|
+
|
|
43
|
+
3. **Input Validation**
|
|
44
|
+
- All user inputs sanitized
|
|
45
|
+
- SQL/NoSQL injection prevention
|
|
46
|
+
- Command injection prevention
|
|
47
|
+
- XSS prevention (output escaping)
|
|
48
|
+
- Path traversal prevention
|
|
49
|
+
|
|
50
|
+
4. **Authentication/Authorization**
|
|
51
|
+
- Proper password hashing (bcrypt, argon2)
|
|
52
|
+
- Session management security
|
|
53
|
+
- Access control enforcement
|
|
54
|
+
- JWT implementation security
|
|
55
|
+
|
|
56
|
+
5. **Dependency Security**
|
|
57
|
+
- Run `npm audit` for known vulnerabilities
|
|
58
|
+
- Check for outdated dependencies
|
|
59
|
+
- Identify high-severity CVEs
|
|
60
|
+
|
|
61
|
+
## Agent Delegation
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Task(
|
|
65
|
+
subagent_type="oh-my-claudecode:security-reviewer",
|
|
66
|
+
model="opus",
|
|
67
|
+
prompt="SECURITY REVIEW TASK
|
|
68
|
+
|
|
69
|
+
Conduct comprehensive security audit of codebase.
|
|
70
|
+
|
|
71
|
+
Scope: [specific files or entire codebase]
|
|
72
|
+
|
|
73
|
+
Security Checklist:
|
|
74
|
+
1. OWASP Top 10 scan
|
|
75
|
+
2. Hardcoded secrets detection
|
|
76
|
+
3. Input validation review
|
|
77
|
+
4. Authentication/authorization review
|
|
78
|
+
5. Dependency vulnerability scan (npm audit)
|
|
79
|
+
|
|
80
|
+
Output: Security review report with:
|
|
81
|
+
- Summary of findings by severity (CRITICAL, HIGH, MEDIUM, LOW)
|
|
82
|
+
- Specific file:line locations
|
|
83
|
+
- CVE references where applicable
|
|
84
|
+
- Remediation guidance for each issue
|
|
85
|
+
- Overall security posture assessment"
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Output Format
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
SECURITY REVIEW REPORT
|
|
93
|
+
======================
|
|
94
|
+
|
|
95
|
+
Scope: Entire codebase (42 files scanned)
|
|
96
|
+
Scan Date: 2026-01-24T14:30:00Z
|
|
97
|
+
|
|
98
|
+
CRITICAL (2)
|
|
99
|
+
------------
|
|
100
|
+
1. src/api/auth.ts:89 - Hardcoded API Key
|
|
101
|
+
Finding: AWS API key hardcoded in source code
|
|
102
|
+
Impact: Credential exposure if code is public or leaked
|
|
103
|
+
Remediation: Move to environment variables, rotate key immediately
|
|
104
|
+
Reference: OWASP A02:2021 – Cryptographic Failures
|
|
105
|
+
|
|
106
|
+
2. src/db/query.ts:45 - SQL Injection Vulnerability
|
|
107
|
+
Finding: User input concatenated directly into SQL query
|
|
108
|
+
Impact: Attacker can execute arbitrary SQL commands
|
|
109
|
+
Remediation: Use parameterized queries or ORM
|
|
110
|
+
Reference: OWASP A03:2021 – Injection
|
|
111
|
+
|
|
112
|
+
HIGH (5)
|
|
113
|
+
--------
|
|
114
|
+
3. src/auth/password.ts:22 - Weak Password Hashing
|
|
115
|
+
Finding: Passwords hashed with MD5 (cryptographically broken)
|
|
116
|
+
Impact: Passwords can be reversed via rainbow tables
|
|
117
|
+
Remediation: Use bcrypt or argon2 with appropriate work factor
|
|
118
|
+
Reference: OWASP A02:2021 – Cryptographic Failures
|
|
119
|
+
|
|
120
|
+
4. src/components/UserInput.tsx:67 - XSS Vulnerability
|
|
121
|
+
Finding: User input rendered with dangerouslySetInnerHTML
|
|
122
|
+
Impact: Cross-site scripting attack vector
|
|
123
|
+
Remediation: Sanitize HTML or use safe rendering
|
|
124
|
+
Reference: OWASP A03:2021 – Injection (XSS)
|
|
125
|
+
|
|
126
|
+
5. src/api/upload.ts:34 - Path Traversal Vulnerability
|
|
127
|
+
Finding: User-controlled filename used without validation
|
|
128
|
+
Impact: Attacker can read/write arbitrary files
|
|
129
|
+
Remediation: Validate and sanitize filenames, use allowlist
|
|
130
|
+
Reference: OWASP A01:2021 – Broken Access Control
|
|
131
|
+
|
|
132
|
+
...
|
|
133
|
+
|
|
134
|
+
MEDIUM (8)
|
|
135
|
+
----------
|
|
136
|
+
...
|
|
137
|
+
|
|
138
|
+
LOW (12)
|
|
139
|
+
--------
|
|
140
|
+
...
|
|
141
|
+
|
|
142
|
+
DEPENDENCY VULNERABILITIES
|
|
143
|
+
--------------------------
|
|
144
|
+
Found 3 vulnerabilities via npm audit:
|
|
145
|
+
|
|
146
|
+
CRITICAL: axios@0.21.0 - Server-Side Request Forgery (CVE-2021-3749)
|
|
147
|
+
Installed: axios@0.21.0
|
|
148
|
+
Fix: npm install axios@0.21.2
|
|
149
|
+
|
|
150
|
+
HIGH: lodash@4.17.19 - Prototype Pollution (CVE-2020-8203)
|
|
151
|
+
Installed: lodash@4.17.19
|
|
152
|
+
Fix: npm install lodash@4.17.21
|
|
153
|
+
|
|
154
|
+
...
|
|
155
|
+
|
|
156
|
+
OVERALL ASSESSMENT
|
|
157
|
+
------------------
|
|
158
|
+
Security Posture: POOR (2 CRITICAL, 5 HIGH issues)
|
|
159
|
+
|
|
160
|
+
Immediate Actions Required:
|
|
161
|
+
1. Rotate exposed AWS API key
|
|
162
|
+
2. Fix SQL injection in db/query.ts
|
|
163
|
+
3. Upgrade password hashing to bcrypt
|
|
164
|
+
4. Update vulnerable dependencies
|
|
165
|
+
|
|
166
|
+
Recommendation: DO NOT DEPLOY until CRITICAL and HIGH issues resolved.
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Security Checklist
|
|
170
|
+
|
|
171
|
+
The security-reviewer agent verifies:
|
|
172
|
+
|
|
173
|
+
### Authentication & Authorization
|
|
174
|
+
- [ ] Passwords hashed with strong algorithm (bcrypt/argon2)
|
|
175
|
+
- [ ] Session tokens cryptographically random
|
|
176
|
+
- [ ] JWT tokens properly signed and validated
|
|
177
|
+
- [ ] Access control enforced on all protected resources
|
|
178
|
+
- [ ] No authentication bypass vulnerabilities
|
|
179
|
+
|
|
180
|
+
### Input Validation
|
|
181
|
+
- [ ] All user inputs validated and sanitized
|
|
182
|
+
- [ ] SQL queries use parameterization (no string concatenation)
|
|
183
|
+
- [ ] NoSQL queries prevent injection
|
|
184
|
+
- [ ] File uploads validated (type, size, content)
|
|
185
|
+
- [ ] URLs validated to prevent SSRF
|
|
186
|
+
|
|
187
|
+
### Output Encoding
|
|
188
|
+
- [ ] HTML output escaped to prevent XSS
|
|
189
|
+
- [ ] JSON responses properly encoded
|
|
190
|
+
- [ ] No user data in error messages
|
|
191
|
+
- [ ] Content-Security-Policy headers set
|
|
192
|
+
|
|
193
|
+
### Secrets Management
|
|
194
|
+
- [ ] No hardcoded API keys
|
|
195
|
+
- [ ] No passwords in source code
|
|
196
|
+
- [ ] No private keys in repo
|
|
197
|
+
- [ ] Environment variables used for secrets
|
|
198
|
+
- [ ] Secrets not logged or exposed in errors
|
|
199
|
+
|
|
200
|
+
### Cryptography
|
|
201
|
+
- [ ] Strong algorithms used (AES-256, RSA-2048+)
|
|
202
|
+
- [ ] Proper key management
|
|
203
|
+
- [ ] Random number generation cryptographically secure
|
|
204
|
+
- [ ] TLS/HTTPS enforced for sensitive data
|
|
205
|
+
|
|
206
|
+
### Dependencies
|
|
207
|
+
- [ ] No known vulnerabilities in dependencies
|
|
208
|
+
- [ ] Dependencies up to date
|
|
209
|
+
- [ ] No CRITICAL or HIGH CVEs
|
|
210
|
+
- [ ] Dependency sources verified
|
|
211
|
+
|
|
212
|
+
## Severity Definitions
|
|
213
|
+
|
|
214
|
+
**CRITICAL** - Exploitable vulnerability with severe impact (data breach, RCE, credential theft)
|
|
215
|
+
**HIGH** - Vulnerability requiring specific conditions but serious impact
|
|
216
|
+
**MEDIUM** - Security weakness with limited impact or difficult exploitation
|
|
217
|
+
**LOW** - Best practice violation or minor security concern
|
|
218
|
+
|
|
219
|
+
## Remediation Priority
|
|
220
|
+
|
|
221
|
+
1. **Rotate exposed secrets** - Immediate (within 1 hour)
|
|
222
|
+
2. **Fix CRITICAL** - Urgent (within 24 hours)
|
|
223
|
+
3. **Fix HIGH** - Important (within 1 week)
|
|
224
|
+
4. **Fix MEDIUM** - Planned (within 1 month)
|
|
225
|
+
5. **Fix LOW** - Backlog (when convenient)
|
|
226
|
+
|
|
227
|
+
## Use with Other Skills
|
|
228
|
+
|
|
229
|
+
**With Pipeline:**
|
|
230
|
+
```
|
|
231
|
+
/pipeline security "review authentication module"
|
|
232
|
+
```
|
|
233
|
+
Uses: explore → security-reviewer → executor → security-reviewer-low (re-verify)
|
|
234
|
+
|
|
235
|
+
**With Swarm:**
|
|
236
|
+
```
|
|
237
|
+
/swarm 4:security-reviewer "audit all API endpoints"
|
|
238
|
+
```
|
|
239
|
+
Parallel security review across multiple endpoints.
|
|
240
|
+
|
|
241
|
+
**With Ralph:**
|
|
242
|
+
```
|
|
243
|
+
/ralph security-review then fix all issues
|
|
244
|
+
```
|
|
245
|
+
Review, fix, re-review until all issues resolved.
|
|
246
|
+
|
|
247
|
+
## Best Practices
|
|
248
|
+
|
|
249
|
+
- **Review early** - Security by design, not afterthought
|
|
250
|
+
- **Review often** - Every major feature or API change
|
|
251
|
+
- **Automate** - Run security scans in CI/CD pipeline
|
|
252
|
+
- **Fix immediately** - Don't accumulate security debt
|
|
253
|
+
- **Educate** - Learn from findings to prevent future issues
|
|
254
|
+
- **Verify fixes** - Re-run security review after remediation
|