oh-my-claude-sisyphus 3.3.8 → 3.4.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 +3 -3
- 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/ecomode.md +60 -0
- package/commands/help.md +1 -1
- package/commands/mcp-setup.md +7 -6
- package/commands/ralplan.md +8 -1
- 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/cli/index.js +0 -3
- package/dist/cli/index.js.map +1 -1
- 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/elements/index.d.ts +1 -1
- package/dist/hud/elements/index.d.ts.map +1 -1
- package/dist/hud/elements/index.js +1 -1
- package/dist/hud/elements/index.js.map +1 -1
- package/dist/hud/elements/limits.d.ts +6 -0
- package/dist/hud/elements/limits.d.ts.map +1 -1
- package/dist/hud/elements/limits.js +31 -0
- package/dist/hud/elements/limits.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +8 -4
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/types.d.ts +1 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +6 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/usage-api.d.ts.map +1 -1
- package/dist/hud/usage-api.js +5 -3
- package/dist/hud/usage-api.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.js +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 +1 -1
- package/docs/LOCAL_PLUGIN_INSTALL.md +1 -1
- package/docs/MIGRATION.md +298 -104
- package/package.json +2 -2
- package/scripts/test-mutual-exclusion.ts +1 -1
- package/skills/analyze/SKILL.md +0 -1
- package/skills/autopilot/SKILL.md +0 -1
- 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/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 +212 -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/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
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline
|
|
3
|
+
description: Chain agents together in sequential or branching workflows with data passing
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pipeline Skill
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
The pipeline skill enables chaining multiple agents together in defined workflows where the output of one agent becomes the input to the next. This creates powerful agent pipelines similar to Unix pipes but designed for AI agent orchestration.
|
|
11
|
+
|
|
12
|
+
## Core Concepts
|
|
13
|
+
|
|
14
|
+
### 1. Sequential Pipelines
|
|
15
|
+
|
|
16
|
+
The simplest form: Agent A's output flows to Agent B, which flows to Agent C.
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
explore -> architect -> executor
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Flow:**
|
|
23
|
+
1. Explore agent searches codebase and produces findings
|
|
24
|
+
2. Architect receives findings and produces analysis/recommendations
|
|
25
|
+
3. Executor receives recommendations and implements changes
|
|
26
|
+
|
|
27
|
+
### 2. Branching Pipelines
|
|
28
|
+
|
|
29
|
+
Route to different agents based on output conditions.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
explore -> {
|
|
33
|
+
if "complex refactoring" -> architect -> executor-high
|
|
34
|
+
if "simple change" -> executor-low
|
|
35
|
+
if "UI work" -> designer -> executor
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 3. Parallel-Then-Merge Pipelines
|
|
40
|
+
|
|
41
|
+
Run multiple agents in parallel, merge their outputs.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
parallel(explore, researcher) -> architect -> executor
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Built-in Pipeline Presets
|
|
48
|
+
|
|
49
|
+
### Review Pipeline
|
|
50
|
+
**Purpose:** Comprehensive code review and implementation
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
/pipeline review <task>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Stages:**
|
|
57
|
+
1. `explore` - Find relevant code and patterns
|
|
58
|
+
2. `architect` - Analyze architecture and design implications
|
|
59
|
+
3. `critic` - Review and critique the analysis
|
|
60
|
+
4. `executor` - Implement with full context
|
|
61
|
+
|
|
62
|
+
**Use for:** Major features, refactorings, complex changes
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### Implement Pipeline
|
|
67
|
+
**Purpose:** Planned implementation with testing
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
/pipeline implement <task>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Stages:**
|
|
74
|
+
1. `planner` - Create detailed implementation plan
|
|
75
|
+
2. `executor` - Implement the plan
|
|
76
|
+
3. `tdd-guide` - Add/verify tests
|
|
77
|
+
|
|
78
|
+
**Use for:** New features with clear requirements
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### Debug Pipeline
|
|
83
|
+
**Purpose:** Systematic debugging workflow
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
/pipeline debug <issue>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Stages:**
|
|
90
|
+
1. `explore` - Locate error locations and related code
|
|
91
|
+
2. `architect` - Analyze root cause
|
|
92
|
+
3. `build-fixer` - Apply fixes and verify
|
|
93
|
+
|
|
94
|
+
**Use for:** Bugs, build errors, test failures
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### Research Pipeline
|
|
99
|
+
**Purpose:** External research + internal analysis
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
/pipeline research <topic>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Stages:**
|
|
106
|
+
1. `parallel(researcher, explore)` - External docs + internal code
|
|
107
|
+
2. `architect` - Synthesize findings
|
|
108
|
+
3. `writer` - Document recommendations
|
|
109
|
+
|
|
110
|
+
**Use for:** Technology decisions, API integrations
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Refactor Pipeline
|
|
115
|
+
**Purpose:** Safe, verified refactoring
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
/pipeline refactor <target>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Stages:**
|
|
122
|
+
1. `explore` - Find all usages and dependencies
|
|
123
|
+
2. `architect-medium` - Design refactoring strategy
|
|
124
|
+
3. `executor-high` - Execute refactoring
|
|
125
|
+
4. `qa-tester` - Verify no regressions
|
|
126
|
+
|
|
127
|
+
**Use for:** Architectural changes, API redesigns
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### Security Pipeline
|
|
132
|
+
**Purpose:** Security audit and fixes
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
/pipeline security <scope>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Stages:**
|
|
139
|
+
1. `explore` - Find potential vulnerabilities
|
|
140
|
+
2. `security-reviewer` - Audit and identify issues
|
|
141
|
+
3. `executor` - Implement fixes
|
|
142
|
+
4. `security-reviewer-low` - Re-verify
|
|
143
|
+
|
|
144
|
+
**Use for:** Security reviews, vulnerability fixes
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Custom Pipeline Syntax
|
|
149
|
+
|
|
150
|
+
### Basic Sequential
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
/pipeline agent1 -> agent2 -> agent3 "task description"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Example:**
|
|
157
|
+
```
|
|
158
|
+
/pipeline explore -> architect -> executor "add authentication"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### With Model Specification
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
/pipeline explore:haiku -> architect:opus -> executor:sonnet "optimize performance"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### With Branching
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
/pipeline explore -> (
|
|
171
|
+
complexity:high -> architect:opus -> executor-high:opus
|
|
172
|
+
complexity:medium -> executor:sonnet
|
|
173
|
+
complexity:low -> executor-low:haiku
|
|
174
|
+
) "fix reported issues"
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### With Parallel Stages
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
/pipeline [explore, researcher] -> architect -> executor "implement OAuth"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Data Passing Protocol
|
|
184
|
+
|
|
185
|
+
Each agent in the pipeline receives structured context from the previous stage:
|
|
186
|
+
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"pipeline_context": {
|
|
190
|
+
"original_task": "user's original request",
|
|
191
|
+
"previous_stages": [
|
|
192
|
+
{
|
|
193
|
+
"agent": "explore",
|
|
194
|
+
"model": "haiku",
|
|
195
|
+
"findings": "...",
|
|
196
|
+
"files_identified": ["src/auth.ts", "src/user.ts"]
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"current_stage": "architect",
|
|
200
|
+
"next_stage": "executor"
|
|
201
|
+
},
|
|
202
|
+
"task": "specific task for this agent"
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Error Handling
|
|
207
|
+
|
|
208
|
+
### Retry Logic
|
|
209
|
+
|
|
210
|
+
When an agent fails, the pipeline can:
|
|
211
|
+
|
|
212
|
+
1. **Retry** - Re-run the same agent (up to 3 times)
|
|
213
|
+
2. **Skip** - Continue to next stage with partial output
|
|
214
|
+
3. **Abort** - Stop entire pipeline
|
|
215
|
+
4. **Fallback** - Route to alternative agent
|
|
216
|
+
|
|
217
|
+
**Configuration:**
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
/pipeline explore -> architect -> executor --retry=3 --on-error=abort
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Error Recovery Patterns
|
|
224
|
+
|
|
225
|
+
**Pattern 1: Fallback to Higher Tier**
|
|
226
|
+
```
|
|
227
|
+
executor-low -> on-error -> executor:sonnet
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Pattern 2: Consult Architect**
|
|
231
|
+
```
|
|
232
|
+
executor -> on-error -> architect -> executor
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Pattern 3: Human-in-the-Loop**
|
|
236
|
+
```
|
|
237
|
+
any-stage -> on-error -> pause-for-user-input
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Pipeline State Management
|
|
241
|
+
|
|
242
|
+
Pipelines maintain state in `.omc/pipeline-state.json`:
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"pipeline_id": "uuid",
|
|
247
|
+
"name": "review",
|
|
248
|
+
"active": true,
|
|
249
|
+
"current_stage": 2,
|
|
250
|
+
"stages": [
|
|
251
|
+
{
|
|
252
|
+
"name": "explore",
|
|
253
|
+
"agent": "explore",
|
|
254
|
+
"model": "haiku",
|
|
255
|
+
"status": "completed",
|
|
256
|
+
"output": "..."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "architect",
|
|
260
|
+
"agent": "architect",
|
|
261
|
+
"model": "opus",
|
|
262
|
+
"status": "in_progress",
|
|
263
|
+
"started_at": "2026-01-23T10:30:00Z"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "executor",
|
|
267
|
+
"agent": "executor",
|
|
268
|
+
"model": "sonnet",
|
|
269
|
+
"status": "pending"
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"task": "original user task",
|
|
273
|
+
"created_at": "2026-01-23T10:25:00Z"
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Verification Rules
|
|
278
|
+
|
|
279
|
+
Before pipeline completion, verify:
|
|
280
|
+
|
|
281
|
+
- [ ] All stages completed successfully
|
|
282
|
+
- [ ] Output from final stage addresses original task
|
|
283
|
+
- [ ] No unhandled errors in any stage
|
|
284
|
+
- [ ] All files modified pass lsp_diagnostics
|
|
285
|
+
- [ ] Tests pass (if applicable)
|
|
286
|
+
|
|
287
|
+
## Advanced Features
|
|
288
|
+
|
|
289
|
+
### Conditional Branching
|
|
290
|
+
|
|
291
|
+
Based on agent output, route to different paths:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
explore -> {
|
|
295
|
+
if files_found > 5 -> architect:opus -> executor-high:opus
|
|
296
|
+
if files_found <= 5 -> executor:sonnet
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Loop Constructs
|
|
301
|
+
|
|
302
|
+
Repeat stages until condition met:
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
repeat_until(tests_pass) {
|
|
306
|
+
executor -> qa-tester
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Merge Strategies
|
|
311
|
+
|
|
312
|
+
When parallel agents complete:
|
|
313
|
+
|
|
314
|
+
- **concat**: Concatenate all outputs
|
|
315
|
+
- **summarize**: Use architect to summarize findings
|
|
316
|
+
- **vote**: Use critic to choose best output
|
|
317
|
+
|
|
318
|
+
## Usage Examples
|
|
319
|
+
|
|
320
|
+
### Example 1: Feature Implementation
|
|
321
|
+
```
|
|
322
|
+
/pipeline review "add rate limiting to API"
|
|
323
|
+
```
|
|
324
|
+
→ Triggers: explore → architect → critic → executor
|
|
325
|
+
|
|
326
|
+
### Example 2: Bug Fix
|
|
327
|
+
```
|
|
328
|
+
/pipeline debug "login fails with OAuth"
|
|
329
|
+
```
|
|
330
|
+
→ Triggers: explore → architect → build-fixer
|
|
331
|
+
|
|
332
|
+
### Example 3: Custom Chain
|
|
333
|
+
```
|
|
334
|
+
/pipeline explore:haiku -> architect:opus -> executor:sonnet -> tdd-guide:sonnet "refactor auth module"
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Example 4: Research-Driven Implementation
|
|
338
|
+
```
|
|
339
|
+
/pipeline research "implement GraphQL subscriptions"
|
|
340
|
+
```
|
|
341
|
+
→ Triggers: parallel(researcher, explore) → architect → writer
|
|
342
|
+
|
|
343
|
+
## Cancellation
|
|
344
|
+
|
|
345
|
+
Stop active pipeline:
|
|
346
|
+
|
|
347
|
+
```
|
|
348
|
+
/pipeline cancel
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
Or use the general cancel command which detects active pipeline.
|
|
352
|
+
|
|
353
|
+
## Integration with Other Skills
|
|
354
|
+
|
|
355
|
+
Pipelines can be used within other skills:
|
|
356
|
+
|
|
357
|
+
- **Ralph**: Loop pipelines until verified complete
|
|
358
|
+
- **Ultrawork**: Run multiple pipelines in parallel
|
|
359
|
+
- **Autopilot**: Use pipelines as building blocks
|
|
360
|
+
|
|
361
|
+
## Best Practices
|
|
362
|
+
|
|
363
|
+
1. **Start with presets** - Use built-in pipelines before creating custom ones
|
|
364
|
+
2. **Match model to complexity** - Don't waste opus on simple tasks
|
|
365
|
+
3. **Keep stages focused** - Each agent should have one clear responsibility
|
|
366
|
+
4. **Use parallel stages** - Run independent work simultaneously
|
|
367
|
+
5. **Verify at checkpoints** - Use architect or critic to verify progress
|
|
368
|
+
6. **Document custom pipelines** - Save successful patterns for reuse
|
|
369
|
+
|
|
370
|
+
## Troubleshooting
|
|
371
|
+
|
|
372
|
+
### Pipeline Hangs
|
|
373
|
+
|
|
374
|
+
**Check:** `.omc/pipeline-state.json` for current stage
|
|
375
|
+
**Fix:** Resume with `/pipeline resume` or cancel and restart
|
|
376
|
+
|
|
377
|
+
### Agent Fails Repeatedly
|
|
378
|
+
|
|
379
|
+
**Check:** Retry count and error messages
|
|
380
|
+
**Fix:** Route to higher-tier agent or add architect consultation
|
|
381
|
+
|
|
382
|
+
### Output Not Flowing
|
|
383
|
+
|
|
384
|
+
**Check:** Data passing structure in agent prompts
|
|
385
|
+
**Fix:** Ensure each agent is prompted with `pipeline_context`
|
|
386
|
+
|
|
387
|
+
## Technical Implementation
|
|
388
|
+
|
|
389
|
+
The pipeline orchestrator:
|
|
390
|
+
|
|
391
|
+
1. **Parses pipeline definition** - Validates syntax and agent names
|
|
392
|
+
2. **Initializes state** - Creates pipeline-state.json
|
|
393
|
+
3. **Executes stages sequentially** - Spawns agents with Task tool
|
|
394
|
+
4. **Passes context between stages** - Structures output for next agent
|
|
395
|
+
5. **Handles branching logic** - Evaluates conditions and routes
|
|
396
|
+
6. **Manages parallel execution** - Spawns concurrent agents and merges
|
|
397
|
+
7. **Persists state** - Updates state file after each stage
|
|
398
|
+
8. **Enforces verification** - Runs checks before completion
|
|
399
|
+
|
|
400
|
+
## Skill Invocation
|
|
401
|
+
|
|
402
|
+
This skill activates when:
|
|
403
|
+
|
|
404
|
+
- User types `/pipeline` command
|
|
405
|
+
- User mentions "agent chain", "workflow", "pipe agents"
|
|
406
|
+
- Pattern detected: "X then Y then Z" with agent names
|
|
407
|
+
|
|
408
|
+
**Explicit invocation:**
|
|
409
|
+
```
|
|
410
|
+
/oh-my-claudecode:pipeline review "task"
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
**Auto-detection:**
|
|
414
|
+
```
|
|
415
|
+
"First explore the codebase, then architect should analyze it, then executor implements"
|
|
416
|
+
```
|
|
417
|
+
→ Automatically creates pipeline: explore → architect → executor
|
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