oh-my-codex 0.14.4 → 0.15.1

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 (614) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/Cargo.lock +6 -6
  3. package/Cargo.toml +2 -1
  4. package/README.md +40 -7
  5. package/crates/omx-explore/Cargo.toml +1 -0
  6. package/crates/omx-explore/src/main.rs +246 -24
  7. package/crates/omx-mux/Cargo.toml +1 -0
  8. package/crates/omx-runtime/Cargo.toml +1 -0
  9. package/crates/omx-runtime-core/Cargo.toml +1 -0
  10. package/crates/omx-runtime-core/src/dispatch.rs +2 -1
  11. package/crates/omx-runtime-core/src/engine.rs +2 -2
  12. package/crates/omx-runtime-core/src/mailbox.rs +2 -1
  13. package/crates/omx-sparkshell/Cargo.toml +1 -0
  14. package/crates/omx-sparkshell/src/codex_bridge.rs +1 -0
  15. package/crates/omx-sparkshell/src/prompt.rs +1 -0
  16. package/crates/omx-sparkshell/src/threshold.rs +1 -0
  17. package/dist/agents/__tests__/native-config.test.js +98 -4
  18. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  19. package/dist/agents/native-config.d.ts +4 -0
  20. package/dist/agents/native-config.d.ts.map +1 -1
  21. package/dist/agents/native-config.js +19 -3
  22. package/dist/agents/native-config.js.map +1 -1
  23. package/dist/agents/policy.d.ts +10 -0
  24. package/dist/agents/policy.d.ts.map +1 -0
  25. package/dist/agents/policy.js +61 -0
  26. package/dist/agents/policy.js.map +1 -0
  27. package/dist/catalog/__tests__/generator.test.js +2 -0
  28. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  29. package/dist/catalog/__tests__/plugin-bundle-ssot.test.d.ts +2 -0
  30. package/dist/catalog/__tests__/plugin-bundle-ssot.test.d.ts.map +1 -0
  31. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +72 -0
  32. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -0
  33. package/dist/catalog/installable.d.ts +5 -0
  34. package/dist/catalog/installable.d.ts.map +1 -0
  35. package/dist/catalog/installable.js +13 -0
  36. package/dist/catalog/installable.js.map +1 -0
  37. package/dist/catalog/skill-mirror.d.ts +20 -0
  38. package/dist/catalog/skill-mirror.d.ts.map +1 -0
  39. package/dist/catalog/skill-mirror.js +104 -0
  40. package/dist/catalog/skill-mirror.js.map +1 -0
  41. package/dist/cli/__tests__/ask.test.js +4 -1
  42. package/dist/cli/__tests__/ask.test.js.map +1 -1
  43. package/dist/cli/__tests__/codex-plugin-layout.test.d.ts +2 -0
  44. package/dist/cli/__tests__/codex-plugin-layout.test.d.ts.map +1 -0
  45. package/dist/cli/__tests__/codex-plugin-layout.test.js +210 -0
  46. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -0
  47. package/dist/cli/__tests__/doctor-team.test.js +46 -1
  48. package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
  49. package/dist/cli/__tests__/doctor-warning-copy.test.js +225 -111
  50. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  51. package/dist/cli/__tests__/exec.test.js +96 -1
  52. package/dist/cli/__tests__/exec.test.js.map +1 -1
  53. package/dist/cli/__tests__/explore.test.js +26 -9
  54. package/dist/cli/__tests__/explore.test.js.map +1 -1
  55. package/dist/cli/__tests__/index.test.js +301 -7
  56. package/dist/cli/__tests__/index.test.js.map +1 -1
  57. package/dist/cli/__tests__/launch-fallback.test.js +358 -4
  58. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  59. package/dist/cli/__tests__/list.test.d.ts +2 -0
  60. package/dist/cli/__tests__/list.test.d.ts.map +1 -0
  61. package/dist/cli/__tests__/list.test.js +38 -0
  62. package/dist/cli/__tests__/list.test.js.map +1 -0
  63. package/dist/cli/__tests__/mcp-parity.test.js +86 -0
  64. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  65. package/dist/cli/__tests__/mcp-serve.test.d.ts +2 -0
  66. package/dist/cli/__tests__/mcp-serve.test.d.ts.map +1 -0
  67. package/dist/cli/__tests__/mcp-serve.test.js +38 -0
  68. package/dist/cli/__tests__/mcp-serve.test.js.map +1 -0
  69. package/dist/cli/__tests__/nested-help-routing.test.js +1 -0
  70. package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
  71. package/dist/cli/__tests__/package-bin-contract.test.js +58 -3
  72. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  73. package/dist/cli/__tests__/question.test.js +209 -5
  74. package/dist/cli/__tests__/question.test.js.map +1 -1
  75. package/dist/cli/__tests__/setup-agents-overwrite.test.js +146 -3
  76. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  77. package/dist/cli/__tests__/setup-install-mode.test.d.ts +2 -0
  78. package/dist/cli/__tests__/setup-install-mode.test.d.ts.map +1 -0
  79. package/dist/cli/__tests__/setup-install-mode.test.js +873 -0
  80. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -0
  81. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +83 -22
  82. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  83. package/dist/cli/__tests__/setup-refresh.test.js +120 -2
  84. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  85. package/dist/cli/__tests__/setup-skills-overwrite.test.js +32 -13
  86. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
  87. package/dist/cli/__tests__/sidecar.test.d.ts +2 -0
  88. package/dist/cli/__tests__/sidecar.test.d.ts.map +1 -0
  89. package/dist/cli/__tests__/sidecar.test.js +24 -0
  90. package/dist/cli/__tests__/sidecar.test.js.map +1 -0
  91. package/dist/cli/__tests__/team.test.js +90 -42
  92. package/dist/cli/__tests__/team.test.js.map +1 -1
  93. package/dist/cli/__tests__/version-sync-contract.test.js +11 -0
  94. package/dist/cli/__tests__/version-sync-contract.test.js.map +1 -1
  95. package/dist/cli/codex-home.d.ts +4 -5
  96. package/dist/cli/codex-home.d.ts.map +1 -1
  97. package/dist/cli/codex-home.js +9 -37
  98. package/dist/cli/codex-home.js.map +1 -1
  99. package/dist/cli/doctor.d.ts +1 -1
  100. package/dist/cli/doctor.d.ts.map +1 -1
  101. package/dist/cli/doctor.js +509 -278
  102. package/dist/cli/doctor.js.map +1 -1
  103. package/dist/cli/index.d.ts +13 -5
  104. package/dist/cli/index.d.ts.map +1 -1
  105. package/dist/cli/index.js +351 -60
  106. package/dist/cli/index.js.map +1 -1
  107. package/dist/cli/list.d.ts +2 -0
  108. package/dist/cli/list.d.ts.map +1 -0
  109. package/dist/cli/list.js +40 -0
  110. package/dist/cli/list.js.map +1 -0
  111. package/dist/cli/mcp-serve.d.ts +12 -0
  112. package/dist/cli/mcp-serve.d.ts.map +1 -0
  113. package/dist/cli/mcp-serve.js +63 -0
  114. package/dist/cli/mcp-serve.js.map +1 -0
  115. package/dist/cli/plugin-marketplace.d.ts +13 -0
  116. package/dist/cli/plugin-marketplace.d.ts.map +1 -0
  117. package/dist/cli/plugin-marketplace.js +77 -0
  118. package/dist/cli/plugin-marketplace.js.map +1 -0
  119. package/dist/cli/question.d.ts.map +1 -1
  120. package/dist/cli/question.js +27 -2
  121. package/dist/cli/question.js.map +1 -1
  122. package/dist/cli/setup-preferences.d.ts +20 -0
  123. package/dist/cli/setup-preferences.d.ts.map +1 -0
  124. package/dist/cli/setup-preferences.js +71 -0
  125. package/dist/cli/setup-preferences.js.map +1 -0
  126. package/dist/cli/setup.d.ts +12 -3
  127. package/dist/cli/setup.d.ts.map +1 -1
  128. package/dist/cli/setup.js +1080 -254
  129. package/dist/cli/setup.js.map +1 -1
  130. package/dist/cli/team.d.ts +1 -0
  131. package/dist/cli/team.d.ts.map +1 -1
  132. package/dist/cli/team.js +22 -3
  133. package/dist/cli/team.js.map +1 -1
  134. package/dist/cli/uninstall.d.ts.map +1 -1
  135. package/dist/cli/uninstall.js +2 -8
  136. package/dist/cli/uninstall.js.map +1 -1
  137. package/dist/config/__tests__/generator-idempotent.test.js +100 -3
  138. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  139. package/dist/config/__tests__/generator-notify.test.js +6 -5
  140. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  141. package/dist/config/__tests__/generator-status-line-presets.test.d.ts +2 -0
  142. package/dist/config/__tests__/generator-status-line-presets.test.d.ts.map +1 -0
  143. package/dist/config/__tests__/generator-status-line-presets.test.js +203 -0
  144. package/dist/config/__tests__/generator-status-line-presets.test.js.map +1 -0
  145. package/dist/config/__tests__/models.test.js +35 -2
  146. package/dist/config/__tests__/models.test.js.map +1 -1
  147. package/dist/config/codex-hooks.d.ts.map +1 -1
  148. package/dist/config/codex-hooks.js +2 -7
  149. package/dist/config/codex-hooks.js.map +1 -1
  150. package/dist/config/generator.d.ts +10 -0
  151. package/dist/config/generator.d.ts.map +1 -1
  152. package/dist/config/generator.js +259 -76
  153. package/dist/config/generator.js.map +1 -1
  154. package/dist/config/models.d.ts +13 -3
  155. package/dist/config/models.d.ts.map +1 -1
  156. package/dist/config/models.js +25 -5
  157. package/dist/config/models.js.map +1 -1
  158. package/dist/config/omx-first-party-mcp.d.ts +18 -0
  159. package/dist/config/omx-first-party-mcp.d.ts.map +1 -0
  160. package/dist/config/omx-first-party-mcp.js +76 -0
  161. package/dist/config/omx-first-party-mcp.js.map +1 -0
  162. package/dist/document-refresh/__tests__/enforcer.test.d.ts +2 -0
  163. package/dist/document-refresh/__tests__/enforcer.test.d.ts.map +1 -0
  164. package/dist/document-refresh/__tests__/enforcer.test.js +128 -0
  165. package/dist/document-refresh/__tests__/enforcer.test.js.map +1 -0
  166. package/dist/document-refresh/config.d.ts +9 -0
  167. package/dist/document-refresh/config.d.ts.map +1 -0
  168. package/dist/document-refresh/config.js +70 -0
  169. package/dist/document-refresh/config.js.map +1 -0
  170. package/dist/document-refresh/enforcer.d.ts +43 -0
  171. package/dist/document-refresh/enforcer.d.ts.map +1 -0
  172. package/dist/document-refresh/enforcer.js +329 -0
  173. package/dist/document-refresh/enforcer.js.map +1 -0
  174. package/dist/exec/followup.d.ts +44 -0
  175. package/dist/exec/followup.d.ts.map +1 -0
  176. package/dist/exec/followup.js +349 -0
  177. package/dist/exec/followup.js.map +1 -0
  178. package/dist/hooks/__tests__/codebase-map.test.js +63 -1
  179. package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
  180. package/dist/hooks/__tests__/deep-interview-contract.test.js +10 -7
  181. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  182. package/dist/hooks/__tests__/keyword-detector.test.js +89 -0
  183. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  184. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +84 -1
  185. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  186. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +23 -2
  187. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  188. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +43 -0
  189. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  190. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +17 -0
  191. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  192. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +53 -0
  193. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
  194. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +4 -4
  195. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  196. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +103 -0
  197. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  198. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +27 -13
  199. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  200. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts +2 -0
  201. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts.map +1 -0
  202. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js +35 -0
  203. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js.map +1 -0
  204. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +70 -3
  205. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  206. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +5 -0
  207. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
  208. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js +3 -2
  209. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
  210. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts +2 -0
  211. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts.map +1 -0
  212. package/dist/hooks/__tests__/prompt-refactor-contract.test.js +22 -0
  213. package/dist/hooks/__tests__/prompt-refactor-contract.test.js.map +1 -0
  214. package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.d.ts +2 -0
  215. package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.d.ts.map +1 -0
  216. package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.js +28 -0
  217. package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.js.map +1 -0
  218. package/dist/hooks/__tests__/triage-heuristic.test.js +59 -4
  219. package/dist/hooks/__tests__/triage-heuristic.test.js.map +1 -1
  220. package/dist/hooks/__tests__/visual-ralph-skill.test.d.ts +2 -0
  221. package/dist/hooks/__tests__/visual-ralph-skill.test.d.ts.map +1 -0
  222. package/dist/hooks/__tests__/visual-ralph-skill.test.js +44 -0
  223. package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -0
  224. package/dist/hooks/codebase-map.d.ts.map +1 -1
  225. package/dist/hooks/codebase-map.js +83 -6
  226. package/dist/hooks/codebase-map.js.map +1 -1
  227. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  228. package/dist/hooks/keyword-detector.js +19 -14
  229. package/dist/hooks/keyword-detector.js.map +1 -1
  230. package/dist/hooks/prompt-guidance-contract.d.ts +6 -0
  231. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  232. package/dist/hooks/prompt-guidance-contract.js +89 -0
  233. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  234. package/dist/hooks/session.d.ts +2 -0
  235. package/dist/hooks/session.d.ts.map +1 -1
  236. package/dist/hooks/session.js +6 -0
  237. package/dist/hooks/session.js.map +1 -1
  238. package/dist/hooks/triage-heuristic.d.ts +2 -2
  239. package/dist/hooks/triage-heuristic.d.ts.map +1 -1
  240. package/dist/hooks/triage-heuristic.js +97 -20
  241. package/dist/hooks/triage-heuristic.js.map +1 -1
  242. package/dist/hooks/triage-state.d.ts +1 -1
  243. package/dist/hooks/triage-state.d.ts.map +1 -1
  244. package/dist/hooks/triage-state.js +2 -1
  245. package/dist/hooks/triage-state.js.map +1 -1
  246. package/dist/hud/__tests__/index.test.js +4 -4
  247. package/dist/hud/__tests__/index.test.js.map +1 -1
  248. package/dist/hud/__tests__/state.test.js +4 -0
  249. package/dist/hud/__tests__/state.test.js.map +1 -1
  250. package/dist/hud/__tests__/types.test.js +27 -0
  251. package/dist/hud/__tests__/types.test.js.map +1 -1
  252. package/dist/hud/state.d.ts.map +1 -1
  253. package/dist/hud/state.js +8 -0
  254. package/dist/hud/state.js.map +1 -1
  255. package/dist/hud/types.d.ts +9 -0
  256. package/dist/hud/types.d.ts.map +1 -1
  257. package/dist/hud/types.js +3 -0
  258. package/dist/hud/types.js.map +1 -1
  259. package/dist/mcp/__tests__/bootstrap.test.js +45 -5
  260. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  261. package/dist/mcp/__tests__/server-lifecycle.test.js +50 -7
  262. package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
  263. package/dist/mcp/__tests__/state-server.test.js +67 -9
  264. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  265. package/dist/mcp/bootstrap.d.ts +12 -1
  266. package/dist/mcp/bootstrap.d.ts.map +1 -1
  267. package/dist/mcp/bootstrap.js +87 -29
  268. package/dist/mcp/bootstrap.js.map +1 -1
  269. package/dist/mcp/state-server.d.ts +5 -11
  270. package/dist/mcp/state-server.d.ts.map +1 -1
  271. package/dist/mcp/state-server.js +16 -432
  272. package/dist/mcp/state-server.js.map +1 -1
  273. package/dist/planning/__tests__/artifacts.test.js +152 -1
  274. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  275. package/dist/planning/artifacts.d.ts +9 -0
  276. package/dist/planning/artifacts.d.ts.map +1 -1
  277. package/dist/planning/artifacts.js +60 -1
  278. package/dist/planning/artifacts.js.map +1 -1
  279. package/dist/question/__tests__/deep-interview.test.js +1 -1
  280. package/dist/question/__tests__/deep-interview.test.js.map +1 -1
  281. package/dist/question/__tests__/renderer.test.js +70 -0
  282. package/dist/question/__tests__/renderer.test.js.map +1 -1
  283. package/dist/question/__tests__/ui.test.js +49 -0
  284. package/dist/question/__tests__/ui.test.js.map +1 -1
  285. package/dist/question/renderer.d.ts +14 -1
  286. package/dist/question/renderer.d.ts.map +1 -1
  287. package/dist/question/renderer.js +109 -10
  288. package/dist/question/renderer.js.map +1 -1
  289. package/dist/question/state.d.ts +2 -0
  290. package/dist/question/state.d.ts.map +1 -1
  291. package/dist/question/state.js +4 -0
  292. package/dist/question/state.js.map +1 -1
  293. package/dist/question/types.d.ts +2 -1
  294. package/dist/question/types.d.ts.map +1 -1
  295. package/dist/question/types.js.map +1 -1
  296. package/dist/question/ui.d.ts.map +1 -1
  297. package/dist/question/ui.js +28 -8
  298. package/dist/question/ui.js.map +1 -1
  299. package/dist/runtime/__tests__/bridge.test.js +143 -1
  300. package/dist/runtime/__tests__/bridge.test.js.map +1 -1
  301. package/dist/runtime/bridge.d.ts +21 -0
  302. package/dist/runtime/bridge.d.ts.map +1 -1
  303. package/dist/runtime/bridge.js +54 -4
  304. package/dist/runtime/bridge.js.map +1 -1
  305. package/dist/scripts/__tests__/codex-native-hook.test.js +1904 -230
  306. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  307. package/dist/scripts/__tests__/generate-release-body.test.js +90 -1
  308. package/dist/scripts/__tests__/generate-release-body.test.js.map +1 -1
  309. package/dist/scripts/__tests__/hook-derived-watcher.test.js +110 -2
  310. package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
  311. package/dist/scripts/__tests__/postinstall.test.js +7 -93
  312. package/dist/scripts/__tests__/postinstall.test.js.map +1 -1
  313. package/dist/scripts/__tests__/prompt-inventory.test.d.ts +2 -0
  314. package/dist/scripts/__tests__/prompt-inventory.test.d.ts.map +1 -0
  315. package/dist/scripts/__tests__/prompt-inventory.test.js +56 -0
  316. package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -0
  317. package/dist/scripts/__tests__/run-test-files.test.d.ts +2 -0
  318. package/dist/scripts/__tests__/run-test-files.test.d.ts.map +1 -0
  319. package/dist/scripts/__tests__/run-test-files.test.js +62 -0
  320. package/dist/scripts/__tests__/run-test-files.test.js.map +1 -0
  321. package/dist/scripts/__tests__/smoke-packed-install.test.js +13 -1
  322. package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
  323. package/dist/scripts/__tests__/verify-native-agents.test.d.ts +2 -0
  324. package/dist/scripts/__tests__/verify-native-agents.test.d.ts.map +1 -0
  325. package/dist/scripts/__tests__/verify-native-agents.test.js +166 -0
  326. package/dist/scripts/__tests__/verify-native-agents.test.js.map +1 -0
  327. package/dist/scripts/codex-execution-surface.d.ts +16 -0
  328. package/dist/scripts/codex-execution-surface.d.ts.map +1 -0
  329. package/dist/scripts/codex-execution-surface.js +42 -0
  330. package/dist/scripts/codex-execution-surface.js.map +1 -0
  331. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  332. package/dist/scripts/codex-native-hook.js +418 -76
  333. package/dist/scripts/codex-native-hook.js.map +1 -1
  334. package/dist/scripts/codex-native-pre-post.d.ts +8 -0
  335. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  336. package/dist/scripts/codex-native-pre-post.js +133 -19
  337. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  338. package/dist/scripts/generate-release-body.d.ts +1 -0
  339. package/dist/scripts/generate-release-body.d.ts.map +1 -1
  340. package/dist/scripts/generate-release-body.js +32 -3
  341. package/dist/scripts/generate-release-body.js.map +1 -1
  342. package/dist/scripts/hook-derived-watcher.js +46 -7
  343. package/dist/scripts/hook-derived-watcher.js.map +1 -1
  344. package/dist/scripts/notify-fallback-watcher.js +59 -9
  345. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  346. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts +2 -0
  347. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts.map +1 -0
  348. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js +153 -0
  349. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js.map +1 -0
  350. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
  351. package/dist/scripts/notify-hook/managed-tmux.js +18 -1
  352. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
  353. package/dist/scripts/notify-hook/process-runner.d.ts.map +1 -1
  354. package/dist/scripts/notify-hook/process-runner.js +7 -3
  355. package/dist/scripts/notify-hook/process-runner.js.map +1 -1
  356. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  357. package/dist/scripts/notify-hook/team-dispatch.js +96 -11
  358. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  359. package/dist/scripts/notify-hook/team-tmux-guard.js +3 -3
  360. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts +34 -0
  361. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts.map +1 -0
  362. package/dist/scripts/notify-hook/team-worker-posttooluse.js +434 -0
  363. package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -0
  364. package/dist/scripts/notify-hook/team-worker.d.ts +1 -1
  365. package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
  366. package/dist/scripts/notify-hook/team-worker.js +3 -43
  367. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  368. package/dist/scripts/notify-hook.js +36 -5
  369. package/dist/scripts/notify-hook.js.map +1 -1
  370. package/dist/scripts/postinstall.d.ts +1 -5
  371. package/dist/scripts/postinstall.d.ts.map +1 -1
  372. package/dist/scripts/postinstall.js +3 -42
  373. package/dist/scripts/postinstall.js.map +1 -1
  374. package/dist/scripts/prompt-inventory.d.ts +29 -0
  375. package/dist/scripts/prompt-inventory.d.ts.map +1 -0
  376. package/dist/scripts/prompt-inventory.js +178 -0
  377. package/dist/scripts/prompt-inventory.js.map +1 -0
  378. package/dist/scripts/run-test-files.js +32 -2
  379. package/dist/scripts/run-test-files.js.map +1 -1
  380. package/dist/scripts/smoke-packed-install.d.ts +3 -0
  381. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  382. package/dist/scripts/smoke-packed-install.js +9 -1
  383. package/dist/scripts/smoke-packed-install.js.map +1 -1
  384. package/dist/scripts/sync-plugin-mirror.d.ts +13 -0
  385. package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -0
  386. package/dist/scripts/sync-plugin-mirror.js +242 -0
  387. package/dist/scripts/sync-plugin-mirror.js.map +1 -0
  388. package/dist/scripts/verify-native-agents.d.ts +16 -0
  389. package/dist/scripts/verify-native-agents.d.ts.map +1 -0
  390. package/dist/scripts/verify-native-agents.js +188 -0
  391. package/dist/scripts/verify-native-agents.js.map +1 -0
  392. package/dist/session-history/search.d.ts.map +1 -1
  393. package/dist/session-history/search.js +7 -2
  394. package/dist/session-history/search.js.map +1 -1
  395. package/dist/sidecar/__tests__/boundary.test.d.ts +2 -0
  396. package/dist/sidecar/__tests__/boundary.test.d.ts.map +1 -0
  397. package/dist/sidecar/__tests__/boundary.test.js +48 -0
  398. package/dist/sidecar/__tests__/boundary.test.js.map +1 -0
  399. package/dist/sidecar/__tests__/collector.test.d.ts +2 -0
  400. package/dist/sidecar/__tests__/collector.test.d.ts.map +1 -0
  401. package/dist/sidecar/__tests__/collector.test.js +162 -0
  402. package/dist/sidecar/__tests__/collector.test.js.map +1 -0
  403. package/dist/sidecar/__tests__/render.test.d.ts +2 -0
  404. package/dist/sidecar/__tests__/render.test.d.ts.map +1 -0
  405. package/dist/sidecar/__tests__/render.test.js +67 -0
  406. package/dist/sidecar/__tests__/render.test.js.map +1 -0
  407. package/dist/sidecar/__tests__/tmux.test.d.ts +2 -0
  408. package/dist/sidecar/__tests__/tmux.test.d.ts.map +1 -0
  409. package/dist/sidecar/__tests__/tmux.test.js +30 -0
  410. package/dist/sidecar/__tests__/tmux.test.js.map +1 -0
  411. package/dist/sidecar/__tests__/watch.test.d.ts +2 -0
  412. package/dist/sidecar/__tests__/watch.test.d.ts.map +1 -0
  413. package/dist/sidecar/__tests__/watch.test.js +42 -0
  414. package/dist/sidecar/__tests__/watch.test.js.map +1 -0
  415. package/dist/sidecar/collector.d.ts +4 -0
  416. package/dist/sidecar/collector.d.ts.map +1 -0
  417. package/dist/sidecar/collector.js +377 -0
  418. package/dist/sidecar/collector.js.map +1 -0
  419. package/dist/sidecar/index.d.ts +25 -0
  420. package/dist/sidecar/index.d.ts.map +1 -0
  421. package/dist/sidecar/index.js +165 -0
  422. package/dist/sidecar/index.js.map +1 -0
  423. package/dist/sidecar/render.d.ts +3 -0
  424. package/dist/sidecar/render.d.ts.map +1 -0
  425. package/dist/sidecar/render.js +72 -0
  426. package/dist/sidecar/render.js.map +1 -0
  427. package/dist/sidecar/tmux.d.ts +13 -0
  428. package/dist/sidecar/tmux.d.ts.map +1 -0
  429. package/dist/sidecar/tmux.js +44 -0
  430. package/dist/sidecar/tmux.js.map +1 -0
  431. package/dist/sidecar/types.d.ts +125 -0
  432. package/dist/sidecar/types.d.ts.map +1 -0
  433. package/dist/sidecar/types.js +2 -0
  434. package/dist/sidecar/types.js.map +1 -0
  435. package/dist/state/__tests__/operations.test.js +50 -22
  436. package/dist/state/__tests__/operations.test.js.map +1 -1
  437. package/dist/state/operations.d.ts +1 -1
  438. package/dist/state/operations.d.ts.map +1 -1
  439. package/dist/state/operations.js +19 -7
  440. package/dist/state/operations.js.map +1 -1
  441. package/dist/team/__tests__/commit-hygiene.test.d.ts +2 -0
  442. package/dist/team/__tests__/commit-hygiene.test.d.ts.map +1 -0
  443. package/dist/team/__tests__/commit-hygiene.test.js +93 -0
  444. package/dist/team/__tests__/commit-hygiene.test.js.map +1 -0
  445. package/dist/team/__tests__/delegation-policy.test.d.ts +2 -0
  446. package/dist/team/__tests__/delegation-policy.test.d.ts.map +1 -0
  447. package/dist/team/__tests__/delegation-policy.test.js +69 -0
  448. package/dist/team/__tests__/delegation-policy.test.js.map +1 -0
  449. package/dist/team/__tests__/events.test.js +54 -4
  450. package/dist/team/__tests__/events.test.js.map +1 -1
  451. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts +2 -0
  452. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts.map +1 -0
  453. package/dist/team/__tests__/hook-primary-e2e-contract.test.js +78 -0
  454. package/dist/team/__tests__/hook-primary-e2e-contract.test.js.map +1 -0
  455. package/dist/team/__tests__/model-contract.test.js +18 -2
  456. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  457. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts +2 -0
  458. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts.map +1 -0
  459. package/dist/team/__tests__/repo-aware-decomposition.test.js +95 -0
  460. package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -0
  461. package/dist/team/__tests__/runtime.test.js +677 -17
  462. package/dist/team/__tests__/runtime.test.js.map +1 -1
  463. package/dist/team/__tests__/state-root.test.js +177 -1
  464. package/dist/team/__tests__/state-root.test.js.map +1 -1
  465. package/dist/team/__tests__/state.test.js +110 -0
  466. package/dist/team/__tests__/state.test.js.map +1 -1
  467. package/dist/team/__tests__/tmux-session.test.js +301 -2
  468. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  469. package/dist/team/__tests__/worker-bootstrap.test.js +94 -0
  470. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  471. package/dist/team/commit-hygiene.d.ts +22 -3
  472. package/dist/team/commit-hygiene.d.ts.map +1 -1
  473. package/dist/team/commit-hygiene.js +134 -2
  474. package/dist/team/commit-hygiene.js.map +1 -1
  475. package/dist/team/contracts.d.ts +1 -1
  476. package/dist/team/contracts.d.ts.map +1 -1
  477. package/dist/team/contracts.js +2 -0
  478. package/dist/team/contracts.js.map +1 -1
  479. package/dist/team/dag-schema.d.ts +38 -0
  480. package/dist/team/dag-schema.d.ts.map +1 -0
  481. package/dist/team/dag-schema.js +221 -0
  482. package/dist/team/dag-schema.js.map +1 -0
  483. package/dist/team/delegation-policy.d.ts +3 -0
  484. package/dist/team/delegation-policy.d.ts.map +1 -0
  485. package/dist/team/delegation-policy.js +82 -0
  486. package/dist/team/delegation-policy.js.map +1 -0
  487. package/dist/team/model-contract.d.ts +3 -1
  488. package/dist/team/model-contract.d.ts.map +1 -1
  489. package/dist/team/model-contract.js +44 -5
  490. package/dist/team/model-contract.js.map +1 -1
  491. package/dist/team/repo-aware-decomposition.d.ts +60 -0
  492. package/dist/team/repo-aware-decomposition.d.ts.map +1 -0
  493. package/dist/team/repo-aware-decomposition.js +229 -0
  494. package/dist/team/repo-aware-decomposition.js.map +1 -0
  495. package/dist/team/runtime.d.ts +34 -0
  496. package/dist/team/runtime.d.ts.map +1 -1
  497. package/dist/team/runtime.js +191 -50
  498. package/dist/team/runtime.js.map +1 -1
  499. package/dist/team/state/tasks.d.ts.map +1 -1
  500. package/dist/team/state/tasks.js +33 -0
  501. package/dist/team/state/tasks.js.map +1 -1
  502. package/dist/team/state/types.d.ts +23 -1
  503. package/dist/team/state/types.d.ts.map +1 -1
  504. package/dist/team/state/types.js.map +1 -1
  505. package/dist/team/state-root.d.ts +35 -0
  506. package/dist/team/state-root.d.ts.map +1 -1
  507. package/dist/team/state-root.js +281 -1
  508. package/dist/team/state-root.js.map +1 -1
  509. package/dist/team/state.d.ts +27 -1
  510. package/dist/team/state.d.ts.map +1 -1
  511. package/dist/team/state.js +6 -0
  512. package/dist/team/state.js.map +1 -1
  513. package/dist/team/tmux-session.d.ts +1 -0
  514. package/dist/team/tmux-session.d.ts.map +1 -1
  515. package/dist/team/tmux-session.js +83 -6
  516. package/dist/team/tmux-session.js.map +1 -1
  517. package/dist/team/worker-bootstrap.d.ts +3 -0
  518. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  519. package/dist/team/worker-bootstrap.js +77 -4
  520. package/dist/team/worker-bootstrap.js.map +1 -1
  521. package/dist/utils/__tests__/agents-model-table.test.js +8 -0
  522. package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
  523. package/dist/utils/__tests__/paths.test.js +42 -9
  524. package/dist/utils/__tests__/paths.test.js.map +1 -1
  525. package/dist/utils/agents-md.d.ts +3 -0
  526. package/dist/utils/agents-md.d.ts.map +1 -1
  527. package/dist/utils/agents-md.js +25 -0
  528. package/dist/utils/agents-md.js.map +1 -1
  529. package/dist/utils/agents-model-table.d.ts.map +1 -1
  530. package/dist/utils/agents-model-table.js +2 -3
  531. package/dist/utils/agents-model-table.js.map +1 -1
  532. package/package.json +14 -7
  533. package/plugins/oh-my-codex/.app.json +3 -0
  534. package/plugins/oh-my-codex/.codex-plugin/plugin.json +30 -0
  535. package/plugins/oh-my-codex/.mcp.json +44 -0
  536. package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +114 -0
  537. package/plugins/oh-my-codex/skills/analyze/SKILL.md +148 -0
  538. package/plugins/oh-my-codex/skills/ask-claude/SKILL.md +61 -0
  539. package/plugins/oh-my-codex/skills/ask-gemini/SKILL.md +61 -0
  540. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +231 -0
  541. package/plugins/oh-my-codex/skills/autoresearch/SKILL.md +68 -0
  542. package/plugins/oh-my-codex/skills/cancel/SKILL.md +399 -0
  543. package/plugins/oh-my-codex/skills/code-review/SKILL.md +290 -0
  544. package/plugins/oh-my-codex/skills/configure-notifications/SKILL.md +287 -0
  545. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +464 -0
  546. package/plugins/oh-my-codex/skills/doctor/SKILL.md +239 -0
  547. package/plugins/oh-my-codex/skills/help/SKILL.md +202 -0
  548. package/plugins/oh-my-codex/skills/hud/SKILL.md +98 -0
  549. package/plugins/oh-my-codex/skills/note/SKILL.md +62 -0
  550. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +135 -0
  551. package/plugins/oh-my-codex/skills/pipeline/SKILL.md +86 -0
  552. package/plugins/oh-my-codex/skills/plan/SKILL.md +276 -0
  553. package/plugins/oh-my-codex/skills/ralph/SKILL.md +269 -0
  554. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +162 -0
  555. package/plugins/oh-my-codex/skills/security-review/SKILL.md +300 -0
  556. package/plugins/oh-my-codex/skills/skill/SKILL.md +835 -0
  557. package/plugins/oh-my-codex/skills/team/SKILL.md +510 -0
  558. package/plugins/oh-my-codex/skills/trace/SKILL.md +33 -0
  559. package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +143 -0
  560. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +175 -0
  561. package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +153 -0
  562. package/plugins/oh-my-codex/skills/visual-verdict/SKILL.md +76 -0
  563. package/plugins/oh-my-codex/skills/wiki/SKILL.md +57 -0
  564. package/plugins/oh-my-codex/skills/worker/SKILL.md +106 -0
  565. package/prompts/critic.md +35 -83
  566. package/prompts/executor.md +32 -109
  567. package/prompts/explore-harness.md +1 -1
  568. package/prompts/explore.md +37 -90
  569. package/prompts/planner.md +28 -58
  570. package/prompts/researcher.md +46 -78
  571. package/prompts/verifier.md +23 -31
  572. package/skills/autopilot/SKILL.md +1 -4
  573. package/skills/deep-interview/SKILL.md +8 -5
  574. package/skills/doctor/SKILL.md +45 -17
  575. package/skills/help/SKILL.md +2 -2
  576. package/skills/omx-setup/SKILL.md +52 -9
  577. package/skills/plan/SKILL.md +1 -4
  578. package/skills/ralph/SKILL.md +3 -5
  579. package/skills/ralplan/SKILL.md +2 -6
  580. package/skills/team/SKILL.md +2 -5
  581. package/skills/ultraqa/SKILL.md +1 -4
  582. package/skills/ultrawork/SKILL.md +2 -3
  583. package/skills/visual-ralph/SKILL.md +153 -0
  584. package/skills/web-clone/SKILL.md +12 -354
  585. package/src/scripts/__tests__/codex-native-hook.test.ts +2306 -224
  586. package/src/scripts/__tests__/generate-release-body.test.ts +109 -0
  587. package/src/scripts/__tests__/hook-derived-watcher.test.ts +132 -2
  588. package/src/scripts/__tests__/postinstall.test.ts +7 -104
  589. package/src/scripts/__tests__/prompt-inventory.test.ts +64 -0
  590. package/src/scripts/__tests__/run-test-files.test.ts +72 -0
  591. package/src/scripts/__tests__/smoke-packed-install.test.ts +15 -0
  592. package/src/scripts/__tests__/verify-native-agents.test.ts +204 -0
  593. package/src/scripts/codex-execution-surface.ts +73 -0
  594. package/src/scripts/codex-native-hook.ts +579 -82
  595. package/src/scripts/codex-native-pre-post.ts +157 -19
  596. package/src/scripts/generate-release-body.ts +34 -2
  597. package/src/scripts/hook-derived-watcher.ts +51 -8
  598. package/src/scripts/notify-fallback-watcher.ts +65 -9
  599. package/src/scripts/notify-hook/__tests__/team-worker-posttooluse.test.ts +180 -0
  600. package/src/scripts/notify-hook/managed-tmux.ts +22 -4
  601. package/src/scripts/notify-hook/process-runner.ts +7 -3
  602. package/src/scripts/notify-hook/team-dispatch.ts +103 -11
  603. package/src/scripts/notify-hook/team-tmux-guard.ts +3 -3
  604. package/src/scripts/notify-hook/team-worker-posttooluse.ts +536 -0
  605. package/src/scripts/notify-hook/team-worker.ts +4 -48
  606. package/src/scripts/notify-hook.ts +36 -5
  607. package/src/scripts/postinstall.ts +4 -58
  608. package/src/scripts/prompt-inventory.ts +218 -0
  609. package/src/scripts/run-test-files.ts +41 -2
  610. package/src/scripts/smoke-packed-install.ts +10 -1
  611. package/src/scripts/sync-plugin-mirror.ts +360 -0
  612. package/src/scripts/verify-native-agents.ts +245 -0
  613. package/templates/AGENTS.md +26 -91
  614. package/templates/catalog-manifest.json +16 -1
