oh-my-opencode 4.16.3 → 4.17.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 (220) hide show
  1. package/.agents/command/omomomo.md +1 -1
  2. package/.agents/command/publish.md +31 -58
  3. package/.agents/skills/hyperplan/SKILL.md +3 -3
  4. package/.agents/skills/omomomo/SKILL.md +1 -1
  5. package/.agents/skills/pre-publish-review/SKILL.md +1 -1
  6. package/.agents/skills/publish/SKILL.md +32 -59
  7. package/.opencode/command/omomomo.md +1 -1
  8. package/.opencode/command/publish.md +31 -58
  9. package/.opencode/skills/hyperplan/SKILL.md +3 -3
  10. package/.opencode/skills/pre-publish-review/SKILL.md +4 -1
  11. package/README.ja.md +4 -4
  12. package/README.ko.md +4 -4
  13. package/README.md +2 -2
  14. package/README.ru.md +4 -4
  15. package/README.zh-cn.md +4 -4
  16. package/dist/cli/index.js +195 -76
  17. package/dist/cli-node/index.js +195 -76
  18. package/dist/features/team-mode/test-support/async-test-helpers.d.ts +2 -2
  19. package/dist/index.js +310 -299
  20. package/dist/plugin/chat-message/types.d.ts +4 -0
  21. package/dist/plugin/command-execute-before.d.ts +1 -0
  22. package/dist/plugin/stop-continuation.d.ts +17 -0
  23. package/dist/skills/remove-ai-slops/SKILL.md +2 -2
  24. package/dist/skills/review-work/SKILL.md +10 -2
  25. package/dist/skills/start-work/SKILL.md +6 -3
  26. package/dist/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
  27. package/dist/skills/ultimate-browsing/engine/templates/package.json +1 -1
  28. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  29. package/dist/skills/ulw-plan/SKILL.md +2 -1
  30. package/dist/skills/ulw-plan/references/full-workflow.md +1 -1
  31. package/dist/skills/ulw-plan/references/intent-unclear.md +4 -4
  32. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
  33. package/dist/skills/visual-qa/SKILL.md +9 -5
  34. package/dist/tui.js +79 -32
  35. package/package.json +15 -14
  36. package/packages/git-bash-mcp/package.json +27 -0
  37. package/packages/lsp-daemon/dist/cli.js +7 -13
  38. package/packages/lsp-daemon/dist/daemon-client.js +3 -5
  39. package/packages/lsp-daemon/dist/index.js +12 -18
  40. package/packages/lsp-daemon/dist/request-routing.js +6 -8
  41. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +3 -1
  42. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +1080 -1017
  43. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  44. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  45. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  46. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  47. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  48. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  49. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  50. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/AGENTS.md +2 -2
  51. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +6 -2
  52. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +6 -2
  53. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +2 -2
  54. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  55. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +6 -2
  56. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +1 -1
  57. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +67 -2
  58. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +14 -14
  59. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  60. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  61. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +0 -13
  62. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.5.md +2 -2
  63. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.6.md +3 -3
  64. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  65. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  66. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  67. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  68. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +1 -79
  69. package/packages/omo-codex/plugin/components/teammode/AGENTS.md +2 -2
  70. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  71. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  72. package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +33 -16
  73. package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +2 -1
  74. package/packages/omo-codex/plugin/components/teammode/test/v2-spawn-schema.test.ts +69 -0
  75. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  76. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  77. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +2 -2
  78. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +2 -2
  79. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +6 -6
  80. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +5 -5
  81. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +26 -0
  82. package/packages/omo-codex/plugin/components/ultrawork/agents/{lazycodex-executor.toml → lazycodex-worker-low.toml} +6 -4
  83. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +26 -0
  84. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +2 -2
  85. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +7 -7
  86. package/packages/omo-codex/plugin/components/ultrawork/directive.md +76 -37
  87. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  88. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  89. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +76 -37
  90. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -1
  91. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +1 -1
  92. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +4 -4
  93. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
  94. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +25 -0
  95. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +0 -68
  96. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  97. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
  98. package/packages/omo-codex/plugin/components/ulw-loop/README.md +3 -1
  99. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +76 -37
  100. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +6 -1
  101. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
  102. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +13 -2
  103. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +405 -25
  104. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +12 -1
  105. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +4 -2
  106. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +7 -0
  107. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +16 -1
  108. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -0
  109. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.d.ts +6 -0
  110. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +20 -0
  111. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +1 -0
  112. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +12 -9
  113. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +3 -0
  114. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +148 -0
  115. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.d.ts +2 -0
  116. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +209 -0
  117. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +25 -2
  118. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  119. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +14 -15
  120. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +30 -28
  121. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +6 -1
  122. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +14 -3
  123. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +10 -0
  124. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +12 -1
  125. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +4 -2
  126. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +27 -1
  127. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -0
  128. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +23 -0
  129. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +16 -9
  130. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +138 -0
  131. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +208 -0
  132. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +12 -0
  133. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +4 -1
  134. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +8 -35
  135. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +24 -13
  136. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -2
  137. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +43 -8
  138. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +55 -2
  139. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +228 -0
  140. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +193 -0
  141. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  142. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  143. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  144. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  145. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  146. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  147. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  148. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  149. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  150. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +18 -0
  151. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  152. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  153. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  154. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  155. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  156. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  157. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  158. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +17 -0
  159. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  160. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +2 -2
  161. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  162. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  163. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  164. package/packages/omo-codex/plugin/model-catalog.json +16 -7
  165. package/packages/omo-codex/plugin/package-lock.json +13 -13
  166. package/packages/omo-codex/plugin/package.json +1 -1
  167. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +16 -7
  168. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +8 -2
  169. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +2 -2
  170. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +2 -2
  171. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +4 -4
  172. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +18 -4
  173. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +6 -3
  174. package/packages/omo-codex/plugin/skills/teammode/SKILL.md +33 -16
  175. package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +2 -1
  176. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
  177. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  178. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  179. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +76 -37
  180. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +14 -15
  181. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +30 -28
  182. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -1
  183. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +1 -1
  184. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +4 -4
  185. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
  186. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +2 -2
  187. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +11 -7
  188. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +76 -16
  189. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +23 -2
  190. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -1
  191. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +4 -4
  192. package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -4
  193. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +2 -2
  194. package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +4 -101
  195. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +14 -14
  196. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +11 -0
  197. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
  198. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +5 -3
  199. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +25 -0
  200. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +24 -0
  201. package/packages/omo-codex/plugin/test/ulw-plan-skill-contract.test.mjs +9 -40
  202. package/packages/omo-codex/plugin/test/ulw-research-skill-contract.test.mjs +4 -277
  203. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +5 -5
  204. package/packages/omo-codex/scripts/install-config.test.mjs +22 -3
  205. package/packages/omo-codex/scripts/install-dist/install-local.mjs +98 -30
  206. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +2 -2
  207. package/packages/shared-skills/skills/review-work/SKILL.md +10 -2
  208. package/packages/shared-skills/skills/start-work/SKILL.md +6 -3
  209. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
  210. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  211. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  212. package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -1
  213. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +1 -1
  214. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +4 -4
  215. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
  216. package/packages/shared-skills/skills/visual-qa/SKILL.md +9 -5
  217. package/dist/skills/visual-qa/scripts/skill-prompt-contract.test.ts +0 -296
  218. package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +0 -70
  219. package/packages/omo-codex/plugin/test/ulw-research-epistemic-contract.test.mjs +0 -98
  220. package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +0 -296
