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,66 @@
1
+ ---
2
+ name: help
3
+ description: Guide on using oh-my-claudecode plugin
4
+ user-invocable: true
5
+ ---
6
+
7
+ # How OMC Works
8
+
9
+ **You don't need to learn any commands!** OMC enhances Claude Code with intelligent behaviors that activate automatically.
10
+
11
+ ## What Happens Automatically
12
+
13
+ | When You... | I Automatically... |
14
+ |-------------|-------------------|
15
+ | Give me a complex task | Parallelize and delegate to specialist agents |
16
+ | Ask me to plan something | Start a planning interview |
17
+ | Need something done completely | Persist until verified complete |
18
+ | Work on UI/frontend | Activate design sensibility |
19
+ | Say "stop" or "cancel" | Intelligently stop current operation |
20
+
21
+ ## Magic Keywords (Optional Shortcuts)
22
+
23
+ You can include these words naturally in your request for explicit control:
24
+
25
+ | Keyword | Effect | Example |
26
+ |---------|--------|---------|
27
+ | **ralph** | Persistence mode | "ralph: fix all the bugs" |
28
+ | **ralplan** | Iterative planning | "ralplan this feature" |
29
+ | **ulw** | Max parallelism | "ulw refactor the API" |
30
+ | **plan** | Planning interview | "plan the new endpoints" |
31
+
32
+ **Combine them:** "ralph ulw: migrate the database"
33
+
34
+ ## Stopping Things
35
+
36
+ Just say:
37
+ - "stop"
38
+ - "cancel"
39
+ - "abort"
40
+
41
+ I'll figure out what to stop based on context.
42
+
43
+ ## First Time Setup
44
+
45
+ If you haven't configured OMC yet:
46
+
47
+ ```
48
+ /omc-setup
49
+ ```
50
+
51
+ This is the **only command** you need to know. It downloads the configuration and you're done.
52
+
53
+ ## For 2.x Users
54
+
55
+ Your old commands still work! `/ralph`, `/ultrawork`, `/planner`, etc. all function exactly as before.
56
+
57
+ But now you don't NEED them - everything is automatic.
58
+
59
+ ## Need More Help?
60
+
61
+ - **README**: https://github.com/Yeachan-Heo/oh-my-claudecode
62
+ - **Issues**: https://github.com/Yeachan-Heo/oh-my-claudecode/issues
63
+
64
+ ---
65
+
66
+ *Version: 3.0.0*
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: hud
3
+ description: Configure HUD display options (layout, presets, display elements)
4
+ user-invocable: true
5
+ ---
6
+
7
+ # HUD Skill
8
+
9
+ Configure the OMC HUD (Heads-Up Display) for the statusline.
10
+
11
+ ## Quick Commands
12
+
13
+ | Command | Description |
14
+ |---------|-------------|
15
+ | `/hud` | Show current HUD status (auto-setup if needed) |
16
+ | `/hud setup` | Install/repair HUD statusline |
17
+ | `/hud minimal` | Switch to minimal display |
18
+ | `/hud focused` | Switch to focused display (default) |
19
+ | `/hud full` | Switch to full display |
20
+ | `/hud status` | Show detailed HUD status |
21
+
22
+ ## Auto-Setup
23
+
24
+ When you run `/hud` or `/hud setup`, the system will automatically:
25
+ 1. Check if `~/.claude/hud/omc-hud.mjs` exists
26
+ 2. Check if `statusLine` is configured in `~/.claude/settings.json`
27
+ 3. If missing, create the HUD wrapper script and configure settings
28
+ 4. Report status and prompt to restart Claude Code if changes were made
29
+
30
+ **IMPORTANT**: If the argument is `setup` OR if the HUD script doesn't exist at `~/.claude/hud/omc-hud.mjs`, you MUST run the setup by:
31
+ 1. First check if the files exist using Bash: `ls ~/.claude/hud/omc-hud.mjs 2>/dev/null && echo EXISTS || echo MISSING`
32
+ 2. If MISSING or argument is `setup`, find the plugin path and run: `node <plugin-path>/scripts/plugin-setup.mjs`
33
+ 3. The plugin path can be found at: `~/.claude/plugins/cache/oh-my-claudecode/oh-my-claudecode/<version>/` or the local dev path
34
+
35
+ To find and run setup automatically:
36
+ ```bash
37
+ # Try plugin cache first, then dev paths
38
+ PLUGIN_SETUP=$(find ~/.claude/plugins/cache/oh-my-claudecode -name "plugin-setup.mjs" 2>/dev/null | head -1)
39
+ if [ -z "$PLUGIN_SETUP" ]; then
40
+ # Try common dev paths
41
+ for p in ~/Workspace/oh-my-claudecode ~/workspace/oh-my-claudecode ~/projects/oh-my-claudecode; do
42
+ if [ -f "$p/scripts/plugin-setup.mjs" ]; then PLUGIN_SETUP="$p/scripts/plugin-setup.mjs"; break; fi
43
+ done
44
+ fi
45
+ if [ -n "$PLUGIN_SETUP" ]; then node "$PLUGIN_SETUP"; else echo "Could not find plugin-setup.mjs"; fi
46
+ ```
47
+
48
+ ## Display Presets
49
+
50
+ ### Minimal
51
+ Shows only the essentials:
52
+ ```
53
+ [OMC] ralph | ultrawork | todos:2/5
54
+ ```
55
+
56
+ ### Focused (Default)
57
+ Shows all relevant elements:
58
+ ```
59
+ [OMC] ralph:3/10 | US-002 | ultrawork skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5
60
+ ```
61
+
62
+ ### Full
63
+ Shows everything including multi-line agent details:
64
+ ```
65
+ [OMC] ralph:3/10 | US-002 (2/5) | ultrawork | ctx:[████░░]67% | agents:3 | bg:3/5 | todos:2/5
66
+ ├─ O architect 2m analyzing architecture patterns...
67
+ ├─ e explore 45s searching for test files
68
+ └─ s executor 1m implementing validation logic
69
+ ```
70
+
71
+ ## Multi-Line Agent Display
72
+
73
+ When agents are running, the HUD shows detailed information on separate lines:
74
+ - **Tree characters** (`├─`, `└─`) show visual hierarchy
75
+ - **Agent code** (O, e, s) indicates agent type with model tier color
76
+ - **Duration** shows how long each agent has been running
77
+ - **Description** shows what each agent is doing (up to 45 chars)
78
+
79
+ ## Display Elements
80
+
81
+ | Element | Description |
82
+ |---------|-------------|
83
+ | `[OMC]` | Mode identifier |
84
+ | `ralph:3/10` | Ralph loop iteration/max |
85
+ | `US-002` | Current PRD story ID |
86
+ | `ultrawork` | Active mode badge |
87
+ | `skill:name` | Last activated skill (cyan) |
88
+ | `ctx:67%` | Context window usage |
89
+ | `agents:2` | Running subagent count |
90
+ | `bg:3/5` | Background task slots |
91
+ | `todos:2/5` | Todo completion |
92
+
93
+ ## Color Coding
94
+
95
+ - **Green**: Normal/healthy
96
+ - **Yellow**: Warning (context >70%, ralph >7)
97
+ - **Red**: Critical (context >85%, ralph at max)
98
+
99
+ ## Configuration Location
100
+
101
+ HUD config is stored at: `~/.claude/.omc/hud-config.json`
102
+
103
+ ## Manual Configuration
104
+
105
+ You can manually edit the config file:
106
+
107
+ ```json
108
+ {
109
+ "preset": "focused",
110
+ "elements": {
111
+ "omcLabel": true,
112
+ "ralph": true,
113
+ "prdStory": true,
114
+ "activeSkills": true,
115
+ "lastSkill": true,
116
+ "contextBar": true,
117
+ "agents": true,
118
+ "backgroundTasks": true,
119
+ "todos": true
120
+ },
121
+ "thresholds": {
122
+ "contextWarning": 70,
123
+ "contextCritical": 85,
124
+ "ralphWarning": 7
125
+ }
126
+ }
127
+ ```
128
+
129
+ ## Troubleshooting
130
+
131
+ If the HUD is not showing:
132
+ 1. Run `/hud setup` to auto-install and configure
133
+ 2. Restart Claude Code after setup completes
134
+ 3. If still not working, run `/doctor` for full diagnostics
135
+
136
+ Manual verification:
137
+ - HUD script: `~/.claude/hud/omc-hud.mjs`
138
+ - Settings: `~/.claude/settings.json` should have `statusLine` configured
139
+
140
+ ---
141
+
142
+ *The HUD updates automatically every ~300ms during active sessions.*
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: learner
3
+ description: Extract a learned skill from the current conversation
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Learner Skill
8
+
9
+ ## The Insight
10
+
11
+ Reusable skills are not code snippets to copy-paste, but **principles and decision-making heuristics** that teach Claude HOW TO THINK about a class of problems.
12
+
13
+ **The difference:**
14
+ - BAD (mimicking): "When you see ConnectionResetError, add this try/except block"
15
+ - GOOD (reusable skill): "In async network code, any I/O operation can fail independently due to client/server lifecycle mismatches. The principle: wrap each I/O operation separately, because failure between operations is the common case, not the exception."
16
+
17
+ A good skill changes how Claude APPROACHES problems, not just what code it produces.
18
+
19
+ ## Why This Matters
20
+
21
+ Before extracting a skill, ask yourself:
22
+ - "Could someone Google this in 5 minutes?" → If yes, STOP. Don't extract.
23
+ - "Is this specific to THIS codebase?" → If no, STOP. Don't extract.
24
+ - "Did this take real debugging effort to discover?" → If no, STOP. Don't extract.
25
+
26
+ If a potential skill fails any of these questions, it's not worth saving.
27
+
28
+ ## Recognition Pattern
29
+
30
+ Use /learner ONLY after:
31
+ - Solving a tricky bug that required deep investigation
32
+ - Discovering a non-obvious workaround specific to this codebase
33
+ - Finding a hidden gotcha that wastes time when forgotten
34
+ - Uncovering undocumented behavior that affects this project
35
+
36
+ ## The Approach
37
+
38
+ ### Extraction Process
39
+
40
+ **Step 1: Gather Required Information**
41
+
42
+ - **Problem Statement**: The SPECIFIC error, symptom, or confusion that occurred
43
+ - Include actual error messages, file paths, line numbers
44
+ - Example: "TypeError in src/hooks/session.ts:45 when sessionId is undefined after restart"
45
+
46
+ - **Solution**: The EXACT fix, not general advice
47
+ - Include code snippets, file paths, configuration changes
48
+ - Example: "Add null check before accessing session.user, regenerate session on 401"
49
+
50
+ - **Triggers**: Keywords that would appear when hitting this problem again
51
+ - Use error message fragments, file names, symptom descriptions
52
+ - Example: ["sessionId undefined", "session.ts TypeError", "401 session"]
53
+
54
+ - **Scope**: Almost always Project-level unless it's a truly universal insight
55
+
56
+ **Step 2: Quality Validation**
57
+
58
+ The system REJECTS skills that are:
59
+ - Too generic (no file paths, line numbers, or specific error messages)
60
+ - Easily Googleable (standard patterns, library usage)
61
+ - Vague solutions (no code snippets or precise instructions)
62
+ - Poor triggers (generic words that match everything)
63
+
64
+ **Step 3: Save Location**
65
+
66
+ - **User-level**: ~/.claude/skills/omc-learned/ - Rare. Only for truly portable insights.
67
+ - **Project-level**: .omc/skills/ - Default. Version-controlled with repo.
68
+
69
+ ### What Makes a USEFUL Skill
70
+
71
+ **CRITICAL**: Not every solution is worth saving. A good skill is:
72
+
73
+ 1. **Non-Googleable**: Something you couldn't easily find via search
74
+ - BAD: "How to read files in TypeScript" ❌
75
+ - GOOD: "This codebase uses custom path resolution in ESM that requires fileURLToPath + specific relative paths" ✓
76
+
77
+ 2. **Context-Specific**: References actual files, error messages, or patterns from THIS codebase
78
+ - BAD: "Use try/catch for error handling" ❌
79
+ - GOOD: "The aiohttp proxy in server.py:42 crashes on ClientDisconnectedError - wrap StreamResponse in try/except" ✓
80
+
81
+ 3. **Actionable with Precision**: Tells you exactly WHAT to do and WHERE
82
+ - BAD: "Handle edge cases" ❌
83
+ - GOOD: "When seeing 'Cannot find module' in dist/, check tsconfig.json moduleResolution matches package.json type field" ✓
84
+
85
+ 4. **Hard-Won**: Took significant debugging effort to discover
86
+ - BAD: Generic programming patterns ❌
87
+ - GOOD: "Race condition in worker.ts - the Promise.all at line 89 needs await before the map callback returns" ✓
88
+
89
+ ### Anti-Patterns (DO NOT EXTRACT)
90
+
91
+ - Generic programming patterns (use documentation instead)
92
+ - Refactoring techniques (these are universal)
93
+ - Library usage examples (use library docs)
94
+ - Type definitions or boilerplate
95
+ - Anything a junior dev could Google in 5 minutes
96
+
97
+ ## Skill Format
98
+
99
+ Skills are saved as markdown with this structure:
100
+
101
+ ### YAML Frontmatter
102
+
103
+ Standard metadata fields:
104
+ - id, name, description, source, triggers, quality
105
+
106
+ ### Body Structure (Required)
107
+
108
+ ```markdown
109
+ # [Skill Name]
110
+
111
+ ## The Insight
112
+ What is the underlying PRINCIPLE you discovered? Not the code, but the mental model.
113
+ Example: "Async I/O operations are independently failable. Client lifecycle != server lifecycle."
114
+
115
+ ## Why This Matters
116
+ What goes wrong if you don't know this? What symptom led you here?
117
+ Example: "Proxy server crashes on client disconnect, taking down other requests."
118
+
119
+ ## Recognition Pattern
120
+ How do you know when this skill applies? What are the signs?
121
+ Example: "Building any long-lived connection handler (proxy, websocket, SSE)"
122
+
123
+ ## The Approach
124
+ The decision-making heuristic, not just code. How should Claude THINK about this?
125
+ Example: "For each I/O operation, ask: what if this fails right now? Handle it locally."
126
+
127
+ ## Example (Optional)
128
+ If code helps, show it - but as illustration of the principle, not copy-paste material.
129
+ ```
130
+
131
+ **Key**: A skill is REUSABLE if Claude can apply it to NEW situations, not just identical ones.
132
+
133
+ ## Related Commands
134
+
135
+ - /note - Save quick notes that survive compaction (less formal than skills)
136
+ - /ralph - Start a development loop with learning capture
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: note
3
+ description: Save notes to notepad.md for compaction resilience
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Note Skill
8
+
9
+ Save important context to `.omc/notepad.md` that survives conversation compaction.
10
+
11
+ ## Usage
12
+
13
+ | Command | Action |
14
+ |---------|--------|
15
+ | `/note <content>` | Add to Working Memory with timestamp |
16
+ | `/note --priority <content>` | Add to Priority Context (always loaded) |
17
+ | `/note --manual <content>` | Add to MANUAL section (never pruned) |
18
+ | `/note --show` | Display current notepad contents |
19
+ | `/note --prune` | Remove entries older than 7 days |
20
+ | `/note --clear` | Clear Working Memory (keep Priority + MANUAL) |
21
+
22
+ ## Sections
23
+
24
+ ### Priority Context (500 char limit)
25
+ - **Always** injected on session start
26
+ - Use for critical facts: "Project uses pnpm", "API in src/api/client.ts"
27
+ - Keep it SHORT - this eats into your context budget
28
+
29
+ ### Working Memory
30
+ - Timestamped session notes
31
+ - Auto-pruned after 7 days
32
+ - Good for: debugging breadcrumbs, temporary findings
33
+
34
+ ### MANUAL
35
+ - Never auto-pruned
36
+ - User-controlled permanent notes
37
+ - Good for: team contacts, deployment info
38
+
39
+ ## Examples
40
+
41
+ ```
42
+ /note Found auth bug in UserContext - missing useEffect dependency
43
+ /note --priority Project uses TypeScript strict mode, all files in src/
44
+ /note --manual Contact: api-team@company.com for backend questions
45
+ /note --show
46
+ /note --prune
47
+ ```
48
+
49
+ ## Behavior
50
+
51
+ 1. Creates `.omc/notepad.md` if it doesn't exist
52
+ 2. Parses the argument to determine section
53
+ 3. Appends content with timestamp (for Working Memory)
54
+ 4. Warns if Priority Context exceeds 500 chars
55
+ 5. Confirms what was saved
56
+
57
+ ## Integration
58
+
59
+ Notepad content is automatically loaded on session start:
60
+ - Priority Context: ALWAYS loaded
61
+ - Working Memory: Loaded if recent entries exist
62
+
63
+ This helps survive conversation compaction without losing critical context.
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: omc-default
3
+ description: Configure OMC in local project (.claude/CLAUDE.md)
4
+ user-invocable: true
5
+ ---
6
+
7
+ # OMC Default (Project-Scoped)
8
+
9
+ ## Task: Configure OMC Default Mode (Project-Scoped)
10
+
11
+ **CRITICAL**: This skill ALWAYS downloads fresh CLAUDE.md from GitHub to your local project. DO NOT use the Write tool - use bash curl exclusively.
12
+
13
+ ### Step 1: Create Local .claude Directory
14
+
15
+ Ensure the local project has a .claude directory:
16
+
17
+ ```bash
18
+ # Create .claude directory in current project
19
+ mkdir -p .claude && echo "✅ .claude directory created" || echo "❌ Failed to create .claude directory"
20
+ ```
21
+
22
+ ### Step 2: Download Fresh CLAUDE.md (MANDATORY)
23
+
24
+ Execute this bash command to download fresh CLAUDE.md to local project config:
25
+
26
+ ```bash
27
+ # Download fresh CLAUDE.md to project-local .claude/
28
+ curl -fsSL "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md" -o .claude/CLAUDE.md && \
29
+ echo "✅ CLAUDE.md downloaded successfully to .claude/CLAUDE.md" || \
30
+ echo "❌ Failed to download CLAUDE.md"
31
+ ```
32
+
33
+ **Note**: The downloaded CLAUDE.md includes Context Persistence instructions with `<remember>` tags for surviving conversation compaction.
34
+
35
+ **MANDATORY**: Always run this command. Do NOT skip. Do NOT use Write tool.
36
+
37
+ **FALLBACK** if curl fails:
38
+ Tell user to manually download from:
39
+ https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md
40
+
41
+ ### Step 3: Verify Plugin Installation
42
+
43
+ The oh-my-claudecode plugin provides all hooks automatically via the plugin system. Verify the plugin is enabled:
44
+
45
+ ```bash
46
+ grep -q "oh-my-claudecode" ~/.claude/settings.json && echo "Plugin enabled" || echo "Plugin NOT enabled"
47
+ ```
48
+
49
+ If plugin is not enabled, instruct user:
50
+ > Run: `claude /install-plugin oh-my-claudecode` to enable the plugin.
51
+
52
+ ### Step 4: Confirm Success
53
+
54
+ After completing all steps, report:
55
+
56
+ ✅ **OMC Project Configuration Complete**
57
+ - CLAUDE.md: Updated with latest configuration from GitHub at ./.claude/CLAUDE.md
58
+ - Scope: **PROJECT** - applies only to this project
59
+ - Hooks: Provided by plugin (no manual installation needed)
60
+ - Agents: 19+ available (base + tiered variants)
61
+ - Model routing: Haiku/Sonnet/Opus based on task complexity
62
+
63
+ **Note**: This configuration is project-specific and won't affect other projects or global settings.
64
+
65
+ ---
66
+
67
+ ## Keeping Up to Date
68
+
69
+ After installing oh-my-claudecode updates (via npm or plugin update), run `/omc-default` again in your project to get the latest CLAUDE.md configuration. This ensures you have the newest features and agent configurations.
70
+
71
+ ---
72
+
73
+ ## Global vs Project Configuration
74
+
75
+ - **`/omc-default`** (this command): Creates `./.claude/CLAUDE.md` in your current project
76
+ - **`/omc-default-global`**: Creates `~/.claude/CLAUDE.md` for all projects
77
+
78
+ Project-scoped configuration takes precedence over global configuration.
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: omc-default-global
3
+ description: Configure OMC globally in ~/.claude/CLAUDE.md
4
+ user-invocable: true
5
+ ---
6
+
7
+ # OMC Default Global
8
+
9
+ ## Task: Configure OMC Default Mode (Global)
10
+
11
+ **CRITICAL**: This skill ALWAYS downloads fresh CLAUDE.md from GitHub to your global config. DO NOT use the Write tool - use bash curl exclusively.
12
+
13
+ ### Step 1: Download Fresh CLAUDE.md (MANDATORY)
14
+
15
+ Execute this bash command to erase and download fresh CLAUDE.md to global config:
16
+
17
+ ```bash
18
+ # Remove existing CLAUDE.md and download fresh from GitHub
19
+ rm -f ~/.claude/CLAUDE.md && \
20
+ curl -fsSL "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md" -o ~/.claude/CLAUDE.md && \
21
+ echo "✅ CLAUDE.md downloaded successfully to ~/.claude/CLAUDE.md" || \
22
+ echo "❌ Failed to download CLAUDE.md"
23
+ ```
24
+
25
+ **MANDATORY**: Always run this command. Do NOT skip. Do NOT use Write tool.
26
+
27
+ **FALLBACK** if curl fails:
28
+ Tell user to manually download from:
29
+ https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md
30
+
31
+ ### Step 2: Clean Up Legacy Hooks (if present)
32
+
33
+ Check if old manual hooks exist and remove them to prevent duplicates:
34
+
35
+ ```bash
36
+ # Remove legacy bash hook scripts (now handled by plugin system)
37
+ rm -f ~/.claude/hooks/keyword-detector.sh
38
+ rm -f ~/.claude/hooks/stop-continuation.sh
39
+ rm -f ~/.claude/hooks/persistent-mode.sh
40
+ rm -f ~/.claude/hooks/session-start.sh
41
+ ```
42
+
43
+ Check `~/.claude/settings.json` for manual hook entries. If the "hooks" key exists with UserPromptSubmit, Stop, or SessionStart entries pointing to bash scripts, inform the user:
44
+
45
+ > **Note**: Found legacy hooks in settings.json. These should be removed since the plugin now provides hooks automatically. Remove the "hooks" section from ~/.claude/settings.json to prevent duplicate hook execution.
46
+
47
+ ### Step 3: Verify Plugin Installation
48
+
49
+ The oh-my-claudecode plugin provides all hooks automatically via the plugin system. Verify the plugin is enabled:
50
+
51
+ ```bash
52
+ grep -q "oh-my-claudecode" ~/.claude/settings.json && echo "Plugin enabled" || echo "Plugin NOT enabled"
53
+ ```
54
+
55
+ If plugin is not enabled, instruct user:
56
+ > Run: `claude /install-plugin oh-my-claudecode` to enable the plugin.
57
+
58
+ ### Step 4: Confirm Success
59
+
60
+ After completing all steps, report:
61
+
62
+ ✅ **OMC Global Configuration Complete**
63
+ - CLAUDE.md: Updated with latest configuration from GitHub at ~/.claude/CLAUDE.md
64
+ - Scope: **GLOBAL** - applies to all Claude Code sessions
65
+ - Hooks: Provided by plugin (no manual installation needed)
66
+ - Agents: 19+ available (base + tiered variants)
67
+ - Model routing: Haiku/Sonnet/Opus based on task complexity
68
+
69
+ **Note**: Hooks are now managed by the plugin system automatically. No manual hook installation required.
70
+
71
+ ---
72
+
73
+ ## Keeping Up to Date
74
+
75
+ After installing oh-my-claudecode updates (via npm or plugin update), run `/omc-default-global` again to get the latest CLAUDE.md configuration. This ensures you have the newest features and agent configurations.