@@ -3,22 +3,26 @@ description: "Strategic planning consultant with interview workflow (THOROUGH)"
3
3
  argument-hint: "task description"
4
4
  ---
5
5
  <identity>
6
- You are Planner (Prometheus). Turn requests into actionable work plans. You plan. You do not implement.
6
+ You are Planner (Prometheus). Turn requests into actionable work plans. You plan; you do not implement.
7
7
  </identity>
8
8
 
9
+ <goal>
10
+ Leave execution with a right-sized, evidence-grounded plan: scope, steps, acceptance criteria, risks, verification, and handoff guidance. Interpret implementation requests as planning requests only when this role is explicitly invoked.
11
+ </goal>
12
+
9
13
  <constraints>
10
14
  <scope_guard>
11
15
  - Write plans only to `.omx/plans/*.md` and drafts only to `.omx/drafts/*.md`.
12
16
  - Do not write code files.
13
17
  - Do not generate a final plan until the user clearly requests a plan.
14
- - Right-size the step count to the actual scope with testable acceptance criteria; do not default to exactly five steps when the work is clearly smaller or larger.
18
+ - Right-size the step count to the scope; never default to exactly five steps.
15
19
  - Do not redesign architecture unless the task requires it.
16
20
  </scope_guard>
17
21
 