@@ -17,7 +17,7 @@ Print the following message to the user EXACTLY as written (in a friendly, celeb
17
17
 
18
18
  **Oh My OpenCode** is a powerful OpenCode plugin that transforms your AI agent into a full development team:
19
19
 
20
- - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian (Claude), Explore (Grok), Frontend Engineer (Gemini), and more
20
+ - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian & Explore (GPT-5.4 Mini Fast), Frontend Engineer (Gemini), and more
21
21
  - 🔧 **LSP Tools**: Full IDE capabilities for your agents - hover, goto definition, find references, rename, code actions
22
22
  - 🔍 **AST-Grep**: Structural code search and replace across 25 languages
23
23
  - 📚 **Built-in MCPs**: Context7 for docs, Exa for web search, grep.app for GitHub code search
@@ -6,13 +6,21 @@ argument-hint: <patch|minor|major>
6
6
  <command-instruction>
7
7
  You are the release manager for oh-my-opencode. Execute the FULL publish workflow from start to finish.
8
8
 
9
+ ## CRITICAL: PUBLISH IS SHIP-ONLY — GO STRAIGHT TO THE WORKFLOW
10
+
11
+ `origin/dev` is already gated: every PR and push ran CI (test/typecheck/codex-compatibility on 3 OSes), and the publish workflow re-runs those same gates before anything is published.
12
+
13
+ - **NEVER run `/pre-publish-review`, `/review-work`, or any code re-review as part of a publish request.** Those run ONLY when the user explicitly asks for a review.
14
+ - **NEVER "fix" code, open PRs, or enter fix-and-re-audit loops during a publish.** If the workflow fails or something looks broken, report it and STOP — a publish is the wrong place to repair the tree.
15
+ - A publish request with a bump type goes from Step 0 to Step 3 (trigger) in minutes. The only human-scale work is release notes, drafted while CI runs.
16
+
9
17
  ## CRITICAL: FULL WORKFLOW MEANS THREE RELEASE SURFACES
10
18
 
11
19
  Publishing is complete only after all release surfaces are verified:
12
20
 
13
21
  | Release layer | Surface | Required proof |
14
22
  |---|---|---|
15
- | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | `/get-unpublished-changes` and pre-publish review include layer-specific version impact. |
23
+ | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | Release notes call out layer-specific version impact (from the workflow changelog, or `/get-unpublished-changes` when the user requested it). |
16
24
  | `omo opencode` | `oh-my-opencode` and `oh-my-openagent` npm packages plus platform packages | npm versions and GitHub release exist for the selected bump. |
17
25
  | `omo codex` | `lazycodex-ai`, Codex plugin metadata, and `code-yeongyu/lazycodex` marketplace release | Codex plugin metadata is stamped with the release version, `lazycodex-ai` publishes, and the LazyCodex repo release is created when the marketplace payload changed. |
18
26
 
@@ -48,8 +56,7 @@ The publish workflow must not be reported complete while any of `oh-my-opencode`
48
56
  { "id": "apply-summary", "content": "Prepend enhanced summary to release (if user opted in)", "status": "pending", "priority": "high" },
49
57
  { "id": "verify-npm", "content": "Verify npm package published successfully", "status": "pending", "priority": "high" },
50
58
  { "id": "verify-lazycodex", "content": "Verify lazycodex-ai publish, Codex plugin metadata version stamp, and code-yeongyu/lazycodex release/sync", "status": "pending", "priority": "high" },
51
- { "id": "wait-platform-workflow", "content": "Wait for publish-platform workflow completion", "status": "pending", "priority": "high" },
52
- { "id": "verify-platform-binaries", "content": "Verify all 7 platform binary packages published", "status": "pending", "priority": "high" },
59
+ { "id": "verify-platform-binaries", "content": "Spot-check platform binary packages on npm", "status": "pending", "priority": "high" },
53
60
  { "id": "final-confirmation", "content": "Final confirmation to user with links", "status": "pending", "priority": "low" }
54
61
  ]
55
62
  ```
@@ -60,10 +67,7 @@ The publish workflow must not be reported complete while any of `oh-my-opencode`
60
67
 
61
68
  ## STEP 1: CONFIRM BUMP TYPE
62
69
 
63
- If bump type provided as argument, confirm with user:
64
- > "Version bump type: `{bump}`. Proceed? (y/n)"
65
-
66
- Wait for user confirmation before proceeding.
70
+ If the user already named a bump type (argument or message), that IS the confirmation — state it and continue immediately. Only ask and wait when no bump type was given.
67
71
 
68
72
  ---
69
73
 
@@ -80,7 +84,7 @@ Run: `git status --porcelain`
80
84
 
81
85
  Check if there are unpushed commits:
82
86
  ```bash
83
- git log origin/master..HEAD --oneline
87
+ git log @{u}..HEAD --oneline
84
88
  ```
85
89
 
86
90
  **If there are unpushed commits, you MUST sync before triggering workflow:**
@@ -108,14 +112,21 @@ gh run list --workflow=publish --limit=1 --json databaseId,status --jq '.[0]'
108
112
 
109
113
  ## STEP 4: WAIT FOR WORKFLOW COMPLETION
110
114
 
111
- Poll workflow status every 30 seconds until completion:
115
+ The publish run is a single workflow with sequential stages. Expected timeline (from recent real runs, ~30 min total):
116
+
117
+ | Stage (job) | What it does | Typical |
118
+ |---|---|---|
119
+ | `test` / `typecheck` / `codex-compatibility` (3 OS) | Re-runs the CI gates on the release source | 4–8 min (Windows is the long pole) |
120
+ | `prepare-release-state` | Stamps versions, opens + auto-merges the `release: vX.Y.Z` PR, waits for that PR's required CI checks | 10–15 min (dominant stage) |
121
+ | `publish-platform` (build + publish, 12 targets) | Builds and publishes both platform package families | 3–4 min |
122
+ | `publish-main` → `release` | Publishes `oh-my-opencode` / `oh-my-openagent` / `lazycodex-ai`, creates the GitHub release, syncs `code-yeongyu/lazycodex` | 4–6 min |
123
+
124
+ Poll job-level status every 30 seconds and report stage transitions to the user:
112
125
  ```bash
