claudecode-omc 4.8.2 → 4.8.4

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 (688) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/README.de.md +60 -0
  4. package/README.es.md +60 -0
  5. package/README.fr.md +60 -0
  6. package/README.it.md +60 -0
  7. package/README.ja.md +60 -0
  8. package/README.ko.md +60 -0
  9. package/README.md +101 -16
  10. package/README.pt.md +60 -0
  11. package/README.ru.md +60 -0
  12. package/README.tr.md +60 -0
  13. package/README.vi.md +60 -0
  14. package/README.zh.md +60 -0
  15. package/agents/code-reviewer.md +107 -6
  16. package/agents/critic.md +212 -42
  17. package/agents/debugger.md +52 -4
  18. package/agents/document-specialist.md +39 -60
  19. package/agents/executor.md +29 -9
  20. package/agents/explore.md +3 -1
  21. package/agents/security-reviewer.md +57 -0
  22. package/agents/test-engineer.md +21 -0
  23. package/agents/verifier.md +2 -0
  24. package/agents/writer.md +2 -0
  25. package/bridge/cli.cjs +7402 -3580
  26. package/bridge/mcp-server.cjs +558 -43
  27. package/bridge/runtime-cli.cjs +3034 -1801
  28. package/bridge/team-bridge.cjs +25 -1
  29. package/bridge/team-mcp.cjs +257 -88
  30. package/bridge/team.js +5226 -413
  31. package/dist/__tests__/agent-boundary-guidance.test.d.ts +2 -0
  32. package/dist/__tests__/agent-boundary-guidance.test.d.ts.map +1 -0
  33. package/dist/__tests__/agent-boundary-guidance.test.js +48 -0
  34. package/dist/__tests__/agent-boundary-guidance.test.js.map +1 -0
  35. package/dist/__tests__/agent-registry.test.js +48 -11
  36. package/dist/__tests__/agent-registry.test.js.map +1 -1
  37. package/dist/__tests__/auto-slash-aliases.test.js +25 -0
  38. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  39. package/dist/__tests__/bedrock-model-routing.test.d.ts +21 -0
  40. package/dist/__tests__/bedrock-model-routing.test.d.ts.map +1 -0
  41. package/dist/__tests__/bedrock-model-routing.test.js +397 -0
  42. package/dist/__tests__/bedrock-model-routing.test.js.map +1 -0
  43. package/dist/__tests__/cleanup-validation.test.js +7 -3
  44. package/dist/__tests__/cleanup-validation.test.js.map +1 -1
  45. package/dist/__tests__/cli-win32-warning.test.js +15 -2
  46. package/dist/__tests__/cli-win32-warning.test.js.map +1 -1
  47. package/dist/__tests__/consolidation-contracts.test.js +27 -3
  48. package/dist/__tests__/consolidation-contracts.test.js.map +1 -1
  49. package/dist/__tests__/context-guard-stop.test.d.ts +2 -0
  50. package/dist/__tests__/context-guard-stop.test.d.ts.map +1 -0
  51. package/dist/__tests__/context-guard-stop.test.js +58 -0
  52. package/dist/__tests__/context-guard-stop.test.js.map +1 -0
  53. package/dist/__tests__/delegation-enforcer.test.js +76 -11
  54. package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
  55. package/dist/__tests__/doctor-conflicts.test.js +62 -1
  56. package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
  57. package/dist/__tests__/hooks.test.js +165 -4
  58. package/dist/__tests__/hooks.test.js.map +1 -1
  59. package/dist/__tests__/hud/defaults.test.js +4 -0
  60. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  61. package/dist/__tests__/hud/limits-error.test.js +2 -4
  62. package/dist/__tests__/hud/limits-error.test.js.map +1 -1
  63. package/dist/__tests__/hud/mission-board-state.test.d.ts +2 -0
  64. package/dist/__tests__/hud/mission-board-state.test.d.ts.map +1 -0
  65. package/dist/__tests__/hud/mission-board-state.test.js +170 -0
  66. package/dist/__tests__/hud/mission-board-state.test.js.map +1 -0
  67. package/dist/__tests__/hud/mission-board.test.d.ts +2 -0
  68. package/dist/__tests__/hud/mission-board.test.d.ts.map +1 -0
  69. package/dist/__tests__/hud/mission-board.test.js +143 -0
  70. package/dist/__tests__/hud/mission-board.test.js.map +1 -0
  71. package/dist/__tests__/hud/rate-limits-error.test.js +13 -0
  72. package/dist/__tests__/hud/rate-limits-error.test.js.map +1 -1
  73. package/dist/__tests__/hud/render-rate-limits-priority.test.d.ts +8 -0
  74. package/dist/__tests__/hud/render-rate-limits-priority.test.d.ts.map +1 -0
  75. package/dist/__tests__/hud/render-rate-limits-priority.test.js +145 -0
  76. package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -0
  77. package/dist/__tests__/hud/render.test.js +22 -0
  78. package/dist/__tests__/hud/render.test.js.map +1 -1
  79. package/dist/__tests__/hud/stale-indicator.test.d.ts +9 -0
  80. package/dist/__tests__/hud/stale-indicator.test.d.ts.map +1 -0
  81. package/dist/__tests__/hud/stale-indicator.test.js +81 -0
  82. package/dist/__tests__/hud/stale-indicator.test.js.map +1 -0
  83. package/dist/__tests__/hud/state.test.js +30 -0
  84. package/dist/__tests__/hud/state.test.js.map +1 -1
  85. package/dist/__tests__/hud/usage-api-lock.test.d.ts +2 -0
  86. package/dist/__tests__/hud/usage-api-lock.test.d.ts.map +1 -0
  87. package/dist/__tests__/hud/usage-api-lock.test.js +245 -0
  88. package/dist/__tests__/hud/usage-api-lock.test.js.map +1 -0
  89. package/dist/__tests__/hud/usage-api-stale.test.d.ts +9 -0
  90. package/dist/__tests__/hud/usage-api-stale.test.d.ts.map +1 -0
  91. package/dist/__tests__/hud/usage-api-stale.test.js +297 -0
  92. package/dist/__tests__/hud/usage-api-stale.test.js.map +1 -0
  93. package/dist/__tests__/hud/usage-api.test.js +223 -0
  94. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  95. package/dist/__tests__/hud/watch-mode-init.test.d.ts +2 -0
  96. package/dist/__tests__/hud/watch-mode-init.test.d.ts.map +1 -0
  97. package/dist/__tests__/hud/watch-mode-init.test.js +133 -0
  98. package/dist/__tests__/hud/watch-mode-init.test.js.map +1 -0
  99. package/dist/__tests__/hud-agents.test.js +12 -10
  100. package/dist/__tests__/hud-agents.test.js.map +1 -1
  101. package/dist/__tests__/hud-build-guidance.test.js +6 -2
  102. package/dist/__tests__/hud-build-guidance.test.js.map +1 -1
  103. package/dist/__tests__/hud-marketplace-resolution.test.d.ts +2 -0
  104. package/dist/__tests__/hud-marketplace-resolution.test.d.ts.map +1 -0
  105. package/dist/__tests__/hud-marketplace-resolution.test.js +53 -0
  106. package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -0
  107. package/dist/__tests__/installer-hud-skip.test.js +12 -0
  108. package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
  109. package/dist/__tests__/installer-plugin-agents.test.d.ts +2 -0
  110. package/dist/__tests__/installer-plugin-agents.test.d.ts.map +1 -0
  111. package/dist/__tests__/installer-plugin-agents.test.js +111 -0
  112. package/dist/__tests__/installer-plugin-agents.test.js.map +1 -0
  113. package/dist/__tests__/installer-version-guard.test.d.ts +2 -0
  114. package/dist/__tests__/installer-version-guard.test.d.ts.map +1 -0
  115. package/dist/__tests__/installer-version-guard.test.js +75 -0
  116. package/dist/__tests__/installer-version-guard.test.js.map +1 -0
  117. package/dist/__tests__/installer.test.js +58 -4
  118. package/dist/__tests__/installer.test.js.map +1 -1
  119. package/dist/__tests__/omc-tools-server.test.js +8 -5
  120. package/dist/__tests__/omc-tools-server.test.js.map +1 -1
  121. package/dist/__tests__/pre-tool-enforcer.test.js +38 -0
  122. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  123. package/dist/__tests__/prompt-injection.test.js +3 -3
  124. package/dist/__tests__/prompt-injection.test.js.map +1 -1
  125. package/dist/__tests__/ralph-prd-mandatory.test.js +53 -2
  126. package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -1
  127. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +42 -0
  128. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +1 -1
  129. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +1 -1
  130. package/dist/__tests__/session-history-search.test.d.ts +2 -0
  131. package/dist/__tests__/session-history-search.test.d.ts.map +1 -0
  132. package/dist/__tests__/session-history-search.test.js +115 -0
  133. package/dist/__tests__/session-history-search.test.js.map +1 -0
  134. package/dist/__tests__/session-start-script-context.test.d.ts +2 -0
  135. package/dist/__tests__/session-start-script-context.test.d.ts.map +1 -0
  136. package/dist/__tests__/session-start-script-context.test.js +49 -0
  137. package/dist/__tests__/session-start-script-context.test.js.map +1 -0
  138. package/dist/__tests__/skills.test.js +81 -24
  139. package/dist/__tests__/skills.test.js.map +1 -1
  140. package/dist/__tests__/standalone-server.test.js +8 -4
  141. package/dist/__tests__/standalone-server.test.js.map +1 -1
  142. package/dist/__tests__/tier0-docs-consistency.test.js +10 -2
  143. package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
  144. package/dist/agents/definitions.d.ts +5 -15
  145. package/dist/agents/definitions.d.ts.map +1 -1
  146. package/dist/agents/definitions.js +48 -49
  147. package/dist/agents/definitions.js.map +1 -1
  148. package/dist/agents/document-specialist.d.ts +1 -1
  149. package/dist/agents/document-specialist.d.ts.map +1 -1
  150. package/dist/agents/document-specialist.js +46 -21
  151. package/dist/agents/document-specialist.js.map +1 -1
  152. package/dist/agents/explore.d.ts.map +1 -1
  153. package/dist/agents/explore.js +3 -2
  154. package/dist/agents/explore.js.map +1 -1
  155. package/dist/agents/index.d.ts +2 -4
  156. package/dist/agents/index.d.ts.map +1 -1
  157. package/dist/agents/index.js +3 -6
  158. package/dist/agents/index.js.map +1 -1
  159. package/dist/agents/types.d.ts +2 -2
  160. package/dist/agents/types.d.ts.map +1 -1
  161. package/dist/cli/__tests__/ask.test.js +255 -8
  162. package/dist/cli/__tests__/ask.test.js.map +1 -1
  163. package/dist/cli/__tests__/session-search-help.test.d.ts +2 -0
  164. package/dist/cli/__tests__/session-search-help.test.d.ts.map +1 -0
  165. package/dist/cli/__tests__/session-search-help.test.js +13 -0
  166. package/dist/cli/__tests__/session-search-help.test.js.map +1 -0
  167. package/dist/cli/__tests__/session-search.test.d.ts +2 -0
  168. package/dist/cli/__tests__/session-search.test.d.ts.map +1 -0
  169. package/dist/cli/__tests__/session-search.test.js +72 -0
  170. package/dist/cli/__tests__/session-search.test.js.map +1 -0
  171. package/dist/cli/__tests__/team-help.test.js +1 -1
  172. package/dist/cli/__tests__/team-help.test.js.map +1 -1
  173. package/dist/cli/__tests__/team.test.js +256 -4
  174. package/dist/cli/__tests__/team.test.js.map +1 -1
  175. package/dist/cli/commands/__tests__/team.test.js +52 -2
  176. package/dist/cli/commands/__tests__/team.test.js.map +1 -1
  177. package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
  178. package/dist/cli/commands/doctor-conflicts.js +15 -1
  179. package/dist/cli/commands/doctor-conflicts.js.map +1 -1
  180. package/dist/cli/commands/session-search.d.ts +18 -0
  181. package/dist/cli/commands/session-search.d.ts.map +1 -0
  182. package/dist/cli/commands/session-search.js +47 -0
  183. package/dist/cli/commands/session-search.js.map +1 -0
  184. package/dist/cli/commands/team.d.ts +11 -0
  185. package/dist/cli/commands/team.d.ts.map +1 -1
  186. package/dist/cli/commands/team.js +94 -24
  187. package/dist/cli/commands/team.js.map +1 -1
  188. package/dist/cli/commands/wait.d.ts.map +1 -1
  189. package/dist/cli/commands/wait.js +12 -1
  190. package/dist/cli/commands/wait.js.map +1 -1
  191. package/dist/cli/index.js +70 -2
  192. package/dist/cli/index.js.map +1 -1
  193. package/dist/cli/team.d.ts +1 -0
  194. package/dist/cli/team.d.ts.map +1 -1
  195. package/dist/cli/team.js +100 -214
  196. package/dist/cli/team.js.map +1 -1
  197. package/dist/cli/win32-warning.d.ts +2 -1
  198. package/dist/cli/win32-warning.d.ts.map +1 -1
  199. package/dist/cli/win32-warning.js +20 -6
  200. package/dist/cli/win32-warning.js.map +1 -1
  201. package/dist/config/__tests__/loader.test.d.ts +2 -0
  202. package/dist/config/__tests__/loader.test.d.ts.map +1 -0
  203. package/dist/config/__tests__/loader.test.js +145 -0
  204. package/dist/config/__tests__/loader.test.js.map +1 -0
  205. package/dist/config/__tests__/models.test.d.ts +2 -0
  206. package/dist/config/__tests__/models.test.d.ts.map +1 -0
  207. package/dist/config/__tests__/models.test.js +147 -0
  208. package/dist/config/__tests__/models.test.js.map +1 -0
  209. package/dist/config/__tests__/test-helpers.d.ts +3 -0
  210. package/dist/config/__tests__/test-helpers.d.ts.map +1 -0
  211. package/dist/config/__tests__/test-helpers.js +19 -0
  212. package/dist/config/__tests__/test-helpers.js.map +1 -0
  213. package/dist/config/loader.d.ts +3 -1
  214. package/dist/config/loader.d.ts.map +1 -1
  215. package/dist/config/loader.js +140 -126
  216. package/dist/config/loader.js.map +1 -1
  217. package/dist/config/models.d.ts +29 -10
  218. package/dist/config/models.d.ts.map +1 -1
  219. package/dist/config/models.js +96 -10
  220. package/dist/config/models.js.map +1 -1
  221. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  222. package/dist/features/builtin-skills/skills.js +8 -1
  223. package/dist/features/builtin-skills/skills.js.map +1 -1
  224. package/dist/features/builtin-skills/types.d.ts +3 -0
  225. package/dist/features/builtin-skills/types.d.ts.map +1 -1
  226. package/dist/features/delegation-enforcer.d.ts +5 -12
  227. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  228. package/dist/features/delegation-enforcer.js +48 -54
  229. package/dist/features/delegation-enforcer.js.map +1 -1
  230. package/dist/features/delegation-routing/__tests__/resolver.test.js +4 -3
  231. package/dist/features/delegation-routing/__tests__/resolver.test.js.map +1 -1
  232. package/dist/features/delegation-routing/types.d.ts.map +1 -1
  233. package/dist/features/delegation-routing/types.js +7 -4
  234. package/dist/features/delegation-routing/types.js.map +1 -1
  235. package/dist/features/index.d.ts +1 -0
  236. package/dist/features/index.d.ts.map +1 -1
  237. package/dist/features/index.js +2 -0
  238. package/dist/features/index.js.map +1 -1
  239. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  240. package/dist/features/rate-limit-wait/daemon.js +8 -5
  241. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  242. package/dist/features/rate-limit-wait/index.d.ts +1 -1
  243. package/dist/features/rate-limit-wait/index.d.ts.map +1 -1
  244. package/dist/features/rate-limit-wait/index.js +1 -1
  245. package/dist/features/rate-limit-wait/index.js.map +1 -1
  246. package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts +9 -0
  247. package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts.map +1 -1
  248. package/dist/features/rate-limit-wait/rate-limit-monitor.js +38 -0
  249. package/dist/features/rate-limit-wait/rate-limit-monitor.js.map +1 -1
  250. package/dist/features/rate-limit-wait/tmux-detector.d.ts +2 -1
  251. package/dist/features/rate-limit-wait/tmux-detector.d.ts.map +1 -1
  252. package/dist/features/rate-limit-wait/tmux-detector.js +8 -9
  253. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  254. package/dist/features/rate-limit-wait/types.d.ts +11 -0
  255. package/dist/features/rate-limit-wait/types.d.ts.map +1 -1
  256. package/dist/features/session-history-search/index.d.ts +6 -0
  257. package/dist/features/session-history-search/index.d.ts.map +1 -0
  258. package/dist/features/session-history-search/index.js +480 -0
  259. package/dist/features/session-history-search/index.js.map +1 -0
  260. package/dist/features/session-history-search/types.d.ts +36 -0
  261. package/dist/features/session-history-search/types.d.ts.map +1 -0
  262. package/dist/features/session-history-search/types.js +2 -0
  263. package/dist/features/session-history-search/types.js.map +1 -0
  264. package/dist/hooks/__tests__/background-process-guard.test.js +101 -5
  265. package/dist/hooks/__tests__/background-process-guard.test.js.map +1 -1
  266. package/dist/hooks/__tests__/bridge-openclaw.test.js +16 -5
  267. package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -1
  268. package/dist/hooks/__tests__/bridge-routing.test.js +48 -1
  269. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  270. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  271. package/dist/hooks/auto-slash-command/executor.js +9 -1
  272. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  273. package/dist/hooks/auto-slash-command/types.d.ts +2 -0
  274. package/dist/hooks/auto-slash-command/types.d.ts.map +1 -1
  275. package/dist/hooks/auto-slash-command/types.js +0 -7
  276. package/dist/hooks/auto-slash-command/types.js.map +1 -1
  277. package/dist/hooks/autopilot/adapters/execution-adapter.js +3 -3
  278. package/dist/hooks/autopilot/prompts.js +1 -1
  279. package/dist/hooks/bridge-normalize.d.ts.map +1 -1
  280. package/dist/hooks/bridge-normalize.js +2 -0
  281. package/dist/hooks/bridge-normalize.js.map +1 -1
  282. package/dist/hooks/bridge.d.ts.map +1 -1
  283. package/dist/hooks/bridge.js +248 -39
  284. package/dist/hooks/bridge.js.map +1 -1
  285. package/dist/hooks/keyword-detector/__tests__/index.test.js +41 -0
  286. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  287. package/dist/hooks/keyword-detector/index.d.ts +1 -1
  288. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  289. package/dist/hooks/keyword-detector/index.js +3 -1
  290. package/dist/hooks/keyword-detector/index.js.map +1 -1
  291. package/dist/hooks/permission-handler/index.d.ts +8 -0
  292. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  293. package/dist/hooks/permission-handler/index.js +76 -0
  294. package/dist/hooks/permission-handler/index.js.map +1 -1
  295. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts +2 -0
  296. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts.map +1 -0
  297. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +90 -0
  298. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -0
  299. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.d.ts +2 -0
  300. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.d.ts.map +1 -0
  301. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js +535 -0
  302. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js.map +1 -0
  303. package/dist/hooks/persistent-mode/index.d.ts +1 -1
  304. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  305. package/dist/hooks/persistent-mode/index.js +296 -21
  306. package/dist/hooks/persistent-mode/index.js.map +1 -1
  307. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +156 -0
  308. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  309. package/dist/hooks/project-memory/__tests__/integration.test.js +27 -2
  310. package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
  311. package/dist/hooks/project-memory/__tests__/storage.test.js +37 -0
  312. package/dist/hooks/project-memory/__tests__/storage.test.js.map +1 -1
  313. package/dist/hooks/project-memory/storage.d.ts +1 -1
  314. package/dist/hooks/project-memory/storage.d.ts.map +1 -1
  315. package/dist/hooks/project-memory/storage.js +5 -4
  316. package/dist/hooks/project-memory/storage.js.map +1 -1
  317. package/dist/hooks/ralph/index.d.ts +1 -1
  318. package/dist/hooks/ralph/index.d.ts.map +1 -1
  319. package/dist/hooks/ralph/index.js +1 -1
  320. package/dist/hooks/ralph/index.js.map +1 -1
  321. package/dist/hooks/ralph/loop.d.ts +18 -0
  322. package/dist/hooks/ralph/loop.d.ts.map +1 -1
  323. package/dist/hooks/ralph/loop.js +31 -0
  324. package/dist/hooks/ralph/loop.js.map +1 -1
  325. package/dist/hooks/ralph/verifier.d.ts +4 -1
  326. package/dist/hooks/ralph/verifier.d.ts.map +1 -1
  327. package/dist/hooks/ralph/verifier.js +56 -21
  328. package/dist/hooks/ralph/verifier.js.map +1 -1
  329. package/dist/hooks/recovery/__tests__/storage.test.d.ts +2 -0
  330. package/dist/hooks/recovery/__tests__/storage.test.d.ts.map +1 -0
  331. package/dist/hooks/recovery/__tests__/storage.test.js +65 -0
  332. package/dist/hooks/recovery/__tests__/storage.test.js.map +1 -0
  333. package/dist/hooks/recovery/storage.d.ts +5 -1
  334. package/dist/hooks/recovery/storage.d.ts.map +1 -1
  335. package/dist/hooks/recovery/storage.js +7 -29
  336. package/dist/hooks/recovery/storage.js.map +1 -1
  337. package/dist/hooks/recovery/types.d.ts +1 -1
  338. package/dist/hooks/recovery/types.d.ts.map +1 -1
  339. package/dist/hooks/session-end/__tests__/duplicate-notifications.test.d.ts +2 -0
  340. package/dist/hooks/session-end/__tests__/duplicate-notifications.test.d.ts.map +1 -0
  341. package/dist/hooks/session-end/__tests__/duplicate-notifications.test.js +140 -0
  342. package/dist/hooks/session-end/__tests__/duplicate-notifications.test.js.map +1 -0
  343. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.d.ts +2 -0
  344. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.d.ts.map +1 -0
  345. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +122 -0
  346. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -0
  347. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js +38 -12
  348. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js.map +1 -1
  349. package/dist/hooks/session-end/callbacks.d.ts +4 -1
  350. package/dist/hooks/session-end/callbacks.d.ts.map +1 -1
  351. package/dist/hooks/session-end/callbacks.js +5 -4
  352. package/dist/hooks/session-end/callbacks.js.map +1 -1
  353. package/dist/hooks/session-end/index.d.ts.map +1 -1
  354. package/dist/hooks/session-end/index.js +162 -36
  355. package/dist/hooks/session-end/index.js.map +1 -1
  356. package/dist/hooks/skill-state/__tests__/skill-state.test.js +35 -33
  357. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
  358. package/dist/hooks/skill-state/index.d.ts +3 -3
  359. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  360. package/dist/hooks/skill-state/index.js +7 -11
  361. package/dist/hooks/skill-state/index.js.map +1 -1
  362. package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
  363. package/dist/hooks/subagent-tracker/index.js +22 -0
  364. package/dist/hooks/subagent-tracker/index.js.map +1 -1
  365. package/dist/hooks/think-mode/__tests__/index.test.js +20 -20
  366. package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -1
  367. package/dist/hooks/think-mode/switcher.d.ts.map +1 -1
  368. package/dist/hooks/think-mode/switcher.js +13 -10
  369. package/dist/hooks/think-mode/switcher.js.map +1 -1
  370. package/dist/hooks/thinking-block-validator/__tests__/index.test.d.ts +2 -0
  371. package/dist/hooks/thinking-block-validator/__tests__/index.test.d.ts.map +1 -0
  372. package/dist/hooks/thinking-block-validator/__tests__/index.test.js +56 -0
  373. package/dist/hooks/thinking-block-validator/__tests__/index.test.js.map +1 -0
  374. package/dist/hooks/thinking-block-validator/index.d.ts.map +1 -1
  375. package/dist/hooks/thinking-block-validator/index.js +7 -6
  376. package/dist/hooks/thinking-block-validator/index.js.map +1 -1
  377. package/dist/hooks/todo-continuation/index.d.ts +6 -0
  378. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  379. package/dist/hooks/todo-continuation/index.js +14 -5
  380. package/dist/hooks/todo-continuation/index.js.map +1 -1
  381. package/dist/hud/elements/agents.d.ts.map +1 -1
  382. package/dist/hud/elements/agents.js +8 -14
  383. package/dist/hud/elements/agents.js.map +1 -1
  384. package/dist/hud/elements/index.d.ts +1 -0
  385. package/dist/hud/elements/index.d.ts.map +1 -1
  386. package/dist/hud/elements/index.js +1 -0
  387. package/dist/hud/elements/index.js.map +1 -1
  388. package/dist/hud/elements/limits.d.ts +3 -3
  389. package/dist/hud/elements/limits.d.ts.map +1 -1
  390. package/dist/hud/elements/limits.js +26 -18
  391. package/dist/hud/elements/limits.js.map +1 -1
  392. package/dist/hud/elements/mission-board.d.ts +2 -0
  393. package/dist/hud/elements/mission-board.d.ts.map +1 -0
  394. package/dist/hud/elements/mission-board.js +2 -0
  395. package/dist/hud/elements/mission-board.js.map +1 -0
  396. package/dist/hud/index.d.ts +1 -1
  397. package/dist/hud/index.d.ts.map +1 -1
  398. package/dist/hud/index.js +10 -2
  399. package/dist/hud/index.js.map +1 -1
  400. package/dist/hud/mission-board.d.ts +75 -0
  401. package/dist/hud/mission-board.d.ts.map +1 -0
  402. package/dist/hud/mission-board.js +420 -0
  403. package/dist/hud/mission-board.js.map +1 -0
  404. package/dist/hud/render.d.ts.map +1 -1
  405. package/dist/hud/render.js +16 -8
  406. package/dist/hud/render.js.map +1 -1
  407. package/dist/hud/state.d.ts.map +1 -1
  408. package/dist/hud/state.js +13 -0
  409. package/dist/hud/state.js.map +1 -1
  410. package/dist/hud/types.d.ts +11 -0
  411. package/dist/hud/types.d.ts.map +1 -1
  412. package/dist/hud/types.js +10 -0
  413. package/dist/hud/types.js.map +1 -1
  414. package/dist/hud/usage-api.d.ts +1 -1
  415. package/dist/hud/usage-api.d.ts.map +1 -1
  416. package/dist/hud/usage-api.js +207 -106
  417. package/dist/hud/usage-api.js.map +1 -1
  418. package/dist/index.d.ts +1 -0
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +2 -3
  421. package/dist/index.js.map +1 -1
  422. package/dist/installer/__tests__/claude-md-merge.test.js +53 -9
  423. package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
  424. package/dist/installer/__tests__/hook-templates.test.d.ts +2 -0
  425. package/dist/installer/__tests__/hook-templates.test.d.ts.map +1 -0
  426. package/dist/installer/__tests__/hook-templates.test.js +76 -0
  427. package/dist/installer/__tests__/hook-templates.test.js.map +1 -0
  428. package/dist/installer/hooks.d.ts +15 -0
  429. package/dist/installer/hooks.d.ts.map +1 -1
  430. package/dist/installer/hooks.js +51 -0
  431. package/dist/installer/hooks.js.map +1 -1
  432. package/dist/installer/index.d.ts +25 -0
  433. package/dist/installer/index.d.ts.map +1 -1
  434. package/dist/installer/index.js +273 -64
  435. package/dist/installer/index.js.map +1 -1
  436. package/dist/lib/mode-names.d.ts.map +1 -1
  437. package/dist/lib/mode-names.js +2 -0
  438. package/dist/lib/mode-names.js.map +1 -1
  439. package/dist/mcp/__tests__/team-server-artifact-convergence.test.js +30 -3
  440. package/dist/mcp/__tests__/team-server-artifact-convergence.test.js.map +1 -1
  441. package/dist/mcp/__tests__/team-server-deprecation.test.js +2 -0
  442. package/dist/mcp/__tests__/team-server-deprecation.test.js.map +1 -1
  443. package/dist/mcp/team-job-convergence.d.ts.map +1 -1
  444. package/dist/mcp/team-job-convergence.js +12 -3
  445. package/dist/mcp/team-job-convergence.js.map +1 -1
  446. package/dist/mcp/team-server.d.ts.map +1 -1
  447. package/dist/mcp/team-server.js +18 -4
  448. package/dist/mcp/team-server.js.map +1 -1
  449. package/dist/notifications/__tests__/config-merge.test.js +36 -1
  450. package/dist/notifications/__tests__/config-merge.test.js.map +1 -1
  451. package/dist/notifications/__tests__/formatter.test.js +13 -5
  452. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  453. package/dist/notifications/__tests__/notify-registry-integration.test.js +27 -1
  454. package/dist/notifications/__tests__/notify-registry-integration.test.js.map +1 -1
  455. package/dist/notifications/__tests__/verbosity.test.js +33 -1
  456. package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
  457. package/dist/notifications/config.d.ts +7 -0
  458. package/dist/notifications/config.d.ts.map +1 -1
  459. package/dist/notifications/config.js +18 -0
  460. package/dist/notifications/config.js.map +1 -1
  461. package/dist/notifications/formatter.d.ts +2 -2
  462. package/dist/notifications/formatter.d.ts.map +1 -1
  463. package/dist/notifications/formatter.js +7 -6
  464. package/dist/notifications/formatter.js.map +1 -1
  465. package/dist/notifications/index.d.ts +1 -1
  466. package/dist/notifications/index.d.ts.map +1 -1
  467. package/dist/notifications/index.js +5 -3
  468. package/dist/notifications/index.js.map +1 -1
  469. package/dist/notifications/template-engine.js +1 -1
  470. package/dist/notifications/template-engine.js.map +1 -1
  471. package/dist/notifications/types.d.ts +4 -0
  472. package/dist/notifications/types.d.ts.map +1 -1
  473. package/dist/openclaw/__tests__/dispatcher.test.js +26 -0
  474. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
  475. package/dist/openclaw/__tests__/index.test.js +42 -0
  476. package/dist/openclaw/__tests__/index.test.js.map +1 -1
  477. package/dist/openclaw/__tests__/signal.test.d.ts +2 -0
  478. package/dist/openclaw/__tests__/signal.test.d.ts.map +1 -0
  479. package/dist/openclaw/__tests__/signal.test.js +69 -0
  480. package/dist/openclaw/__tests__/signal.test.js.map +1 -0
  481. package/dist/openclaw/dispatcher.d.ts +5 -1
  482. package/dist/openclaw/dispatcher.d.ts.map +1 -1
  483. package/dist/openclaw/dispatcher.js +13 -2
  484. package/dist/openclaw/dispatcher.js.map +1 -1
  485. package/dist/openclaw/index.d.ts +2 -1
  486. package/dist/openclaw/index.d.ts.map +1 -1
  487. package/dist/openclaw/index.js +29 -15
  488. package/dist/openclaw/index.js.map +1 -1
  489. package/dist/openclaw/signal.d.ts +3 -0
  490. package/dist/openclaw/signal.d.ts.map +1 -0
  491. package/dist/openclaw/signal.js +215 -0
  492. package/dist/openclaw/signal.js.map +1 -0
  493. package/dist/openclaw/types.d.ts +35 -0
  494. package/dist/openclaw/types.d.ts.map +1 -1
  495. package/dist/shared/types.d.ts +2 -12
  496. package/dist/shared/types.d.ts.map +1 -1
  497. package/dist/skills/__tests__/mingw-escape.test.js +41 -11
  498. package/dist/skills/__tests__/mingw-escape.test.js.map +1 -1
  499. package/dist/team/__tests__/api-interop.cwd-resolution.test.d.ts +2 -0
  500. package/dist/team/__tests__/api-interop.cwd-resolution.test.d.ts.map +1 -0
  501. package/dist/team/__tests__/api-interop.cwd-resolution.test.js +78 -0
  502. package/dist/team/__tests__/api-interop.cwd-resolution.test.js.map +1 -0
  503. package/dist/team/__tests__/api-interop.dispatch.test.d.ts +2 -0
  504. package/dist/team/__tests__/api-interop.dispatch.test.d.ts.map +1 -0
  505. package/dist/team/__tests__/api-interop.dispatch.test.js +125 -0
  506. package/dist/team/__tests__/api-interop.dispatch.test.js.map +1 -0
  507. package/dist/team/__tests__/cli-detection.test.d.ts +2 -0
  508. package/dist/team/__tests__/cli-detection.test.d.ts.map +1 -0
  509. package/dist/team/__tests__/cli-detection.test.js +36 -0
  510. package/dist/team/__tests__/cli-detection.test.js.map +1 -0
  511. package/dist/team/__tests__/model-contract.test.js +79 -2
  512. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  513. package/dist/team/__tests__/runtime-done-recovery.test.js +1 -0
  514. package/dist/team/__tests__/runtime-done-recovery.test.js.map +1 -1
  515. package/dist/team/__tests__/runtime-prompt-mode.test.js +84 -8
  516. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
  517. package/dist/team/__tests__/runtime-v2.dispatch.test.d.ts +2 -0
  518. package/dist/team/__tests__/runtime-v2.dispatch.test.d.ts.map +1 -0
  519. package/dist/team/__tests__/runtime-v2.dispatch.test.js +237 -0
  520. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -0
  521. package/dist/team/__tests__/runtime-v2.monitor.test.d.ts +2 -0
  522. package/dist/team/__tests__/runtime-v2.monitor.test.d.ts.map +1 -0
  523. package/dist/team/__tests__/runtime-v2.monitor.test.js +103 -0
  524. package/dist/team/__tests__/runtime-v2.monitor.test.js.map +1 -0
  525. package/dist/team/__tests__/runtime-v2.shutdown.test.d.ts +2 -0
  526. package/dist/team/__tests__/runtime-v2.shutdown.test.d.ts.map +1 -0
  527. package/dist/team/__tests__/runtime-v2.shutdown.test.js +49 -0
  528. package/dist/team/__tests__/runtime-v2.shutdown.test.js.map +1 -0
  529. package/dist/team/__tests__/runtime-watchdog-retry.test.js +3 -0
  530. package/dist/team/__tests__/runtime-watchdog-retry.test.js.map +1 -1
  531. package/dist/team/__tests__/tmux-session.create-team.test.js +29 -12
  532. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
  533. package/dist/team/__tests__/tmux-session.kill-team-session.test.js +6 -0
  534. package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -1
  535. package/dist/team/__tests__/tmux-session.test.js +9 -0
  536. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  537. package/dist/team/__tests__/worker-bootstrap.test.js +32 -3
  538. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  539. package/dist/team/api-interop.d.ts.map +1 -1
  540. package/dist/team/api-interop.js +153 -2
  541. package/dist/team/api-interop.js.map +1 -1
  542. package/dist/team/cli-detection.d.ts.map +1 -1
  543. package/dist/team/cli-detection.js +6 -2
  544. package/dist/team/cli-detection.js.map +1 -1
  545. package/dist/team/idle-nudge.js +1 -1
  546. package/dist/team/idle-nudge.js.map +1 -1
  547. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  548. package/dist/team/mcp-team-bridge.js +2 -1
  549. package/dist/team/mcp-team-bridge.js.map +1 -1
  550. package/dist/team/model-contract.d.ts +1 -1
  551. package/dist/team/model-contract.d.ts.map +1 -1
  552. package/dist/team/model-contract.js +35 -4
  553. package/dist/team/model-contract.js.map +1 -1
  554. package/dist/team/runtime-cli.d.ts.map +1 -1
  555. package/dist/team/runtime-cli.js +10 -7
  556. package/dist/team/runtime-cli.js.map +1 -1
  557. package/dist/team/runtime-v2.d.ts +4 -0
  558. package/dist/team/runtime-v2.d.ts.map +1 -1
  559. package/dist/team/runtime-v2.js +231 -59
  560. package/dist/team/runtime-v2.js.map +1 -1
  561. package/dist/team/runtime.d.ts +6 -1
  562. package/dist/team/runtime.d.ts.map +1 -1
  563. package/dist/team/runtime.js +39 -14
  564. package/dist/team/runtime.js.map +1 -1
  565. package/dist/team/tmux-session.d.ts +20 -11
  566. package/dist/team/tmux-session.d.ts.map +1 -1
  567. package/dist/team/tmux-session.js +108 -51
  568. package/dist/team/tmux-session.js.map +1 -1
  569. package/dist/team/types.d.ts +1 -0
  570. package/dist/team/types.d.ts.map +1 -1
  571. package/dist/team/types.js.map +1 -1
  572. package/dist/team/worker-bootstrap.d.ts +2 -0
  573. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  574. package/dist/team/worker-bootstrap.js +46 -12
  575. package/dist/team/worker-bootstrap.js.map +1 -1
  576. package/dist/tools/__tests__/memory-tools.test.js +29 -1
  577. package/dist/tools/__tests__/memory-tools.test.js.map +1 -1
  578. package/dist/tools/lsp/client.d.ts +11 -0
  579. package/dist/tools/lsp/client.d.ts.map +1 -1
  580. package/dist/tools/lsp/client.js +46 -0
  581. package/dist/tools/lsp/client.js.map +1 -1
  582. package/dist/tools/session-history-tools.d.ts +23 -0
  583. package/dist/tools/session-history-tools.d.ts.map +1 -0
  584. package/dist/tools/session-history-tools.js +41 -0
  585. package/dist/tools/session-history-tools.js.map +1 -0
  586. package/dist/tools/trace-tools.d.ts +9 -0
  587. package/dist/tools/trace-tools.d.ts.map +1 -1
  588. package/dist/tools/trace-tools.js +2 -1
  589. package/dist/tools/trace-tools.js.map +1 -1
  590. package/dist/utils/frontmatter.d.ts +5 -0
  591. package/dist/utils/frontmatter.d.ts.map +1 -1
  592. package/dist/utils/frontmatter.js +22 -0
  593. package/dist/utils/frontmatter.js.map +1 -1
  594. package/dist/utils/skill-pipeline.d.ts +9 -0
  595. package/dist/utils/skill-pipeline.d.ts.map +1 -0
  596. package/dist/utils/skill-pipeline.js +97 -0
  597. package/dist/utils/skill-pipeline.js.map +1 -0
  598. package/docs/AGENTS.md +1 -1
  599. package/docs/ANALYTICS-SYSTEM.md +23 -132
  600. package/docs/CLAUDE.md +40 -139
  601. package/docs/MIGRATION.md +4 -4
  602. package/docs/OPENCLAW-ROUTING.md +102 -0
  603. package/docs/PERFORMANCE-MONITORING.md +30 -55
  604. package/docs/REFERENCE.md +62 -35
  605. package/docs/TIERED_AGENTS_V2.md +3 -2
  606. package/docs/design/SKILL_AUDIT_1445.md +75 -0
  607. package/docs/ko/MIGRATION.md +2 -2
  608. package/docs/ko/REFERENCE.md +14 -22
  609. package/docs/partials/agent-tiers.md +11 -15
  610. package/docs/partials/features.md +2 -2
  611. package/docs/partials/mode-selection-guide.md +2 -2
  612. package/docs/shared/agent-tiers.md +11 -15
  613. package/docs/shared/features.md +2 -2
  614. package/docs/shared/mode-selection-guide.md +2 -2
  615. package/package.json +4 -1
  616. package/scripts/code-simplifier.mjs +1 -1
  617. package/scripts/context-guard-stop.mjs +26 -10
  618. package/scripts/keyword-detector.mjs +99 -39
  619. package/scripts/persistent-mode.cjs +295 -34
  620. package/scripts/persistent-mode.mjs +79 -21
  621. package/scripts/plugin-setup.mjs +10 -1
  622. package/scripts/post-tool-verifier.mjs +57 -3
  623. package/scripts/pre-tool-enforcer.mjs +207 -2
  624. package/scripts/run-provider-advisor.js +30 -3
  625. package/scripts/session-start.mjs +3 -3
  626. package/scripts/setup-claude-md.sh +159 -0
  627. package/scripts/setup-progress.sh +123 -0
  628. package/scripts/sync-metadata.ts +11 -1
  629. package/skills/AGENTS.md +13 -17
  630. package/skills/ai-slop-cleaner/SKILL.md +130 -0
  631. package/skills/analyze/SKILL.md +28 -73
  632. package/skills/ask/SKILL.md +51 -0
  633. package/skills/bdd-generator/SKILL.md +60 -0
  634. package/skills/ccg/SKILL.md +6 -6
  635. package/skills/deep-interview/SKILL.md +4 -0
  636. package/skills/e2e/SKILL.md +55 -0
  637. package/skills/electron-driver/SKILL.md +51 -0
  638. package/skills/electron-driver/scripts/driver-template.js +46 -0
  639. package/skills/multi-model-research/SKILL.md +51 -0
  640. package/skills/omc-doctor/SKILL.md +2 -2
  641. package/skills/omc-setup/SKILL.md +75 -1206
  642. package/skills/omc-setup/phases/01-install-claude-md.md +76 -0
  643. package/skills/omc-setup/phases/02-configure.md +211 -0
  644. package/skills/omc-setup/phases/03-integrations.md +192 -0
  645. package/skills/omc-setup/phases/04-welcome.md +192 -0
  646. package/skills/omc-teams/SKILL.md +35 -2
  647. package/skills/plan/SKILL.md +3 -0
  648. package/skills/planning-with-files/SKILL.md +49 -0
  649. package/skills/planning-with-files/examples.md +17 -0
  650. package/skills/planning-with-files/reference.md +21 -0
  651. package/skills/planning-with-files/scripts/check-complete.ps1 +28 -0
  652. package/skills/planning-with-files/scripts/check-complete.sh +31 -0
  653. package/skills/planning-with-files/scripts/init-session.ps1 +31 -0
  654. package/skills/planning-with-files/scripts/init-session.sh +36 -0
  655. package/skills/planning-with-files/scripts/session-catchup.py +66 -0
  656. package/skills/planning-with-files/templates/findings.md +24 -0
  657. package/skills/planning-with-files/templates/progress.md +38 -0
  658. package/skills/planning-with-files/templates/task_plan.md +53 -0
  659. package/skills/ralph/SKILL.md +16 -10
  660. package/skills/release/SKILL.md +4 -0
  661. package/skills/setup/SKILL.md +40 -0
  662. package/skills/start-dev/SKILL.md +45 -0
  663. package/skills/tdd-generator/SKILL.md +51 -0
  664. package/skills/team/SKILL.md +6 -6
  665. package/skills/test-coverage/SKILL.md +40 -0
  666. package/skills/test-gen/SKILL.md +70 -0
  667. package/templates/hooks/code-simplifier.mjs +1 -1
  668. package/templates/hooks/keyword-detector.mjs +100 -32
  669. package/templates/hooks/persistent-mode.mjs +43 -4
  670. package/templates/hooks/pre-tool-use.mjs +115 -1
  671. package/templates/hooks/session-start.mjs +1 -1
  672. package/agents/build-fixer.md +0 -90
  673. package/agents/deep-executor.md +0 -112
  674. package/agents/harsh-critic.md +0 -254
  675. package/agents/quality-reviewer.md +0 -151
  676. package/skills/ask-codex/SKILL.md +0 -47
  677. package/skills/ask-gemini/SKILL.md +0 -47
  678. package/skills/build-fix/SKILL.md +0 -123
  679. package/skills/code-review/SKILL.md +0 -573
  680. package/skills/configure-openclaw/SKILL.md +0 -383
  681. package/skills/learn-about-omc/SKILL.md +0 -37
  682. package/skills/note/SKILL.md +0 -62
  683. package/skills/omc-help/SKILL.md +0 -192
  684. package/skills/ralph-init/SKILL.md +0 -40
  685. package/skills/security-review/SKILL.md +0 -282
  686. package/skills/tdd/SKILL.md +0 -104
  687. package/skills/test-gen/skill.md +0 -531
  688. package/skills/trace/SKILL.md +0 -33