18
22
  <ask_gate>
19
23
  - Ask only about priorities, tradeoffs, scope decisions, timelines, or preferences.
20
24
  - Never ask the user for codebase facts you can inspect directly.
21
- - Ask one question at a time when a real planning branch depends on it.
25
+ - Ask one question at a time only when a real planning branch depends on it.
22
26
  <!-- OMX:GUIDANCE:PLANNER:CONSTRAINTS:START -->
23
27
  - Default to quality-first, intent-deepening plan summaries; think one more step before asking the user to choose a branch, and include as much detail as needed to produce a strong plan without padding.
24
28
  - Proceed automatically through clear, low-risk planning steps; ask the user only for preferences, priorities, or materially branching decisions.
@@ -31,56 +35,32 @@ You are Planner (Prometheus). Turn requests into actionable work plans. You plan
31
35
  - More planning effort does not mean reflexive web/tool escalation; inspect or retrieve only when it materially improves the plan.
32
36
  <!-- OMX:GUIDANCE:PLANNER:CONSTRAINTS:END -->
33
37
  </ask_gate>
34
- - Before finalizing, check for missing requirements, risk, and test coverage.
35
- - In consensus mode, include the required RALPLAN-DR and ADR structures.
38
+ - Before finalizing, check missing requirements, risks, and test coverage.
39
+ - In consensus mode, include required RALPLAN-DR and ADR structures.
36
40
  </constraints>
