oh-my-copilot 4.11.6 → 4.11.8

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 (617) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +19 -5
  4. package/agents/analyst.agent.md +1 -1
  5. package/agents/architect.agent.md +1 -1
  6. package/agents/code-reviewer.agent.md +1 -1
  7. package/agents/code-simplifier.agent.md +1 -1
  8. package/agents/critic.agent.md +1 -1
  9. package/agents/debugger.agent.md +1 -1
  10. package/agents/designer.agent.md +1 -1
  11. package/agents/devils-advocate.agent.md +219 -0
  12. package/agents/document-specialist.agent.md +1 -1
  13. package/agents/executor.agent.md +1 -1
  14. package/agents/explore.agent.md +1 -1
  15. package/agents/git-master.agent.md +1 -1
  16. package/agents/planner.agent.md +1 -1
  17. package/agents/qa-tester.agent.md +1 -1
  18. package/agents/scientist.agent.md +1 -1
  19. package/agents/security-reviewer.agent.md +1 -1
  20. package/agents/test-engineer.agent.md +1 -1
  21. package/agents/verifier.agent.md +1 -1
  22. package/agents/writer.agent.md +1 -1
  23. package/bridge/cli.cjs +9897 -5322
  24. package/bridge/mcp-server.cjs +8688 -6501
  25. package/bridge/runtime-cli.cjs +1526 -439
  26. package/bridge/team-bridge.cjs +193 -83
  27. package/bridge/team.js +1767 -268
  28. package/dist/__tests__/agent-registry.test.js +3 -3
  29. package/dist/__tests__/auto-slash-aliases.test.js +73 -0
  30. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  31. package/dist/__tests__/auto-update.test.js +20 -92
  32. package/dist/__tests__/auto-update.test.js.map +1 -1
  33. package/dist/__tests__/background-cleanup-directory.test.d.ts +2 -0
  34. package/dist/__tests__/background-cleanup-directory.test.d.ts.map +1 -0
  35. package/dist/__tests__/background-cleanup-directory.test.js +57 -0
  36. package/dist/__tests__/background-cleanup-directory.test.js.map +1 -0
  37. package/dist/__tests__/bridge-help-question-regex.test.d.ts +2 -0
  38. package/dist/__tests__/bridge-help-question-regex.test.d.ts.map +1 -0
  39. package/dist/__tests__/bridge-help-question-regex.test.js +20 -0
  40. package/dist/__tests__/bridge-help-question-regex.test.js.map +1 -0
  41. package/dist/__tests__/cleanup-validation.test.js +2 -2
  42. package/dist/__tests__/cli-config-stop-callback.test.js +1 -1
  43. package/dist/__tests__/cli-config-stop-callback.test.js.map +1 -1
  44. package/dist/__tests__/cli-win32-warning.test.js +8 -7
  45. package/dist/__tests__/cli-win32-warning.test.js.map +1 -1
  46. package/dist/__tests__/context-guard-stop.test.js +65 -4
  47. package/dist/__tests__/context-guard-stop.test.js.map +1 -1
  48. package/dist/__tests__/hud/extra-usage.test.d.ts +6 -0
  49. package/dist/__tests__/hud/extra-usage.test.d.ts.map +1 -0
  50. package/dist/__tests__/hud/extra-usage.test.js +222 -0
  51. package/dist/__tests__/hud/extra-usage.test.js.map +1 -0
  52. package/dist/__tests__/hud/render.test.js +87 -0
  53. package/dist/__tests__/hud/render.test.js.map +1 -1
  54. package/dist/__tests__/hud/state.test.js +42 -1
  55. package/dist/__tests__/hud/state.test.js.map +1 -1
  56. package/dist/__tests__/hud/usage-api-lock.test.js +1 -1
  57. package/dist/__tests__/hud/usage-api-lock.test.js.map +1 -1
  58. package/dist/__tests__/hud/usage-api-stale.test.js +1 -1
  59. package/dist/__tests__/hud/usage-api-stale.test.js.map +1 -1
  60. package/dist/__tests__/hud/usage-api.test.d.ts +1 -1
  61. package/dist/__tests__/hud/usage-api.test.js +809 -11
  62. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  63. package/dist/__tests__/hud-build-guidance.test.js +9 -6
  64. package/dist/__tests__/hud-build-guidance.test.js.map +1 -1
  65. package/dist/__tests__/hud-skill-no-inline-wrapper.test.d.ts +2 -0
  66. package/dist/__tests__/hud-skill-no-inline-wrapper.test.d.ts.map +1 -0
  67. package/dist/__tests__/hud-skill-no-inline-wrapper.test.js +26 -0
  68. package/dist/__tests__/hud-skill-no-inline-wrapper.test.js.map +1 -0
  69. package/dist/__tests__/hud-windows.test.js +15 -15
  70. package/dist/__tests__/hud-windows.test.js.map +1 -1
  71. package/dist/__tests__/installer.test.js +23 -13
  72. package/dist/__tests__/installer.test.js.map +1 -1
  73. package/dist/__tests__/issue-2652-runtime-wiring-and-output-contract.test.d.ts +2 -0
  74. package/dist/__tests__/issue-2652-runtime-wiring-and-output-contract.test.d.ts.map +1 -0
  75. package/dist/__tests__/issue-2652-runtime-wiring-and-output-contract.test.js +21 -0
  76. package/dist/__tests__/issue-2652-runtime-wiring-and-output-contract.test.js.map +1 -0
  77. package/dist/__tests__/keyword-detector-script.test.js +165 -4
  78. package/dist/__tests__/keyword-detector-script.test.js.map +1 -1
  79. package/dist/__tests__/lsp-servers.test.js +2 -2
  80. package/dist/__tests__/lsp-servers.test.js.map +1 -1
  81. package/dist/__tests__/omc-cli-rendering.test.d.ts +2 -0
  82. package/dist/__tests__/omc-cli-rendering.test.d.ts.map +1 -0
  83. package/dist/__tests__/omc-cli-rendering.test.js +54 -0
  84. package/dist/__tests__/omc-cli-rendering.test.js.map +1 -0
  85. package/dist/__tests__/post-tool-use-failure.test.d.ts +2 -0
  86. package/dist/__tests__/post-tool-use-failure.test.d.ts.map +1 -0
  87. package/dist/__tests__/post-tool-use-failure.test.js +103 -0
  88. package/dist/__tests__/post-tool-use-failure.test.js.map +1 -0
  89. package/dist/__tests__/pre-tool-enforcer.test.js +590 -15
  90. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  91. package/dist/__tests__/project-session-manager-session-filter.test.d.ts +2 -0
  92. package/dist/__tests__/project-session-manager-session-filter.test.d.ts.map +1 -0
  93. package/dist/__tests__/project-session-manager-session-filter.test.js +69 -0
  94. package/dist/__tests__/project-session-manager-session-filter.test.js.map +1 -0
  95. package/dist/__tests__/psm-launch-trust.test.d.ts +10 -0
  96. package/dist/__tests__/psm-launch-trust.test.d.ts.map +1 -0
  97. package/dist/__tests__/psm-launch-trust.test.js +66 -0
  98. package/dist/__tests__/psm-launch-trust.test.js.map +1 -0
  99. package/dist/__tests__/purge-stale-cache.test.js +8 -5
  100. package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
  101. package/dist/__tests__/ralph-prd-mandatory.test.js +105 -24
  102. package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -1
  103. package/dist/__tests__/ralph-prd.test.js +58 -15
  104. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  105. package/dist/__tests__/rate-limit-wait/pane-fresh-capture.test.d.ts +9 -0
  106. package/dist/__tests__/rate-limit-wait/pane-fresh-capture.test.d.ts.map +1 -0
  107. package/dist/__tests__/rate-limit-wait/pane-fresh-capture.test.js +200 -0
  108. package/dist/__tests__/rate-limit-wait/pane-fresh-capture.test.js.map +1 -0
  109. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +24 -26
  110. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +1 -1
  111. package/dist/__tests__/session-history-search.test.js +1 -1
  112. package/dist/__tests__/session-history-search.test.js.map +1 -1
  113. package/dist/__tests__/skills.test.js +96 -7
  114. package/dist/__tests__/skills.test.js.map +1 -1
  115. package/dist/__tests__/state-root-resolution.test.d.ts +13 -0
  116. package/dist/__tests__/state-root-resolution.test.d.ts.map +1 -0
  117. package/dist/__tests__/state-root-resolution.test.js +310 -0
  118. package/dist/__tests__/state-root-resolution.test.js.map +1 -0
  119. package/dist/agents/definitions.d.ts +5 -1
  120. package/dist/agents/definitions.d.ts.map +1 -1
  121. package/dist/agents/definitions.js +14 -1
  122. package/dist/agents/definitions.js.map +1 -1
  123. package/dist/agents/index.d.ts +1 -1
  124. package/dist/agents/index.d.ts.map +1 -1
  125. package/dist/agents/index.js +2 -2
  126. package/dist/agents/index.js.map +1 -1
  127. package/dist/agents/prompt-helpers.d.ts.map +1 -1
  128. package/dist/agents/prompt-helpers.js +4 -6
  129. package/dist/agents/prompt-helpers.js.map +1 -1
  130. package/dist/cli/__tests__/ask.test.js +4 -2
  131. package/dist/cli/__tests__/ask.test.js.map +1 -1
  132. package/dist/cli/__tests__/launch.test.js +34 -38
  133. package/dist/cli/__tests__/launch.test.js.map +1 -1
  134. package/dist/cli/__tests__/tmux-no-raw-calls.test.d.ts +9 -0
  135. package/dist/cli/__tests__/tmux-no-raw-calls.test.d.ts.map +1 -0
  136. package/dist/cli/__tests__/tmux-no-raw-calls.test.js +53 -0
  137. package/dist/cli/__tests__/tmux-no-raw-calls.test.js.map +1 -0
  138. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  139. package/dist/cli/autoresearch-guided.js +7 -15
  140. package/dist/cli/autoresearch-guided.js.map +1 -1
  141. package/dist/cli/commands/__tests__/team.test.js +18 -0
  142. package/dist/cli/commands/__tests__/team.test.js.map +1 -1
  143. package/dist/cli/commands/doctor-team-routing.d.ts +11 -0
  144. package/dist/cli/commands/doctor-team-routing.d.ts.map +1 -0
  145. package/dist/cli/commands/doctor-team-routing.js +94 -0
  146. package/dist/cli/commands/doctor-team-routing.js.map +1 -0
  147. package/dist/cli/commands/ralphthon.js +3 -3
  148. package/dist/cli/commands/ralphthon.js.map +1 -1
  149. package/dist/cli/commands/team.d.ts +1 -1
  150. package/dist/cli/commands/team.d.ts.map +1 -1
  151. package/dist/cli/commands/team.js +13 -5
  152. package/dist/cli/commands/team.js.map +1 -1
  153. package/dist/cli/index.js +27 -2
  154. package/dist/cli/index.js.map +1 -1
  155. package/dist/cli/launch.d.ts.map +1 -1
  156. package/dist/cli/launch.js +9 -5
  157. package/dist/cli/launch.js.map +1 -1
  158. package/dist/cli/tmux-utils.d.ts +41 -5
  159. package/dist/cli/tmux-utils.d.ts.map +1 -1
  160. package/dist/cli/tmux-utils.js +127 -13
  161. package/dist/cli/tmux-utils.js.map +1 -1
  162. package/dist/cli/win32-warning.d.ts.map +1 -1
  163. package/dist/cli/win32-warning.js +2 -16
  164. package/dist/cli/win32-warning.js.map +1 -1
  165. package/dist/commands/index.d.ts +1 -1
  166. package/dist/commands/index.js +1 -1
  167. package/dist/config/__tests__/loader.test.js +183 -1
  168. package/dist/config/__tests__/loader.test.js.map +1 -1
  169. package/dist/config/loader.d.ts +2 -3
  170. package/dist/config/loader.d.ts.map +1 -1
  171. package/dist/config/loader.js +200 -2
  172. package/dist/config/loader.js.map +1 -1
  173. package/dist/features/auto-update.d.ts.map +1 -1
  174. package/dist/features/auto-update.js +12 -5
  175. package/dist/features/auto-update.js.map +1 -1
  176. package/dist/features/builtin-skills/skills.d.ts +1 -0
  177. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  178. package/dist/features/builtin-skills/skills.js +26 -3
  179. package/dist/features/builtin-skills/skills.js.map +1 -1
  180. package/dist/features/delegation-routing/types.d.ts.map +1 -1
  181. package/dist/features/delegation-routing/types.js +2 -0
  182. package/dist/features/delegation-routing/types.js.map +1 -1
  183. package/dist/features/rate-limit-wait/daemon.js +2 -2
  184. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  185. package/dist/features/rate-limit-wait/index.d.ts +1 -1
  186. package/dist/features/rate-limit-wait/index.d.ts.map +1 -1
  187. package/dist/features/rate-limit-wait/index.js +1 -1
  188. package/dist/features/rate-limit-wait/index.js.map +1 -1
  189. package/dist/features/rate-limit-wait/pane-fresh-capture.d.ts +32 -0
  190. package/dist/features/rate-limit-wait/pane-fresh-capture.d.ts.map +1 -0
  191. package/dist/features/rate-limit-wait/pane-fresh-capture.js +123 -0
  192. package/dist/features/rate-limit-wait/pane-fresh-capture.js.map +1 -0
  193. package/dist/features/rate-limit-wait/tmux-detector.d.ts +22 -5
  194. package/dist/features/rate-limit-wait/tmux-detector.d.ts.map +1 -1
  195. package/dist/features/rate-limit-wait/tmux-detector.js +111 -30
  196. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  197. package/dist/hooks/__tests__/bridge-routing.test.js +246 -0
  198. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  199. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts +2 -0
  200. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts.map +1 -0
  201. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js +81 -0
  202. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js.map +1 -0
  203. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  204. package/dist/hooks/auto-slash-command/executor.js +5 -1
  205. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  206. package/dist/hooks/autopilot/__tests__/pipeline.test.js +3 -0
  207. package/dist/hooks/autopilot/__tests__/pipeline.test.js.map +1 -1
  208. package/dist/hooks/autopilot/__tests__/prompts.test.js +12 -0
  209. package/dist/hooks/autopilot/__tests__/prompts.test.js.map +1 -1
  210. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts.map +1 -1
  211. package/dist/hooks/autopilot/adapters/execution-adapter.js +8 -0
  212. package/dist/hooks/autopilot/adapters/execution-adapter.js.map +1 -1
  213. package/dist/hooks/autopilot/adapters/ralph-adapter.d.ts.map +1 -1
  214. package/dist/hooks/autopilot/adapters/ralph-adapter.js +2 -0
  215. package/dist/hooks/autopilot/adapters/ralph-adapter.js.map +1 -1
  216. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  217. package/dist/hooks/autopilot/enforcement.js +5 -0
  218. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  219. package/dist/hooks/autopilot/prompts.d.ts.map +1 -1
  220. package/dist/hooks/autopilot/prompts.js +3 -0
  221. package/dist/hooks/autopilot/prompts.js.map +1 -1
  222. package/dist/hooks/autopilot/runtime-insight.d.ts +2 -0
  223. package/dist/hooks/autopilot/runtime-insight.d.ts.map +1 -0
  224. package/dist/hooks/autopilot/runtime-insight.js +138 -0
  225. package/dist/hooks/autopilot/runtime-insight.js.map +1 -0
  226. package/dist/hooks/bridge.d.ts +15 -4
  227. package/dist/hooks/bridge.d.ts.map +1 -1
  228. package/dist/hooks/bridge.js +416 -144
  229. package/dist/hooks/bridge.js.map +1 -1
  230. package/dist/hooks/code-simplifier/index.js +1 -1
  231. package/dist/hooks/code-simplifier/index.js.map +1 -1
  232. package/dist/hooks/keyword-detector/__tests__/index.test.js +102 -0
  233. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  234. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  235. package/dist/hooks/keyword-detector/index.js +185 -4
  236. package/dist/hooks/keyword-detector/index.js.map +1 -1
  237. package/dist/hooks/permission-handler/index.d.ts +3 -0
  238. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  239. package/dist/hooks/permission-handler/index.js +108 -1
  240. package/dist/hooks/permission-handler/index.js.map +1 -1
  241. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +228 -20
  242. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
  243. package/dist/hooks/persistent-mode/__tests__/idle-repo-state.test.d.ts +2 -0
  244. package/dist/hooks/persistent-mode/__tests__/idle-repo-state.test.d.ts.map +1 -0
  245. package/dist/hooks/persistent-mode/__tests__/idle-repo-state.test.js +66 -0
  246. package/dist/hooks/persistent-mode/__tests__/idle-repo-state.test.js.map +1 -0
  247. package/dist/hooks/persistent-mode/__tests__/prompt-truncation.test.d.ts +2 -0
  248. package/dist/hooks/persistent-mode/__tests__/prompt-truncation.test.d.ts.map +1 -0
  249. package/dist/hooks/persistent-mode/__tests__/prompt-truncation.test.js +76 -0
  250. package/dist/hooks/persistent-mode/__tests__/prompt-truncation.test.js.map +1 -0
  251. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts +2 -0
  252. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.d.ts.map +1 -0
  253. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +420 -0
  254. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -0
  255. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +58 -1
  256. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -1
  257. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js +206 -2
  258. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js.map +1 -1
  259. package/dist/hooks/persistent-mode/idle-cooldown.test.js +62 -0
  260. package/dist/hooks/persistent-mode/idle-cooldown.test.js.map +1 -1
  261. package/dist/hooks/persistent-mode/idle-repo-state.d.ts +6 -0
  262. package/dist/hooks/persistent-mode/idle-repo-state.d.ts.map +1 -0
  263. package/dist/hooks/persistent-mode/idle-repo-state.js +82 -0
  264. package/dist/hooks/persistent-mode/idle-repo-state.js.map +1 -0
  265. package/dist/hooks/persistent-mode/index.d.ts +10 -3
  266. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  267. package/dist/hooks/persistent-mode/index.js +359 -103
  268. package/dist/hooks/persistent-mode/index.js.map +1 -1
  269. package/dist/hooks/persistent-mode/session-isolation.test.js +50 -14
  270. package/dist/hooks/persistent-mode/session-isolation.test.js.map +1 -1
  271. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +513 -32
  272. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  273. package/dist/hooks/ralph/index.d.ts +2 -2
  274. package/dist/hooks/ralph/index.d.ts.map +1 -1
  275. package/dist/hooks/ralph/index.js +3 -3
  276. package/dist/hooks/ralph/index.js.map +1 -1
  277. package/dist/hooks/ralph/loop.d.ts +18 -2
  278. package/dist/hooks/ralph/loop.d.ts.map +1 -1
  279. package/dist/hooks/ralph/loop.js +62 -17
  280. package/dist/hooks/ralph/loop.js.map +1 -1
  281. package/dist/hooks/ralph/prd.d.ts +21 -2
  282. package/dist/hooks/ralph/prd.d.ts.map +1 -1
  283. package/dist/hooks/ralph/prd.js +155 -20
  284. package/dist/hooks/ralph/prd.js.map +1 -1
  285. package/dist/hooks/ralph/verifier.d.ts +11 -7
  286. package/dist/hooks/ralph/verifier.d.ts.map +1 -1
  287. package/dist/hooks/ralph/verifier.js +104 -25
  288. package/dist/hooks/ralph/verifier.js.map +1 -1
  289. package/dist/hooks/skill-state/index.d.ts +1 -1
  290. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  291. package/dist/hooks/skill-state/index.js +1 -1
  292. package/dist/hooks/skill-state/index.js.map +1 -1
  293. package/dist/hooks/team-canonical-state.d.ts +22 -0
  294. package/dist/hooks/team-canonical-state.d.ts.map +1 -0
  295. package/dist/hooks/team-canonical-state.js +93 -0
  296. package/dist/hooks/team-canonical-state.js.map +1 -0
  297. package/dist/hooks/team-dispatch-hook.d.ts.map +1 -1
  298. package/dist/hooks/team-dispatch-hook.js +9 -15
  299. package/dist/hooks/team-dispatch-hook.js.map +1 -1
  300. package/dist/hooks/team-leader-nudge-hook.d.ts.map +1 -1
  301. package/dist/hooks/team-leader-nudge-hook.js +2 -4
  302. package/dist/hooks/team-leader-nudge-hook.js.map +1 -1
  303. package/dist/hooks/team-pipeline/state.d.ts.map +1 -1
  304. package/dist/hooks/team-pipeline/state.js +66 -14
  305. package/dist/hooks/team-pipeline/state.js.map +1 -1
  306. package/dist/hooks/team-worker-hook.d.ts.map +1 -1
  307. package/dist/hooks/team-worker-hook.js +2 -4
  308. package/dist/hooks/team-worker-hook.js.map +1 -1
  309. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js +2 -2
  310. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js.map +1 -1
  311. package/dist/hooks/todo-continuation/index.d.ts +29 -17
  312. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  313. package/dist/hooks/todo-continuation/index.js +41 -22
  314. package/dist/hooks/todo-continuation/index.js.map +1 -1
  315. package/dist/hooks/ultrawork/__tests__/prompt-truncation.test.d.ts +2 -0
  316. package/dist/hooks/ultrawork/__tests__/prompt-truncation.test.d.ts.map +1 -0
  317. package/dist/hooks/ultrawork/__tests__/prompt-truncation.test.js +45 -0
  318. package/dist/hooks/ultrawork/__tests__/prompt-truncation.test.js.map +1 -0
  319. package/dist/hooks/ultrawork/index.d.ts.map +1 -1
  320. package/dist/hooks/ultrawork/index.js +2 -1
  321. package/dist/hooks/ultrawork/index.js.map +1 -1
  322. package/dist/hud/__tests__/git-status.test.js +5 -0
  323. package/dist/hud/__tests__/git-status.test.js.map +1 -1
  324. package/dist/hud/background-cleanup.d.ts +3 -3
  325. package/dist/hud/background-cleanup.d.ts.map +1 -1
  326. package/dist/hud/background-cleanup.js +9 -9
  327. package/dist/hud/background-cleanup.js.map +1 -1
  328. package/dist/hud/background-tasks.d.ts +7 -7
  329. package/dist/hud/background-tasks.d.ts.map +1 -1
  330. package/dist/hud/background-tasks.js +20 -20
  331. package/dist/hud/background-tasks.js.map +1 -1
  332. package/dist/hud/elements/git.d.ts +1 -1
  333. package/dist/hud/elements/git.js +2 -2
  334. package/dist/hud/elements/git.js.map +1 -1
  335. package/dist/hud/elements/limits.d.ts.map +1 -1
  336. package/dist/hud/elements/limits.js +28 -0
  337. package/dist/hud/elements/limits.js.map +1 -1
  338. package/dist/hud/index.js +7 -7
  339. package/dist/hud/index.js.map +1 -1
  340. package/dist/hud/render.d.ts.map +1 -1
  341. package/dist/hud/render.js +19 -1
  342. package/dist/hud/render.js.map +1 -1
  343. package/dist/hud/state.d.ts +3 -3
  344. package/dist/hud/state.d.ts.map +1 -1
  345. package/dist/hud/state.js +7 -4
  346. package/dist/hud/state.js.map +1 -1
  347. package/dist/hud/types.d.ts +10 -0
  348. package/dist/hud/types.d.ts.map +1 -1
  349. package/dist/hud/types.js.map +1 -1
  350. package/dist/hud/usage-api.d.ts +74 -4
  351. package/dist/hud/usage-api.d.ts.map +1 -1
  352. package/dist/hud/usage-api.js +388 -175
  353. package/dist/hud/usage-api.js.map +1 -1
  354. package/dist/installer/__tests__/claude-md-target-resolution.test.d.ts +2 -0
  355. package/dist/installer/__tests__/claude-md-target-resolution.test.d.ts.map +1 -0
  356. package/dist/installer/__tests__/claude-md-target-resolution.test.js +98 -0
  357. package/dist/installer/__tests__/claude-md-target-resolution.test.js.map +1 -0
  358. package/dist/installer/__tests__/hook-templates.test.js +20 -0
  359. package/dist/installer/__tests__/hook-templates.test.js.map +1 -1
  360. package/dist/installer/__tests__/standalone-hook-reconcile.test.js +41 -0
  361. package/dist/installer/__tests__/standalone-hook-reconcile.test.js.map +1 -1
  362. package/dist/installer/hooks.d.ts +1 -1
  363. package/dist/installer/hooks.d.ts.map +1 -1
  364. package/dist/installer/hooks.js +1 -0
  365. package/dist/installer/hooks.js.map +1 -1
  366. package/dist/installer/index.d.ts +66 -18
  367. package/dist/installer/index.d.ts.map +1 -1
  368. package/dist/installer/index.js +661 -365
  369. package/dist/installer/index.js.map +1 -1
  370. package/dist/installer/mcp-registry.d.ts +13 -9
  371. package/dist/installer/mcp-registry.d.ts.map +1 -1
  372. package/dist/installer/mcp-registry.js +104 -52
  373. package/dist/installer/mcp-registry.js.map +1 -1
  374. package/dist/lib/__tests__/truncate-prompt.test.d.ts +2 -0
  375. package/dist/lib/__tests__/truncate-prompt.test.d.ts.map +1 -0
  376. package/dist/lib/__tests__/truncate-prompt.test.js +53 -0
  377. package/dist/lib/__tests__/truncate-prompt.test.js.map +1 -0
  378. package/dist/lib/env-vars.d.ts +3 -0
  379. package/dist/lib/env-vars.d.ts.map +1 -0
  380. package/dist/lib/env-vars.js +3 -0
  381. package/dist/lib/env-vars.js.map +1 -0
  382. package/dist/lib/hud-wrapper-template.d.ts +20 -0
  383. package/dist/lib/hud-wrapper-template.d.ts.map +1 -0
  384. package/dist/lib/hud-wrapper-template.js +24 -0
  385. package/dist/lib/hud-wrapper-template.js.map +1 -0
  386. package/dist/lib/paths.d.ts +14 -0
  387. package/dist/lib/paths.d.ts.map +1 -0
  388. package/dist/lib/paths.js +14 -0
  389. package/dist/lib/paths.js.map +1 -0
  390. package/dist/lib/truncate-prompt.d.ts +29 -0
  391. package/dist/lib/truncate-prompt.d.ts.map +1 -0
  392. package/dist/lib/truncate-prompt.js +35 -0
  393. package/dist/lib/truncate-prompt.js.map +1 -0
  394. package/dist/mcp/standalone-server.d.ts +1 -1
  395. package/dist/mcp/standalone-server.js +16 -118
  396. package/dist/mcp/standalone-server.js.map +1 -1
  397. package/dist/mcp/tool-registry.d.ts +60 -0
  398. package/dist/mcp/tool-registry.d.ts.map +1 -0
  399. package/dist/mcp/tool-registry.js +125 -0
  400. package/dist/mcp/tool-registry.js.map +1 -0
  401. package/dist/notifications/__tests__/formatter.test.js +18 -0
  402. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  403. package/dist/notifications/__tests__/notify-registry-integration.test.js +23 -0
  404. package/dist/notifications/__tests__/notify-registry-integration.test.js.map +1 -1
  405. package/dist/notifications/__tests__/tmux.test.js +22 -21
  406. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  407. package/dist/notifications/formatter.d.ts +6 -2
  408. package/dist/notifications/formatter.d.ts.map +1 -1
  409. package/dist/notifications/formatter.js +167 -23
  410. package/dist/notifications/formatter.js.map +1 -1
  411. package/dist/notifications/index.js +3 -3
  412. package/dist/notifications/index.js.map +1 -1
  413. package/dist/notifications/tmux.d.ts.map +1 -1
  414. package/dist/notifications/tmux.js +5 -9
  415. package/dist/notifications/tmux.js.map +1 -1
  416. package/dist/openclaw/__tests__/dedupe.test.d.ts +10 -0
  417. package/dist/openclaw/__tests__/dedupe.test.d.ts.map +1 -0
  418. package/dist/openclaw/__tests__/dedupe.test.js +204 -0
  419. package/dist/openclaw/__tests__/dedupe.test.js.map +1 -0
  420. package/dist/openclaw/config.d.ts +33 -0
  421. package/dist/openclaw/config.d.ts.map +1 -0
  422. package/dist/openclaw/config.js +83 -0
  423. package/dist/openclaw/config.js.map +1 -0
  424. package/dist/openclaw/dedupe.d.ts +37 -0
  425. package/dist/openclaw/dedupe.d.ts.map +1 -0
  426. package/dist/openclaw/dedupe.js +292 -0
  427. package/dist/openclaw/dedupe.js.map +1 -0
  428. package/dist/openclaw/dispatcher.d.ts +51 -0
  429. package/dist/openclaw/dispatcher.d.ts.map +1 -0
  430. package/dist/openclaw/dispatcher.js +149 -0
  431. package/dist/openclaw/dispatcher.js.map +1 -0
  432. package/dist/openclaw/index.d.ts +26 -0
  433. package/dist/openclaw/index.d.ts.map +1 -0
  434. package/dist/openclaw/index.js +186 -0
  435. package/dist/openclaw/index.js.map +1 -0
  436. package/dist/openclaw/signal.d.ts +3 -0
  437. package/dist/openclaw/signal.d.ts.map +1 -0
  438. package/dist/openclaw/signal.js +215 -0
  439. package/dist/openclaw/signal.js.map +1 -0
  440. package/dist/openclaw/types.d.ts +151 -0
  441. package/dist/openclaw/types.d.ts.map +1 -0
  442. package/dist/openclaw/types.js +8 -0
  443. package/dist/openclaw/types.js.map +1 -0
  444. package/dist/ralphthon/orchestrator.js +5 -5
  445. package/dist/ralphthon/orchestrator.js.map +1 -1
  446. package/dist/shared/types.d.ts +47 -0
  447. package/dist/shared/types.d.ts.map +1 -1
  448. package/dist/shared/types.js +44 -1
  449. package/dist/shared/types.js.map +1 -1
  450. package/dist/skills/__tests__/omc-doctor-skill.test.d.ts +2 -0
  451. package/dist/skills/__tests__/omc-doctor-skill.test.d.ts.map +1 -0
  452. package/dist/skills/__tests__/omc-doctor-skill.test.js +21 -0
  453. package/dist/skills/__tests__/omc-doctor-skill.test.js.map +1 -0
  454. package/dist/team/__tests__/behavior-snapshot.test.d.ts +2 -0
  455. package/dist/team/__tests__/behavior-snapshot.test.d.ts.map +1 -0
  456. package/dist/team/__tests__/behavior-snapshot.test.js +79 -0
  457. package/dist/team/__tests__/behavior-snapshot.test.js.map +1 -0
  458. package/dist/team/__tests__/cli-worker-contract.test.d.ts +2 -0
  459. package/dist/team/__tests__/cli-worker-contract.test.d.ts.map +1 -0
  460. package/dist/team/__tests__/cli-worker-contract.test.js +128 -0
  461. package/dist/team/__tests__/cli-worker-contract.test.js.map +1 -0
  462. package/dist/team/__tests__/critic-cli-worker.integration.test.d.ts +2 -0
  463. package/dist/team/__tests__/critic-cli-worker.integration.test.d.ts.map +1 -0
  464. package/dist/team/__tests__/critic-cli-worker.integration.test.js +102 -0
  465. package/dist/team/__tests__/critic-cli-worker.integration.test.js.map +1 -0
  466. package/dist/team/__tests__/idle-nudge.test.js +13 -32
  467. package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
  468. package/dist/team/__tests__/prompt-sanitization.test.js +21 -9
  469. package/dist/team/__tests__/prompt-sanitization.test.js.map +1 -1
  470. package/dist/team/__tests__/resolved-routing-snapshot.test.d.ts +2 -0
  471. package/dist/team/__tests__/resolved-routing-snapshot.test.d.ts.map +1 -0
  472. package/dist/team/__tests__/resolved-routing-snapshot.test.js +100 -0
  473. package/dist/team/__tests__/resolved-routing-snapshot.test.js.map +1 -0
  474. package/dist/team/__tests__/runtime-cli.test.js +66 -2
  475. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  476. package/dist/team/__tests__/runtime-v2-role-routing.test.d.ts +2 -0
  477. package/dist/team/__tests__/runtime-v2-role-routing.test.d.ts.map +1 -0
  478. package/dist/team/__tests__/runtime-v2-role-routing.test.js +229 -0
  479. package/dist/team/__tests__/runtime-v2-role-routing.test.js.map +1 -0
  480. package/dist/team/__tests__/runtime-v2.dispatch.test.js +23 -4
  481. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
  482. package/dist/team/__tests__/runtime-v2.gemini-preflight.test.d.ts +2 -0
  483. package/dist/team/__tests__/runtime-v2.gemini-preflight.test.d.ts.map +1 -0
  484. package/dist/team/__tests__/runtime-v2.gemini-preflight.test.js +97 -0
  485. package/dist/team/__tests__/runtime-v2.gemini-preflight.test.js.map +1 -0
  486. package/dist/team/__tests__/scaling-launch-config.test.d.ts +2 -0
  487. package/dist/team/__tests__/scaling-launch-config.test.d.ts.map +1 -0
  488. package/dist/team/__tests__/scaling-launch-config.test.js +131 -0
  489. package/dist/team/__tests__/scaling-launch-config.test.js.map +1 -0
  490. package/dist/team/__tests__/scaling.test.js +14 -0
  491. package/dist/team/__tests__/scaling.test.js.map +1 -1
  492. package/dist/team/__tests__/stage-router.test.d.ts +2 -0
  493. package/dist/team/__tests__/stage-router.test.d.ts.map +1 -0
  494. package/dist/team/__tests__/stage-router.test.js +121 -0
  495. package/dist/team/__tests__/stage-router.test.js.map +1 -0
  496. package/dist/team/__tests__/tmux-session-prereqs.test.d.ts +2 -0
  497. package/dist/team/__tests__/tmux-session-prereqs.test.d.ts.map +1 -0
  498. package/dist/team/__tests__/tmux-session-prereqs.test.js +39 -0
  499. package/dist/team/__tests__/tmux-session-prereqs.test.js.map +1 -0
  500. package/dist/team/__tests__/tmux-session.spawn.test.js +7 -8
  501. package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -1
  502. package/dist/team/__tests__/worker-bootstrap.test.js +21 -3
  503. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  504. package/dist/team/__tests__/worker-cli-roundtrip.test.d.ts +2 -0
  505. package/dist/team/__tests__/worker-cli-roundtrip.test.d.ts.map +1 -0
  506. package/dist/team/__tests__/worker-cli-roundtrip.test.js +71 -0
  507. package/dist/team/__tests__/worker-cli-roundtrip.test.js.map +1 -0
  508. package/dist/team/cli-worker-contract.d.ts +58 -0
  509. package/dist/team/cli-worker-contract.d.ts.map +1 -0
  510. package/dist/team/cli-worker-contract.js +158 -0
  511. package/dist/team/cli-worker-contract.js.map +1 -0
  512. package/dist/team/git-worktree.d.ts.map +1 -1
  513. package/dist/team/git-worktree.js +29 -2
  514. package/dist/team/git-worktree.js.map +1 -1
  515. package/dist/team/idle-nudge.d.ts.map +1 -1
  516. package/dist/team/idle-nudge.js +9 -10
  517. package/dist/team/idle-nudge.js.map +1 -1
  518. package/dist/team/layout-stabilizer.d.ts.map +1 -1
  519. package/dist/team/layout-stabilizer.js +6 -17
  520. package/dist/team/layout-stabilizer.js.map +1 -1
  521. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  522. package/dist/team/mcp-team-bridge.js +2 -14
  523. package/dist/team/mcp-team-bridge.js.map +1 -1
  524. package/dist/team/model-contract.d.ts +6 -0
  525. package/dist/team/model-contract.d.ts.map +1 -1
  526. package/dist/team/model-contract.js +1 -1
  527. package/dist/team/model-contract.js.map +1 -1
  528. package/dist/team/runtime-cli.d.ts +8 -0
  529. package/dist/team/runtime-cli.d.ts.map +1 -1
  530. package/dist/team/runtime-cli.js +84 -23
  531. package/dist/team/runtime-cli.js.map +1 -1
  532. package/dist/team/runtime-v2.d.ts +36 -0
  533. package/dist/team/runtime-v2.d.ts.map +1 -1
  534. package/dist/team/runtime-v2.js +330 -27
  535. package/dist/team/runtime-v2.js.map +1 -1
  536. package/dist/team/runtime.d.ts.map +1 -1
  537. package/dist/team/runtime.js +5 -13
  538. package/dist/team/runtime.js.map +1 -1
  539. package/dist/team/scaling.d.ts.map +1 -1
  540. package/dist/team/scaling.js +119 -20
  541. package/dist/team/scaling.js.map +1 -1
  542. package/dist/team/stage-router.d.ts +47 -0
  543. package/dist/team/stage-router.d.ts.map +1 -0
  544. package/dist/team/stage-router.js +179 -0
  545. package/dist/team/stage-router.js.map +1 -0
  546. package/dist/team/tmux-session.d.ts +1 -1
  547. package/dist/team/tmux-session.d.ts.map +1 -1
  548. package/dist/team/tmux-session.js +52 -91
  549. package/dist/team/tmux-session.js.map +1 -1
  550. package/dist/team/types.d.ts +17 -1
  551. package/dist/team/types.d.ts.map +1 -1
  552. package/dist/team/types.js.map +1 -1
  553. package/dist/team/worker-bootstrap.d.ts +4 -3
  554. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  555. package/dist/team/worker-bootstrap.js +59 -27
  556. package/dist/team/worker-bootstrap.js.map +1 -1
  557. package/dist/team/worker-health.js +2 -2
  558. package/dist/team/worker-health.js.map +1 -1
  559. package/dist/tools/lsp/servers.js +4 -4
  560. package/dist/tools/lsp/servers.js.map +1 -1
  561. package/dist/tools/python-repl/bridge-manager.d.ts +2 -0
  562. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  563. package/dist/tools/python-repl/bridge-manager.js +33 -1
  564. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  565. package/dist/utils/omc-cli-rendering.d.ts.map +1 -1
  566. package/dist/utils/omc-cli-rendering.js +26 -6
  567. package/dist/utils/omc-cli-rendering.js.map +1 -1
  568. package/dist/utils/paths.d.ts +7 -6
  569. package/dist/utils/paths.d.ts.map +1 -1
  570. package/dist/utils/paths.js +54 -22
  571. package/dist/utils/paths.js.map +1 -1
  572. package/docs/OPENCLAW-ROUTING.md +106 -0
  573. package/docs/REFERENCE.md +390 -224
  574. package/docs/TOOLS.md +781 -0
  575. package/docs/architecture/performance.md +3 -3
  576. package/docs/architecture/permissions.md +2 -2
  577. package/docs/copilot-instructions.md +1 -1
  578. package/docs/design/project-session-manager.md +7 -7
  579. package/package.json +2 -2
  580. package/scripts/context-guard-stop.mjs +53 -26
  581. package/scripts/keyword-detector.mjs +474 -74
  582. package/scripts/lib/hud-wrapper-template.txt +243 -0
  583. package/scripts/lib/state-root.cjs +45 -0
  584. package/scripts/lib/state-root.mjs +50 -0
  585. package/scripts/persistent-mode.cjs +323 -112
  586. package/scripts/persistent-mode.mjs +124 -89
  587. package/scripts/post-tool-rules-injector.mjs +105 -0
  588. package/scripts/post-tool-use-failure.mjs +88 -3
  589. package/scripts/post-tool-verifier.mjs +108 -46
  590. package/scripts/pre-tool-enforcer.mjs +158 -60
  591. package/scripts/run-provider-advisor.js +32 -60
  592. package/scripts/run.cjs +54 -8
  593. package/scripts/session-start.mjs +75 -81
  594. package/scripts/setup-copilot-instructions.sh +39 -5
  595. package/scripts/skill-injector.mjs +56 -18
  596. package/scripts/wiki-pre-compact.mjs +11 -1
  597. package/scripts/wiki-session-start.mjs +11 -1
  598. package/skills/AGENTS.md +20 -4
  599. package/skills/critique/SKILL.md +136 -0
  600. package/skills/hud/SKILL.md +24 -131
  601. package/skills/mcp-setup/SKILL.md +48 -12
  602. package/skills/omc-doctor/SKILL.md +12 -6
  603. package/skills/omc-setup/SKILL.md +31 -2
  604. package/skills/omc-setup/phases/01-install-copilot-instructions.md +6 -0
  605. package/skills/omc-setup/phases/02-configure.md +14 -0
  606. package/skills/omc-setup/phases/03-integrations.md +18 -6
  607. package/skills/omc-teams/SKILL.md +1 -1
  608. package/skills/project-session-manager/SKILL.md +37 -13
  609. package/skills/project-session-manager/lib/session.sh +2 -2
  610. package/skills/project-session-manager/lib/tmux.sh +109 -4
  611. package/skills/project-session-manager/lib/worktree.sh +26 -0
  612. package/skills/project-session-manager/psm.sh +49 -8
  613. package/skills/project-session-manager/templates/pr-review.md +5 -2
  614. package/skills/project-session-manager/tests/test-psm-prompt-injection.sh +336 -0
  615. package/skills/team/SKILL.md +53 -10
  616. package/templates/hooks/keyword-detector.mjs +411 -97
  617. package/templates/hooks/persistent-mode.mjs +58 -43
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "name": "oh-my-copilot",
12
12
  "description": "Copilot CLI native multi-agent orchestration with intelligent model routing, 18 agent variants, and 32 powerful skills. Zero learning curve. Maximum power.",
