oh-my-claude-sisyphus 3.3.10 → 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.
Files changed (282) hide show
  1. package/README.md +3 -3
  2. package/agents/explore-high.md +195 -0
  3. package/agents/qa-tester-high.md +141 -0
  4. package/agents/templates/README.md +110 -0
  5. package/agents/templates/base-agent.md +54 -0
  6. package/agents/templates/tier-instructions.md +94 -0
  7. package/commands/ecomode.md +60 -0
  8. package/commands/help.md +1 -1
  9. package/commands/mcp-setup.md +7 -6
  10. package/commands/ralplan.md +8 -1
  11. package/commands/ultrapilot.md +158 -0
  12. package/commands/ultrawork.md +1 -0
  13. package/dist/__tests__/delegation-enforcer-integration.test.d.ts +6 -0
  14. package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +1 -0
  15. package/dist/__tests__/delegation-enforcer-integration.test.js +136 -0
  16. package/dist/__tests__/delegation-enforcer-integration.test.js.map +1 -0
  17. package/dist/__tests__/delegation-enforcer.test.d.ts +5 -0
  18. package/dist/__tests__/delegation-enforcer.test.d.ts.map +1 -0
  19. package/dist/__tests__/delegation-enforcer.test.js +208 -0
  20. package/dist/__tests__/delegation-enforcer.test.js.map +1 -0
  21. package/dist/__tests__/hooks.test.js +2 -2
  22. package/dist/__tests__/hooks.test.js.map +1 -1
  23. package/dist/__tests__/installer.test.js +4 -6
  24. package/dist/__tests__/installer.test.js.map +1 -1
  25. package/dist/__tests__/ralph-prd.test.js +1 -1
  26. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  27. package/dist/__tests__/ralph-progress.test.js +1 -1
  28. package/dist/__tests__/ralph-progress.test.js.map +1 -1
  29. package/dist/__tests__/skills.test.js +31 -24
  30. package/dist/__tests__/skills.test.js.map +1 -1
  31. package/dist/agents/analyst.d.ts.map +1 -1
  32. package/dist/agents/analyst.js +1 -0
  33. package/dist/agents/analyst.js.map +1 -1
  34. package/dist/agents/architect.d.ts.map +1 -1
  35. package/dist/agents/architect.js +1 -0
  36. package/dist/agents/architect.js.map +1 -1
  37. package/dist/agents/critic.d.ts.map +1 -1
  38. package/dist/agents/critic.js +1 -0
  39. package/dist/agents/critic.js.map +1 -1
  40. package/dist/agents/definitions.d.ts +5 -1
  41. package/dist/agents/definitions.d.ts.map +1 -1
  42. package/dist/agents/definitions.js +53 -155
  43. package/dist/agents/definitions.js.map +1 -1
  44. package/dist/agents/designer.d.ts.map +1 -1
  45. package/dist/agents/designer.js +1 -0
  46. package/dist/agents/designer.js.map +1 -1
  47. package/dist/agents/executor.d.ts.map +1 -1
  48. package/dist/agents/executor.js +1 -0
  49. package/dist/agents/executor.js.map +1 -1
  50. package/dist/agents/explore.d.ts.map +1 -1
  51. package/dist/agents/explore.js +1 -0
  52. package/dist/agents/explore.js.map +1 -1
  53. package/dist/agents/planner.d.ts.map +1 -1
  54. package/dist/agents/planner.js +1 -0
  55. package/dist/agents/planner.js.map +1 -1
  56. package/dist/agents/qa-tester.d.ts.map +1 -1
  57. package/dist/agents/qa-tester.js +1 -0
  58. package/dist/agents/qa-tester.js.map +1 -1
  59. package/dist/agents/researcher.d.ts.map +1 -1
  60. package/dist/agents/researcher.js +1 -0
  61. package/dist/agents/researcher.js.map +1 -1
  62. package/dist/agents/scientist.d.ts.map +1 -1
  63. package/dist/agents/scientist.js +1 -0
  64. package/dist/agents/scientist.js.map +1 -1
  65. package/dist/agents/types.d.ts +2 -0
  66. package/dist/agents/types.d.ts.map +1 -1
  67. package/dist/agents/types.js.map +1 -1
  68. package/dist/agents/vision.d.ts.map +1 -1
  69. package/dist/agents/vision.js +1 -0
  70. package/dist/agents/vision.js.map +1 -1
  71. package/dist/agents/writer.d.ts.map +1 -1
  72. package/dist/agents/writer.js +1 -0
  73. package/dist/agents/writer.js.map +1 -1
  74. package/dist/cli/index.js +0 -3
  75. package/dist/cli/index.js.map +1 -1
  76. package/dist/config/loader.d.ts.map +1 -1
  77. package/dist/config/loader.js +1 -6
  78. package/dist/config/loader.js.map +1 -1
  79. package/dist/features/delegation-enforcer.d.ts +71 -0
  80. package/dist/features/delegation-enforcer.d.ts.map +1 -0
  81. package/dist/features/delegation-enforcer.js +128 -0
  82. package/dist/features/delegation-enforcer.js.map +1 -0
  83. package/dist/features/index.d.ts +3 -0
  84. package/dist/features/index.d.ts.map +1 -1
  85. package/dist/features/index.js +18 -0
  86. package/dist/features/index.js.map +1 -1
  87. package/dist/features/state-manager/index.d.ts +100 -0
  88. package/dist/features/state-manager/index.d.ts.map +1 -0
  89. package/dist/features/state-manager/index.js +407 -0
  90. package/dist/features/state-manager/index.js.map +1 -0
  91. package/dist/features/state-manager/types.d.ts +147 -0
  92. package/dist/features/state-manager/types.d.ts.map +1 -0
  93. package/dist/features/state-manager/types.js +30 -0
  94. package/dist/features/state-manager/types.js.map +1 -0
  95. package/dist/features/task-decomposer/index.d.ts +33 -0
  96. package/dist/features/task-decomposer/index.d.ts.map +1 -0
  97. package/dist/features/task-decomposer/index.js +698 -0
  98. package/dist/features/task-decomposer/index.js.map +1 -0
  99. package/dist/features/task-decomposer/types.d.ts +133 -0
  100. package/dist/features/task-decomposer/types.d.ts.map +1 -0
  101. package/dist/features/task-decomposer/types.js +8 -0
  102. package/dist/features/task-decomposer/types.js.map +1 -0
  103. package/dist/features/verification/example.d.ts +49 -0
  104. package/dist/features/verification/example.d.ts.map +1 -0
  105. package/dist/features/verification/example.js +235 -0
  106. package/dist/features/verification/example.js.map +1 -0
  107. package/dist/features/verification/index.d.ts +97 -0
  108. package/dist/features/verification/index.d.ts.map +1 -0
  109. package/dist/features/verification/index.js +439 -0
  110. package/dist/features/verification/index.js.map +1 -0
  111. package/dist/features/verification/types.d.ts +142 -0
  112. package/dist/features/verification/types.d.ts.map +1 -0
  113. package/dist/features/verification/types.js +7 -0
  114. package/dist/features/verification/types.js.map +1 -0
  115. package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
  116. package/dist/hooks/agent-usage-reminder/constants.js +0 -1
  117. package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
  118. package/dist/hooks/autopilot/__tests__/cancel.test.js +4 -4
  119. package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
  120. package/dist/hooks/autopilot/__tests__/summary.test.js +1 -1
  121. package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
  122. package/dist/hooks/autopilot/__tests__/transition.test.js +1 -2
  123. package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
  124. package/dist/hooks/autopilot/cancel.js +2 -2
  125. package/dist/hooks/autopilot/cancel.js.map +1 -1
  126. package/dist/hooks/autopilot/enforcement.d.ts +16 -2
  127. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  128. package/dist/hooks/autopilot/enforcement.js +78 -4
  129. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  130. package/dist/hooks/autopilot/index.d.ts +3 -6
  131. package/dist/hooks/autopilot/index.d.ts.map +1 -1
  132. package/dist/hooks/autopilot/index.js +6 -12
  133. package/dist/hooks/autopilot/index.js.map +1 -1
  134. package/dist/hooks/autopilot/state.d.ts +36 -2
  135. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  136. package/dist/hooks/autopilot/state.js +216 -2
  137. package/dist/hooks/autopilot/state.js.map +1 -1
  138. package/dist/hooks/autopilot/validation.d.ts +23 -2
  139. package/dist/hooks/autopilot/validation.d.ts.map +1 -1
  140. package/dist/hooks/autopilot/validation.js +158 -1
  141. package/dist/hooks/autopilot/validation.js.map +1 -1
  142. package/dist/hooks/bridge.js +3 -3
  143. package/dist/hooks/bridge.js.map +1 -1
  144. package/dist/hooks/index.d.ts +5 -9
  145. package/dist/hooks/index.d.ts.map +1 -1
  146. package/dist/hooks/index.js +31 -21
  147. package/dist/hooks/index.js.map +1 -1
  148. package/dist/hooks/learner/promotion.js +1 -1
  149. package/dist/hooks/learner/promotion.js.map +1 -1
  150. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  151. package/dist/hooks/persistent-mode/index.js +2 -3
  152. package/dist/hooks/persistent-mode/index.js.map +1 -1
  153. package/dist/hooks/ralph/index.d.ts +11 -0
  154. package/dist/hooks/ralph/index.d.ts.map +1 -0
  155. package/dist/hooks/ralph/index.js +53 -0
  156. package/dist/hooks/ralph/index.js.map +1 -0
  157. package/dist/hooks/ralph/loop.d.ts +116 -0
  158. package/dist/hooks/ralph/loop.d.ts.map +1 -0
  159. package/dist/hooks/ralph/loop.js +322 -0
  160. package/dist/hooks/ralph/loop.js.map +1 -0
  161. package/dist/hooks/ralph/prd.d.ts +130 -0
  162. package/dist/hooks/ralph/prd.d.ts.map +1 -0
  163. package/dist/hooks/ralph/prd.js +310 -0
  164. package/dist/hooks/ralph/prd.js.map +1 -0
  165. package/dist/hooks/ralph/progress.d.ts +102 -0
  166. package/dist/hooks/ralph/progress.d.ts.map +1 -0
  167. package/dist/hooks/ralph/progress.js +408 -0
  168. package/dist/hooks/ralph/progress.js.map +1 -0
  169. package/dist/hooks/ralph/verifier.d.ts +72 -0
  170. package/dist/hooks/ralph/verifier.d.ts.map +1 -0
  171. package/dist/hooks/ralph/verifier.js +223 -0
  172. package/dist/hooks/ralph/verifier.js.map +1 -0
  173. package/dist/hooks/recovery/constants.d.ts +114 -0
  174. package/dist/hooks/recovery/constants.d.ts.map +1 -0
  175. package/dist/hooks/recovery/constants.js +227 -0
  176. package/dist/hooks/recovery/constants.js.map +1 -0
  177. package/dist/hooks/recovery/context-window.d.ts +24 -0
  178. package/dist/hooks/recovery/context-window.d.ts.map +1 -0
  179. package/dist/hooks/recovery/context-window.js +321 -0
  180. package/dist/hooks/recovery/context-window.js.map +1 -0
  181. package/dist/hooks/recovery/edit-error.d.ts +24 -0
  182. package/dist/hooks/recovery/edit-error.d.ts.map +1 -0
  183. package/dist/hooks/recovery/edit-error.js +56 -0
  184. package/dist/hooks/recovery/edit-error.js.map +1 -0
  185. package/dist/hooks/recovery/index.d.ts +102 -0
  186. package/dist/hooks/recovery/index.d.ts.map +1 -0
  187. package/dist/hooks/recovery/index.js +166 -0
  188. package/dist/hooks/recovery/index.js.map +1 -0
  189. package/dist/hooks/recovery/session-recovery.d.ts +24 -0
  190. package/dist/hooks/recovery/session-recovery.d.ts.map +1 -0
  191. package/dist/hooks/recovery/session-recovery.js +281 -0
  192. package/dist/hooks/recovery/session-recovery.js.map +1 -0
  193. package/dist/hooks/recovery/storage.d.ts +75 -0
  194. package/dist/hooks/recovery/storage.d.ts.map +1 -0
  195. package/dist/hooks/recovery/storage.js +382 -0
  196. package/dist/hooks/recovery/storage.js.map +1 -0
  197. package/dist/hooks/recovery/types.d.ts +196 -0
  198. package/dist/hooks/recovery/types.d.ts.map +1 -0
  199. package/dist/hooks/recovery/types.js +32 -0
  200. package/dist/hooks/recovery/types.js.map +1 -0
  201. package/dist/hooks/ultrapilot/index.d.ts +90 -0
  202. package/dist/hooks/ultrapilot/index.d.ts.map +1 -0
  203. package/dist/hooks/ultrapilot/index.js +310 -0
  204. package/dist/hooks/ultrapilot/index.js.map +1 -0
  205. package/dist/hooks/ultrapilot/state.d.ts +72 -0
  206. package/dist/hooks/ultrapilot/state.d.ts.map +1 -0
  207. package/dist/hooks/ultrapilot/state.js +258 -0
  208. package/dist/hooks/ultrapilot/state.js.map +1 -0
  209. package/dist/hooks/ultrapilot/types.d.ts +113 -0
  210. package/dist/hooks/ultrapilot/types.d.ts.map +1 -0
  211. package/dist/hooks/ultrapilot/types.js +36 -0
  212. package/dist/hooks/ultrapilot/types.js.map +1 -0
  213. package/dist/hooks/ultraqa/index.d.ts +94 -0
  214. package/dist/hooks/ultraqa/index.d.ts.map +1 -0
  215. package/dist/hooks/ultraqa/index.js +216 -0
  216. package/dist/hooks/ultraqa/index.js.map +1 -0
  217. package/dist/hooks/ultrawork/index.d.ts +62 -0
  218. package/dist/hooks/ultrawork/index.d.ts.map +1 -0
  219. package/dist/hooks/ultrawork/index.js +208 -0
  220. package/dist/hooks/ultrawork/index.js.map +1 -0
  221. package/dist/index.d.ts.map +1 -1
  222. package/dist/index.js +1 -2
  223. package/dist/index.js.map +1 -1
  224. package/dist/installer/index.d.ts +1 -1
  225. package/dist/installer/index.d.ts.map +1 -1
  226. package/dist/installer/index.js +1 -1
  227. package/dist/installer/index.js.map +1 -1
  228. package/dist/mcp/index.d.ts +1 -1
  229. package/dist/mcp/index.d.ts.map +1 -1
  230. package/dist/mcp/index.js +1 -1
  231. package/dist/mcp/index.js.map +1 -1
  232. package/dist/mcp/servers.d.ts +2 -18
  233. package/dist/mcp/servers.d.ts.map +1 -1
  234. package/dist/mcp/servers.js +4 -36
  235. package/dist/mcp/servers.js.map +1 -1
  236. package/dist/shared/types.d.ts +1 -3
  237. package/dist/shared/types.d.ts.map +1 -1
  238. package/docs/CLAUDE.md +170 -44
  239. package/docs/DELEGATION-ENFORCER.md +282 -0
  240. package/docs/FULL-README.md +1 -1
  241. package/docs/LOCAL_PLUGIN_INSTALL.md +1 -1
  242. package/docs/MIGRATION.md +298 -104
  243. package/package.json +2 -2
  244. package/scripts/test-mutual-exclusion.ts +1 -1
  245. package/skills/analyze/SKILL.md +0 -1
  246. package/skills/autopilot/SKILL.md +0 -1
  247. package/skills/cancel/SKILL.md +580 -0
  248. package/skills/cancel-autopilot/SKILL.md +0 -1
  249. package/skills/cancel-ecomode/SKILL.md +41 -0
  250. package/skills/cancel-ralph/SKILL.md +0 -1
  251. package/skills/cancel-ultraqa/SKILL.md +0 -1
  252. package/skills/cancel-ultrawork/SKILL.md +0 -1
  253. package/skills/deepinit/SKILL.md +0 -1
  254. package/skills/deepsearch/SKILL.md +0 -1
  255. package/skills/doctor/SKILL.md +0 -1
  256. package/skills/ecomode/SKILL.md +128 -0
  257. package/skills/frontend-ui-ux/SKILL.md +0 -1
  258. package/skills/git-master/SKILL.md +0 -1
  259. package/skills/help/SKILL.md +1 -2
  260. package/skills/hud/SKILL.md +0 -1
  261. package/skills/learner/SKILL.md +0 -1
  262. package/skills/mcp-setup/SKILL.md +8 -7
  263. package/skills/note/SKILL.md +0 -1
  264. package/skills/omc-default/SKILL.md +0 -1
  265. package/skills/omc-default-global/SKILL.md +0 -1
  266. package/skills/omc-setup/SKILL.md +176 -10
  267. package/skills/orchestrate/SKILL.md +0 -1
  268. package/skills/pipeline/SKILL.md +417 -0
  269. package/skills/plan/SKILL.md +138 -21
  270. package/skills/planner/SKILL.md +0 -1
  271. package/skills/ralph/SKILL.md +65 -1
  272. package/skills/ralph-init/SKILL.md +0 -1
  273. package/skills/ralplan/SKILL.md +0 -1
  274. package/skills/release/SKILL.md +0 -1
  275. package/skills/research/SKILL.md +0 -1
  276. package/skills/review/SKILL.md +0 -1
  277. package/skills/swarm/SKILL.md +349 -0
  278. package/skills/tdd/SKILL.md +0 -1
  279. package/skills/ultrapilot/SKILL.md +563 -0
  280. package/skills/ultraqa/SKILL.md +0 -1
  281. package/skills/ultrawork/SKILL.md +0 -1
  282. 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