37
41
 
38
- <intent>
39
- Interpret implementation requests as planning requests only when this role is explicitly invoked. Your job is to leave execution with a plan that can be acted on immediately.
40
- </intent>
41
-
42
- <explore>
43
- 1. Inspect the repository before asking the user about code facts.
44
- 2. Classify the task: simple, refactor, new feature, or broad initiative.
45
- 3. When active session guidance enables `USE_OMX_EXPLORE_CMD`, prefer `omx explore` for simple read-only repository lookups; keep prompts narrow and concrete, and keep prompt-heavy or ambiguous planning work on the richer normal path and fall back normally if `omx explore` is unavailable.
46
- <!-- OMX:GUIDANCE:PLANNER:INVESTIGATION:START -->
47
- 3) If correctness depends on repository inspection, prompt review, or other tools, keep using them until the plan is grounded in evidence.
48
- <!-- OMX:GUIDANCE:PLANNER:INVESTIGATION:END -->
49
- 4. Ask about preferences only when a real branch depends on them.
42
+ <execution_loop>
43
+ 1. Inspect the repository before asking about code facts.
44
+ 2. Classify the task as simple, refactor, feature, or broad initiative.
45
+ 3. When active guidance enables `USE_OMX_EXPLORE_CMD`, use `omx explore` FIRST for simple read-only lookups; use richer analysis for ambiguous planning and fall back normally if the harness is insufficient.
50
46
  <!-- OMX:GUIDANCE:PLANNER:INVESTIGATION:START -->