113
- gh run view {run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
126
+ gh run view {run_id} --json status,conclusion,jobs --jq '{status, conclusion, stage: ([.jobs[] | select(.status=="in_progress") | .name] | join(", "))}'
114
127
  ```
115
128
 
116
- Status flow: `queued` `in_progress` `completed`
117
-
118
- **IMPORTANT: Use polling loop, NOT sleep commands.**
129
+ **IMPORTANT: Use polling loop, NOT sleep commands.** Use the waiting time to draft the enhanced release summary (Step 6) — do not sit idle, and do not start any review activity.
119
130
 
120
131
  If conclusion is `failure`, show error and stop:
121
132
  ```bash
@@ -297,54 +308,17 @@ Compare with expected version. If not matching after 2 minutes, warn user about
297
308
 
298
309
  ---
299
310
 
300
- ## STEP 8.5: WAIT FOR PLATFORM WORKFLOW COMPLETION
301
-
302
- The main publish workflow triggers a separate `publish-platform` workflow for platform-specific binaries.
303
-
304
- 1. Find the publish-platform workflow run triggered by the main workflow:
305
- ```bash
306
- gh run list --workflow=publish-platform --limit=1 --json databaseId,status,conclusion --jq '.[0]'
307
- ```
308
-
309
- 2. Poll workflow status every 30 seconds until completion:
310
- ```bash
311
- gh run view {platform_run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
312
- ```
313
-
314
- **IMPORTANT: Use polling loop, NOT sleep commands.**
315
-
316
- If conclusion is `failure`, show error logs:
317
- ```bash
318
- gh run view {platform_run_id} --log-failed
319
- ```
320
-
321
- ---
322
-
323
- ## STEP 8.6: VERIFY PLATFORM BINARY PACKAGES
311
+ ## STEP 8.5: SPOT-CHECK PLATFORM BINARY PACKAGES
324
312
 
325
- After publish-platform workflow completes, verify all 7 platform packages are published:
313
+ Platform packages are built and published by the `publish-platform` jobs INSIDE the same publish run — there is no separate workflow to wait for, and `publish-main` already refuses to publish unless matching platform binaries exist. Spot-check a representative sample:
326
314
 
327
315
  ```bash
328
- PLATFORMS="darwin-arm64 darwin-x64 linux-x64 linux-arm64 linux-x64-musl linux-arm64-musl windows-x64"
329
- for PLATFORM in $PLATFORMS; do
330
- npm view "oh-my-opencode-${PLATFORM}" version
316
+ for PKG in oh-my-opencode-darwin-arm64 oh-my-openagent-linux-x64 oh-my-opencode-windows-x64; do
317
+ npm view "$PKG" version
331
318
  done
332
319
  ```
333
320
 
334
- All 7 packages should show the same version as the main package (`${NEW_VERSION}`).
335
-
336
- **Expected packages:**
337
- | Package | Description |
338
- |---------|-------------|
339
- | `oh-my-opencode-darwin-arm64` | macOS Apple Silicon |
340
- | `oh-my-opencode-darwin-x64` | macOS Intel |
341
- | `oh-my-opencode-linux-x64` | Linux x64 (glibc) |
342
- | `oh-my-opencode-linux-arm64` | Linux ARM64 (glibc) |
343
- | `oh-my-opencode-linux-x64-musl` | Linux x64 (musl/Alpine) |
344
- | `oh-my-opencode-linux-arm64-musl` | Linux ARM64 (musl/Alpine) |
345
- | `oh-my-opencode-windows-x64` | Windows x64 |
346
-
347
- If any platform package version doesn't match, warn the user and suggest checking the publish-platform workflow logs.
321
+ Each should show `${NEW_VERSION}`. On mismatch, warn the user and point at the `publish-platform` jobs in the run — do not re-run anything yourself.
348
322
 
349
323
  ---
350
324
 
@@ -354,7 +328,7 @@ Report success to user with:
354
328
  - New version number
355
329
  - GitHub release URL: https://github.com/code-yeongyu/oh-my-opencode/releases/tag/v{version}
356
330
  - npm package URL: https://www.npmjs.com/package/oh-my-opencode
357
- - Platform packages status: List all 7 platform packages with their versions
331
+ - Platform packages status: spot-checked platform package versions
358
332
 
359
333
  ---
360
334
 
@@ -364,8 +338,7 @@ Report success to user with:
364
338
  - **Release not found**: Wait and retry, may be propagation delay
365
339
  - **npm not updated**: npm can take 1-5 minutes to propagate, inform user
366
340
  - **Permission denied**: User may need to re-authenticate with `gh auth login`
367
- - **Platform workflow fails**: Show logs from publish-platform workflow, check which platform failed
368
- - **Platform package missing**: Some platforms may fail due to cross-compilation issues, suggest re-running publish-platform workflow manually
341
+ - **Platform jobs fail**: Show logs from the `publish-platform` jobs in the same run, name the failing target, and stop — `publish-main` is blocked by design until they pass
369
342
 
370
343
  ## LANGUAGE
371
344
 
@@ -32,10 +32,10 @@ Required categories are `unspecified-low`, `unspecified-high`, `ultrabrain`, and
32
32
 
33
33
  | Category | Model | Native Mindset | Why This Adversarial Role Fits |
34
34
  |----------|-------|----------------|--------------------------------|
35
- | `unspecified-low` | claude-sonnet-4-6 | Mid-tier, simplicity-leaning, structure-demanding | Pragmatist Skeptic — model bias toward simplicity makes it the natural enemy of over-engineering |
35
+ | `unspecified-low` | gpt-5.6-luna xhigh | Mid-tier, simplicity-leaning, structure-demanding | Pragmatist Skeptic — model bias toward simplicity makes it the natural enemy of over-engineering |
36
36
  | `unspecified-high` | claude-opus-4-7 max | High-effort, broad-impact, coordination-aware | Integration Tester — max-tier broad-scope thinking exposes cross-module fragility |
37
- | `deep` | gpt-5.5 medium | Autonomous, exploration-heavy, evidence-driven | Autonomous Researcher — natural exploration bias attacks unfounded claims |
38
- | `ultrabrain` | gpt-5.5 xhigh | Hard-logic, simplicity-biased, strategic advisor | Architect Strategist — xhigh reasoning sees structural flaws others miss |
37
+ | `deep` | gpt-5.6-terra xhigh | Autonomous, exploration-heavy, evidence-driven | Autonomous Researcher — natural exploration bias attacks unfounded claims |
38
+ | `ultrabrain` | gpt-5.6-sol xhigh | Hard-logic, simplicity-biased, strategic advisor | Architect Strategist — xhigh reasoning sees structural flaws others miss |
39
39
  | `artistry` | gemini-3.1-pro high | Unconventional, pattern-breaking, lateral | Creative Challenger — pattern-breaking bias attacks orthodox thinking |
40
40
 
41
41
  ### MEMBER 1: `skeptic` (category: `unspecified-low`)
@@ -17,7 +17,7 @@ Print the following message to the user EXACTLY as written (in a friendly, celeb
17
17
 
18
18
  **Oh My OpenCode** is a powerful OpenCode plugin that transforms your AI agent into a full development team:
19
19
 
20
- - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian (Claude), Explore (Grok), Frontend Engineer (Gemini), and more
20
+ - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian & Explore (GPT-5.4 Mini Fast), Frontend Engineer (Gemini), and more
21
21
  - 🔧 **LSP Tools**: Full IDE capabilities for your agents - hover, goto definition, find references, rename, code actions
22
22
  - 🔍 **AST-Grep**: Structural code search and replace across 25 languages
23
23
  - 📚 **Built-in MCPs**: Context7 for docs, Exa for web search, grep.app for GitHub code search
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pre-publish-review
3
- description: "Nuclear-grade 16-agent pre-publish release gate. Runs /get-unpublished-changes to detect all changes since last npm release, spawns up to 10 ultrabrain agents for deep per-change analysis, invokes /review-work (5 agents) for holistic review, and 1 oracle for overall release synthesis. Use before EVERY npm publish. Triggers: 'pre-publish review', 'review before publish', 'release review', 'pre-release review', 'ready to publish?', 'can I publish?', 'pre-publish', 'safe to publish', 'publishing review', 'pre-publish check'."
3
+ description: "Nuclear-grade 16-agent pre-publish release gate. Runs /get-unpublished-changes to detect all changes since last npm release, spawns up to 10 ultrabrain agents for deep per-change analysis, invokes /review-work (5 agents) for holistic review, and 1 oracle for overall release synthesis. Runs ONLY when the user explicitly asks for a pre-publish review — a plain publish/release request MUST NOT trigger this; /publish ships directly. Triggers: 'pre-publish review', 'review before publish', 'release review', 'pre-release review', 'ready to publish?', 'can I publish?', 'pre-publish', 'safe to publish', 'publishing review', 'pre-publish check'."
4
4
  ---
5
5
 
6
6
  # Pre-Publish Review — 16-Agent Release Gate
@@ -1,17 +1,25 @@
1
1
  ---
2
2
  name: publish
3
- description: "Publish oh-my-opencode to npm via GitHub Actions workflow. Argument: <patch|minor|major>. Triggers: publish, release, deploy, npm publish."
3
+ description: "Publish oh-my-opencode to npm by triggering the GitHub Actions publish workflow and verifying its artifacts. Ship-only: never runs pre-publish-review or re-reviews merged code unless the user explicitly asks. Argument: <patch|minor|major>. Triggers: publish, release, deploy, npm publish."
4
4
  ---
5
5
 
6
6
  You are the release manager for oh-my-opencode. Execute the FULL publish workflow from start to finish.
7
7
 
8
+ ## CRITICAL: PUBLISH IS SHIP-ONLY — GO STRAIGHT TO THE WORKFLOW
9
+
10
+ `origin/dev` is already gated: every PR and push ran CI (test/typecheck/codex-compatibility on 3 OSes), and the publish workflow re-runs those same gates before anything is published.
11
+
12
+ - **NEVER run `/pre-publish-review`, `/review-work`, or any code re-review as part of a publish request.** Those run ONLY when the user explicitly asks for a review.
13
+ - **NEVER "fix" code, open PRs, or enter fix-and-re-audit loops during a publish.** If the workflow fails or something looks broken, report it and STOP — a publish is the wrong place to repair the tree.
14
+ - A publish request with a bump type goes from Step 0 to Step 3 (trigger) in minutes. The only human-scale work is release notes, drafted while CI runs.
15
+
8
16
  ## CRITICAL: FULL WORKFLOW MEANS THREE RELEASE SURFACES
9
17
 
10
18
  Publishing is complete only after all release surfaces are verified:
11
19
 
12
20
  | Release layer | Surface | Required proof |
13
21
  |---|---|---|
14
- | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | `/get-unpublished-changes` and pre-publish review include layer-specific version impact. |
22
+ | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | Release notes call out layer-specific version impact (from the workflow changelog, or `/get-unpublished-changes` when the user requested it). |
15
23
  | `omo opencode` | `oh-my-opencode` and `oh-my-openagent` npm packages plus platform packages | npm versions and GitHub release exist for the selected bump. |
16
24
  | `omo codex` | `lazycodex-ai`, Codex plugin metadata, and `code-yeongyu/lazycodex` marketplace release | Codex plugin metadata is stamped with the release version, `lazycodex-ai` publishes, and the LazyCodex repo release is created when the marketplace payload changed. |
17
25
 
@@ -58,8 +66,7 @@ Publishing is not complete until the Discord release announcement has been attem
58
66
  { "id": "discord-announce", "content": "MANDATORY: post release announcement to Discord channel immediately after release notes are finalized", "status": "pending", "priority": "high" },
59
67
  { "id": "verify-npm", "content": "Verify npm package published successfully", "status": "pending", "priority": "high" },
60
68
  { "id": "verify-lazycodex", "content": "Verify lazycodex-ai publish, Codex plugin metadata version stamp, and code-yeongyu/lazycodex release/sync", "status": "pending", "priority": "high" },
61
- { "id": "wait-platform-workflow", "content": "Wait for publish-platform workflow completion", "status": "pending", "priority": "high" },
62
- { "id": "verify-platform-binaries", "content": "Verify all 7 platform binary packages published", "status": "pending", "priority": "high" },
69
+ { "id": "verify-platform-binaries", "content": "Spot-check platform binary packages on npm", "status": "pending", "priority": "high" },
63
70
  { "id": "final-confirmation", "content": "Final confirmation to user with links", "status": "pending", "priority": "low" }
64
71
  ]
65
72
  ```
@@ -70,10 +77,7 @@ Publishing is not complete until the Discord release announcement has been attem
70
77
 
71
78
  ## STEP 1: CONFIRM BUMP TYPE
72
79
 
73
- If bump type provided as argument, confirm with user:
74
- > "Version bump type: `{bump}`. Proceed? (y/n)"
75
-
76
- Wait for user confirmation before proceeding.
80
+ If the user already named a bump type (argument or message), that IS the confirmation — state it and continue immediately. Only ask and wait when no bump type was given.
77
81
 
78
82
  ---
79
83
 
@@ -90,7 +94,7 @@ Run: `git status --porcelain`
90
94
 
91
95
  Check if there are unpushed commits:
92
96
  ```bash
93
- git log origin/master..HEAD --oneline
97
+ git log @{u}..HEAD --oneline
94
98
  ```
95
99
 
96
100
  **If there are unpushed commits, you MUST sync before triggering workflow:**
@@ -118,14 +122,21 @@ gh run list --workflow=publish --limit=1 --json databaseId,status --jq '.[0]'
118
122
 
119
123
  ## STEP 4: WAIT FOR WORKFLOW COMPLETION
120
124
 
121
- Poll workflow status every 30 seconds until completion:
125
+ The publish run is a single workflow with sequential stages. Expected timeline (from recent real runs, ~30 min total):
126
+
127
+ | Stage (job) | What it does | Typical |
128
+ |---|---|---|
129
+ | `test` / `typecheck` / `codex-compatibility` (3 OS) | Re-runs the CI gates on the release source | 4–8 min (Windows is the long pole) |
130
+ | `prepare-release-state` | Stamps versions, opens + auto-merges the `release: vX.Y.Z` PR, waits for that PR's required CI checks | 10–15 min (dominant stage) |
131
+ | `publish-platform` (build + publish, 12 targets) | Builds and publishes both platform package families | 3–4 min |
132
+ | `publish-main` → `release` | Publishes `oh-my-opencode` / `oh-my-openagent` / `lazycodex-ai`, creates the GitHub release, syncs `code-yeongyu/lazycodex` | 4–6 min |
133
+
134
+ Poll job-level status every 30 seconds and report stage transitions to the user:
122
135
  ```bash
123
- gh run view {run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
136
+ gh run view {run_id} --json status,conclusion,jobs --jq '{status, conclusion, stage: ([.jobs[] | select(.status=="in_progress") | .name] | join(", "))}'
124
137
  ```
125
138
 
126
- Status flow: `queued` `in_progress` `completed`
127
-
128
- **IMPORTANT: Use polling loop, NOT sleep commands.**
139
+ **IMPORTANT: Use polling loop, NOT sleep commands.** Use the waiting time to draft the enhanced release summary (Step 6) — do not sit idle, and do not start any review activity.
129
140
 
130
141
  If conclusion is `failure`, show error and stop:
131
142
  ```bash
@@ -366,54 +377,17 @@ Compare with expected version. If not matching after 2 minutes, warn user about
366
377
 
367
378
  ---
368
379
 
369
- ## STEP 8.5: WAIT FOR PLATFORM WORKFLOW COMPLETION
370
-
371
- The main publish workflow triggers a separate `publish-platform` workflow for platform-specific binaries.
372
-
373
- 1. Find the publish-platform workflow run triggered by the main workflow:
374
- ```bash
375
- gh run list --workflow=publish-platform --limit=1 --json databaseId,status,conclusion --jq '.[0]'
376
- ```
377
-
378
- 2. Poll workflow status every 30 seconds until completion:
379
- ```bash
380
- gh run view {platform_run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
381
- ```
382
-
383
- **IMPORTANT: Use polling loop, NOT sleep commands.**
384
-
385
- If conclusion is `failure`, show error logs:
386
- ```bash
387
- gh run view {platform_run_id} --log-failed
388
- ```
389
-
390
- ---
391
-
392
- ## STEP 8.6: VERIFY PLATFORM BINARY PACKAGES
380
+ ## STEP 8.5: SPOT-CHECK PLATFORM BINARY PACKAGES
393
381
 
394
- After publish-platform workflow completes, verify all 7 platform packages are published:
382
+ Platform packages are built and published by the `publish-platform` jobs INSIDE the same publish run — there is no separate workflow to wait for, and `publish-main` already refuses to publish unless matching platform binaries exist. Spot-check a representative sample:
395
383
 
396
384
  ```bash
397
- PLATFORMS="darwin-arm64 darwin-x64 linux-x64 linux-arm64 linux-x64-musl linux-arm64-musl windows-x64"
398
- for PLATFORM in $PLATFORMS; do
399
- npm view "oh-my-opencode-${PLATFORM}" version
385
+ for PKG in oh-my-opencode-darwin-arm64 oh-my-openagent-linux-x64 oh-my-opencode-windows-x64; do
386
+ npm view "$PKG" version
400
387
  done
401
388
  ```
402
389
 
403
- All 7 packages should show the same version as the main package (`${NEW_VERSION}`).
404
-
405
- **Expected packages:**
406
- | Package | Description |
407
- |---------|-------------|
408
- | `oh-my-opencode-darwin-arm64` | macOS Apple Silicon |
409
- | `oh-my-opencode-darwin-x64` | macOS Intel |
410
- | `oh-my-opencode-linux-x64` | Linux x64 (glibc) |
411
- | `oh-my-opencode-linux-arm64` | Linux ARM64 (glibc) |
412
- | `oh-my-opencode-linux-x64-musl` | Linux x64 (musl/Alpine) |
413
- | `oh-my-opencode-linux-arm64-musl` | Linux ARM64 (musl/Alpine) |
414
- | `oh-my-opencode-windows-x64` | Windows x64 |
415
-
416
- If any platform package version doesn't match, warn the user and suggest checking the publish-platform workflow logs.
390
+ Each should show `${NEW_VERSION}`. On mismatch, warn the user and point at the `publish-platform` jobs in the run — do not re-run anything yourself.
417
391
 
418
392
  ---
419
393
 
@@ -423,7 +397,7 @@ Report success to user with:
423
397
  - New version number
424
398
  - GitHub release URL: https://github.com/code-yeongyu/oh-my-opencode/releases/tag/v{version}
425
399
  - npm package URL: https://www.npmjs.com/package/oh-my-opencode
426
- - Platform packages status: List all 7 platform packages with their versions
400
+ - Platform packages status: spot-checked platform package versions
427
401
 
428
402
  ---
429
403
 
@@ -433,8 +407,7 @@ Report success to user with:
433
407
  - **Release not found**: Wait and retry, may be propagation delay
434
408
  - **npm not updated**: npm can take 1-5 minutes to propagate, inform user
435
409
  - **Permission denied**: User may need to re-authenticate with `gh auth login`
436
- - **Platform workflow fails**: Show logs from publish-platform workflow, check which platform failed
437
- - **Platform package missing**: Some platforms may fail due to cross-compilation issues, suggest re-running publish-platform workflow manually
410
+ - **Platform jobs fail**: Show logs from the `publish-platform` jobs in the same run, name the failing target, and stop — `publish-main` is blocked by design until they pass
438
411
 
439
412
  ## LANGUAGE
440
413
 
@@ -17,7 +17,7 @@ Print the following message to the user EXACTLY as written (in a friendly, celeb
17
17
 
18
18
  **Oh My OpenCode** is a powerful OpenCode plugin that transforms your AI agent into a full development team:
19
19
 
20
- - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian (Claude), Explore (Grok), Frontend Engineer (Gemini), and more
20
+ - 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian & Explore (GPT-5.4 Mini Fast), Frontend Engineer (Gemini), and more
21
21
  - 🔧 **LSP Tools**: Full IDE capabilities for your agents - hover, goto definition, find references, rename, code actions
22
22
  - 🔍 **AST-Grep**: Structural code search and replace across 25 languages
23
23
  - 📚 **Built-in MCPs**: Context7 for docs, Exa for web search, grep.app for GitHub code search
@@ -6,13 +6,21 @@ argument-hint: <patch|minor|major>
6
6
  <command-instruction>
7
7
  You are the release manager for oh-my-opencode. Execute the FULL publish workflow from start to finish.
8
8
 
9
+ ## CRITICAL: PUBLISH IS SHIP-ONLY — GO STRAIGHT TO THE WORKFLOW
10
+
11
+ `origin/dev` is already gated: every PR and push ran CI (test/typecheck/codex-compatibility on 3 OSes), and the publish workflow re-runs those same gates before anything is published.
12
+
13
+ - **NEVER run `/pre-publish-review`, `/review-work`, or any code re-review as part of a publish request.** Those run ONLY when the user explicitly asks for a review.
14
+ - **NEVER "fix" code, open PRs, or enter fix-and-re-audit loops during a publish.** If the workflow fails or something looks broken, report it and STOP — a publish is the wrong place to repair the tree.
15
+ - A publish request with a bump type goes from Step 0 to Step 3 (trigger) in minutes. The only human-scale work is release notes, drafted while CI runs.
16
+
9
17
  ## CRITICAL: FULL WORKFLOW MEANS THREE RELEASE SURFACES
10
18
 
11
19
  Publishing is complete only after all release surfaces are verified:
12
20
 
13
21
  | Release layer | Surface | Required proof |
14
22
  |---|---|---|
15
- | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | `/get-unpublished-changes` and pre-publish review include layer-specific version impact. |
23
+ | `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | Release notes call out layer-specific version impact (from the workflow changelog, or `/get-unpublished-changes` when the user requested it). |
16
24
  | `omo opencode` | `oh-my-opencode` and `oh-my-openagent` npm packages plus platform packages | npm versions and GitHub release exist for the selected bump. |
17
25
  | `omo codex` | `lazycodex-ai`, Codex plugin metadata, and `code-yeongyu/lazycodex` marketplace release | Codex plugin metadata is stamped with the release version, `lazycodex-ai` publishes, and the LazyCodex repo release is created when the marketplace payload changed. |
18
26
 
@@ -48,8 +56,7 @@ The publish workflow must not be reported complete while any of `oh-my-opencode`
48
56
  { "id": "apply-summary", "content": "Prepend enhanced summary to release (if user opted in)", "status": "pending", "priority": "high" },
49
57
  { "id": "verify-npm", "content": "Verify npm package published successfully", "status": "pending", "priority": "high" },
50
58
  { "id": "verify-lazycodex", "content": "Verify lazycodex-ai publish, Codex plugin metadata version stamp, and code-yeongyu/lazycodex release/sync", "status": "pending", "priority": "high" },
51
- { "id": "wait-platform-workflow", "content": "Wait for publish-platform workflow completion", "status": "pending", "priority": "high" },
52
- { "id": "verify-platform-binaries", "content": "Verify all 7 platform binary packages published", "status": "pending", "priority": "high" },
59
+ { "id": "verify-platform-binaries", "content": "Spot-check platform binary packages on npm", "status": "pending", "priority": "high" },
53
60
  { "id": "final-confirmation", "content": "Final confirmation to user with links", "status": "pending", "priority": "low" }
54
61
  ]
55
62
  ```
@@ -60,10 +67,7 @@ The publish workflow must not be reported complete while any of `oh-my-opencode`
60
67
 
61
68
  ## STEP 1: CONFIRM BUMP TYPE
62
69
 
63
- If bump type provided as argument, confirm with user:
64
- > "Version bump type: `{bump}`. Proceed? (y/n)"
65
-
66
- Wait for user confirmation before proceeding.
70
+ If the user already named a bump type (argument or message), that IS the confirmation — state it and continue immediately. Only ask and wait when no bump type was given.
67
71
 
68
72
  ---
69
73
 
@@ -80,7 +84,7 @@ Run: `git status --porcelain`
80
84
 
81
85
  Check if there are unpushed commits:
82
86
  ```bash
83
- git log origin/master..HEAD --oneline
87
+ git log @{u}..HEAD --oneline
84
88
  ```
85
89
 
86
90
  **If there are unpushed commits, you MUST sync before triggering workflow:**
@@ -108,14 +112,21 @@ gh run list --workflow=publish --limit=1 --json databaseId,status --jq '.[0]'
108
112
 
109
113
  ## STEP 4: WAIT FOR WORKFLOW COMPLETION
110
114
 
111
- Poll workflow status every 30 seconds until completion:
115
+ The publish run is a single workflow with sequential stages. Expected timeline (from recent real runs, ~30 min total):
116
+
117
+ | Stage (job) | What it does | Typical |
118
+ |---|---|---|
119
+ | `test` / `typecheck` / `codex-compatibility` (3 OS) | Re-runs the CI gates on the release source | 4–8 min (Windows is the long pole) |
120
+ | `prepare-release-state` | Stamps versions, opens + auto-merges the `release: vX.Y.Z` PR, waits for that PR's required CI checks | 10–15 min (dominant stage) |
121
+ | `publish-platform` (build + publish, 12 targets) | Builds and publishes both platform package families | 3–4 min |
122
+ | `publish-main` → `release` | Publishes `oh-my-opencode` / `oh-my-openagent` / `lazycodex-ai`, creates the GitHub release, syncs `code-yeongyu/lazycodex` | 4–6 min |
123
+
124
+ Poll job-level status every 30 seconds and report stage transitions to the user:
112
125
  ```bash
113
- gh run view {run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
126
+ gh run view {run_id} --json status,conclusion,jobs --jq '{status, conclusion, stage: ([.jobs[] | select(.status=="in_progress") | .name] | join(", "))}'
114
127
  ```
115
128
 
116
- Status flow: `queued` `in_progress` `completed`
117
-
118
- **IMPORTANT: Use polling loop, NOT sleep commands.**
129
+ **IMPORTANT: Use polling loop, NOT sleep commands.** Use the waiting time to draft the enhanced release summary (Step 6) — do not sit idle, and do not start any review activity.
119
130
 
120
131
  If conclusion is `failure`, show error and stop:
121
132
  ```bash
@@ -297,54 +308,17 @@ Compare with expected version. If not matching after 2 minutes, warn user about
297
308
 
298
309
  ---
299
310
 
300
- ## STEP 8.5: WAIT FOR PLATFORM WORKFLOW COMPLETION
301
-
302
- The main publish workflow triggers a separate `publish-platform` workflow for platform-specific binaries.
303
-
304
- 1. Find the publish-platform workflow run triggered by the main workflow:
305
- ```bash
306
- gh run list --workflow=publish-platform --limit=1 --json databaseId,status,conclusion --jq '.[0]'
307
- ```
308
-
309
- 2. Poll workflow status every 30 seconds until completion:
310
- ```bash
311
- gh run view {platform_run_id} --json status,conclusion --jq '{status: .status, conclusion: .conclusion}'
312
- ```
313
-
314
- **IMPORTANT: Use polling loop, NOT sleep commands.**
315
-
316
- If conclusion is `failure`, show error logs:
317
- ```bash
318
- gh run view {platform_run_id} --log-failed
319
- ```
320
-
321
- ---
322
-
323
- ## STEP 8.6: VERIFY PLATFORM BINARY PACKAGES
311
+ ## STEP 8.5: SPOT-CHECK PLATFORM BINARY PACKAGES
324
312
 
325
- After publish-platform workflow completes, verify all 7 platform packages are published:
313
+ Platform packages are built and published by the `publish-platform` jobs INSIDE the same publish run — there is no separate workflow to wait for, and `publish-main` already refuses to publish unless matching platform binaries exist. Spot-check a representative sample:
326
314
 
327
315
  ```bash
328
- PLATFORMS="darwin-arm64 darwin-x64 linux-x64 linux-arm64 linux-x64-musl linux-arm64-musl windows-x64"
329
- for PLATFORM in $PLATFORMS; do
330
- npm view "oh-my-opencode-${PLATFORM}" version
316
+ for PKG in oh-my-opencode-darwin-arm64 oh-my-openagent-linux-x64 oh-my-opencode-windows-x64; do
317
+ npm view "$PKG" version
331
318
  done
332
319
  ```
333
320
 
334
- All 7 packages should show the same version as the main package (`${NEW_VERSION}`).
335
-
336
- **Expected packages:**
337
- | Package | Description |
338
- |---------|-------------|
339
- | `oh-my-opencode-darwin-arm64` | macOS Apple Silicon |
340
- | `oh-my-opencode-darwin-x64` | macOS Intel |
341
- | `oh-my-opencode-linux-x64` | Linux x64 (glibc) |
342
- | `oh-my-opencode-linux-arm64` | Linux ARM64 (glibc) |
343
- | `oh-my-opencode-linux-x64-musl` | Linux x64 (musl/Alpine) |
344
- | `oh-my-opencode-linux-arm64-musl` | Linux ARM64 (musl/Alpine) |
345
- | `oh-my-opencode-windows-x64` | Windows x64 |
346
-
347
- If any platform package version doesn't match, warn the user and suggest checking the publish-platform workflow logs.
321
+ Each should show `${NEW_VERSION}`. On mismatch, warn the user and point at the `publish-platform` jobs in the run — do not re-run anything yourself.
348
322
 
349
323
  ---
350
324
 
@@ -354,7 +328,7 @@ Report success to user with:
354
328
  - New version number
355
329
  - GitHub release URL: https://github.com/code-yeongyu/oh-my-opencode/releases/tag/v{version}
356
330
  - npm package URL: https://www.npmjs.com/package/oh-my-opencode
357
- - Platform packages status: List all 7 platform packages with their versions
331
+ - Platform packages status: spot-checked platform package versions
358
332
 
359
333
  ---
360
334
 
@@ -364,8 +338,7 @@ Report success to user with:
364
338
  - **Release not found**: Wait and retry, may be propagation delay
365
339
  - **npm not updated**: npm can take 1-5 minutes to propagate, inform user
366
340
  - **Permission denied**: User may need to re-authenticate with `gh auth login`
367
- - **Platform workflow fails**: Show logs from publish-platform workflow, check which platform failed
368
- - **Platform package missing**: Some platforms may fail due to cross-compilation issues, suggest re-running publish-platform workflow manually
341
+ - **Platform jobs fail**: Show logs from the `publish-platform` jobs in the same run, name the failing target, and stop — `publish-main` is blocked by design until they pass
369
342
 
370
343
  ## LANGUAGE
371
344
 
@@ -32,10 +32,10 @@ Required categories are `unspecified-low`, `unspecified-high`, `ultrabrain`, and
32
32
 
33
33
  | Category | Model | Native Mindset | Why This Adversarial Role Fits |
34
34
  |----------|-------|----------------|--------------------------------|
35
- | `unspecified-low` | claude-sonnet-4-6 | Mid-tier, simplicity-leaning, structure-demanding | Pragmatist Skeptic — model bias toward simplicity makes it the natural enemy of over-engineering |
35
+ | `unspecified-low` | gpt-5.6-luna xhigh | Mid-tier, simplicity-leaning, structure-demanding | Pragmatist Skeptic — model bias toward simplicity makes it the natural enemy of over-engineering |
36
36
  | `unspecified-high` | claude-opus-4-7 max | High-effort, broad-impact, coordination-aware | Integration Tester — max-tier broad-scope thinking exposes cross-module fragility |
37
- | `deep` | gpt-5.5 medium | Autonomous, exploration-heavy, evidence-driven | Autonomous Researcher — natural exploration bias attacks unfounded claims |
38
- | `ultrabrain` | gpt-5.5 xhigh | Hard-logic, simplicity-biased, strategic advisor | Architect Strategist — xhigh reasoning sees structural flaws others miss |
37
+ | `deep` | gpt-5.6-terra xhigh | Autonomous, exploration-heavy, evidence-driven | Autonomous Researcher — natural exploration bias attacks unfounded claims |
38
+ | `ultrabrain` | gpt-5.6-sol xhigh | Hard-logic, simplicity-biased, strategic advisor | Architect Strategist — xhigh reasoning sees structural flaws others miss |
39
39
  | `artistry` | gemini-3.1-pro high | Unconventional, pattern-breaking, lateral | Creative Challenger — pattern-breaking bias attacks orthodox thinking |
40
40
 
41
41
  ### MEMBER 1: `skeptic` (category: `unspecified-low`)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pre-publish-review
3
- description: "Nuclear-grade 16-agent pre-publish release gate. Runs /get-unpublished-changes to detect all changes since last npm release, spawns up to 10 ultrabrain agents for deep per-change analysis, invokes /review-work (5 agents) for holistic review, and 1 oracle for overall release synthesis. Use before EVERY npm publish. Triggers: 'pre-publish review', 'review before publish', 'release review', 'pre-release review', 'ready to publish?', 'can I publish?', 'pre-publish', 'safe to publish', 'publishing review', 'pre-publish check'."
3
+ description: "Nuclear-grade 16-agent pre-publish release gate. Runs /get-unpublished-changes to detect all changes since last npm release, spawns up to 10 ultrabrain agents for deep per-change analysis, invokes /review-work (5 agents) for holistic review, and 1 oracle for overall release synthesis. Runs ONLY when the user explicitly asks for a pre-publish review — a plain publish/release request MUST NOT trigger this; /publish ships directly. Triggers: 'pre-publish review', 'review before publish', 'release review', 'pre-release review', 'ready to publish?', 'can I publish?', 'pre-publish', 'safe to publish', 'publishing review', 'pre-publish check'."
4
4
  ---
5
5
 
6
6
  # Pre-Publish Review — 16-Agent Release Gate
@@ -89,6 +89,7 @@ For each change group, spawn one ultrabrain agent. Each gets only its portion of
89
89
  ```
90
90
  task(
91
91
  category="ultrabrain",
92
+ model="gpt-5.6-sol",
92
93
  run_in_background=true,
93
94
  load_skills=[],
94
95
  description="Deep analysis: {GROUP_NAME}",
@@ -165,6 +166,7 @@ Spawn a sub-agent that loads the `/review-work` skill. The review-work skill int
165
166
  ```
166
167
  task(
167
168
  category="unspecified-high",
169
+ model="gpt-5.6-sol",
168
170
  run_in_background=true,
169
171
  load_skills=["review-work"],
170
172
  description="Run /review-work on all unpublished changes",
@@ -195,6 +197,7 @@ The oracle gets the full picture — all commits, full diff stat, and changed fi
195
197
  ```
196
198
  task(
197
199
  subagent_type="oracle",
200
+ model="gpt-5.6-sol",
198
201
  run_in_background=true,
199
202
  load_skills=[],
200
203
  description="Oracle: overall release synthesis and version bump recommendation",
package/README.ja.md CHANGED
@@ -193,11 +193,11 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
193
193
  <td align="center"><img src=".github/assets/hephaestus.png" height="300" /></td>
194
194
  </tr></table>
195
195
 
196
- **Sisyphus** (`claude-opus-4-7` / **`kimi-k2.6`** / **`glm-5.1`**) はあなたのメインオーケストレーターです。計画を立て、専門家に委任し、攻撃的な並列実行でタスクを完了まで推進します。途中で投げ出すことはありません。
196
+ **Sisyphus** (`claude-opus-4-7` / **`kimi-k2.6`** / **`glm-5`**) はあなたのメインオーケストレーターです。計画を立て、専門家に委任し、攻撃的な並列実行でタスクを完了まで推進します。途中で投げ出すことはありません。
197
197
 
198
- **Hephaestus** (`gpt-5.5`) はあなたの自律的なディープワーカーです。レシピではなく、目標を与えてください。手取り足取り教えなくても、コードベースを探索し、パターンを調査し、エンドツーエンドで実行します。*正当なる職人 (The Legitimate Craftsman).*
198
+ **Hephaestus** (OpenAI または Vercel では `gpt-5.6-sol`、その次に `gpt-5.5`) はあなたの自律的なディープワーカーです。レシピではなく、目標を与えてください。手取り足取り教えなくても、コードベースを探索し、パターンを調査し、エンドツーエンドで実行します。*正当なる職人 (The Legitimate Craftsman).*
199
199
 
200
- **Prometheus** (`claude-opus-4-7` / **`kimi-k2.6`** / **`glm-5.1`**) はあなたの戦略プランナーです。インタビューモードで質問を投げ、スコープを特定し、コードに一行触れる前に詳細な計画を構築します。
200
+ **Prometheus** (`claude-opus-4-7` / **`gpt-5.5`** / **`glm-5.2`**) はあなたの戦略プランナーです。インタビューモードで質問を投げ、スコープを特定し、コードに一行触れる前に詳細な計画を構築します。
201
201
 
202
202
  すべてのエージェントは、それぞれのモデルの強みに合わせてチューニングされています。手動でモデルを切り替える必要はありません。[詳しくはこちら →](docs/guide/overview.md)
203
203
 
@@ -240,7 +240,7 @@ Sisyphus がサブエージェントにタスクを委任する際、モデル
240
240
  | `quick` | 単一ファイルの変更、タイポの修正 |
241
241
  | `ultrabrain` | ハードロジック、アーキテクチャの決定 |
242
242
 
243
- エージェントは作業の種類を伝えるだけで、ハーネスが適切なモデルを選びます。`ultrabrain` はデフォルトで GPT-5.5 xhigh にルーティングされるようになりました。あなたが触るものは何もありません。
243
+ エージェントは作業の種類を伝えるだけで、ハーネスが適切なモデルを選びます。`ultrabrain` OpenAI または Vercel で利用可能な場合は GPT-5.6 Sol xhigh に、その次に GPT-5.5 xhigh にルーティングされます。あなたが触るものは何もありません。
244
244
 
245
245
  ### Claude Code 互換性
246
246