oh-my-claude-sisyphus 2.6.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +59 -785
  2. package/agents/analyst.md +85 -0
  3. package/agents/architect-low.md +88 -0
  4. package/agents/architect-medium.md +108 -0
  5. package/agents/architect.md +77 -0
  6. package/agents/critic.md +97 -0
  7. package/agents/designer-high.md +113 -0
  8. package/agents/designer-low.md +89 -0
  9. package/agents/designer.md +80 -0
  10. package/agents/executor-high.md +116 -0
  11. package/agents/executor-low.md +94 -0
  12. package/agents/executor.md +62 -0
  13. package/agents/explore-medium.md +113 -0
  14. package/agents/explore.md +86 -0
  15. package/agents/planner.md +164 -0
  16. package/agents/qa-tester.md +109 -0
  17. package/agents/researcher-low.md +84 -0
  18. package/agents/researcher.md +70 -0
  19. package/agents/vision.md +39 -0
  20. package/agents/writer.md +152 -0
  21. package/commands/.gitkeep +0 -0
  22. package/dist/__tests__/hooks.test.js +22 -22
  23. package/dist/__tests__/hooks.test.js.map +1 -1
  24. package/dist/__tests__/hud-agents.test.d.ts +7 -0
  25. package/dist/__tests__/hud-agents.test.d.ts.map +1 -0
  26. package/dist/__tests__/hud-agents.test.js +363 -0
  27. package/dist/__tests__/hud-agents.test.js.map +1 -0
  28. package/dist/__tests__/installer.test.js +184 -116
  29. package/dist/__tests__/installer.test.js.map +1 -1
  30. package/dist/__tests__/learned-skills/config.test.d.ts +2 -0
  31. package/dist/__tests__/learned-skills/config.test.d.ts.map +1 -0
  32. package/dist/__tests__/learned-skills/config.test.js +37 -0
  33. package/dist/__tests__/learned-skills/config.test.js.map +1 -0
  34. package/dist/__tests__/learned-skills/detector.test.d.ts +2 -0
  35. package/dist/__tests__/learned-skills/detector.test.d.ts.map +1 -0
  36. package/dist/__tests__/learned-skills/detector.test.js +99 -0
  37. package/dist/__tests__/learned-skills/detector.test.js.map +1 -0
  38. package/dist/__tests__/learned-skills/finder.test.d.ts +2 -0
  39. package/dist/__tests__/learned-skills/finder.test.d.ts.map +1 -0
  40. package/dist/__tests__/learned-skills/finder.test.js +59 -0
  41. package/dist/__tests__/learned-skills/finder.test.js.map +1 -0
  42. package/dist/__tests__/learned-skills/loader.test.d.ts +2 -0
  43. package/dist/__tests__/learned-skills/loader.test.d.ts.map +1 -0
  44. package/dist/__tests__/learned-skills/loader.test.js +69 -0
  45. package/dist/__tests__/learned-skills/loader.test.js.map +1 -0
  46. package/dist/__tests__/learned-skills/parser.test.d.ts +2 -0
  47. package/dist/__tests__/learned-skills/parser.test.d.ts.map +1 -0
  48. package/dist/__tests__/learned-skills/parser.test.js +81 -0
  49. package/dist/__tests__/learned-skills/parser.test.js.map +1 -0
  50. package/dist/__tests__/learned-skills/validator.test.d.ts +2 -0
  51. package/dist/__tests__/learned-skills/validator.test.d.ts.map +1 -0
  52. package/dist/__tests__/learned-skills/validator.test.js +85 -0
  53. package/dist/__tests__/learned-skills/validator.test.js.map +1 -0
  54. package/dist/__tests__/mnemosyne/config.test.d.ts +2 -0
  55. package/dist/__tests__/mnemosyne/config.test.d.ts.map +1 -0
  56. package/dist/__tests__/mnemosyne/config.test.js +37 -0
  57. package/dist/__tests__/mnemosyne/config.test.js.map +1 -0
  58. package/dist/__tests__/mnemosyne/detector.test.d.ts +2 -0
  59. package/dist/__tests__/mnemosyne/detector.test.d.ts.map +1 -0
  60. package/dist/__tests__/mnemosyne/detector.test.js +99 -0
  61. package/dist/__tests__/mnemosyne/detector.test.js.map +1 -0
  62. package/dist/__tests__/mnemosyne/finder.test.d.ts +2 -0
  63. package/dist/__tests__/mnemosyne/finder.test.d.ts.map +1 -0
  64. package/dist/__tests__/mnemosyne/finder.test.js +61 -0
  65. package/dist/__tests__/mnemosyne/finder.test.js.map +1 -0
  66. package/dist/__tests__/mnemosyne/loader.test.d.ts +2 -0
  67. package/dist/__tests__/mnemosyne/loader.test.d.ts.map +1 -0
  68. package/dist/__tests__/mnemosyne/loader.test.js +73 -0
  69. package/dist/__tests__/mnemosyne/loader.test.js.map +1 -0
  70. package/dist/__tests__/mnemosyne/parser.test.d.ts +2 -0
  71. package/dist/__tests__/mnemosyne/parser.test.d.ts.map +1 -0
  72. package/dist/__tests__/mnemosyne/parser.test.js +81 -0
  73. package/dist/__tests__/mnemosyne/parser.test.js.map +1 -0
  74. package/dist/__tests__/mnemosyne/validator.test.d.ts +2 -0
  75. package/dist/__tests__/mnemosyne/validator.test.d.ts.map +1 -0
  76. package/dist/__tests__/mnemosyne/validator.test.js +85 -0
  77. package/dist/__tests__/mnemosyne/validator.test.js.map +1 -0
  78. package/dist/__tests__/model-routing.test.js +34 -34
  79. package/dist/__tests__/model-routing.test.js.map +1 -1
  80. package/dist/__tests__/notepad.test.js +7 -7
  81. package/dist/__tests__/notepad.test.js.map +1 -1
  82. package/dist/__tests__/ralph-prd.test.js +12 -12
  83. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  84. package/dist/__tests__/ralph-progress.test.js +12 -12
  85. package/dist/__tests__/ralph-progress.test.js.map +1 -1
  86. package/dist/__tests__/skills.test.js +50 -17
  87. package/dist/__tests__/skills.test.js.map +1 -1
  88. package/dist/__tests__/types.test.js +5 -5
  89. package/dist/__tests__/types.test.js.map +1 -1
  90. package/dist/agents/analyst.d.ts +11 -0
  91. package/dist/agents/analyst.d.ts.map +1 -0
  92. package/dist/agents/analyst.js +115 -0
  93. package/dist/agents/analyst.js.map +1 -0
  94. package/dist/agents/architect.d.ts +12 -0
  95. package/dist/agents/architect.d.ts.map +1 -0
  96. package/dist/agents/architect.js +189 -0
  97. package/dist/agents/architect.js.map +1 -0
  98. package/dist/agents/coordinator.d.ts +11 -0
  99. package/dist/agents/coordinator.d.ts.map +1 -0
  100. package/dist/agents/coordinator.js +115 -0
  101. package/dist/agents/coordinator.js.map +1 -0
  102. package/dist/agents/critic.d.ts +11 -0
  103. package/dist/agents/critic.d.ts.map +1 -0
  104. package/dist/agents/critic.js +127 -0
  105. package/dist/agents/critic.js.map +1 -0
  106. package/dist/agents/definitions.d.ts +33 -70
  107. package/dist/agents/definitions.d.ts.map +1 -1
  108. package/dist/agents/definitions.js +140 -1268
  109. package/dist/agents/definitions.js.map +1 -1
  110. package/dist/agents/designer.d.ts +11 -0
  111. package/dist/agents/designer.d.ts.map +1 -0
  112. package/dist/agents/designer.js +115 -0
  113. package/dist/agents/designer.js.map +1 -0
  114. package/dist/agents/executor.d.ts +12 -0
  115. package/dist/agents/executor.d.ts.map +1 -0
  116. package/dist/agents/executor.js +93 -0
  117. package/dist/agents/executor.js.map +1 -0
  118. package/dist/agents/explore.js +4 -4
  119. package/dist/agents/explore.js.map +1 -1
  120. package/dist/agents/index.d.ts +12 -11
  121. package/dist/agents/index.d.ts.map +1 -1
  122. package/dist/agents/index.js +15 -16
  123. package/dist/agents/index.js.map +1 -1
  124. package/dist/agents/planner.d.ts +11 -0
  125. package/dist/agents/planner.d.ts.map +1 -0
  126. package/dist/agents/planner.js +194 -0
  127. package/dist/agents/planner.js.map +1 -0
  128. package/dist/agents/qa-tester.js +16 -16
  129. package/dist/agents/qa-tester.js.map +1 -1
  130. package/dist/agents/researcher.d.ts +12 -0
  131. package/dist/agents/researcher.d.ts.map +1 -0
  132. package/dist/agents/researcher.js +103 -0
  133. package/dist/agents/researcher.js.map +1 -0
  134. package/dist/agents/vision.d.ts +11 -0
  135. package/dist/agents/vision.d.ts.map +1 -0
  136. package/dist/agents/vision.js +70 -0
  137. package/dist/agents/vision.js.map +1 -0
  138. package/dist/agents/writer.d.ts +11 -0
  139. package/dist/agents/writer.d.ts.map +1 -0
  140. package/dist/agents/writer.js +209 -0
  141. package/dist/agents/writer.js.map +1 -0
  142. package/dist/cli/index.js +32 -32
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/commands/index.d.ts +4 -4
  145. package/dist/commands/index.js +4 -4
  146. package/dist/config/loader.js +25 -25
  147. package/dist/config/loader.js.map +1 -1
  148. package/dist/features/auto-update.d.ts +5 -5
  149. package/dist/features/auto-update.d.ts.map +1 -1
  150. package/dist/features/auto-update.js +17 -17
  151. package/dist/features/auto-update.js.map +1 -1
  152. package/dist/features/background-agent/manager.js +1 -1
  153. package/dist/features/background-agent/manager.js.map +1 -1
  154. package/dist/features/boulder-state/constants.d.ts +5 -5
  155. package/dist/features/boulder-state/constants.d.ts.map +1 -1
  156. package/dist/features/boulder-state/constants.js +3 -3
  157. package/dist/features/boulder-state/constants.js.map +1 -1
  158. package/dist/features/boulder-state/index.d.ts +2 -2
  159. package/dist/features/boulder-state/index.d.ts.map +1 -1
  160. package/dist/features/boulder-state/index.js +2 -2
  161. package/dist/features/boulder-state/index.js.map +1 -1
  162. package/dist/features/boulder-state/storage.d.ts +3 -3
  163. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  164. package/dist/features/boulder-state/storage.js +6 -6
  165. package/dist/features/boulder-state/storage.js.map +1 -1
  166. package/dist/features/builtin-skills/skills.d.ts +15 -1
  167. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  168. package/dist/features/builtin-skills/skills.js +100 -1110
  169. package/dist/features/builtin-skills/skills.js.map +1 -1
  170. package/dist/features/context-injector/types.d.ts +1 -1
  171. package/dist/features/context-injector/types.d.ts.map +1 -1
  172. package/dist/features/index.d.ts +1 -1
  173. package/dist/features/index.d.ts.map +1 -1
  174. package/dist/features/index.js +2 -2
  175. package/dist/features/index.js.map +1 -1
  176. package/dist/features/magic-keywords.js +14 -14
  177. package/dist/features/magic-keywords.js.map +1 -1
  178. package/dist/features/model-routing/prompts/opus.d.ts +1 -1
  179. package/dist/features/model-routing/prompts/opus.d.ts.map +1 -1
  180. package/dist/features/model-routing/prompts/opus.js +1 -1
  181. package/dist/features/model-routing/router.d.ts +1 -1
  182. package/dist/features/model-routing/router.js +14 -14
  183. package/dist/features/model-routing/router.js.map +1 -1
  184. package/dist/features/model-routing/rules.js +31 -31
  185. package/dist/features/model-routing/rules.js.map +1 -1
  186. package/dist/features/model-routing/types.js +1 -1
  187. package/dist/features/model-routing/types.js.map +1 -1
  188. package/dist/hooks/agent-usage-reminder/constants.d.ts +2 -2
  189. package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
  190. package/dist/hooks/agent-usage-reminder/constants.js +5 -5
  191. package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
  192. package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
  193. package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
  194. package/dist/hooks/auto-slash-command/constants.js +9 -2
  195. package/dist/hooks/auto-slash-command/constants.js.map +1 -1
  196. package/dist/hooks/bridge.d.ts +2 -2
  197. package/dist/hooks/bridge.d.ts.map +1 -1
  198. package/dist/hooks/bridge.js +50 -18
  199. package/dist/hooks/bridge.js.map +1 -1
  200. package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
  201. package/dist/hooks/directory-readme-injector/constants.d.ts.map +1 -1
  202. package/dist/hooks/directory-readme-injector/constants.js +2 -2
  203. package/dist/hooks/directory-readme-injector/constants.js.map +1 -1
  204. package/dist/hooks/index.d.ts +3 -2
  205. package/dist/hooks/index.d.ts.map +1 -1
  206. package/dist/hooks/index.js +9 -4
  207. package/dist/hooks/index.js.map +1 -1
  208. package/dist/hooks/learned-skills/config.d.ts +53 -0
  209. package/dist/hooks/learned-skills/config.d.ts.map +1 -0
  210. package/dist/hooks/learned-skills/config.js +103 -0
  211. package/dist/hooks/learned-skills/config.js.map +1 -0
  212. package/dist/hooks/learned-skills/constants.d.ts +24 -0
  213. package/dist/hooks/learned-skills/constants.d.ts.map +1 -0
  214. package/dist/hooks/learned-skills/constants.js +26 -0
  215. package/dist/hooks/learned-skills/constants.js.map +1 -0
  216. package/dist/hooks/learned-skills/detection-hook.d.ts +39 -0
  217. package/dist/hooks/learned-skills/detection-hook.d.ts.map +1 -0
  218. package/dist/hooks/learned-skills/detection-hook.js +83 -0
  219. package/dist/hooks/learned-skills/detection-hook.js.map +1 -0
  220. package/dist/hooks/learned-skills/detector.d.ts +30 -0
  221. package/dist/hooks/learned-skills/detector.d.ts.map +1 -0
  222. package/dist/hooks/learned-skills/detector.js +150 -0
  223. package/dist/hooks/learned-skills/detector.js.map +1 -0
  224. package/dist/hooks/learned-skills/finder.d.ts +21 -0
  225. package/dist/hooks/learned-skills/finder.d.ts.map +1 -0
  226. package/dist/hooks/learned-skills/finder.js +117 -0
  227. package/dist/hooks/learned-skills/finder.js.map +1 -0
  228. package/dist/hooks/learned-skills/index.d.ts +62 -0
  229. package/dist/hooks/learned-skills/index.d.ts.map +1 -0
  230. package/dist/hooks/learned-skills/index.js +137 -0
  231. package/dist/hooks/learned-skills/index.js.map +1 -0
  232. package/dist/hooks/learned-skills/loader.d.ts +20 -0
  233. package/dist/hooks/learned-skills/loader.d.ts.map +1 -0
  234. package/dist/hooks/learned-skills/loader.js +107 -0
  235. package/dist/hooks/learned-skills/loader.js.map +1 -0
  236. package/dist/hooks/learned-skills/parser.d.ts +21 -0
  237. package/dist/hooks/learned-skills/parser.d.ts.map +1 -0
  238. package/dist/hooks/learned-skills/parser.js +190 -0
  239. package/dist/hooks/learned-skills/parser.js.map +1 -0
  240. package/dist/hooks/learned-skills/promotion.d.ts +29 -0
  241. package/dist/hooks/learned-skills/promotion.d.ts.map +1 -0
  242. package/dist/hooks/learned-skills/promotion.js +87 -0
  243. package/dist/hooks/learned-skills/promotion.js.map +1 -0
  244. package/dist/hooks/learned-skills/types.d.ts +109 -0
  245. package/dist/hooks/learned-skills/types.d.ts.map +1 -0
  246. package/dist/hooks/learned-skills/types.js +8 -0
  247. package/dist/hooks/learned-skills/types.js.map +1 -0
  248. package/dist/hooks/learned-skills/validator.d.ts +15 -0
  249. package/dist/hooks/learned-skills/validator.d.ts.map +1 -0
  250. package/dist/hooks/learned-skills/validator.js +87 -0
  251. package/dist/hooks/learned-skills/validator.js.map +1 -0
  252. package/dist/hooks/learned-skills/writer.d.ts +27 -0
  253. package/dist/hooks/learned-skills/writer.d.ts.map +1 -0
  254. package/dist/hooks/learned-skills/writer.js +126 -0
  255. package/dist/hooks/learned-skills/writer.js.map +1 -0
  256. package/dist/hooks/learner/config.d.ts +53 -0
  257. package/dist/hooks/learner/config.d.ts.map +1 -0
  258. package/dist/hooks/learner/config.js +103 -0
  259. package/dist/hooks/learner/config.js.map +1 -0
  260. package/dist/hooks/learner/constants.d.ts +24 -0
  261. package/dist/hooks/learner/constants.d.ts.map +1 -0
  262. package/dist/hooks/learner/constants.js +26 -0
  263. package/dist/hooks/learner/constants.js.map +1 -0
  264. package/dist/hooks/learner/detection-hook.d.ts +39 -0
  265. package/dist/hooks/learner/detection-hook.d.ts.map +1 -0
  266. package/dist/hooks/learner/detection-hook.js +83 -0
  267. package/dist/hooks/learner/detection-hook.js.map +1 -0
  268. package/dist/hooks/learner/detector.d.ts +30 -0
  269. package/dist/hooks/learner/detector.d.ts.map +1 -0
  270. package/dist/hooks/learner/detector.js +150 -0
  271. package/dist/hooks/learner/detector.js.map +1 -0
  272. package/dist/hooks/learner/finder.d.ts +21 -0
  273. package/dist/hooks/learner/finder.d.ts.map +1 -0
  274. package/dist/hooks/learner/finder.js +117 -0
  275. package/dist/hooks/learner/finder.js.map +1 -0
  276. package/dist/hooks/learner/index.d.ts +62 -0
  277. package/dist/hooks/learner/index.d.ts.map +1 -0
  278. package/dist/hooks/learner/index.js +137 -0
  279. package/dist/hooks/learner/index.js.map +1 -0
  280. package/dist/hooks/learner/loader.d.ts +20 -0
  281. package/dist/hooks/learner/loader.d.ts.map +1 -0
  282. package/dist/hooks/learner/loader.js +113 -0
  283. package/dist/hooks/learner/loader.js.map +1 -0
  284. package/dist/hooks/learner/parser.d.ts +21 -0
  285. package/dist/hooks/learner/parser.d.ts.map +1 -0
  286. package/dist/hooks/learner/parser.js +190 -0
  287. package/dist/hooks/learner/parser.js.map +1 -0
  288. package/dist/hooks/learner/promotion.d.ts +29 -0
  289. package/dist/hooks/learner/promotion.d.ts.map +1 -0
  290. package/dist/hooks/learner/promotion.js +87 -0
  291. package/dist/hooks/learner/promotion.js.map +1 -0
  292. package/dist/hooks/learner/types.d.ts +109 -0
  293. package/dist/hooks/learner/types.d.ts.map +1 -0
  294. package/dist/hooks/learner/types.js +8 -0
  295. package/dist/hooks/learner/types.js.map +1 -0
  296. package/dist/hooks/learner/validator.d.ts +15 -0
  297. package/dist/hooks/learner/validator.d.ts.map +1 -0
  298. package/dist/hooks/learner/validator.js +87 -0
  299. package/dist/hooks/learner/validator.js.map +1 -0
  300. package/dist/hooks/learner/writer.d.ts +27 -0
  301. package/dist/hooks/learner/writer.d.ts.map +1 -0
  302. package/dist/hooks/learner/writer.js +126 -0
  303. package/dist/hooks/learner/writer.js.map +1 -0
  304. package/dist/hooks/mnemosyne/config.d.ts +53 -0
  305. package/dist/hooks/mnemosyne/config.d.ts.map +1 -0
  306. package/dist/hooks/mnemosyne/config.js +103 -0
  307. package/dist/hooks/mnemosyne/config.js.map +1 -0
  308. package/dist/hooks/mnemosyne/constants.d.ts +24 -0
  309. package/dist/hooks/mnemosyne/constants.d.ts.map +1 -0
  310. package/dist/hooks/mnemosyne/constants.js +26 -0
  311. package/dist/hooks/mnemosyne/constants.js.map +1 -0
  312. package/dist/hooks/mnemosyne/detection-hook.d.ts +39 -0
  313. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +1 -0
  314. package/dist/hooks/mnemosyne/detection-hook.js +83 -0
  315. package/dist/hooks/mnemosyne/detection-hook.js.map +1 -0
  316. package/dist/hooks/mnemosyne/detector.d.ts +30 -0
  317. package/dist/hooks/mnemosyne/detector.d.ts.map +1 -0
  318. package/dist/hooks/mnemosyne/detector.js +150 -0
  319. package/dist/hooks/mnemosyne/detector.js.map +1 -0
  320. package/dist/hooks/mnemosyne/finder.d.ts +21 -0
  321. package/dist/hooks/mnemosyne/finder.d.ts.map +1 -0
  322. package/dist/hooks/mnemosyne/finder.js +117 -0
  323. package/dist/hooks/mnemosyne/finder.js.map +1 -0
  324. package/dist/hooks/mnemosyne/index.d.ts +62 -0
  325. package/dist/hooks/mnemosyne/index.d.ts.map +1 -0
  326. package/dist/hooks/mnemosyne/index.js +137 -0
  327. package/dist/hooks/mnemosyne/index.js.map +1 -0
  328. package/dist/hooks/mnemosyne/loader.d.ts +20 -0
  329. package/dist/hooks/mnemosyne/loader.d.ts.map +1 -0
  330. package/dist/hooks/mnemosyne/loader.js +113 -0
  331. package/dist/hooks/mnemosyne/loader.js.map +1 -0
  332. package/dist/hooks/mnemosyne/parser.d.ts +21 -0
  333. package/dist/hooks/mnemosyne/parser.d.ts.map +1 -0
  334. package/dist/hooks/mnemosyne/parser.js +190 -0
  335. package/dist/hooks/mnemosyne/parser.js.map +1 -0
  336. package/dist/hooks/mnemosyne/promotion.d.ts +29 -0
  337. package/dist/hooks/mnemosyne/promotion.d.ts.map +1 -0
  338. package/dist/hooks/mnemosyne/promotion.js +87 -0
  339. package/dist/hooks/mnemosyne/promotion.js.map +1 -0
  340. package/dist/hooks/mnemosyne/types.d.ts +109 -0
  341. package/dist/hooks/mnemosyne/types.d.ts.map +1 -0
  342. package/dist/hooks/mnemosyne/types.js +8 -0
  343. package/dist/hooks/mnemosyne/types.js.map +1 -0
  344. package/dist/hooks/mnemosyne/validator.d.ts +15 -0
  345. package/dist/hooks/mnemosyne/validator.d.ts.map +1 -0
  346. package/dist/hooks/mnemosyne/validator.js +87 -0
  347. package/dist/hooks/mnemosyne/validator.js.map +1 -0
  348. package/dist/hooks/mnemosyne/writer.d.ts +27 -0
  349. package/dist/hooks/mnemosyne/writer.d.ts.map +1 -0
  350. package/dist/hooks/mnemosyne/writer.js +126 -0
  351. package/dist/hooks/mnemosyne/writer.js.map +1 -0
  352. package/dist/hooks/notepad/index.d.ts +2 -2
  353. package/dist/hooks/notepad/index.js +7 -7
  354. package/dist/hooks/notepad/index.js.map +1 -1
  355. package/dist/hooks/omc-orchestrator/constants.d.ts +23 -0
  356. package/dist/hooks/omc-orchestrator/constants.d.ts.map +1 -0
  357. package/dist/hooks/omc-orchestrator/constants.js +142 -0
  358. package/dist/hooks/omc-orchestrator/constants.js.map +1 -0
  359. package/dist/hooks/omc-orchestrator/index.d.ts +113 -0
  360. package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -0
  361. package/dist/hooks/omc-orchestrator/index.js +309 -0
  362. package/dist/hooks/omc-orchestrator/index.js.map +1 -0
  363. package/dist/hooks/persistent-mode/index.d.ts +4 -4
  364. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  365. package/dist/hooks/persistent-mode/index.js +37 -37
  366. package/dist/hooks/persistent-mode/index.js.map +1 -1
  367. package/dist/hooks/ralph-loop/index.d.ts +33 -5
  368. package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
  369. package/dist/hooks/ralph-loop/index.js +91 -17
  370. package/dist/hooks/ralph-loop/index.js.map +1 -1
  371. package/dist/hooks/ralph-prd/index.d.ts +4 -4
  372. package/dist/hooks/ralph-prd/index.d.ts.map +1 -1
  373. package/dist/hooks/ralph-prd/index.js +13 -13
  374. package/dist/hooks/ralph-prd/index.js.map +1 -1
  375. package/dist/hooks/ralph-progress/index.d.ts +5 -5
  376. package/dist/hooks/ralph-progress/index.d.ts.map +1 -1
  377. package/dist/hooks/ralph-progress/index.js +14 -14
  378. package/dist/hooks/ralph-progress/index.js.map +1 -1
  379. package/dist/hooks/ralph-verifier/index.d.ts +23 -23
  380. package/dist/hooks/ralph-verifier/index.d.ts.map +1 -1
  381. package/dist/hooks/ralph-verifier/index.js +41 -41
  382. package/dist/hooks/ralph-verifier/index.js.map +1 -1
  383. package/dist/hooks/rules-injector/constants.d.ts +1 -1
  384. package/dist/hooks/rules-injector/constants.d.ts.map +1 -1
  385. package/dist/hooks/rules-injector/constants.js +2 -2
  386. package/dist/hooks/rules-injector/constants.js.map +1 -1
  387. package/dist/hooks/todo-continuation/index.js +1 -1
  388. package/dist/hooks/todo-continuation/index.js.map +1 -1
  389. package/dist/hooks/ultraqa-loop/index.d.ts +1 -1
  390. package/dist/hooks/ultraqa-loop/index.js +8 -8
  391. package/dist/hooks/ultraqa-loop/index.js.map +1 -1
  392. package/dist/hooks/ultrawork-state/index.js +7 -7
  393. package/dist/hooks/ultrawork-state/index.js.map +1 -1
  394. package/dist/hud/background-tasks.d.ts +26 -0
  395. package/dist/hud/background-tasks.d.ts.map +1 -0
  396. package/dist/hud/background-tasks.js +116 -0
  397. package/dist/hud/background-tasks.js.map +1 -0
  398. package/dist/hud/colors.d.ts +54 -0
  399. package/dist/hud/colors.d.ts.map +1 -0
  400. package/dist/hud/colors.js +156 -0
  401. package/dist/hud/colors.js.map +1 -0
  402. package/dist/hud/elements/agents.d.ts +73 -0
  403. package/dist/hud/elements/agents.d.ts.map +1 -0
  404. package/dist/hud/elements/agents.js +405 -0
  405. package/dist/hud/elements/agents.js.map +1 -0
  406. package/dist/hud/elements/background.d.ts +20 -0
  407. package/dist/hud/elements/background.d.ts.map +1 -0
  408. package/dist/hud/elements/background.js +70 -0
  409. package/dist/hud/elements/background.js.map +1 -0
  410. package/dist/hud/elements/context.d.ts +19 -0
  411. package/dist/hud/elements/context.d.ts.map +1 -0
  412. package/dist/hud/elements/context.js +58 -0
  413. package/dist/hud/elements/context.js.map +1 -0
  414. package/dist/hud/elements/index.d.ts +17 -0
  415. package/dist/hud/elements/index.d.ts.map +1 -0
  416. package/dist/hud/elements/index.js +17 -0
  417. package/dist/hud/elements/index.js.map +1 -0
  418. package/dist/hud/elements/limits.d.ts +19 -0
  419. package/dist/hud/elements/limits.d.ts.map +1 -0
  420. package/dist/hud/elements/limits.js +54 -0
  421. package/dist/hud/elements/limits.js.map +1 -0
  422. package/dist/hud/elements/permission.d.ts +13 -0
  423. package/dist/hud/elements/permission.d.ts.map +1 -0
  424. package/dist/hud/elements/permission.js +20 -0
  425. package/dist/hud/elements/permission.js.map +1 -0
  426. package/dist/hud/elements/prd.d.ts +20 -0
  427. package/dist/hud/elements/prd.d.ts.map +1 -0
  428. package/dist/hud/elements/prd.js +52 -0
  429. package/dist/hud/elements/prd.js.map +1 -0
  430. package/dist/hud/elements/ralph.d.ts +14 -0
  431. package/dist/hud/elements/ralph.d.ts.map +1 -0
  432. package/dist/hud/elements/ralph.js +36 -0
  433. package/dist/hud/elements/ralph.js.map +1 -0
  434. package/dist/hud/elements/session.d.ts +13 -0
  435. package/dist/hud/elements/session.d.ts.map +1 -0
  436. package/dist/hud/elements/session.js +24 -0
  437. package/dist/hud/elements/session.js.map +1 -0
  438. package/dist/hud/elements/skills.d.ts +24 -0
  439. package/dist/hud/elements/skills.d.ts.map +1 -0
  440. package/dist/hud/elements/skills.js +81 -0
  441. package/dist/hud/elements/skills.js.map +1 -0
  442. package/dist/hud/elements/thinking.d.ts +13 -0
  443. package/dist/hud/elements/thinking.d.ts.map +1 -0
  444. package/dist/hud/elements/thinking.js +19 -0
  445. package/dist/hud/elements/thinking.js.map +1 -0
  446. package/dist/hud/elements/todos.d.ts +20 -0
  447. package/dist/hud/elements/todos.d.ts.map +1 -0
  448. package/dist/hud/elements/todos.js +70 -0
  449. package/dist/hud/elements/todos.js.map +1 -0
  450. package/dist/hud/index.d.ts +9 -0
  451. package/dist/hud/index.d.ts.map +1 -0
  452. package/dist/hud/index.js +89 -0
  453. package/dist/hud/index.js.map +1 -0
  454. package/dist/hud/omc-state.d.ts +31 -0
  455. package/dist/hud/omc-state.d.ts.map +1 -0
  456. package/dist/hud/omc-state.js +163 -0
  457. package/dist/hud/omc-state.js.map +1 -0
  458. package/dist/hud/render.d.ts +11 -0
  459. package/dist/hud/render.d.ts.map +1 -0
  460. package/dist/hud/render.js +121 -0
  461. package/dist/hud/render.js.map +1 -0
  462. package/dist/hud/sisyphus-state.d.ts +31 -0
  463. package/dist/hud/sisyphus-state.d.ts.map +1 -0
  464. package/dist/hud/sisyphus-state.js +163 -0
  465. package/dist/hud/sisyphus-state.js.map +1 -0
  466. package/dist/hud/state.d.ts +43 -0
  467. package/dist/hud/state.d.ts.map +1 -0
  468. package/dist/hud/state.js +201 -0
  469. package/dist/hud/state.js.map +1 -0
  470. package/dist/hud/stdin.d.ts +22 -0
  471. package/dist/hud/stdin.d.ts.map +1 -0
  472. package/dist/hud/stdin.js +65 -0
  473. package/dist/hud/stdin.js.map +1 -0
  474. package/dist/hud/transcript.d.ts +32 -0
  475. package/dist/hud/transcript.d.ts.map +1 -0
  476. package/dist/hud/transcript.js +364 -0
  477. package/dist/hud/transcript.js.map +1 -0
  478. package/dist/hud/types.d.ts +178 -0
  479. package/dist/hud/types.d.ts.map +1 -0
  480. package/dist/hud/types.js +119 -0
  481. package/dist/hud/types.js.map +1 -0
  482. package/dist/hud/usage-api.d.ts +24 -0
  483. package/dist/hud/usage-api.d.ts.map +1 -0
  484. package/dist/hud/usage-api.js +234 -0
  485. package/dist/hud/usage-api.js.map +1 -0
  486. package/dist/index.d.ts +7 -7
  487. package/dist/index.d.ts.map +1 -1
  488. package/dist/index.js +10 -12
  489. package/dist/index.js.map +1 -1
  490. package/dist/installer/hooks.d.ts +36 -64
  491. package/dist/installer/hooks.d.ts.map +1 -1
  492. package/dist/installer/hooks.js +91 -1298
  493. package/dist/installer/hooks.js.map +1 -1
  494. package/dist/installer/index.d.ts +23 -22
  495. package/dist/installer/index.d.ts.map +1 -1
  496. package/dist/installer/index.js +307 -2575
  497. package/dist/installer/index.js.map +1 -1
  498. package/dist/shared/types.d.ts +6 -6
  499. package/dist/shared/types.d.ts.map +1 -1
  500. package/docs/ARCHITECTURE.md +386 -0
  501. package/docs/CLAUDE.md +281 -0
  502. package/docs/FULL-README.md +822 -0
  503. package/docs/LOCAL_PLUGIN_INSTALL.md +94 -0
  504. package/docs/MIGRATION-v3.md +186 -0
  505. package/docs/MIGRATION.md +460 -0
  506. package/docs/TIERED_AGENTS_V2.md +322 -0
  507. package/hooks/hooks.json +70 -0
  508. package/hooks/keyword-detector.sh +102 -0
  509. package/hooks/persistent-mode.sh +172 -0
  510. package/hooks/session-start.sh +62 -0
  511. package/hooks/stop-continuation.sh +40 -0
  512. package/package.json +14 -8
  513. package/scripts/install.sh +90 -72
  514. package/scripts/keyword-detector.mjs +1 -1
  515. package/scripts/persistent-mode.mjs +9 -9
  516. package/scripts/persistent-mode.sh +21 -10
  517. package/scripts/plugin-setup.mjs +109 -0
  518. package/scripts/pre-tool-enforcer.mjs +1 -1
  519. package/scripts/pre-tool-enforcer.sh +1 -1
  520. package/scripts/session-start.mjs +38 -3
  521. package/scripts/skill-injector.mjs +231 -0
  522. package/scripts/uninstall.sh +8 -8
  523. package/skills/analyze/SKILL.md +47 -0
  524. package/skills/cancel-ralph/SKILL.md +43 -0
  525. package/skills/cancel-ultraqa/SKILL.md +29 -0
  526. package/skills/cancel-ultrawork/SKILL.md +42 -0
  527. package/skills/deepinit/SKILL.md +321 -0
  528. package/skills/deepsearch/SKILL.md +39 -0
  529. package/skills/doctor/SKILL.md +192 -0
  530. package/skills/frontend-ui-ux/SKILL.md +53 -0
  531. package/skills/git-master/SKILL.md +58 -0
  532. package/skills/help/SKILL.md +66 -0
  533. package/skills/hud/SKILL.md +142 -0
  534. package/skills/learner/SKILL.md +136 -0
  535. package/skills/note/SKILL.md +63 -0
  536. package/skills/omc-default/SKILL.md +78 -0
  537. package/skills/omc-default-global/SKILL.md +75 -0
  538. package/skills/omc-setup/SKILL.md +144 -0
  539. package/skills/orchestrate/SKILL.md +409 -0
  540. package/skills/plan/SKILL.md +37 -0
  541. package/skills/planner/SKILL.md +43 -0
  542. package/skills/ralph/SKILL.md +101 -0
  543. package/skills/ralph-init/SKILL.md +61 -0
  544. package/skills/ralplan/SKILL.md +219 -0
  545. package/skills/release/SKILL.md +84 -0
  546. package/skills/review/SKILL.md +37 -0
  547. package/skills/ultraqa/SKILL.md +123 -0
  548. package/skills/ultrawork/SKILL.md +89 -0
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: ralph
3
+ description: Self-referential loop until task completion with architect verification
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Ralph Skill
8
+
9
+ [RALPH + ULTRAWORK - ITERATION {{ITERATION}}/{{MAX}}]
10
+
11
+ Your previous attempt did not output the completion promise. Continue working on the task.
12
+
13
+ ## ULTRAWORK MODE (AUTO-ACTIVATED)
14
+
15
+ Ralph automatically activates Ultrawork for maximum parallel execution. You MUST follow these rules:
16
+
17
+ ### Parallel Execution Rules
18
+ - **PARALLEL**: Fire independent calls simultaneously - NEVER wait sequentially
19
+ - **BACKGROUND FIRST**: Use Task(run_in_background=true) for long operations (10+ concurrent)
20
+ - **DELEGATE**: Route tasks to specialist agents immediately
21
+
22
+ ### Smart Model Routing (SAVE TOKENS)
23
+
24
+ | Task Complexity | Tier | Examples |
25
+ |-----------------|------|----------|
26
+ | Simple lookups | LOW (haiku) | "What does this function return?", "Find where X is defined" |
27
+ | Standard work | MEDIUM (sonnet) | "Add error handling", "Implement this feature" |
28
+ | Complex analysis | HIGH (opus) | "Debug this race condition", "Refactor auth module" |
29
+
30
+ ### Available Agents by Tier
31
+
32
+ | Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
33
+ |--------|-------------|-----------------|-------------|
34
+ | **Analysis** | `architect-low` | `architect-medium` | `architect` |
35
+ | **Execution** | `executor-low` | `executor` | `executor-high` |
36
+ | **Search** | `explore` | `explore-medium` | - |
37
+ | **Research** | `researcher-low` | `researcher` | - |
38
+ | **Frontend** | `designer-low` | `designer` | `designer-high` |
39
+ | **Docs** | `writer` | - | - |
40
+
41
+ **CRITICAL: Always pass `model` parameter explicitly!**
42
+ ```
43
+ Task(subagent_type="oh-my-claudecode:architect-low", model="haiku", prompt="...")
44
+ Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="...")
45
+ Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="...")
46
+ ```
47
+
48
+ ### Background Execution Rules
49
+
50
+ **Run in Background** (set `run_in_background: true`):
51
+ - Package installation: npm install, pip install, cargo build
52
+ - Build processes: npm run build, make, tsc
53
+ - Test suites: npm test, pytest, cargo test
54
+ - Docker operations: docker build, docker pull
55
+
56
+ **Run Blocking** (foreground):
57
+ - Quick status checks: git status, ls, pwd
58
+ - File reads, edits
59
+ - Simple commands
60
+
61
+ ## COMPLETION REQUIREMENTS
62
+
63
+ Before claiming completion, you MUST:
64
+ 1. Verify ALL requirements from the original task are met
65
+ 2. Ensure no partial implementations
66
+ 3. Check that code compiles/runs without errors
67
+ 4. Verify tests pass (if applicable)
68
+ 5. TODO LIST: Zero pending/in_progress tasks
69
+
70
+ ## ARCHITECT VERIFICATION (MANDATORY)
71
+
72
+ When you believe the task is complete:
73
+ 1. **First**, spawn Architect to verify your work (ALWAYS pass model explicitly!):
74
+ ```
75
+ Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="Verify this implementation is complete: [describe what you did]")
76
+ ```
77
+
78
+ 2. **Wait for Architect's assessment**
79
+
80
+ 3. **If Architect approves**: Output `<promise>{{PROMISE}}</promise>`
81
+ 4. **If Architect finds issues**: Fix them, then repeat verification
82
+
83
+ DO NOT output the completion promise without Architect verification.
84
+
85
+ ## ZERO TOLERANCE
86
+
87
+ - NO Scope Reduction - deliver FULL implementation
88
+ - NO Partial Completion - finish 100%
89
+ - NO Premature Stopping - ALL TODOs must be complete
90
+ - NO TEST DELETION - fix code, not tests
91
+
92
+ ## INSTRUCTIONS
93
+
94
+ - Review your progress so far
95
+ - Continue from where you left off
96
+ - Use parallel execution and background tasks
97
+ - When FULLY complete AND Architect verified, output: <promise>{{PROMISE}}</promise>
98
+ - Do not stop until the task is truly done
99
+
100
+ Original task:
101
+ {{PROMPT}}
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: ralph-init
3
+ description: Initialize a PRD (Product Requirements Document) for structured ralph-loop execution
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Ralph Init Skill
8
+
9
+ [RALPH-INIT - PRD CREATION MODE]
10
+
11
+ ## What is PRD?
12
+
13
+ A PRD (Product Requirements Document) structures your task into discrete user stories for ralph-loop.
14
+
15
+ ## Your Task
16
+
17
+ Create `.omc/prd.json` and `.omc/progress.txt` based on the task description.
18
+
19
+ ### prd.json Structure
20
+
21
+ ```json
22
+ {
23
+ "project": "[Project Name]",
24
+ "branchName": "ralph/[feature-name]",
25
+ "description": "[Feature description]",
26
+ "userStories": [
27
+ {
28
+ "id": "US-001",
29
+ "title": "[Short title]",
30
+ "description": "As a [user], I want to [action] so that [benefit].",
31
+ "acceptanceCriteria": ["Criterion 1", "Typecheck passes"],
32
+ "priority": 1,
33
+ "passes": false
34
+ }
35
+ ]
36
+ }
37
+ ```
38
+
39
+ ### progress.txt Structure
40
+
41
+ ```
42
+ # Ralph Progress Log
43
+ Started: [ISO timestamp]
44
+
45
+ ## Codebase Patterns
46
+ (No patterns discovered yet)
47
+
48
+ ---
49
+ ```
50
+
51
+ ### Guidelines
52
+
53
+ 1. **Right-sized stories**: Each completable in one focused session
54
+ 2. **Verifiable criteria**: Include "Typecheck passes", "Tests pass"
55
+ 3. **Independent stories**: Minimize dependencies between stories
56
+ 4. **Priority order**: Foundational work (DB, types) before UI
57
+
58
+ After creating files, report summary and suggest running `/ralph-loop` to start.
59
+
60
+ Task to break down:
61
+ {{ARGUMENTS}}
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: ralplan
3
+ description: Iterative planning with Planner, Architect, and Critic until consensus
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Ralplan Skill
8
+
9
+ ## Overview
10
+
11
+ Ralplan orchestrates three specialized agents—Planner, Architect, and Critic—in an iterative loop until consensus is reached on a comprehensive work plan. This skill ensures plans are strategically sound, architecturally valid, and thoroughly reviewed before execution.
12
+
13
+ ## The Planning Triad
14
+
15
+ Three agents collaborate in structured phases to validate and refine work plans:
16
+
17
+ | Agent | Role | Output |
18
+ |-------|------|--------|
19
+ | **Planner** | Strategic Planner | Creates/refines the work plan |
20
+ | **Architect** | Strategic Advisor | Answers questions, validates architecture |
21
+ | **Critic** | Ruthless Reviewer | Critiques and identifies gaps |
22
+
23
+ ## The Iteration Loop
24
+
25
+ ```
26
+ ┌─────────────────────────────────────────────────────────────────┐
27
+ │ RALPLAN LOOP │
28
+ │ │
29
+ │ ┌──────────────┐ │
30
+ │ │ PLANNER │◄────────────────────────────────┐ │
31
+ │ │ (Plans) │ │ │
32
+ │ └──────┬───────┘ │ │
33
+ │ │ │ │
34
+ │ ▼ │ │
35
+ │ ┌──────────────┐ Questions? ┌───────────┐ │ │
36
+ │ │ Has open │─────────────────► │ ARCHITECT │ │ │
37
+ │ │ questions? │ │ (Advises) │ │ │
38
+ │ └──────┬───────┘ └─────┬─────┘ │ │
39
+ │ │ │ │ │
40
+ │ │ No questions │ │ │
41
+ │ ▼ ▼ │ │
42
+ │ ┌──────────────┐ ┌──────────┐ │ │
43
+ │ │ CRITIC │◄─────────────────│ Answers │ │ │
44
+ │ │ (Reviews) │ └──────────┘ │ │
45
+ │ └──────┬───────┘ │ │
46
+ │ │ │ │
47
+ │ ▼ │ │
48
+ │ ┌──────────────┐ REJECT ┌──────────────┐│ │
49
+ │ │ Verdict? │─────────────────►│ Feedback ││ │
50
+ │ └──────┬───────┘ │ to Planner │┘ │
51
+ │ │ └─────────────┘ │
52
+ │ │ OKAY │
53
+ │ ▼ │
54
+ │ ┌──────────────────────────────────────────────────────────┐ │
55
+ │ │ PLAN APPROVED │ │
56
+ │ │ Ready for /ralph execution │ │
57
+ │ └──────────────────────────────────────────────────────────┘ │
58
+ └─────────────────────────────────────────────────────────────────┘
59
+ ```
60
+
61
+ ## State Management
62
+
63
+ Ralplan maintains persistent state in `.omc/ralplan-state.json` to track progress and enable recovery across interruptions:
64
+
65
+ ```json
66
+ {
67
+ "active": true,
68
+ "mode": "ralplan",
69
+ "iteration": 1,
70
+ "max_iterations": 5,
71
+ "plan_path": ".omc/plans/[feature].md",
72
+ "current_phase": "planner_planning",
73
+ "started_at": "ISO-timestamp",
74
+ "task_description": "[original task]"
75
+ }
76
+ ```
77
+
78
+ **Phases**: `planner_planning` → `architect_consultation` → `critic_review` → `handling_verdict` → `complete`
79
+
80
+ ## Execution Protocol
81
+
82
+ ### Initialization
83
+
84
+ The skill begins by establishing the planning environment:
85
+
86
+ 1. Create `.omc/plans/` directory if it doesn't exist
87
+ 2. Read task description from user input
88
+ 3. Create `ralplan-state.json` with initial values:
89
+ - `active: true`
90
+ - `iteration: 0`
91
+ - `max_iterations: 5`
92
+ - `current_phase: "planner_planning"`
93
+ - `started_at`: Current ISO timestamp
94
+ - `task_description`: User's task description
95
+
96
+ ### Planner Planning Phase
97
+
98
+ The Planner creates an initial plan based on task context:
99
+
100
+ - Invoke Planner in **direct planning mode** (bypassing interview since task context is pre-gathered)
101
+ - Planner receives task context directly without preliminary questioning
102
+ - Planner mandatorily consults with Metis for gap detection
103
+ - Planner generates plan directly to `.omc/plans/[feature-name].md`
104
+ - Plan includes: requirements summary, concrete acceptance criteria, specific implementation steps with file references, risk identification with mitigations, and verification steps
105
+ - Signal completion with `PLAN_READY: .omc/plans/[filename].md`
106
+ - Extract plan path from completion signal and update state
107
+
108
+ ### Architect Consultation (Conditional)
109
+
110
+ The Architect provides strategic guidance in two scenarios:
111
+
112
+ 1. **After Planner**: If Planner raises architectural questions needing strategic input
113
+ 2. **After Critic rejection**: If Critic identifies questions requiring expert guidance
114
+
115
+ When invoked, the Architect receives file paths to read for analysis, not summaries. This enables thorough examination of the existing codebase context before providing recommendations.
116
+
117
+ ### Critic Review
118
+
119
+ The Critic examines the plan against quality standards:
120
+
121
+ - Critic receives the plan file path (per its design)
122
+ - Critic conducts thorough review of plan completeness and feasibility
123
+ - Critic emits verdict: either `OKAY` (approval) or `REJECT` with specific issues
124
+
125
+ ### Verdict Handling and Iteration
126
+
127
+ Based on Critic's verdict, the skill either approves the plan or continues iteration:
128
+
129
+ **If verdict is OKAY:**
130
+ - Mark plan as approved
131
+ - Log approval with iteration count
132
+ - Prepare plan for execution with `/ralph` or manual orchestration
133
+ - Set state `active: false, current_phase: "complete"`
134
+
135
+ **If verdict is REJECT:**
136
+ - Extract Critic feedback with specific issues
137
+ - Increment iteration counter
138
+ - If `iteration >= max_iterations` (5):
139
+ - Force approval with warning about unresolved concerns
140
+ - Recommend manual review before execution
141
+ - Otherwise:
142
+ - Feed Critic feedback back to Planner
143
+ - Return to Planner Planning phase for refinement
144
+
145
+ ## Iteration Rules
146
+
147
+ | Rule | Description |
148
+ |------|-------------|
149
+ | **Max 5 iterations** | Safety limit prevents infinite loops |
150
+ | **Planner owns plan** | Only Planner writes to plan file |
151
+ | **Architect provides wisdom** | Architect reads and advises, never modifies |
152
+ | **Critic has final say** | Plan approved only when Critic signals OKAY |
153
+ | **Feedback is specific** | Each rejection includes actionable improvements |
154
+ | **State persists** | Progress survives session interruptions |
155
+
156
+ ## Quality Gates
157
+
158
+ The orchestrator must verify these gates before invoking Critic for each review:
159
+
160
+ 1. **Plan file exists** at the path specified in state
161
+ 2. **File references are valid** - Verify all mentioned files exist in codebase
162
+ 3. **Acceptance criteria are concrete** - No vague "improve" or "optimize" without measurable metrics
163
+ 4. **No ambiguous language** - Each task clearly specifies what to do
164
+
165
+ If any gate fails, return to Planner with specific failure feedback for remediation.
166
+
167
+ ## Agent Communication Protocol
168
+
169
+ ### Planner to Architect Questions
170
+
171
+ ```
172
+ ARCHITECT_QUESTION:
173
+ - Topic: [Architecture/Performance/Security/Pattern]
174
+ - Context: [What we're planning]
175
+ - Files to examine: [specific paths]
176
+ - Specific Question: [What we need answered]
177
+ ```
178
+
179
+ ### Architect to Planner Answers
180
+
181
+ ```
182
+ ARCHITECT_ANSWER:
183
+ - Topic: [Matching topic]
184
+ - Analysis: [What Architect found after reading files]
185
+ - Recommendation: [Specific guidance]
186
+ - Trade-offs: [What to consider]
187
+ - References: [file:line citations from codebase]
188
+ ```
189
+
190
+ ### Critic to Planner Feedback
191
+
192
+ ```
193
+ CRITIC_FEEDBACK:
194
+ - Verdict: REJECT
195
+ - Critical Issues:
196
+ 1. [Issue with specific fix required]
197
+ 2. [Issue with specific fix required]
198
+ - Minor Issues:
199
+ 1. [Nice to fix]
200
+ - Questions for Architect (if any):
201
+ 1. [Architectural question needing expert input]
202
+ ```
203
+
204
+ ## Cancellation
205
+
206
+ To stop an active ralplan session:
207
+
208
+ - Use `/cancel-ralph` (automatically detects ralplan via state file)
209
+ - Or manually delete `.omc/ralplan-state.json`
210
+
211
+ ## Skill Workflow
212
+
213
+ 1. **Initialize state** and log: `[RALPLAN Iteration 0/5] Initializing...`
214
+ 2. **Parse task** from user input
215
+ 3. **Spawn Planner** in direct planning mode
216
+ 4. **Iterate** through planning loop with observability logging at each phase
217
+ 5. **Complete** when Critic approves or max iterations reached with warnings
218
+
219
+ The iterative loop refines the plan until it meets the rigorous standards of all three agents, ensuring comprehensive, architecturally sound work plans ready for execution.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: release
3
+ description: Automated release workflow for oh-my-claudecode
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Release Skill
8
+
9
+ Automate the release process for oh-my-claudecode.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /release <version>
15
+ ```
16
+
17
+ Example: `/release 2.4.0` or `/release patch` or `/release minor`
18
+
19
+ ## Release Checklist
20
+
21
+ Execute these steps in order:
22
+
23
+ ### 1. Version Bump
24
+ Update version in all locations:
25
+ - `package.json`
26
+ - `src/installer/index.ts` (VERSION constant)
27
+ - `src/__tests__/installer.test.ts` (expected version)
28
+ - `.claude-plugin/plugin.json`
29
+ - `README.md` (version badge and title)
30
+
31
+ ### 2. Run Tests
32
+ ```bash
33
+ npm run test:run
34
+ ```
35
+ All 231+ tests must pass before proceeding.
36
+
37
+ ### 3. Commit Version Bump
38
+ ```bash
39
+ git add -A
40
+ git commit -m "chore: Bump version to <version>"
41
+ ```
42
+
43
+ ### 4. Create & Push Tag
44
+ ```bash
45
+ git tag v<version>
46
+ git push origin main
47
+ git push origin v<version>
48
+ ```
49
+
50
+ ### 5. Publish to npm
51
+ ```bash
52
+ npm publish --access public
53
+ ```
54
+
55
+ ### 6. Create GitHub Release
56
+ ```bash
57
+ gh release create v<version> --title "v<version> - <title>" --notes "<release notes>"
58
+ ```
59
+
60
+ ### 7. Verify
61
+ - [ ] npm: https://www.npmjs.com/package/oh-my-claudecode
62
+ - [ ] GitHub: https://github.com/Yeachan-Heo/oh-my-claudecode/releases
63
+
64
+ ## Version Files Reference
65
+
66
+ | File | Field/Line |
67
+ |------|------------|
68
+ | `package.json` | `"version": "X.Y.Z"` |
69
+ | `src/installer/index.ts` | `export const VERSION = 'X.Y.Z'` |
70
+ | `src/__tests__/installer.test.ts` | `expect(VERSION).toBe('X.Y.Z')` |
71
+ | `.claude-plugin/plugin.json` | `"version": "X.Y.Z"` |
72
+ | `README.md` | Title + version badge |
73
+
74
+ ## Semantic Versioning
75
+
76
+ - **patch** (X.Y.Z+1): Bug fixes, minor improvements
77
+ - **minor** (X.Y+1.0): New features, backward compatible
78
+ - **major** (X+1.0.0): Breaking changes
79
+
80
+ ## Notes
81
+
82
+ - Always run tests before publishing
83
+ - Create release notes summarizing changes
84
+ - Plugin marketplace syncs automatically from GitHub releases
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: review
3
+ description: Review a plan with Critic
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Review Skill
8
+
9
+ [PLAN REVIEW MODE ACTIVATED]
10
+
11
+ ## Role
12
+
13
+ Critically evaluate plans using Critic. No plan passes without meeting rigorous standards.
14
+
15
+ ## Review Criteria
16
+
17
+ | Criterion | Standard |
18
+ |-----------|----------|
19
+ | Clarity | 80%+ claims cite file/line |
20
+ | Testability | 90%+ criteria are concrete |
21
+ | Verification | All file refs exist |
22
+ | Specificity | No vague terms |
23
+
24
+ ## Verdicts
25
+
26
+ **APPROVED** - Plan meets all criteria, ready for execution
27
+ **REVISE** - Plan has issues needing fixes (with specific feedback)
28
+ **REJECT** - Fundamental problems require replanning
29
+
30
+ ## What Gets Checked
31
+
32
+ 1. Are requirements clear and unambiguous?
33
+ 2. Are acceptance criteria concrete and testable?
34
+ 3. Do file references actually exist?
35
+ 4. Are implementation steps specific?
36
+ 5. Are risks identified with mitigations?
37
+ 6. Are verification steps defined?
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: ultraqa
3
+ description: QA cycling workflow - test, verify, fix, repeat until goal met
4
+ user-invocable: true
5
+ ---
6
+
7
+ # UltraQA Skill
8
+
9
+ [ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]
10
+
11
+ ## Overview
12
+
13
+ You are now in **ULTRAQA** mode - an autonomous QA cycling workflow that runs until your quality goal is met.
14
+
15
+ **Cycle**: qa-tester → architect verification → fix → repeat
16
+
17
+ ## Goal Parsing
18
+
19
+ Parse the goal from arguments. Supported formats:
20
+
21
+ | Invocation | Goal Type | What to Check |
22
+ |------------|-----------|---------------|
23
+ | `/ultraqa --tests` | tests | All test suites pass |
24
+ | `/ultraqa --build` | build | Build succeeds with exit 0 |
25
+ | `/ultraqa --lint` | lint | No lint errors |
26
+ | `/ultraqa --typecheck` | typecheck | No TypeScript errors |
27
+ | `/ultraqa --custom "pattern"` | custom | Custom success pattern in output |
28
+
29
+ If no structured goal provided, interpret the argument as a custom goal.
30
+
31
+ ## Cycle Workflow
32
+
33
+ ### Cycle N (Max 5)
34
+
35
+ 1. **RUN QA**: Execute verification based on goal type
36
+ - `--tests`: Run `npm test` or equivalent
37
+ - `--build`: Run `npm run build` or equivalent
38
+ - `--lint`: Run `npm run lint` or equivalent
39
+ - `--typecheck`: Run `npm run typecheck` or `tsc --noEmit`
40
+ - `--custom`: Run appropriate command and check for pattern
41
+ - `--interactive`: Use qa-tester for interactive CLI/service testing:
42
+ ```
43
+ Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="TEST:
44
+ Goal: [describe what to verify]
45
+ Service: [how to start]
46
+ Test cases: [specific scenarios to verify]")
47
+ ```
48
+
49
+ 2. **CHECK RESULT**: Did the goal pass?
50
+ - **YES** → Exit with success message
51
+ - **NO** → Continue to step 3
52
+
53
+ 3. **ARCHITECT DIAGNOSIS**: Spawn architect to analyze failure
54
+ ```
55
+ Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="DIAGNOSE FAILURE:
56
+ Goal: [goal type]
57
+ Output: [test/build output]
58
+ Provide root cause and specific fix recommendations.")
59
+ ```
60
+
61
+ 4. **FIX ISSUES**: Apply architect's recommendations
62
+ ```
63
+ Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
64
+ Issue: [architect diagnosis]
65
+ Files: [affected files]
66
+ Apply the fix precisely as recommended.")
67
+ ```
68
+
69
+ 5. **REPEAT**: Go back to step 1
70
+
71
+ ## Exit Conditions
72
+
73
+ | Condition | Action |
74
+ |-----------|--------|
75
+ | **Goal Met** | Exit with success: "ULTRAQA COMPLETE: Goal met after N cycles" |
76
+ | **Cycle 5 Reached** | Exit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..." |
77
+ | **Same Failure 3x** | Exit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..." |
78
+ | **Environment Error** | Exit: "ULTRAQA ERROR: [tmux/port/dependency issue]" |
79
+
80
+ ## Observability
81
+
82
+ Output progress each cycle:
83
+ ```
84
+ [ULTRAQA Cycle 1/5] Running tests...
85
+ [ULTRAQA Cycle 1/5] FAILED - 3 tests failing
86
+ [ULTRAQA Cycle 1/5] Architect diagnosing...
87
+ [ULTRAQA Cycle 1/5] Fixing: auth.test.ts - missing mock
88
+ [ULTRAQA Cycle 2/5] Running tests...
89
+ [ULTRAQA Cycle 2/5] PASSED - All 47 tests pass
90
+ [ULTRAQA COMPLETE] Goal met after 2 cycles
91
+ ```
92
+
93
+ ## State Tracking
94
+
95
+ Track state in `.omc/ultraqa-state.json`:
96
+ ```json
97
+ {
98
+ "active": true,
99
+ "goal_type": "tests",
100
+ "goal_pattern": null,
101
+ "cycle": 1,
102
+ "max_cycles": 5,
103
+ "failures": ["3 tests failing: auth.test.ts"],
104
+ "started_at": "2024-01-18T12:00:00Z",
105
+ "session_id": "uuid"
106
+ }
107
+ ```
108
+
109
+ ## Cancellation
110
+
111
+ User can cancel with `/cancel-ultraqa` which clears the state file.
112
+
113
+ ## Important Rules
114
+
115
+ 1. **PARALLEL when possible** - Run diagnosis while preparing potential fixes
116
+ 2. **TRACK failures** - Record each failure to detect patterns
117
+ 3. **EARLY EXIT on pattern** - 3x same failure = stop and surface
118
+ 4. **CLEAR OUTPUT** - User should always know current cycle and status
119
+ 5. **CLEAN UP** - Clear state file on completion or cancellation
120
+
121
+ ---
122
+
123
+ Begin ULTRAQA cycling now. Parse the goal and start cycle 1.