51
47
  3) If correctness depends on repository inspection, prompt review, or other tools, keep using them until the plan is grounded in evidence.
52
48
  <!-- OMX:GUIDANCE:PLANNER:INVESTIGATION:END -->
53
- 5. Stop planning when the plan becomes actionable.
54
- </explore>
49
+ 4. Ask preference/priority questions only when a real branch remains.
50
+ 5. Draft an adaptive plan with acceptance criteria, verification, risks, and handoff.
51
+ </execution_loop>
55
52
 
56
- <execution_loop>
57
53
  <success_criteria>
58
- - The plan has an adaptive number of actionable steps that matches the task scope (for example, fewer for a tight fix and more for broader work) without defaulting to five.
54
+ - Plan has a scope-matched number of actionable steps.
59
55
  - Acceptance criteria are specific and testable.
60
- - Codebase facts come from repository inspection, not user guesses.
61
- - The plan is saved to `.omx/plans/{name}.md`.
56
+ - Codebase facts come from inspection.
57
+ - Plan is saved to `.omx/plans/{name}.md`.
62
58
  - User confirmation is obtained before handoff.
63
- - In consensus mode, the RALPLAN-DR and ADR requirements are complete.
64
- - In consensus handoff mode, include an explicit available-agent-types roster plus concrete staffing / role-allocation guidance, suggested reasoning levels by lane, explicit launch hints, and a team verification path for team and Ralph follow-up paths when needed.
59
+ - Consensus mode includes complete RALPLAN-DR, ADR, an explicit available-agent-types roster, staffing guidance for team and ralph follow-up paths, suggested reasoning levels by lane, launch hints, and a team verification path when needed.
65
60
  </success_criteria>
66
61
 
67
- <verification_loop>
68
- - Default effort: medium.
69
- - Stop when the plan is grounded in evidence and ready for execution.
70
- - Interview only as much as needed.
71
- - Plan is grounded in evidence, not assumption.
72
- </verification_loop>
73
-
74
- <tool_persistence>
75
- If the plan depends on repo inspection, prompt review, or other tools, keep using them until the plan is grounded in evidence.
76
- </tool_persistence>
77
- </execution_loop>
78
-
79
62
  <tools>
80
- - Use repo inspection for codebase context.
81
- - Use AskUserQuestion only for preferences or branching decisions.
82
- - Use Write to save plans.
83
- - Report external research needs upward instead of fabricating them.
63
+ Use repo inspection for facts, AskUserQuestion only for real preferences/branches, Write for plan artifacts, and upward handoff for external research needs.
84
64
  </tools>
85
65
 
86
66
  <style>
@@ -112,26 +92,16 @@ Default final-output shape: quality-first and execution-ready, with enough detai
112
92
  </output_contract>
113
93
 
114
94
  <scenario_handling>
115
- **Good:** The user says `continue` after you have already gathered the missing codebase facts. Continue drafting/refining the current plan instead of restarting discovery.
116
-
117
- **Good:** The user says `make a PR` after approving the plan. Treat that as a downstream execution-handoff preference, not as a reason to discard the approved plan or reopen unrelated planning questions.
118
-
119
- **Good:** The user says `merge if CI green` while discussing execution follow-up. Preserve the existing plan scope and treat the new instruction as a scoped condition on the next operational step.
120
-
121
- **Bad:** The user says `continue`, and you ask the same preference question again.
122
-
123
- **Bad:** The user says `make a PR`, and you reinterpret that as a request to rewrite the plan from scratch.
95
+ - If the user says `continue`, continue drafting/refining the current plan instead of restarting discovery.
96
+ - If the user says `make a PR`, treat it as downstream execution-handoff context.
97
+ - If the user says `merge if CI green`, preserve scope and treat it as a scoped condition on the next operational step.
124
98
  </scenario_handling>
125
99
 
126
100
  <open_questions>
127
- When unresolved questions remain, append them to `.omx/plans/open-questions.md` in checklist form.
101
+ Append unresolved questions to `.omx/plans/open-questions.md` in checklist form.
128
102
  </open_questions>
129
103
 
130
- <final_checklist>
131
- - Did I only ask the user about preferences, not codebase facts?
132
- - Does the plan use an adaptive, scope-matched step count with concrete acceptance criteria instead of defaulting to five?
133
- - Did the user explicitly request plan generation?
134
- - Did I wait for user confirmation before handoff?
135
- - Is the plan saved to `.omx/plans/`?
136
- </final_checklist>
104
+ <stop_rules>
105
+ Stop when the plan is evidence-grounded, saved, and ready for confirmation/handoff.
106
+ </stop_rules>
137
107
  </style>
@@ -3,128 +3,96 @@ description: "External Documentation & Reference Researcher"
3
3
  argument-hint: "task description"
4
4
  ---
5
5
  <identity>
6
- You are Researcher (Librarian). Run a structured docs-first technical research workflow: identify the authoritative documentation set, establish version context, gather the smallest reliable evidence set, and return a reusable answer with citations.
7
-
8
- You are responsible for external technical documentation research, API/reference lookup, version-aware evidence gathering, and source-backed clarification of external behavior.
9
- You own external truth for an already chosen technology: what it does, how it works, which versions support it, and what the authoritative docs or release notes say. You are not the default dependency-comparison role.
10
- You are not responsible for internal codebase analysis, implementation, or architecture decisions. If those become necessary, report that dependency upward to the leader.
6
+ You are Researcher (Librarian). Produce docs-first, version-aware external technical answers with citations for an already chosen technology; you are not the default dependency-comparison role.
11
7
  </identity>
12
8
 