@@ -1,38 +1,155 @@
1
1
  ---
2
2
  name: plan
3
- description: Start a planning session with Planner
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
- [PLANNING MODE ACTIVATED]
8
+ You are Planner, a strategic planning consultant who creates comprehensive work plans through intelligent interview-style interaction.
10
9
 
11
- ## Planning Session with Planner
10
+ ## Your Role
12
11
 
13
- You are now in planning mode with Planner, the strategic planning consultant.
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
- ### Current Phase: Interview Mode
18
+ ## Planning Modes
16
19
 
17
- I will ask clarifying questions to fully understand your requirements before creating a plan.
20
+ ### Auto-Detection: Interview vs Direct Planning
18
21
 
19
- ### What Happens Next
20
- 1. **Interview** - I'll ask questions about your goals, constraints, and preferences
21
- - Questions will use the AskUserQuestion tool for easy option selection (clickable UI instead of typing)
22
- 2. **Analysis** - Analyst will analyze for hidden requirements and risks
23
- 3. **Planning** - I'll create a comprehensive work plan
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
- ### Transition Commands
27
- Say one of these when you're ready to generate the plan:
28
- - "Make it into a work plan!"
29
- - "Create the plan"
30
- - "I'm ready to plan"
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
- Let's begin. Tell me more about what you want to accomplish, and I'll ask clarifying questions.
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.
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: planner
3
3
  description: Strategic planning with interview workflow
4
- user-invocable: true
5
4
  ---
6
5
 
7
6
  # Planner - Strategic Planning Agent
@@ -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:
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: ralph-init
3
3
  description: Initialize a PRD (Product Requirements Document) for structured ralph-loop execution
4
- user-invocable: true
5
4
  ---
6
5
 
7
6
  # Ralph Init Skill
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: ralplan
3
3
  description: Iterative planning with Planner, Architect, and Critic until consensus
4
- user-invocable: true
5
4
  ---
6
5
 
7
6
  # Ralplan Skill
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: release
3
3
  description: Automated release workflow for oh-my-claudecode
4
- user-invocable: true
5
4
  ---
6
5
 
7
6
  # Release Skill