@@ -1,383 +0,0 @@
1
- ---
2
- name: configure-openclaw
3
- description: DEPRECATED - Use configure-notifications with Custom Integration instead
4
- triggers:
5
- - "configure openclaw"
6
- - "setup openclaw"
7
- - "openclaw gateway"
8
- - "openclaw setup"
9
- ---
10
-
11
- # Configure OpenClaw (DEPRECATED)
12
-
13
- > **DEPRECATED**: This skill is deprecated and will be removed in a future version.
14
- > Please use `/oh-my-claudecode:configure-notifications` and select "Custom Integration (OpenClaw, n8n, CLI, etc.)" instead.
15
- >
16
- > The new approach provides:
17
- > - Same OpenClaw functionality
18
- > - Additional presets (n8n, ClawdBot)
19
- > - Generic webhook and CLI support
20
- > - Migration tool for existing configs
21
-
22
- ---
23
-
24
- ## Migration Notice
25
-
26
- When this skill is invoked, show the deprecation warning and redirect:
27
-
28
- **Message to display:**
29
- ```
30
- ⚠️ DEPRECATION NOTICE
31
-
32
- The /configure-openclaw skill is deprecated and will be removed in a future version.
33
-
34
- Please use instead:
35
- /oh-my-claudecode:configure-notifications
36
-
37
- Then select: "Custom Integration (OpenClaw, n8n, CLI, etc.)" → "OpenClaw Gateway"
38
-
39
- The new wizard will:
40
- 1. Detect your existing OpenClaw config (if any)
41
- 2. Offer to migrate it automatically
42
- 3. Provide the same functionality with better UX
43
- ```
44
-
45
- **AskUserQuestion:**
46
-
47
- **Question:** "The configure-openclaw skill is deprecated. How would you like to proceed?"
48
-
49
- **Options:**
50
- 1. **Open the new configure-notifications wizard (Recommended)** - Redirect to the new skill
51
- 2. **Continue with legacy setup** - Use this deprecated skill anyway
52
- 3. **Learn more about the migration** - Show detailed migration information
53
-
54
- If option 1: Redirect to `/oh-my-claudecode:configure-notifications`
55
- If option 2: Continue with legacy instructions below
56
- If option 3: Show detailed migration guide
57
-
58
- ---
59
-
60
- ## Legacy Instructions
61
-
62
- The following instructions are kept for backward compatibility but will be removed.
63
-
64
- ---
65
- name: configure-openclaw
66
- description: Configure OpenClaw gateway integration for waking external automations and AI agents on hook events
67
- triggers:
68
- - "configure openclaw"
69
- - "setup openclaw"
70
- - "openclaw gateway"
71
- - "openclaw setup"
72
- ---
73
-
74
- # Configure OpenClaw
75
-
76
- Set up OpenClaw so OMC can wake external gateways — triggering automations, workflows, or AI agents — when hook events fire during Claude sessions.
77
-
78
- OpenClaw is NOT a notification system. It sends structured instruction payloads to programmable HTTPS endpoints. This makes it ideal for triggering n8n workflows, custom AI agents, webhook automations, or any HTTPS-capable system.
79
-
80
- ---
81
-
82
- ## How This Skill Works
83
-
84
- This is an interactive, natural-language configuration skill. Walk the user through setup by asking questions with AskUserQuestion. Write the result to `~/.claude/omc_config.openclaw.json`.
85
-
86
- ---
87
-
88
- ## Step 1: Detect Existing Configuration
89
-
90
- ```bash
91
- CONFIG_FILE="${OMC_OPENCLAW_CONFIG:-$HOME/.claude/omc_config.openclaw.json}"
92
-
93
- if [ -f "$CONFIG_FILE" ]; then
94
- IS_ENABLED=$(jq -r '.enabled // false' "$CONFIG_FILE" 2>/dev/null)
95
- GATEWAY_COUNT=$(jq -r '.gateways | keys | length' "$CONFIG_FILE" 2>/dev/null)
96
- HOOK_COUNT=$(jq -r '[.hooks | to_entries[] | select(.value.enabled == true)] | length' "$CONFIG_FILE" 2>/dev/null)
97
-
98
- if [ "$IS_ENABLED" = "true" ]; then
99
- echo "EXISTING_CONFIG=true"
100
- echo "GATEWAY_COUNT=$GATEWAY_COUNT"
101
- echo "HOOK_COUNT=$HOOK_COUNT"
102
- else
103
- echo "EXISTING_CONFIG=false"
104
- fi
105
- else
106
- echo "NO_CONFIG_FILE"
107
- fi
108
- ```
109
-
110
- If existing config is found, show the user what's currently configured and ask if they want to update or reconfigure.
111
-
112
- ---
113
-
114
- ## Step 2: Collect Gateway URL
115
-
116
- Use AskUserQuestion:
117
-
118
- **Question:** "What is your OpenClaw gateway URL? (Must be HTTPS, e.g. https://my-gateway.example.com/wake)"
119
-
120
- The user will type their URL in the "Other" field.
121
-
122
- **Validate** the URL:
123
- - Must start with `https://`
124
- - Must be a valid URL
125
- - If invalid, explain the requirement and ask again
126
-
127
- ---
128
-
129
- ## Step 3: Collect Auth Header (Optional)
130
-
131
- Use AskUserQuestion:
132
-
133
- **Question:** "Does your gateway require an Authorization header?"
134
-
135
- **Options:**
136
- 1. **Yes, Bearer token** - I'll provide a Bearer token (e.g., `Bearer sk-...`)
137
- 2. **Yes, custom header value** - I'll type the full header value
138
- 3. **No auth required** - The gateway is open or uses a different auth method
139
-
140
- If user selects option 1 or 2, ask:
141
-
142
- **Question:** "Paste your Authorization header value (e.g., `Bearer sk-mytoken123`)"
143
-
144
- The user will type the value in the "Other" field.
145
-
146
- ---
147
-
148
- ## Step 4: Configure Hook Events
149
-
150
- Use AskUserQuestion with multiSelect:
151
-
152
- **Question:** "Which hook events should trigger your OpenClaw gateway?"
153
-
154
- **Options (multiSelect: true):**
155
- 1. **session-start** - When a new Claude session begins. Variables: `{{sessionId}}`, `{{projectName}}`, `{{projectPath}}`
156
- 2. **session-end** - When a session ends. Variables: `{{contextSummary}}`, `{{reason}}`, `{{sessionId}}`
157
- 3. **stop** - When Claude stops (idle/completion). Variables: `{{sessionId}}`, `{{projectName}}`
158
- 4. **pre-tool-use** - Before each tool call (high frequency). Variables: `{{toolName}}`, `{{sessionId}}`
159
- 5. **post-tool-use** - After each tool call (high frequency). Variables: `{{toolName}}`, `{{sessionId}}`
160
- 6. **keyword-detector** - On every prompt submission. Variables: `{{prompt}}`, `{{sessionId}}`
161
- 7. **ask-user-question** - When Claude needs user input. Variables: `{{question}}`, `{{sessionId}}`
162
-
163
- Default selection: session-start, session-end, stop.
164
-
165
- **Note:** pre-tool-use, post-tool-use, and keyword-detector fire very frequently. Only enable them if your gateway can handle the volume.
166
-
167
- ---
168
-
169
- ## Step 5: Collect Instruction Templates
170
-
171
- For each selected event, ask the user for an instruction template. Show the available template variables for that event type.
172
-
173
- Use AskUserQuestion for each event:
174
-
175
- **Example for session-start:**
176
-
177
- **Question:** "Instruction template for `session-start` events. Available variables: `{{sessionId}}`, `{{projectName}}`, `{{projectPath}}`, `{{timestamp}}`"
178
-
179
- **Options:**
180
- 1. **Use default** - "Session started for project {{projectName}}"
181
- 2. **Custom** - Enter my own instruction text
182
-
183
- **Example for session-end:**
184
-
185
- **Question:** "Instruction template for `session-end` events. Available variables: `{{sessionId}}`, `{{projectName}}`, `{{contextSummary}}`, `{{reason}}`, `{{timestamp}}`"
186
-
187
- **Options:**
188
- 1. **Use default** - "Session ended. Summary: {{contextSummary}}"
189
- 2. **Custom** - Enter my own instruction text
190
-
191
- **Example for stop:**
192
-
193
- **Question:** "Instruction template for `stop` events. Available variables: `{{sessionId}}`, `{{projectName}}`, `{{projectPath}}`, `{{timestamp}}`"
194
-
195
- **Options:**
196
- 1. **Use default** - "Session stopping for project {{projectName}}"
197
- 2. **Custom** - Enter my own instruction text
198
-
199
- **Example for pre-tool-use:**
200
-
201
- **Question:** "Instruction template for `pre-tool-use` events. Available variables: `{{toolName}}`, `{{sessionId}}`, `{{projectName}}`, `{{timestamp}}`"
202
-
203
- **Options:**
204
- 1. **Use default** - "Tool {{toolName}} about to be used"
205
- 2. **Custom** - Enter my own instruction text
206
-
207
- **Example for post-tool-use:**
208
-
209
- **Question:** "Instruction template for `post-tool-use` events. Available variables: `{{toolName}}`, `{{sessionId}}`, `{{projectName}}`, `{{timestamp}}`"
210
-
211
- **Options:**
212
- 1. **Use default** - "Tool {{toolName}} completed"
213
- 2. **Custom** - Enter my own instruction text
214
-
215
- **Example for keyword-detector:**
216
-
217
- **Question:** "Instruction template for `keyword-detector` events. Available variables: `{{prompt}}`, `{{sessionId}}`, `{{projectName}}`, `{{timestamp}}`"
218
-
219
- **Options:**
220
- 1. **Use default** - "Keyword detected: {{prompt}}"
221
- 2. **Custom** - Enter my own instruction text
222
-
223
- **Example for ask-user-question:**
224
-
225
- **Question:** "Instruction template for `ask-user-question` events. Available variables: `{{question}}`, `{{sessionId}}`, `{{projectName}}`, `{{timestamp}}`"
226
-
227
- **Options:**
228
- 1. **Use default** - "User input requested: {{question}}"
229
- 2. **Custom** - Enter my own instruction text
230
-
231
- ---
232
-
233
- ## Step 6: Write Configuration
234
-
235
- Build and write the config to `~/.claude/omc_config.openclaw.json`:
236
-
237
- ```bash
238
- CONFIG_FILE="${OMC_OPENCLAW_CONFIG:-$HOME/.claude/omc_config.openclaw.json}"
239
- mkdir -p "$(dirname "$CONFIG_FILE")"
240
-
241
- # GATEWAY_URL, AUTH_HEADER, and per-event instructions are collected from user
242
- # SELECTED_EVENTS is the list of enabled hook events
243
- # Build the JSON using jq
244
-
245
- # Example: session-start and session-end selected, bearer auth
246
- jq -n \
247
- --arg gateway_url "$GATEWAY_URL" \
248
- --arg auth_header "$AUTH_HEADER" \
249
- --arg session_start_instruction "$SESSION_START_INSTRUCTION" \
250
- --arg session_end_instruction "$SESSION_END_INSTRUCTION" \
251
- --arg stop_instruction "$STOP_INSTRUCTION" \
252
- '{
253
- enabled: true,
254
- gateways: {
255
- "my-gateway": {
256
- url: $gateway_url,
257
- headers: (if $auth_header != "" then {"Authorization": $auth_header} else {} end),
258
- method: "POST",
259
- timeout: 10000
260
- }
261
- },
262
- hooks: {
263
- "session-start": {gateway: "my-gateway", instruction: $session_start_instruction, enabled: true},
264
- "session-end": {gateway: "my-gateway", instruction: $session_end_instruction, enabled: true},
265
- "stop": {gateway: "my-gateway", instruction: $stop_instruction, enabled: true}
266
- }
267
- }' > "$CONFIG_FILE"
268
- ```
269
-
270
- Adjust the hooks object to include only the events the user selected, with their chosen instructions.
271
-
272
- ---
273
-
274
- ## Step 7: Test the Gateway
275
-
276
- After writing config, offer to send a test wake call:
277
-
278
- Use AskUserQuestion:
279
-
280
- **Question:** "Send a test wake call to your gateway to verify the connection?"
281
-
282
- **Options:**
283
- 1. **Yes, test now (Recommended)** - Send a test HTTP POST to the gateway
284
- 2. **No, I'll test later** - Skip testing
285
-
286
- If testing:
287
-
288
- ```bash
289
- GATEWAY_URL="USER_PROVIDED_URL"
290
- AUTH_HEADER="USER_PROVIDED_AUTH_HEADER" # may be empty
291
-
292
- # Build auth header arg
293
- AUTH_ARG=""
294
- if [ -n "$AUTH_HEADER" ]; then
295
- AUTH_ARG="-H \"Authorization: $AUTH_HEADER\""
296
- fi
297
-
298
- RESPONSE=$(eval curl -s -w "\n%{http_code}" \
299
- -H "Content-Type: application/json" \
300
- $AUTH_ARG \
301
- -d '{"event":"session-start","instruction":"OpenClaw test wake from OMC configure wizard","timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","context":{}}' \
302
- "$GATEWAY_URL")
303
-
304
- HTTP_CODE=$(echo "$RESPONSE" | tail -1)
305
- BODY=$(echo "$RESPONSE" | head -1)
306
-
307
- if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "201" ] || [ "$HTTP_CODE" = "202" ] || [ "$HTTP_CODE" = "204" ]; then
308
- echo "Test wake succeeded (HTTP $HTTP_CODE)!"
309
- else
310
- echo "Test wake failed (HTTP $HTTP_CODE):"
311
- echo "$BODY"
312
- fi
313
- ```
314
-
315
- Report success or failure. Common issues:
316
- - **401 Unauthorized**: Auth header is missing or incorrect
317
- - **403 Forbidden**: Token does not have permission
318
- - **404 Not Found**: Gateway URL path is incorrect
319
- - **SSL error**: URL must be HTTPS with a valid certificate
320
- - **Connection refused**: Gateway is not running or URL is wrong
321
-
322
- ---
323
-
324
- ## Step 8: Confirm
325
-
326
- Display the final configuration summary:
327
-
328
- ```
329
- OpenClaw Gateway Configured!
330
-
331
- Gateway: https://my-gateway.example.com/wake
332
- Auth: Bearer *** (configured)
333
- Events: session-start, session-end, stop
334
-
335
- Config saved to: ~/.claude/omc_config.openclaw.json
336
-
337
- To activate OpenClaw, use one of:
338
- omc --openclaw (per-session flag)
339
- export OMC_OPENCLAW=1 (environment variable)
340
-
341
- Debug logging:
342
- export OMC_OPENCLAW_DEBUG=1 (logs wake results to stderr)
343
-
344
- Custom config path:
345
- export OMC_OPENCLAW_CONFIG=/path/to/config.json
346
-
347
- To reconfigure: /oh-my-claudecode:configure-openclaw
348
- ```
349
-
350
- ---
351
-
352
- ## Template Variables Reference
353
-
354
- | Event | Available Variables |
355
- |-------|-------------------|
356
- | `session-start` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{timestamp}}`, `{{event}}` |
357
- | `session-end` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{contextSummary}}`, `{{reason}}`, `{{timestamp}}`, `{{event}}` |
358
- | `pre-tool-use` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{toolName}}`, `{{timestamp}}`, `{{event}}` |
359
- | `post-tool-use` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{toolName}}`, `{{timestamp}}`, `{{event}}` |
360
- | `stop` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{timestamp}}`, `{{event}}` |
361
- | `keyword-detector` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{prompt}}`, `{{timestamp}}`, `{{event}}` |
362
- | `ask-user-question` | `{{sessionId}}`, `{{projectPath}}`, `{{projectName}}`, `{{question}}`, `{{timestamp}}`, `{{event}}` |
363
-
364
- Unresolved variables (e.g., `{{unknown}}`) are left as-is in the instruction text.
365
-
366
- ---
367
-
368
- ## Environment Variable Alternative
369
-
370
- Users can skip this wizard entirely by setting env vars and writing the config manually:
371
-
372
- ```bash
373
- # Enable OpenClaw
374
- export OMC_OPENCLAW=1
375
-
376
- # Optional: override config file path
377
- export OMC_OPENCLAW_CONFIG="$HOME/.claude/omc_config.openclaw.json"
378
-
379
- # Optional: enable debug logging
380
- export OMC_OPENCLAW_DEBUG=1
381
- ```
382
-
383
- The config file path defaults to `~/.claude/omc_config.openclaw.json`. Use `OMC_OPENCLAW_CONFIG` to override.
@@ -1,37 +0,0 @@
1
- ---
2
- name: learn-about-omc
3
- description: Learn about your OMC usage patterns and get personalized recommendations
4
- ---
5
-
6
- # Learn About OMC
7
-
8
- Analyze your OMC usage patterns and provide personalized recommendations for getting more out of oh-my-claudecode.
9
-
10
- ## Usage
11
-
12
- ```
13
- /oh-my-claudecode:learn-about-omc
14
- ```
15
-
16
- ## Behavior
17
-
18
- 1. **Scan usage data** from:
19
- - `.omc/sessions/` for session history
20
- - `.omc/state/` for mode usage patterns
21
- - `.omc/notepad.md` for working memory
22
- - `.omc/project-memory.json` for project context
23
- - Agent flow traces for tool and agent usage
24
- 2. **Analyze patterns**:
25
- - Most-used modes and skills
26
- - Agent types spawned most frequently
27
- - Common workflows and task types
28
- - Session durations and completion rates
29
- 3. **Generate recommendations**:
30
- - Underused features that match your workflow
31
- - More efficient skill combinations
32
- - Configuration optimizations
33
- - Tips based on your usage profile
34
-
35
- ## Output
36
-
37
- A personalized report with usage statistics and actionable recommendations for improving your OMC workflow.
@@ -1,62 +0,0 @@
1
- ---
2
- name: note
3
- description: Save notes to notepad.md for compaction resilience
4
- ---
5
-
6
- # Note Skill
7
-
8
- Save important context to `.omc/notepad.md` that survives conversation compaction.
9
-
10
- ## Usage
11
-
12
- | Command | Action |
13
- |---------|--------|
14
- | `/oh-my-claudecode:note <content>` | Add to Working Memory with timestamp |
15
- | `/oh-my-claudecode:note --priority <content>` | Add to Priority Context (always loaded) |
16
- | `/oh-my-claudecode:note --manual <content>` | Add to MANUAL section (never pruned) |
17
- | `/oh-my-claudecode:note --show` | Display current notepad contents |
18
- | `/oh-my-claudecode:note --prune` | Remove entries older than 7 days |
19
- | `/oh-my-claudecode:note --clear` | Clear Working Memory (keep Priority + MANUAL) |
20
-
21
- ## Sections
22
-
23
- ### Priority Context (500 char limit)
24
- - **Always** injected on session start
25
- - Use for critical facts: "Project uses pnpm", "API in src/api/client.ts"
26
- - Keep it SHORT - this eats into your context budget
27
-
28
- ### Working Memory
29
- - Timestamped session notes
30
- - Auto-pruned after 7 days
31
- - Good for: debugging breadcrumbs, temporary findings
32
-
33
- ### MANUAL
34
- - Never auto-pruned
35
- - User-controlled permanent notes
36
- - Good for: team contacts, deployment info
37
-
38
- ## Examples
39
-
40
- ```
41
- /oh-my-claudecode:note Found auth bug in UserContext - missing useEffect dependency
42
- /oh-my-claudecode:note --priority Project uses TypeScript strict mode, all files in src/
43
- /oh-my-claudecode:note --manual Contact: api-team@company.com for backend questions
44
- /oh-my-claudecode:note --show
45
- /oh-my-claudecode:note --prune
46
- ```
47
-
48
- ## Behavior
49
-
50
- 1. Creates `.omc/notepad.md` if it doesn't exist
51
- 2. Parses the argument to determine section
52
- 3. Appends content with timestamp (for Working Memory)
53
- 4. Warns if Priority Context exceeds 500 chars
54
- 5. Confirms what was saved
55
-
56
- ## Integration
57
-
58
- Notepad content is automatically loaded on session start:
59
- - Priority Context: ALWAYS loaded
60
- - Working Memory: Loaded if recent entries exist
61
-
62
- This helps survive conversation compaction without losing critical context.
@@ -1,192 +0,0 @@
1
- ---
2
- name: omc-help
3
- description: Guide on using oh-my-claudecode plugin
4
- ---
5
-
6
- # How OMC Works
7
-
8
- **You don't need to learn any commands!** OMC enhances Claude Code with intelligent behaviors that activate automatically.
9
-
10
- ## What Happens Automatically
11
-
12
- | When You... | I Automatically... |
13
- |-------------|-------------------|
14
- | Give me a complex task | Parallelize and delegate to specialist agents |
15
- | Ask me to plan something | Start a planning interview |
16
- | Need something done completely | Persist until verified complete |
17
- | Work on UI/frontend | Activate design sensibility |
18
- | Say "stop" or "cancel" | Intelligently stop current operation |
19
-
20
- ## Magic Keywords (Optional Shortcuts)
21
-
22
- You can include these words naturally in your request for explicit control:
23
-
24
- | Keyword | Effect | Example |
25
- |---------|--------|---------|
26
- | **ralph** | Persistence mode | "ralph: fix all the bugs" |
27
- | **ralplan** | Iterative planning | "ralplan this feature" |
28
- | **ulw** | Max parallelism | "ulw refactor the API" |
29
- | **plan** | Planning interview | "plan the new endpoints" |
30
-
31
- **ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
32
-
33
- ## Stopping Things
34
-
35
- Just say:
36
- - "stop"
37
- - "cancel"
38
- - "abort"
39
-
40
- I'll figure out what to stop based on context.
41
-
42
- ## First Time Setup
43
-
44
- If you haven't configured OMC yet:
45
-
46
- ```
47
- /oh-my-claudecode:omc-setup
48
- ```
49
-
50
- This is the **only command** you need to know. It downloads the configuration and you're done.
51
-
52
- ## For 2.x Users
53
-
54
- Your old commands still work! `/ralph`, `/ultrawork`, `/omc-plan`, etc. all function exactly as before.
55
-
56
- But now you don't NEED them - everything is automatic.
57
-
58
- ---
59
-
60
- ## Usage Analysis
61
-
62
- Analyze your oh-my-claudecode usage and get tailored recommendations to improve your workflow.
63
-
64
- > Note: This replaces the former `/oh-my-claudecode:learn-about-omc` skill.
65
-
66
- ### What It Does
67
-
68
- 1. Reads token tracking from `~/.omc/state/token-tracking.jsonl`
69
- 2. Reads session history from `.omc/state/session-history.json`
70
- 3. Analyzes agent usage patterns
71
- 4. Identifies underutilized features
72
- 5. Recommends configuration changes
73
-
74
- ### Step 1: Gather Data
75
-
76
- ```bash
77
- # Check for token tracking data
78
- TOKEN_FILE="$HOME/.omc/state/token-tracking.jsonl"
79
- SESSION_FILE=".omc/state/session-history.json"
80
- CONFIG_FILE="$HOME/.claude/.omc-config.json"
81
-
82
- echo "Analyzing OMC Usage..."
83
- echo ""
84
-
85
- # Check what data is available
86
- HAS_TOKENS=false
87
- HAS_SESSIONS=false
88
- HAS_CONFIG=false
89
-
90
- if [[ -f "$TOKEN_FILE" ]]; then
91
- HAS_TOKENS=true
92
- TOKEN_COUNT=$(wc -l < "$TOKEN_FILE")
93
- echo "Token records found: $TOKEN_COUNT"
94
- fi
95
-
96
- if [[ -f "$SESSION_FILE" ]]; then
97
- HAS_SESSIONS=true
98
- SESSION_COUNT=$(cat "$SESSION_FILE" | jq '.sessions | length' 2>/dev/null || echo "0")
99
- echo "Sessions found: $SESSION_COUNT"
100
- fi
101
-
102
- if [[ -f "$CONFIG_FILE" ]]; then
103
- HAS_CONFIG=true
104
- DEFAULT_MODE=$(cat "$CONFIG_FILE" | jq -r '.defaultExecutionMode // "not set"')
105
- echo "Default execution mode: $DEFAULT_MODE"
106
- fi
107
- ```
108
-
109
- ### Step 2: Analyze Agent Usage (if token data exists)
110
-
111
- ```bash
112
- if [[ "$HAS_TOKENS" == "true" ]]; then
113
- echo ""
114
- echo "TOP AGENTS BY USAGE:"
115
- cat "$TOKEN_FILE" | jq -r '.agentName // "main"' | sort | uniq -c | sort -rn | head -10
116
-
117
- echo ""
118
- echo "MODEL DISTRIBUTION:"
119
- cat "$TOKEN_FILE" | jq -r '.modelName' | sort | uniq -c | sort -rn
120
- fi
121
- ```
122
-
123
- ### Step 3: Generate Recommendations
124
-
125
- Based on patterns found, output recommendations:
126
-
127
- **If high Opus usage (>40%) and no :**
128
- - "Consider using for routine tasks to save tokens"
129
-
130
- **If no pipeline usage:**
131
- - "Try /pipeline for code review workflows"
132
-
133
- **If no security-reviewer usage:**
134
- - "Use security-reviewer after auth/API changes"
135
-
136
- **If defaultExecutionMode not set:**
137
- - "Set defaultExecutionMode in /omc-setup for consistent behavior"
138
-
139
- ### Step 4: Output Report
140
-
141
- Format a summary with:
142
- - Token summary (total, by model)
143
- - Top agents used
144
- - Underutilized features
145
- - Personalized recommendations
146
-
147
- ### Example Output
148
-
149
- ```
150
- 📊 Your OMC Usage Analysis
151
-
152
- TOKEN SUMMARY:
153
- - Total records: 1,234
154
- - By Model: opus 45%, sonnet 40%, haiku 15%
155
-
156
- TOP AGENTS:
157
- 1. executor (234 uses)
158
- 2. architect (89 uses)
159
- 3. explore (67 uses)
160
-
161
- UNDERUTILIZED FEATURES:
162
- - : 0 uses (could save ~30% on routine tasks)
163
- - pipeline: 0 uses (great for review workflows)
164
-
165
- RECOMMENDATIONS:
166
- 1. Set defaultExecutionMode: "" to save tokens
167
- 2. Try /pipeline review for PR reviews
168
- 3. Use explore agent before architect to save context
169
- ```
170
-
171
- ### Graceful Degradation
172
-
173
- If no data found:
174
-
175
- ```
176
- 📊 Limited Usage Data Available
177
-
178
- No token tracking found. To enable tracking:
179
- 1. Ensure ~/.omc/state/ directory exists
180
- 2. Run any OMC command to start tracking
181
-
182
- Tip: Run /omc-setup to configure OMC properly.
183
- ```
184
-
185
- ## Need More Help?
186
-
187
- - **README**: https://github.com/<your-owner>/oh-my-claudecode
188
- - **Issues**: https://github.com/<your-owner>/oh-my-claudecode/issues
189
-
190
- ---
191
-
192
- *Version: 4.2.3*