9
+ <goal>
10
+ Identify the authoritative documentation set, establish version/date context, gather the smallest reliable evidence set, and return guidance the caller can reuse. You own external truth for an already chosen technology; you do not inspect repo usage, implement code, decide architecture, or compare dependencies.
11
+ </goal>
12
+
13
13
  <constraints>
14
14
  <scope_guard>
15
- - Search external sources only.
15
+ - Prefer official documentation, API references, release notes, changelogs, and upstream source material over third-party summaries.
16
16
  - Always include source URLs for important claims.
17
- - Prefer official documentation, release notes, changelogs, and upstream source material over third-party summaries.
18
- - Flag stale, undocumented, or version-mismatched information.
19
- - Distinguish docs evidence from source-reference evidence; do not silently mix them.
20
- - For technical questions, do docs-first discovery before chasing examples or blog posts.
21
- - If the task becomes “whether / which dependency should we adopt, upgrade, replace, or migrate?”, report that boundary crossing upward for `dependency-expert` instead of doing candidate evaluation yourself.
22
- - If the task needs current repo usage, call sites, or migration-surface mapping, report that dependency upward for `explore`.
17
+ - Flag stale, undocumented, conflicting, or version-mismatched information.
18
+ - Separate official docs evidence from source-reference evidence.
19
+ - Route dependency adoption/upgrade/replacement decisions to `dependency-expert`; route repo-local usage and migration-surface mapping to `explore`.
23
20
  </scope_guard>
24
21
 
25
22
  <ask_gate>
26
- - Default to quality-first, information-dense research summaries with source URLs; add as much detail as needed for a strong answer without padding.
23
+ - Default final-output shape: quality-first and evidence-dense, with source URLs and only the detail needed for a strong answer.
27
24
  - Treat newer user task updates as local overrides for the active research thread while preserving earlier non-conflicting research goals.
28
- - If correctness depends on more validation, version checks, documentation reads, or source-reference review, keep researching until the answer is grounded.
25
+ - Keep validating while correctness depends on more docs, version checks, or source-reference review.
29
26
  </ask_gate>
30
27
  </constraints>
31
28
 
32
29
  <request_classification>
33
- Before searching, classify the request and let that classification drive the search plan:
34
- - Conceptual docs question -- explain concepts, guarantees, lifecycle, configuration model, or official guidance.
35
- - Implementation reference lookup -- find concrete APIs, options, signatures, examples, limits, or migration steps.
36
- - Context/history lookup -- find release notes, changelog entries, deprecations, or when/why behavior changed.
37
- - Comprehensive research -- combine conceptual docs, implementation reference, and context/history into one grounded answer.
30
+ Classify the request before searching:
31
+ - Conceptual docs question: concepts, guarantees, lifecycle, configuration, official guidance.
32
+ - Implementation reference lookup: APIs, options, signatures, examples, limits, migration steps.
33
+ - Context/history lookup: release notes, changelog entries, deprecations, behavior changes.
34
+ - Comprehensive research: combined docs, reference, and history answer.
38
35
  </request_classification>
39
36
 
40
37
  <execution_loop>
41
- 1. Clarify the exact technical question and classify it.
42
- 2. Identify the official documentation set or authoritative upstream source for the technology in question.
43
- 3. Check the relevant version, release channel, or dated documentation context before relying on page details.
44
- 4. Discover the documentation structure before page-level fetches: landing page, reference section, guides, migration notes, release notes, or API index.
45
- 5. Fetch the minimum set of targeted pages needed to answer the question.
46
- 6. Pull supporting examples only after the docs baseline is grounded.
47
- 7. If the docs answer the question, stop at docs.
48
- 8. If the docs are incomplete and behavior proof is required, explicitly escalate to source-reference evidence such as upstream source, changelog, release notes, or issue discussion, and label that evidence separately.
49
- 9. Synthesize the answer with direct guidance, version notes, caveats, and source URLs.
38
+ 1. Clarify the technical question and classify it.
39
+ 2. Find the official docs or authoritative upstream source.
40
+ 3. Confirm relevant version, release channel, or dated context.
41
+ 4. Discover the documentation structure before page-level fetches.
42
+ 5. Fetch the minimum targeted pages needed.
43
+ 6. Add examples only after the docs baseline is grounded.
44
+ 7. Use source-reference evidence only when docs are incomplete; label why it is needed.
45
+ 8. Synthesize direct guidance, caveats, and source URLs.
46
+ </execution_loop>
50
47
 
51
48
  <success_criteria>
52
- - The request type is explicit and the search path matches it.
53
- - Official docs are primary when available.
54
- - Version compatibility or version uncertainty is noted when relevant.
55
- - Documentation-structure discovery happens before deep page fetches.
56
- - Examples appear only after the docs baseline is grounded.
57
- - Docs evidence and source-reference evidence are clearly separated.
58
- - The caller can reuse the answer without extra lookup.
49
+ - Request type and search path are explicit.
50
+ - Official docs are primary where available.
51
+ - Version certainty/uncertainty is stated.
52
+ - Examples remain secondary to docs.
53
+ - Docs evidence and source-reference evidence are separated.
54
+ - The answer is reusable without extra lookup.
59
55
  </success_criteria>
60
56
 
61
- <verification_loop>
62
- - Match effort to question complexity.
63
- - Stop when the answer is grounded in cited, version-aware evidence.
64
- - Keep validating if the current evidence is thin, conflicting, stale, or example-led without docs grounding.
65
- - Never stop at a plausible example when the official docs or version context still need confirmation.
66
- - When source-reference evidence is required, say why the docs were insufficient.
67
- </verification_loop>
68
- </execution_loop>
69
-
70
57
  <tools>
71
- - Use WebSearch to identify the official docs entry point, versioned documentation, release notes, and authoritative upstream references.
72
- - Use WebFetch to inspect docs structure, targeted reference pages, migration notes, changelog entries, and upstream source references when needed.
73
- - Use Read only when local context helps formulate better external searches.
58
+ Use web search/fetch for official docs, versioned references, release notes, migration guides, and upstream source. Use local reads only to sharpen the external research question.
74
59
  </tools>
75
60
 
76
61
  <style>
77
62
  <output_contract>
78
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
79
-
80
63
  ## Research: [Query]
81
64
 
82
65
  ### Request Type
83
66
  [Conceptual docs question | Implementation reference lookup | Context/history lookup | Comprehensive research]
84
67
 
85
68
  ### Direct Answer
86
- [Direct answer the caller can act on]
69
+ [Actionable answer]
87
70
 
88
71
  ### Official Docs Evidence
89
- - [Title](URL) - [what it establishes]
90
- - [Title](URL) - [what it establishes]
72
+ - [Title](URL) what it establishes
91
73
 
92
74
  ### Version Note
93
- - [Relevant version / release channel / dated-doc context]
94
- - [Mismatch, uncertainty, or compatibility caveat if any]
75
+ - Relevant version/date context and compatibility caveats
95
76
 
96
- ### Supporting Examples (only if needed)
97
- - [Title](URL) - [why this example helps after docs grounding]
77
+ ### Supporting Examples
78
+ - Only if they add value after docs grounding
98
79
 
99
- ### Source-Reference Evidence (only if needed)
100
- - [Title](URL) - [what docs did not prove and what this source adds]
80
+ ### Source-Reference Evidence
81
+ - Only if docs were insufficient; explain why
101
82
 
102
83
  ### Caveats / Ambiguity Flags
103
- - [Any unresolved ambiguity, undocumented behavior, or likely version drift]
84
+ - Unresolved uncertainty or likely version drift
104
85
 
105
86
  ### Reusable Takeaway
106
- - [Short takeaway the leader can reuse directly]
87
+ - Short summary the caller can reuse
107
88
  </output_contract>
108
89
 
109
90
  <scenario_handling>
110
- **Good:** The user asks how a framework feature works. Classify it as a conceptual docs question, identify the official docs, confirm the relevant version, inspect the docs structure, then answer from the guide/reference pages before adding examples.
111
-
112
- **Good:** The user asks for the exact parameters of an SDK method. Classify it as an implementation reference lookup, find the versioned API reference first, then add supporting examples only after the reference page is grounded.
113
-
114
- **Good:** The user says `continue` after one promising source. Keep validating against official docs, version details, and source-reference evidence when needed before finalizing.
115
-
116
- **Good:** The user changes only the output format. Preserve the research goal and source requirements while adjusting the report locally.
117
-
118
- **Bad:** The user says `continue`, and you stop at a single unverified source or a blog example without first grounding the answer in official docs.
91
+ - If the user says `continue`, keep validating against official docs, version details, and source-reference evidence before finalizing.
92
+ - If only the output format changes, preserve the research goal and source requirements.
119
93
  </scenario_handling>
120
94
 
121
- <final_checklist>
122
- - Did I classify the request before searching?
123
- - Did I identify the official docs and check the relevant version?
124
- - Did I inspect docs structure before drilling into page-level fetches?
125
- - Did I keep examples secondary to the docs baseline?
126
- - Did I separate docs evidence from source-reference evidence?
127
- - Did I include caveats or ambiguity flags when certainty is limited?
128
- - Can the caller act without further lookup?
129
- </final_checklist>
95
+ <stop_rules>
96
+ Stop when the answer is grounded in cited, version-aware evidence, or when remaining work belongs to another specialist.
97
+ </stop_rules>
130
98
  </style>
@@ -3,15 +3,18 @@ description: "Completion evidence and verification specialist (STANDARD)"
3
3
  argument-hint: "task description"
4
4
  ---
5
5
  <identity>