13
- "version": "4.11.6",
13
+ "version": "4.11.8",
14
14
  "author": {
15
15
  "name": "Robin Norberg",
16
16
  "email": "github@platypus.se"
@@ -27,5 +27,5 @@
27
27
  ]
28
28
  }
29
29
  ],
30
- "version": "4.11.6"
30
+ "version": "4.11.8"
31
31
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-copilot",
3
- "version": "4.11.6",
3
+ "version": "4.11.8",
4
4
  "description": "Multi-agent orchestration system for Copilot CLI",
5
5
  "author": {
6
6
  "name": "Robin Norberg and oh-my-copilot contributors"
package/README.md CHANGED
@@ -32,19 +32,19 @@
32
32
  ```bash
33
33
  # Step 1: Install
34
34
  /plugin marketplace add https://github.com/RobinNorberg/oh-my-copilot
35
- /plugin install oh-my-copilot@omg
35
+ /plugin install oh-my-copilot@omcp
36
36
  # or
37
37
  npm i -g oh-my-copilot@latest
38
38
 
39
-
40
39
  # Step 2: Setup
41
40
  /omc-setup
42
41
 
43
-
44
42
  # Step 3: Build something
45
43
  /autopilot: build a todo-app
46
44
  # or
47
45
  autopilot: build a todo-app
46
+
47
+ # If you enjoy the output, give the repo att ⭐ and tell a friend
48
48
  ```
49
49
 
50
50
  ### Not Sure Where to Start?
@@ -86,32 +86,46 @@ Optional shortcuts for power users. Natural language works fine without them.
86
86
  | `c3g` | ![orchestration](https://img.shields.io/badge/orchestration-blue) | Quadri-model orchestration | `c3g review this PR` |
87
87
  | `omcp team` | ![orchestration](https://img.shields.io/badge/orchestration-blue) | tmux CLI workers (codex/gemini/copilot) | `omcp team 2:codex "security review"` |
88
88
  | `code review` | ![analysis](https://img.shields.io/badge/analysis-purple) | Code review mode | `code review the auth module` |
89
+ | `critique` | ![analysis](https://img.shields.io/badge/analysis-purple) | Pre-push adversarial critique | `critique my changes` |
90
+ | `debug`, `diagnose` | ![analysis](https://img.shields.io/badge/analysis-purple) | Session/repo diagnostics | `debug why hooks aren't firing` |
89
91
  | `deep-analyze` | ![analysis](https://img.shields.io/badge/analysis-purple) | Deep analysis mode | `deep-analyze why tests are failing` |
90
92
  | `deep-dive` | ![analysis](https://img.shields.io/badge/analysis-purple) | Trace → interview pipeline | `deep-dive why auth is slow` |
93
+ | `deepinit` | ![analysis](https://img.shields.io/badge/analysis-purple) | Deep codebase init with AGENTS.md | `deepinit` |
91
94
  | `deep-interview` | ![analysis](https://img.shields.io/badge/analysis-purple) | Socratic requirements clarification | `deep-interview "vague idea"` |
92
95
  | `deep-review` | ![analysis](https://img.shields.io/badge/analysis-purple) | Multi-pass code review (4 passes) | `deep-review this PR` |
93
96
  | `deepsearch` | ![analysis](https://img.shields.io/badge/analysis-purple) | Codebase-focused search routing | `deepsearch for auth middleware` |
97
+ | `deslop`, `anti-slop` | ![analysis](https://img.shields.io/badge/analysis-purple) | AI code slop cleanup | `deslop the auth module` |
94
98
  | `discover` | ![analysis](https://img.shields.io/badge/analysis-purple) | Parallel codebase quality scan | `discover src/hooks/` |
99
+ | `external-context` | ![analysis](https://img.shields.io/badge/analysis-purple) | Parallel external doc/web search | `external-context React Server Components` |
100
+ | `sciomc` | ![analysis](https://img.shields.io/badge/analysis-purple) | Parallel scientist orchestration | `sciomc analyze test failures` |
95
101
  | `security review` | ![analysis](https://img.shields.io/badge/analysis-purple) | Security review mode | `security review the API endpoints` |
96
102
  | `tdd`, `test first` | ![analysis](https://img.shields.io/badge/analysis-purple) | TDD workflow enforcement | `tdd: implement password validation` |
103
+ | `trace` | ![analysis](https://img.shields.io/badge/analysis-purple) | Evidence-driven causal tracing | `trace why auth is broken` |
104
+ | `verify` | ![analysis](https://img.shields.io/badge/analysis-purple) | Verify changes work before claiming done | `verify the fix` |
97
105
  | `ultrathink` | ![analysis](https://img.shields.io/badge/analysis-purple) | Deep reasoning mode | `ultrathink about this architecture` |
98
106
  | `ralplan` | ![planning](https://img.shields.io/badge/planning-orange) | Iterative planning consensus | `ralplan this feature` |
99
107
  | `autopilot` | ![execution](https://img.shields.io/badge/execution-green) | Full autonomous execution | `autopilot: build a todo app` |
108
+ | `cancelomc`, `stopomc` | ![execution](https://img.shields.io/badge/execution-green) | Stop active OMC modes | `stopomc` |
100
109
  | `experiment` | ![execution](https://img.shields.io/badge/execution-green) | Hypothesis-driven experiment loop | `experiment: optimize API latency` |
101
110
  | `ralph` | ![execution](https://img.shields.io/badge/execution-green) | Persistence mode | `ralph: refactor auth` |
102
111
  | `ralphthon` | ![execution](https://img.shields.io/badge/execution-green) | Autonomous hackathon mode | `ralphthon: build MVP in 2 hours` |
112
+ | `self-improve` | ![execution](https://img.shields.io/badge/execution-green) | Autonomous evolutionary code improvement | `self-improve the parser module` |
113
+ | `skillify` | ![execution](https://img.shields.io/badge/execution-green) | Extract reusable skill from session | `skillify this workflow` |
103
114
  | `ulw` | ![execution](https://img.shields.io/badge/execution-green) | Maximum parallelism | `ulw fix all errors` |
104
115
  | `gh setup` | ![github](https://img.shields.io/badge/github-blue) | Configure GitHub integration | `gh setup` |
105
116
  | `gh triage` | ![github](https://img.shields.io/badge/github-blue) | GitHub issue/PR/CI triage | `gh triage` |
106
117
  | `gh review` | ![github](https://img.shields.io/badge/github-blue) | Interactive GitHub PR review | `gh review` |
107
118
  | `gh auto-review` | ![github](https://img.shields.io/badge/github-blue) | Automated code review via code-reviewer agent | `gh auto-review` |
108
119
  | `gh project` | ![github](https://img.shields.io/badge/github-blue) | Manage GitHub Projects (v2) boards | `gh project` |
120
+ | `ado sprint` | ![devops](https://img.shields.io/badge/devops-gray) | Sprint planning and iteration management | `ado sprint` |
109
121
  | `ado setup` | ![devops](https://img.shields.io/badge/devops-gray) | Configure Azure DevOps integration | `ado setup` |
110
122
  | `ado triage` | ![devops](https://img.shields.io/badge/devops-gray) | Azure DevOps work item triage | `ado triage` |
111
123
  | `ado review` | ![devops](https://img.shields.io/badge/devops-gray) | Interactive Azure DevOps PR review | `ado review` |
112
124
  | `ado auto-review` | ![devops](https://img.shields.io/badge/devops-gray) | Automated code review via code-reviewer agent | `ado auto-review` |
113
- | `ado sprint` | ![devops](https://img.shields.io/badge/devops-gray) | Sprint planning and iteration management | `ado sprint` |
114
- | `cancelomc`, `stopomc` | ![control](https://img.shields.io/badge/control-gray) | Stop active OMC modes | `stopomc` |
125
+ | `hud` | ![utility](https://img.shields.io/badge/utility-lightgray) | Configure status line display | `hud preset minimal` |
126
+ | `learner` | ![utility](https://img.shields.io/badge/utility-lightgray) | Learn a skill from the current conversation | `learner` |
127
+ | `remember` | ![utility](https://img.shields.io/badge/utility-lightgray) | Save reusable project knowledge | `remember this pattern` |
128
+ | `wiki` | ![utility](https://img.shields.io/badge/utility-lightgray) | Persistent markdown knowledge base | `wiki add auth architecture notes` |
115
129
 
116
130
  **Notes:**
117
131
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: analyst
3
3
  description: Pre-planning consultant for requirements analysis (Opus)
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: architect
3
3
  description: Strategic Architecture & Debugging Advisor (Opus, READ-ONLY)
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: code-reviewer
3
3
  description: Expert code review specialist with severity-rated feedback, logic defect detection, SOLID principle checks, style, performance, and quality strategy
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: code-simplifier
3
3
  description: Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: critic
3
3
  description: Work plan and code review expert — thorough, structured, multi-perspective (Opus)
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: debugger
3
3
  description: Root-cause analysis, regression isolation, stack trace analysis, build/compilation error resolution
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: designer
3
3
  description: UI/UX Designer-Developer for stunning interfaces (Sonnet)
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: devils-advocate
3
+ description: Independent pre-push critique — finds flaws in unpushed commits with adversarial skepticism
4
+ model: opus
5
+ disallowedTools: Write, Edit
6
+ ---
7
+
8
+ <Agent_Prompt>
9
+ <Role>
10
+ You are Devil's Advocate — an adversarial pre-push reviewer. You exist because authors are blind to their own mistakes.
11
+
12
+ You are reviewing code that was written in the same agent session or by the same developer. Your job is to find flaws the author missed. Approach with skepticism — the author fills in gaps mentally and rationalizes decisions. You only see the artifact and the codebase.
13
+
14
+ Do not defer to the author's intent. If code is wrong, it is wrong regardless of what the author meant. You are the last line of defense before code reaches the remote.
15
+
16
+ You are responsible for finding what is wrong, suboptimal, insufficient, faulty, or broken in unpushed commits, and proposing concrete fixes for every issue found.
17
+ You are not responsible for implementing fixes (executor), designing architecture (architect), or writing tests (test-engineer).
18
+ </Role>
19
+
20
+ <Why_This_Matters>
21
+ Code that reaches the remote is code that others pull, build on, and deploy. A flaw caught before push costs minutes to fix. The same flaw caught after merge costs hours of debugging, rollbacks, and coordination. Same-context critique has author bias — the author fills in gaps mentally and rationalizes decisions. Independent critique only sees the artifact and codebase, which is why this agent exists as a separate subagent.
22
+ </Why_This_Matters>
23
+
24
+ <Success_Criteria>
25
+ - ALL unpushed commits reviewed (not just the latest)
26
+ - Standards discovered from project config before evaluation begins
27
+ - Every criterion evaluated as binary PASS or FAIL
28
+ - Every FAIL includes file:line evidence and a concrete proposed fix
29
+ - Every PASS includes brief evidence (not vague reassurance)
30
+ - "Not Verified" section lists what could not be checked
31
+ - Clear recommendation: PUSH or FIX FIRST
32
+ - No percentage scores — binary only
33
+ </Success_Criteria>
34
+
35
+ <Constraints>
36
+ - Read-only: Write and Edit tools are blocked.
37
+ - Independent: Never soften findings because the author "probably meant" something. Judge only what exists.
38
+ - Evidence-based: No finding without a file:line citation. Opinions are not findings.
39
+ - Scope-bound: Only evaluate what is in the diff. Do not penalize for out-of-scope features.
40
+ - Honest: If code is genuinely solid, say so. Do not manufacture problems to appear thorough.
41
+ - Inapplicable criteria are marked PASS with a note explaining why they don't apply.
42
+ </Constraints>
43
+
44
+ <Standards_Discovery>
45
+ Before evaluating, calibrate against the project's actual standards:
46
+
47
+ 1. Read CLAUDE.md and AGENTS.md if present — these contain documented conventions.
48
+ 2. Check config files: .eslintrc, .prettierrc, tsconfig.json, pyproject.toml, .editorconfig.
49
+ 3. Scan for ADR files in conventional locations: docs/adr/, adr/, doc/architecture/.
50
+ 4. Grep for dominant patterns in the codebase — if 5+ instances follow one approach, that is the enforced convention. Violations of dominant patterns fail even if undocumented.
51
+ 5. Check for test conventions: what framework, what naming pattern, where tests live.
52
+
53
+ Use discovered standards to calibrate Consistency and Code Quality evaluations. Cite the source when flagging a convention violation (e.g., "violates pattern seen in 12 files" or "contradicts CLAUDE.md rule").
54
+ </Standards_Discovery>
55
+
56
+ <Investigation_Protocol>
57
+ Phase 1 — Scope Assessment:
58
+ 1. Read the commit log to understand what was changed and why.
59
+ 2. Read the diff stat to identify which files were modified and the scale of changes.
60
+ 3. For each changed file, read the full diff to understand the actual changes.
61
+ 4. For files with significant changes, read the surrounding code context (not just the diff) to understand integration points.
62
+
63
+ Phase 2 — Standards Discovery:
64
+ Execute the Standards Discovery protocol above. This calibrates the review.
65
+
66
+ Phase 3 — Systematic Evaluation:
67
+ Evaluate each dimension systematically. For each criterion:
68
+ 1. Examine the relevant code in the diff.
69
+ 2. Determine PASS or FAIL.
70
+ 3. If FAIL: cite the exact file:line, describe the issue, and propose a concrete fix.
71
+ 4. If PASS: note the brief evidence.
72
+
73
+ Phase 4 — Cross-cutting Concerns:
74
+ After individual criteria, look for cross-cutting issues:
75
+ - Do the changes work together coherently?
76
+ - Are there interactions between changed files that introduce bugs?
77
+ - Does the commit set tell a coherent story, or are unrelated changes mixed in?
78
+
79
+ Phase 5 — Synthesis:
80
+ Compile the structured report. Count PASSes and FAILs. Issue recommendation.
81
+ </Investigation_Protocol>
82
+
83
+ <Evaluation_Dimensions>
84
+ ### Correctness (5 criteria)
85
+ - **logic-correct**: No logic errors, off-by-one, incorrect operators, wrong comparisons
86
+ - **null-safety**: No null/undefined dereferences, proper optional chaining or guards
87
+ - **edge-cases**: Boundary conditions handled (empty arrays, zero values, max values, concurrent access)
88
+ - **error-paths**: Error conditions handled, exceptions caught appropriately, no silent failures
89
+ - **completeness**: No TODO/HACK/placeholder stubs in committed code, no dead code paths, no partial implementations
90
+
91
+ ### Security (3 criteria)
92
+ - **no-secrets**: No hardcoded API keys, passwords, tokens, connection strings in source
93
+ - **input-validated**: User/external input sanitized, no SQL/XSS/command injection vectors
94
+ - **auth-enforced**: Authentication and authorization checks present where required, no privilege escalation paths
95
+
96
+ ### Code Quality (3 criteria)
97
+ - **no-duplication**: No copy-paste code blocks, DRY principle respected
98
+ - **complexity**: Functions have reasonable cyclomatic complexity (<10), no deeply nested logic (>4 levels)
99
+ - **clarity**: Clear naming, intent is obvious from the code, no misleading names or obscure abbreviations
100
+
101
+ ### Performance (2 criteria)
102
+ - **algorithmic**: No O(n^2) when O(n) is possible, no N+1 query patterns, no unnecessary iterations
103
+ - **resources**: No resource leaks (unclosed handles, missing cleanup/dispose), no unbounded growth
104
+
105
+ ### Consistency (2 criteria)
106
+ - **style**: Formatting, naming conventions, and patterns match the existing codebase
107
+ - **conventions**: Project-specific conventions (from CLAUDE.md, linter configs, dominant patterns) are followed
108
+
109
+ ### Integration (2 criteria)
110
+ - **api-compatibility**: No breaking changes to public APIs or interfaces without version bumps
111
+ - **test-coverage**: Changed code paths have corresponding test changes or new tests
112
+
113
+ ### Architecture (2 criteria)
114
+ - **solid-principles**: No SOLID violations (single responsibility, open/closed, Liskov, interface segregation, dependency inversion)
115
+ - **coupling**: No inappropriate coupling, dependency direction follows project architecture
116
+
117
+ ### Completeness (2 criteria)
118
+ - **requirements-met**: All stated requirements from commit messages are actually implemented
119
+ - **observability**: Appropriate error handling, logging, or monitoring for new functionality
120
+ </Evaluation_Dimensions>
121
+
122
+ <Tool_Usage>
123
+ - Use Read to examine changed files and their surrounding context.
124
+ - Use Grep to find related code, verify patterns, and discover conventions.
125
+ - Use Glob to find related test files, config files, and documentation.
126
+ - Use Bash with git commands: `git log`, `git diff`, `git show`, `git blame`.
127
+ - Use LSP tools (lsp_diagnostics, lsp_hover, lsp_goto_definition, lsp_find_references) when available to verify type safety and find callers of changed code.
128
+ - Use ast_grep_search to detect anti-patterns: empty catch blocks, console.log statements, hardcoded secrets.
129
+ - Do NOT use Write or Edit — you are read-only.
130
+ </Tool_Usage>
131
+
132
+ <Execution_Policy>
133
+ - Default effort: maximum. This is the last gate before code reaches the remote.
134
+ - Review ALL changed files, not just the largest ones.
135
+ - Read surrounding context, not just the diff lines.
136
+ - Check both the happy path AND error paths.
137
+ - If the diff is very large (50+ files), prioritize: security-sensitive files first, then core logic, then peripheral changes. Note which files received abbreviated review.
138
+ - Stop when all criteria are evaluated and the report is complete.
139
+ </Execution_Policy>
140
+
141
+ <Output_Format>
142
+ ## Pre-Push Critique
143
+
144
+ **Commits reviewed**: N (oldest-hash..newest-hash)
145
+ **Files changed**: M
146
+ **Standards sources**: [CLAUDE.md, .eslintrc, dominant patterns, etc.]
147
+
148
+ ### Results
149
+
150
+ #### Correctness
151
+ - [PASS] logic-correct — Brief evidence
152
+ - [FAIL] null-safety — `src/handler.ts:42` — `user.name` accessed without null check after optional lookup
153
+ **Fix**: Add null guard: `if (!user) return notFound();` before line 42
154
+
155
+ #### Security
156
+ - [PASS] no-secrets — No credentials found in diff
157
+ - [FAIL] input-validated — `src/api/route.ts:18` — Query parameter `id` used directly in database query without sanitization
158
+ **Fix**: Validate with `parseInt(id, 10)` and check `isNaN` before query
159
+
160
+ [... continue for all 8 dimensions ...]
161
+
162
+ ### Cross-cutting Concerns
163
+ - [Any issues that span multiple files or criteria]
164
+
165
+ ### Not Verified
166
+ - [What couldn't be checked and why — e.g., "Runtime behavior under load not testable in static review"]
167
+
168
+ ### Summary
169
+ - **PASS**: X / 21
170
+ - **FAIL**: Y / 21
171
+ - **Recommendation**: **PUSH** / **FIX FIRST**
172
+ - [If FIX FIRST: list the critical issues that must be addressed]
173
+ </Output_Format>
174
+
175
+ <Failure_Modes_To_Avoid>
176
+ - Rubber-stamping: Marking everything PASS without reading the code. Every PASS needs evidence.
177
+ - Manufactured outrage: Inventing problems to seem thorough. If code is correct, it is correct.
178
+ - Style-first review: Flagging formatting while missing a null dereference. Evaluate correctness and security before style.
179
+ - Vague findings: "This could be better." Instead: "[FAIL] `file.ts:42` — off-by-one in loop bound. Fix: change `<=` to `<`."
180
+ - Author deference: "The author probably intended..." — you don't know what they intended. Judge what exists.
181
+ - Scope creep: Reviewing code outside the diff. Only evaluate what's being pushed.
182
+ - Single-file tunnel vision: Missing interactions between changed files. Check how changes work together.
183
+ </Failure_Modes_To_Avoid>
184
+
185
+ <Examples>
186
+ <Good>
187
+ [FAIL] null-safety — `src/users/service.ts:87` — `user.profile.avatar` accessed but `findUser()` returns `User | null` per type definition at `types.ts:12`. The null case is not handled.
188
+ **Fix**: Add guard: `if (!user) throw new NotFoundException('User not found');` before line 87.
189
+ </Good>
190
+ <Good>
191
+ [FAIL] no-secrets — `src/config/database.ts:5` — Connection string `postgresql://admin:password123@prod-db:5432` hardcoded.
192
+ **Fix**: Move to environment variable: `process.env.DATABASE_URL`. Add `DATABASE_URL` to `.env.example`.
193
+ </Good>
194
+ <Good>
195
+ [PASS] algorithmic — Pagination uses cursor-based approach with indexed column. No N+1 patterns detected in the 3 new query functions.
196
+ </Good>
197
+ <Bad>
198
+ [FAIL] Code quality could be improved. Consider refactoring.
199
+ Why bad: No file:line, no specific issue, no fix proposal. This is an opinion, not a finding.
200
+ </Bad>
201
+ <Bad>
202
+ [FAIL] Everything looks risky.
203
+ Why bad: Manufactured concern without evidence. This erodes trust in the review.
204
+ </Bad>
205
+ </Examples>
206
+
207
+ <Final_Checklist>
208
+ - Did I read ALL changed files, not just the first few?
209
+ - Did I discover and apply project standards before evaluating?
210
+ - Does every FAIL cite a specific file:line?
211
+ - Does every FAIL include a concrete proposed fix?
212
+ - Does every PASS include brief evidence?
213
+ - Did I check both happy paths AND error paths?
214
+ - Did I look for cross-file interactions?
215
+ - Did I list what I could NOT verify?
216
+ - Is my recommendation clear: PUSH or FIX FIRST?
217
+ - Did I resist both rubber-stamping AND manufactured outrage?
218
+ </Final_Checklist>
219
+ </Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: document-specialist
3
3
  description: External Documentation & Reference Specialist
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: executor
3
3
  description: Focused task executor for implementation work (Sonnet)
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: explore
3
3
  description: Codebase search specialist for finding files and code patterns
4
- model: claude-haiku-4-5
4
+ model: haiku
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: git-master
3
3
  description: Git expert for atomic commits, rebasing, and history management with style detection
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: planner
3
3
  description: Strategic planning consultant with interview workflow (Opus)
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: qa-tester
3
3
  description: Interactive CLI testing specialist using tmux for session management
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: scientist
3
3
  description: Data analysis and research execution specialist
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: security-reviewer
3
3
  description: Security vulnerability detection specialist (OWASP Top 10, secrets, unsafe patterns)
4
- model: claude-opus-4-6
4
+ model: opus
5
5
  disallowedTools: Write, Edit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: test-engineer
3
3
  description: Test strategy, integration/e2e coverage, flaky test hardening, TDD workflows
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: verifier
3
3
  description: Verification strategy, evidence-based completion checks, test adequacy
4
- model: claude-sonnet-4-6
4
+ model: sonnet
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: writer
3
3
  description: Technical documentation writer for README, API docs, and comments (Haiku)
4
- model: claude-haiku-4-5
4
+ model: haiku
5
5
  ---
6
6
 
7
7
  <Agent_Prompt>