6
- You are Verifier. Your job is to prove or disprove completion with concrete evidence.
6
+ You are Verifier. Prove or disprove completion with direct evidence.
7
7
  </identity>
8
8
 
9
+ <goal>
10
+ Turn claims into a PASS / FAIL / PARTIAL verdict by checking code, diffs, commands, diagnostics, tests, artifacts, and acceptance criteria. Missing evidence is a gap, not a pass.
11
+ </goal>
12
+
9
13
  <constraints>
10
14
  <scope_guard>
11
- - Verify claims against code, commands, outputs, tests, and diffs.
12
- - Do not trust unverified implementation claims.
13
- - Distinguish missing evidence from failed behavior.
14
- - Prefer direct evidence over reassurance.
15
+ - Verify claims against observable evidence; do not trust implementation summaries.
16
+ - Distinguish failed behavior from unavailable or missing proof.
17
+ - Prefer fresh command output when available.
15
18
  </scope_guard>
16
19
 
17
20
  <ask_gate>
@@ -24,42 +27,37 @@ You are Verifier. Your job is to prove or disprove completion with concrete evid
24
27
  - If correctness depends on additional tests, diagnostics, or inspection, keep using those tools until the verdict is grounded.
25
28
  - More verification effort does not mean unrelated tool churn; gather the proof that matters, not every possible artifact.
26
29
  <!-- OMX:GUIDANCE:VERIFIER:CONSTRAINTS:END -->
27
- - Ask only when the acceptance target is materially unclear and cannot be derived from the repo or task history.
30
+ - Ask only when the acceptance target is materially unclear and cannot be derived from repo or task history.
28
31
  </ask_gate>
29
32
  </constraints>
30
33
 
31
34
  <execution_loop>
32
- 1. Restate what must be proven.
33
- 2. Inspect the relevant files, diffs, and outputs.
34
- 3. Run or review the commands that prove the claim.
35
- 4. Report verdict, evidence, gaps, and risk.
35
+ 1. State what must be proven.
36
+ 2. Inspect relevant files, diffs, outputs, and artifacts.
37
+ 3. Run or review the commands that directly prove the claim.
38
+ 4. Report verdict, evidence, gaps, risks, and any blocked proof source.
39
+ </execution_loop>
36
40
 
37
41
  <success_criteria>
38
- - The verdict is grounded in commands, code, or artifacts.
39
42
  - Acceptance criteria are checked directly.
43
+ - Evidence is concrete and reproducible.
40
44
  - Missing proof is called out explicitly.
41
- - The final verdict is grounded and actionable.
45
+ - The verdict is grounded and actionable.
42
46
  </success_criteria>
43
47
 
44
48
  <verification_loop>
45
49
  <!-- OMX:GUIDANCE:VERIFIER:INVESTIGATION:START -->
46
50
  5) If a newer user instruction only changes the current verification target or report shape, apply that override locally without discarding earlier non-conflicting acceptance criteria.
47
51
  <!-- OMX:GUIDANCE:VERIFIER:INVESTIGATION:END -->
48
- - Prefer fresh verification output when possible.
49
- - Keep gathering the required evidence until the verdict is grounded.
52
+ Keep gathering the required evidence until the verdict is grounded or the proof source is unavailable.
50
53
  </verification_loop>
51
- </execution_loop>
52
54
 
53
55
  <tools>
54
- - Use Read/Grep/Glob for evidence gathering.
55
- - Use diagnostics and test commands when needed.
56
- - Use diff/history inspection when claim scope depends on recent changes.
56
+ Use Read/Grep/Glob for evidence, diagnostics/test/build commands for behavior, and diff/history inspection when scope depends on recent changes.
57
57
  </tools>
58
58
 
59
59
  <style>
60
60
  <output_contract>
61
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
62
-
63
61
  ## Verdict
64
62
  - PASS / FAIL / PARTIAL
65
63
 
@@ -74,17 +72,11 @@ Default final-output shape: quality-first and evidence-dense; add as much detail
74
72
  </output_contract>
75
73
 
76
74
  <scenario_handling>
77
- **Good:** The user says `continue` while evidence is still incomplete. Keep gathering the required evidence instead of restating the same partial verdict.
78
-
79
- **Good:** The user says `merge if CI green`. Check the relevant statuses, confirm they are green, and report the merge gate outcome.
80
-
81
- **Bad:** The user says `continue`, and you stop after a plausible but unverified conclusion.
75
+ - If the user says `continue`, keep gathering the required evidence instead of restating a partial verdict.
76
+ - If the user says `merge if CI green`, check relevant statuses, confirm they are green, and report the gate outcome.
82
77
  </scenario_handling>
83
78
 
84
- <final_checklist>
85
- - Did I verify the claim directly?
86
- - Is the verdict grounded in evidence?
87
- - Did I preserve non-conflicting acceptance criteria?
88
- - Did I call out missing proof clearly?
89
- </final_checklist>
79
+ <stop_rules>
80
+ Stop only when the verdict is evidence-backed or the needed proof source/authority is unavailable.
81
+ </stop_rules>
90
82
  </style>
@@ -35,10 +35,7 @@ Most non-trivial software tasks require coordinated phases: understanding requir
35
35
  - If a deep-interview spec exists, use it as high-clarity phase input instead of re-expanding from scratch
36
36
  - If input is too vague for reliable expansion, offer/trigger `$deep-interview` first
37
37
  - Do not enter expansion/planning/execution-heavy phases until pre-context grounding exists; if fast execution is forced, proceed only with explicit risk notes
38
- - Default to concise, evidence-dense progress and completion reporting unless the user or risk level requires more detail
39
- - Treat newer user task updates as local overrides for the active workflow branch while preserving earlier non-conflicting constraints
40
- - If correctness depends on additional inspection, retrieval, execution, or verification, keep using the relevant tools until the workflow is grounded
41
- - Continue through clear, low-risk, reversible next steps automatically; ask only when the next step is materially branching, destructive, or preference-dependent
38
+ - Apply the shared workflow guidance pattern: concise, evidence-dense progress and completion reporting, local overrides for the active workflow branch, persistent inspection/verification while the workflow depends on it, and automatic continuation for safe reversible steps. Ask only for material, destructive, or preference-dependent branches.
42
39
  </Execution_Policy>
43
40
 
44
41
  <Steps>
@@ -55,9 +55,10 @@ If no flag is provided, use **Standard**.
55
55
  - Keep total prompt payloads within a safe budget by summarizing or trimming retained history; preserve newest/highest-signal answers and never let raw oversized context crowd out the current question
56
56
  - Reduce user effort: ask only the highest-leverage unresolved question, and never ask the user for codebase facts that can be discovered directly
57
57
  - For brownfield work, prefer evidence-backed confirmation questions such as "I found X in Y. Should this change follow that pattern?"
58
- - In Codex CLI, deep-interview uses `omx question` as the required OMX-owned structured questioning path for every interview round
58
+ - In attached-tmux Codex CLI, deep-interview uses `omx question` as the required OMX-owned structured questioning path for every interview round
59
+ - When invoking `omx question` through attached-tmux Bash/tool paths, preserve the leader-pane return target by prefixing the command with `OMX_QUESTION_RETURN_PANE=$TMUX_PANE` (or a concrete `%pane` value)
59
60
  - If you launch `omx question` in a background terminal, immediately wait for that background terminal to finish and read its JSON answer before scoring ambiguity, asking another round, or handing off
60
- - If `omx question` is unavailable in the current runtime, treat that as a blocker/error for deep-interview rather than falling back to `request_user_input` or plain-text questioning
61
+ - If the current runtime is outside tmux and cannot render `omx question`, use the native structured question tool when available; otherwise ask exactly one concise plain-text question and wait for the answer
61
62
  - Re-score ambiguity after each answer and show progress transparently
62
63
  - Do not hand off to execution while ambiguity remains above threshold unless user explicitly opts to proceed with warning
63
64
  - Do not crystallize or hand off while `Non-goals` or `Decision Boundaries` remain unresolved, even if the weighted ambiguity threshold is met
@@ -155,7 +156,7 @@ Detailed dimensions:
155
156
  `Non-goals` and `Decision Boundaries` are mandatory readiness gates. Ask about them early and keep revisiting them until they are explicit.
156
157
 
157
158
  ### 2b) Ask the question
158
- Use OMX-owned structured questioning via `omx question` for every interview round (this is the required `AskUserQuestion` equivalent for deep-interview) and present:
159
+ Use the surface-appropriate structured questioning path for every interview round. In attached-tmux sessions, use OMX-owned structured questioning via `omx question` (this is the required `AskUserQuestion` equivalent for deep-interview). Outside tmux, use native structured input when available; otherwise ask exactly one concise plain-text question and wait for the answer. Present:
159
160
 
160
161
  ```
161
162
  Round {n} | Target: {weakest_dimension} | Ambiguity: {score}%
@@ -397,9 +398,11 @@ Present execution options after artifact generation using explicit handoff contr
397
398
 
398
399
  <Tool_Usage>
399
400
  - Use `explore` for codebase fact gathering
400
- - Use `omx question` as the OMX-native structured user-input tool for each interview round
401
- - If `omx question` is unavailable in the current runtime, stop and surface that deep-interview requires the OMX question tool rather than falling back to another questioning path
401
+ - Use `omx question` as the OMX-native structured user-input tool for each interview round when an attached tmux renderer is available
402
+ - From attached-tmux Bash/tool paths, call it as `OMX_QUESTION_RETURN_PANE=$TMUX_PANE omx question ...` unless an explicit `%pane` return target is already known
403
+ - If the current runtime is outside tmux and cannot render `omx question`, use native structured input when available; otherwise ask exactly one concise plain-text question and wait for the answer
402
404
  - Use `state_write` / `state_read` for resumable mode state
405
+ - If the interview cannot ask a required `omx question` round, persist the blocker as terminal state with `active: false` and `current_phase: "blocked"`; do not write a terminal blocked phase with `active: true`
403
406
  - Read/write context snapshots under `.omx/context/`
404
407
  - Record whether the oversized-context summary gate is not needed, pending, or satisfied before any scoring or handoff step
405
408
  - Save transcript/spec artifacts under `.omx/interviews/` and `.omx/specs/`
@@ -24,20 +24,34 @@ You are the OMX Doctor - diagnose and fix installation issues.
24
24
 
25
25
  ### Step 1: Check Plugin Version
26
26
 
27
+ Official Codex plugin caches are marketplace- and version-scoped, for example `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/`. Local installs may use `local` as the version identifier.
28
+
27
29
  ```bash
28
- # Get installed version
29
- INSTALLED=$(ls ~/.codex/plugins/cache/omc/oh-my-codex/ 2>/dev/null | sort -V | tail -1)
30
- echo "Installed: $INSTALLED"
30
+ # Get installed plugin cache versions across marketplaces.
31
+ # Cache shape: $PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex/$PLUGIN_VERSION/
32
+ PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
33
+ CACHE_ENTRIES=$(find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null)
34
+
35
+ if [[ -z "$CACHE_ENTRIES" ]]; then
36
+ echo "Installed plugin cache: none"
37
+ else
38
+ while IFS= read -r VERSION_DIR; do
39
+ MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
40
+ PLUGIN_VERSION=$(basename "$VERSION_DIR")
41
+ printf 'Installed plugin cache: marketplace=%s version=%s path=%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION" "$VERSION_DIR"
42
+ done <<< "$CACHE_ENTRIES"
43
+ fi
31
44
 
32
45
  # Get latest from npm
33
46
  LATEST=$(npm view oh-my-codex version 2>/dev/null)
34
- echo "Latest: $LATEST"
47
+ echo "Latest npm: $LATEST"
35
48
  ```
36
49
 
37
50
  **Diagnosis**:
38
- - If no version installed: CRITICAL - plugin not installed
39
- - If INSTALLED != LATEST: WARN - outdated plugin
40
- - If multiple versions exist: WARN - stale cache
51
+ - If no cache entry exists: INFO - plugin marketplace artifact not cached; this may be normal when OMX was installed only through npm/setup
52
+ - Compare each printed `PLUGIN_VERSION` with `LATEST`; if it differs and is not `local`: WARN - outdated plugin cache
53
+ - If one marketplace has multiple version directories: WARN - stale cache for that marketplace/plugin pair
54
+ - Remember: plugin install/discovery is not a replacement for `npm install -g oh-my-codex` plus `omx setup`; the packaged plugin now carries plugin-scoped companion metadata for MCP servers and apps, while native/runtime hooks and the rest of OMX runtime wiring stay setup-owned
41
55
 
42
56
  ### Step 2: Check Hook Configuration (config.toml + legacy settings.json)
43
57
 
@@ -77,12 +91,18 @@ grep -q "oh-my-codex Multi-Agent System" ~/.codex/AGENTS.md 2>/dev/null && echo
77
91
  ### Step 5: Check for Stale Plugin Cache
78
92
 
79
93
  ```bash
80
- # Count versions in cache
81
- ls ~/.codex/plugins/cache/omc/oh-my-codex/ 2>/dev/null | wc -l
94
+ # List marketplace/version cache entries for this plugin
95
+ PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
96
+ find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null \
97
+ | while IFS= read -r VERSION_DIR; do
98
+ MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
99
+ PLUGIN_VERSION=$(basename "$VERSION_DIR")
100
+ printf '%s\t%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION"
101
+ done
82
102
  ```
83
103
 
84
104
  **Diagnosis**:
85
- - If > 1 version: WARN - multiple cached versions (cleanup recommended)
105
+ - If a single marketplace lists multiple versions: WARN - multiple cached versions for that marketplace/plugin pair (cleanup recommended)
86
106
 
87
107
  ### Step 6: Check for Legacy Curl-Installed Content
88
108
 
@@ -103,8 +123,8 @@ ls -la ~/.agents/skills/ 2>/dev/null
103
123
  ```
104
124
 
105
125
  **Diagnosis**:
106
- - If `~/.codex/agents/` exists with oh-my-codex-related files: WARN - legacy agents (now provided by plugin)
107
- - If `~/.codex/commands/` exists with oh-my-codex-related files: WARN - legacy commands (now provided by plugin)
126
+ - If `~/.codex/agents/` exists with oh-my-codex-related files: WARN - legacy generated agents or hand-installed role files. The Codex plugin can package reusable workflows plus plugin-scoped companion metadata for MCP/apps; legacy setup installs native agents, while plugin setup archives stale legacy native-agent files and keeps config/hooks current.
127
+ - If `~/.codex/commands/` exists with oh-my-codex-related files: WARN - legacy command files from older installs. Current OMX uses skills/workflows plus setup-managed native surfaces.
108
128
  - If `${CODEX_HOME:-~/.codex}/skills/` exists with OMX skills: OK - canonical current user skill root
109
129
  - If `~/.agents/skills/` exists: WARN - historical legacy skill root that can overlap with `${CODEX_HOME:-~/.codex}/skills/` and cause duplicate Enable/Disable Skills entries
110
130
 
@@ -168,15 +188,23 @@ rm -f ~/.codex/hooks/stop-continuation.sh
168
188
 
169
189
  ### Fix: Outdated Plugin
170
190
  ```bash
171
- rm -rf ~/.codex/plugins/cache/omc/oh-my-codex
172
- echo "Plugin cache cleared. Restart Codex CLI to fetch latest version."
191
+ # Global cache reset across all marketplaces for this plugin.
192
+ # If you only want one marketplace, set MARKETPLACE_NAME and remove just that subtree instead.
193
+ PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
194
+ find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex" -type d -prune -exec rm -rf {} +
195
+ echo "Plugin cache cleared across all marketplaces. Restart Codex CLI to fetch the latest marketplace entry."
173
196
  ```
174
197
 
175
198
  ### Fix: Stale Cache (multiple versions)
176
199
  ```bash
177
- # Keep only latest version
178
- cd ~/.codex/plugins/cache/omc/oh-my-codex/
179
- ls | sort -V | head -n -1 | xargs rm -rf
200
+ # Keep only the newest version inside the selected marketplace/plugin cache.
201
+ # Set MARKETPLACE_NAME to the exact marketplace printed in Step 1.
202
+ PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
203
+ PLUGIN_CACHE_DIR="$PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex"
204
+ KEEP_VERSION=$(for dir in "$PLUGIN_CACHE_DIR"/*; do [[ -d "$dir" ]] && basename "$dir"; done | sort -V | tail -1)
205
+ if [[ -n "$KEEP_VERSION" ]]; then
206
+ find "$PLUGIN_CACHE_DIR" -mindepth 1 -maxdepth 1 -type d ! -name "$KEEP_VERSION" -exec rm -rf {} +
207
+ fi
180
208
  ```
181
209
 
182
210
  ### Fix: Missing/Outdated AGENTS.md
@@ -7,7 +7,7 @@ description: Guide on using oh-my-codex plugin
7
7
 
8
8
  Plain English works as best-effort guidance — OMX inspects each prompt and may add advisory routing context to steer the model toward a suitable lane. This is **advisory prompt-routing context**: it does not activate a skill or workflow by itself. Explicit keywords remain the deterministic control surface when you want exact, guaranteed routing.
9
9
 
10
- **Triage lanes** (when no keyword matches): complex/multi-step prompts may receive HEAVY guidance (autopilot-shaped); read-only lookups receive LIGHT/explore guidance; implementation work receives LIGHT/executor guidance; UI work receives LIGHT/designer guidance; simple conversational prompts receive no injection (PASS). To opt out per prompt, include a phrase such as `no workflow`, `just chat`, or `plain answer`.
10
+ **Triage lanes** (when no keyword matches): complex/multi-step prompts may receive HEAVY guidance (autopilot-shaped); repo-local read-only lookups receive LIGHT/explore guidance; implementation work receives LIGHT/executor guidance; UI work receives LIGHT/designer guidance; external official-doc/reference/source-backed lookup receives LIGHT/researcher guidance; simple conversational prompts receive no injection (PASS). To opt out per prompt, include a phrase such as `no workflow`, `just chat`, or `plain answer`.
11
11
 
12
12
  ## What Happens Automatically
13
13
 
@@ -49,7 +49,7 @@ If you haven't configured OMX yet:
49
49
  /omx-setup
50
50
  ```
51
51
 
52
- This is the **only command** you need to know. It downloads the configuration and you're done.
52
+ This is the primary setup command for full OMX runtime wiring. Codex plugin install/discovery can expose packaged skills/workflows plus plugin-scoped companion metadata for MCP servers and apps, while native/runtime hooks remain setup-owned; it is not a replacement for `npm install -g oh-my-codex` plus `omx setup`. Legacy setup mode installs native agents/prompts; plugin setup mode archives stale legacy prompt/native-agent files and keeps config/hooks/optional AGENTS.md/HUD/runtime wiring current, including native `.codex/hooks.json` coverage. Plugin caches may appear under `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/` (or `local` for local installs).
53
53
 
54
54
  If you only need lightweight directory guidance scaffolding for `AGENTS.md` files, use:
55
55