oh-my-opencode 4.5.1 → 4.5.12

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 (584) hide show
  1. package/README.ja.md +33 -18
  2. package/README.ko.md +33 -18
  3. package/README.md +82 -24
  4. package/README.ru.md +33 -18
  5. package/README.zh-cn.md +45 -24
  6. package/bin/oh-my-opencode.js +47 -2
  7. package/bin/oh-my-opencode.test.ts +174 -0
  8. package/bin/platform.d.ts +6 -0
  9. package/bin/platform.js +19 -0
  10. package/bin/platform.test.ts +66 -1
  11. package/dist/cli/cli-program.d.ts +18 -0
  12. package/dist/cli/index.js +28472 -26159
  13. package/dist/cli/install-codex/codex-cache-bundled-mcps.d.ts +5 -0
  14. package/dist/cli/install-codex/codex-cache-command-shim.d.ts +1 -0
  15. package/dist/cli/install-codex/codex-cache-legacy-bins.d.ts +3 -0
  16. package/dist/cli/install-codex/codex-cache-local-dependencies.d.ts +1 -0
  17. package/dist/cli/install-codex/codex-cache-paths.d.ts +2 -0
  18. package/dist/cli/install-codex/codex-cache.d.ts +31 -0
  19. package/dist/cli/install-codex/codex-config-toml.d.ts +11 -0
  20. package/dist/cli/install-codex/codex-hook-trust.d.ts +6 -0
  21. package/dist/cli/install-codex/codex-marketplace-snapshot.d.ts +15 -0
  22. package/dist/cli/install-codex/codex-marketplace.d.ts +9 -0
  23. package/dist/cli/install-codex/codex-multi-agent-v2-config.d.ts +1 -0
  24. package/dist/cli/install-codex/codex-process.d.ts +2 -0
  25. package/dist/cli/install-codex/index.d.ts +7 -0
  26. package/dist/cli/install-codex/install-codex.d.ts +17 -0
  27. package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +12 -0
  28. package/dist/cli/install-codex/toml-section-editor.d.ts +9 -0
  29. package/dist/cli/install-codex/types.d.ts +56 -0
  30. package/dist/cli/star-request.d.ts +2 -0
  31. package/dist/cli/tui-install-prompts.d.ts +3 -2
  32. package/dist/cli/types.d.ts +8 -0
  33. package/dist/config/schema/agent-names.d.ts +4 -1
  34. package/dist/config/schema/commands.d.ts +1 -2
  35. package/dist/config/schema/oh-my-opencode-config.d.ts +5 -3
  36. package/dist/create-managers.d.ts +1 -0
  37. package/dist/features/background-agent/parent-wake-message-activity.d.ts +23 -0
  38. package/dist/features/background-agent/parent-wake-notifier.d.ts +0 -1
  39. package/dist/features/boulder-state/storage.d.ts +1 -1
  40. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -1
  41. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +2 -2
  42. package/dist/features/builtin-commands/types.d.ts +1 -1
  43. package/dist/features/builtin-skills/skill-file-loader.d.ts +4 -0
  44. package/dist/features/builtin-skills/skills/index.d.ts +4 -1
  45. package/dist/features/builtin-skills/skills/init-deep.d.ts +2 -0
  46. package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +2 -0
  47. package/dist/features/builtin-skills/skills/security-research.d.ts +2 -0
  48. package/dist/features/builtin-skills/skills/security-review.d.ts +2 -0
  49. package/dist/features/opencode-runtime-skills/index.d.ts +2 -0
  50. package/dist/features/opencode-runtime-skills/runtime-skill-config.d.ts +17 -0
  51. package/dist/features/opencode-runtime-skills/skill-markdown.d.ts +7 -0
  52. package/dist/features/opencode-runtime-skills/source-server.d.ts +8 -0
  53. package/dist/hooks/claude-code-hooks/hook-text.d.ts +2 -0
  54. package/dist/hooks/session-recovery/storage/latest-assistant-message.d.ts +5 -0
  55. package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +3 -0
  56. package/dist/hooks/thinking-block-validator/hook.d.ts +0 -18
  57. package/dist/hooks/todo-continuation-enforcer/pending-question-detection.d.ts +4 -0
  58. package/dist/index.js +1684 -1801
  59. package/dist/oh-my-opencode.schema.json +4 -2
  60. package/dist/plugin-handlers/config-handler.d.ts +2 -1
  61. package/dist/shared/external-plugin-detector.d.ts +8 -0
  62. package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +1 -0
  63. package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +1 -0
  64. package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +8 -0
  65. package/dist/shared/prompt-timeout-context.d.ts +2 -0
  66. package/dist/testing/create-plugin-module.d.ts +5 -1
  67. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +2 -2
  68. package/package.json +31 -16
  69. package/packages/ast-grep-mcp/dist/cli.js +245 -40
  70. package/packages/lsp-tools-mcp/dist/cli.js +1 -1
  71. package/packages/omo-codex/marketplace.json +17 -0
  72. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +35 -0
  73. package/packages/omo-codex/plugin/.mcp.json +14 -0
  74. package/packages/omo-codex/plugin/README.md +13 -0
  75. package/packages/omo-codex/plugin/components/comment-checker/.gitattributes +13 -0
  76. package/packages/omo-codex/plugin/components/comment-checker/.github/CODEOWNERS +12 -0
  77. package/packages/omo-codex/plugin/components/comment-checker/.github/ISSUE_TEMPLATE/bug.yml +40 -0
  78. package/packages/omo-codex/plugin/components/comment-checker/.github/ISSUE_TEMPLATE/feature.yml +27 -0
  79. package/packages/omo-codex/plugin/components/comment-checker/.github/branch-ruleset.json +45 -0
  80. package/packages/omo-codex/plugin/components/comment-checker/.github/dependabot.yml +16 -0
  81. package/packages/omo-codex/plugin/components/comment-checker/.github/pull_request_template.md +19 -0
  82. package/packages/omo-codex/plugin/components/comment-checker/.github/workflows/ci.yml +47 -0
  83. package/packages/omo-codex/plugin/components/comment-checker/.github/workflows/publish.yml +51 -0
  84. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +35 -0
  85. package/packages/omo-codex/plugin/components/comment-checker/CHANGELOG.md +33 -0
  86. package/packages/omo-codex/plugin/components/comment-checker/LICENSE +21 -0
  87. package/packages/omo-codex/plugin/components/comment-checker/NOTICE +6 -0
  88. package/packages/omo-codex/plugin/components/comment-checker/README.md +87 -0
  89. package/packages/omo-codex/plugin/components/comment-checker/biome.json +48 -0
  90. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +17 -0
  91. package/packages/omo-codex/plugin/components/comment-checker/package.json +57 -0
  92. package/packages/omo-codex/plugin/components/comment-checker/skills/comment-checker/SKILL.md +16 -0
  93. package/packages/omo-codex/plugin/components/comment-checker/src/cli.ts +12 -0
  94. package/packages/omo-codex/plugin/components/comment-checker/src/codex-hook.ts +205 -0
  95. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +361 -0
  96. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +195 -0
  97. package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook-newline.test.ts +52 -0
  98. package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +368 -0
  99. package/packages/omo-codex/plugin/components/comment-checker/test/fixtures/post-tool-use.json +15 -0
  100. package/packages/omo-codex/plugin/components/comment-checker/test/package-smoke.test.ts +93 -0
  101. package/packages/omo-codex/plugin/components/comment-checker/test/runner.test.ts +66 -0
  102. package/packages/omo-codex/plugin/components/comment-checker/tsconfig.build.json +12 -0
  103. package/packages/omo-codex/plugin/components/comment-checker/tsconfig.json +27 -0
  104. package/packages/omo-codex/plugin/components/comment-checker/vitest.config.ts +9 -0
  105. package/packages/omo-codex/plugin/components/lsp/.gitattributes +13 -0
  106. package/packages/omo-codex/plugin/components/lsp/.github/CODEOWNERS +1 -0
  107. package/packages/omo-codex/plugin/components/lsp/.github/ISSUE_TEMPLATE/bug.yml +26 -0
  108. package/packages/omo-codex/plugin/components/lsp/.github/ISSUE_TEMPLATE/feature.yml +19 -0
  109. package/packages/omo-codex/plugin/components/lsp/.github/branch-ruleset.json +45 -0
  110. package/packages/omo-codex/plugin/components/lsp/.github/dependabot.yml +11 -0
  111. package/packages/omo-codex/plugin/components/lsp/.github/pull_request_template.md +11 -0
  112. package/packages/omo-codex/plugin/components/lsp/.github/workflows/ci.yml +56 -0
  113. package/packages/omo-codex/plugin/components/lsp/.github/workflows/publish.yml +60 -0
  114. package/packages/omo-codex/plugin/components/lsp/.mcp.json +9 -0
  115. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +25 -0
  116. package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +25 -0
  117. package/packages/omo-codex/plugin/components/lsp/LICENSE +21 -0
  118. package/packages/omo-codex/plugin/components/lsp/NOTICE +3 -0
  119. package/packages/omo-codex/plugin/components/lsp/README.md +148 -0
  120. package/packages/omo-codex/plugin/components/lsp/biome.json +48 -0
  121. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +17 -0
  122. package/packages/omo-codex/plugin/components/lsp/package.json +64 -0
  123. package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.mjs +46 -0
  124. package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.test.mjs +104 -0
  125. package/packages/omo-codex/plugin/components/lsp/scripts/clean-dist.mjs +5 -0
  126. package/packages/omo-codex/plugin/components/lsp/scripts/test.mjs +8 -0
  127. package/packages/omo-codex/plugin/components/lsp/skills/lsp/SKILL.md +35 -0
  128. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +44 -0
  129. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +285 -0
  130. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +358 -0
  131. package/packages/omo-codex/plugin/components/lsp/test/fixtures/broken.py +1 -0
  132. package/packages/omo-codex/plugin/components/lsp/test/fixtures/post-tool-use.json +15 -0
  133. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +153 -0
  134. package/packages/omo-codex/plugin/components/lsp/tsconfig.build.json +12 -0
  135. package/packages/omo-codex/plugin/components/lsp/tsconfig.json +27 -0
  136. package/packages/omo-codex/plugin/components/lsp/vitest.config.ts +9 -0
  137. package/packages/omo-codex/plugin/components/rules/.codex-plugin/plugin.json +3 -0
  138. package/packages/omo-codex/plugin/components/rules/.gitattributes +13 -0
  139. package/packages/omo-codex/plugin/components/rules/.github/CODEOWNERS +12 -0
  140. package/packages/omo-codex/plugin/components/rules/.github/ISSUE_TEMPLATE/bug.yml +49 -0
  141. package/packages/omo-codex/plugin/components/rules/.github/ISSUE_TEMPLATE/feature.yml +27 -0
  142. package/packages/omo-codex/plugin/components/rules/.github/branch-ruleset.json +45 -0
  143. package/packages/omo-codex/plugin/components/rules/.github/dependabot.yml +16 -0
  144. package/packages/omo-codex/plugin/components/rules/.github/pull_request_template.md +20 -0
  145. package/packages/omo-codex/plugin/components/rules/.github/workflows/ci.yml +47 -0
  146. package/packages/omo-codex/plugin/components/rules/.github/workflows/publish.yml +51 -0
  147. package/packages/omo-codex/plugin/components/rules/AGENTS.md +34 -0
  148. package/packages/omo-codex/plugin/components/rules/CHANGELOG.md +19 -0
  149. package/packages/omo-codex/plugin/components/rules/LICENSE +21 -0
  150. package/packages/omo-codex/plugin/components/rules/NOTICE +15 -0
  151. package/packages/omo-codex/plugin/components/rules/README.md +124 -0
  152. package/packages/omo-codex/plugin/components/rules/biome.json +48 -0
  153. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +209 -0
  154. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +54 -0
  155. package/packages/omo-codex/plugin/components/rules/package.json +62 -0
  156. package/packages/omo-codex/plugin/components/rules/scripts/bench-codex-rules.mjs +268 -0
  157. package/packages/omo-codex/plugin/components/rules/skills/rules/SKILL.md +34 -0
  158. package/packages/omo-codex/plugin/components/rules/src/cli.ts +143 -0
  159. package/packages/omo-codex/plugin/components/rules/src/codex-hook-options.ts +4 -0
  160. package/packages/omo-codex/plugin/components/rules/src/codex-hook.ts +238 -0
  161. package/packages/omo-codex/plugin/components/rules/src/config.ts +107 -0
  162. package/packages/omo-codex/plugin/components/rules/src/context-pressure.ts +26 -0
  163. package/packages/omo-codex/plugin/components/rules/src/debug-log.ts +65 -0
  164. package/packages/omo-codex/plugin/components/rules/src/dynamic-target-fingerprints.ts +98 -0
  165. package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +19 -0
  166. package/packages/omo-codex/plugin/components/rules/src/path-utils.ts +29 -0
  167. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +234 -0
  168. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +104 -0
  169. package/packages/omo-codex/plugin/components/rules/src/post-compact-claim.ts +13 -0
  170. package/packages/omo-codex/plugin/components/rules/src/post-compact-state.ts +45 -0
  171. package/packages/omo-codex/plugin/components/rules/src/rules/cache.ts +64 -0
  172. package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +115 -0
  173. package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +535 -0
  174. package/packages/omo-codex/plugin/components/rules/src/rules/errors.ts +13 -0
  175. package/packages/omo-codex/plugin/components/rules/src/rules/finder-cache.ts +73 -0
  176. package/packages/omo-codex/plugin/components/rules/src/rules/finder-paths.ts +47 -0
  177. package/packages/omo-codex/plugin/components/rules/src/rules/finder-sources.ts +50 -0
  178. package/packages/omo-codex/plugin/components/rules/src/rules/finder.ts +207 -0
  179. package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +123 -0
  180. package/packages/omo-codex/plugin/components/rules/src/rules/matcher.ts +142 -0
  181. package/packages/omo-codex/plugin/components/rules/src/rules/ordering.ts +33 -0
  182. package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +326 -0
  183. package/packages/omo-codex/plugin/components/rules/src/rules/plugin-root.ts +55 -0
  184. package/packages/omo-codex/plugin/components/rules/src/rules/project-root.ts +30 -0
  185. package/packages/omo-codex/plugin/components/rules/src/rules/scanner.ts +162 -0
  186. package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +67 -0
  187. package/packages/omo-codex/plugin/components/rules/src/rules/types.ts +141 -0
  188. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +24 -0
  189. package/packages/omo-codex/plugin/components/rules/src/session-state-lock.ts +47 -0
  190. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +56 -0
  191. package/packages/omo-codex/plugin/components/rules/src/tool-paths.ts +192 -0
  192. package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +44 -0
  193. package/packages/omo-codex/plugin/components/rules/src/transcript-search.ts +108 -0
  194. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +107 -0
  195. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +268 -0
  196. package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +243 -0
  197. package/packages/omo-codex/plugin/components/rules/test/codex-hook-performance.test.ts +99 -0
  198. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +132 -0
  199. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +156 -0
  200. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +299 -0
  201. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-lock.test.ts +46 -0
  202. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-process.test.ts +83 -0
  203. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +667 -0
  204. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +192 -0
  205. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +102 -0
  206. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +168 -0
  207. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +42 -0
  208. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +206 -0
  209. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +151 -0
  210. package/packages/omo-codex/plugin/components/rules/test/persistent-cache.test.ts +63 -0
  211. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +172 -0
  212. package/packages/omo-codex/plugin/components/rules/test/post-compact-test-fixture.ts +196 -0
  213. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +63 -0
  214. package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +198 -0
  215. package/packages/omo-codex/plugin/components/rules/tsconfig.build.json +12 -0
  216. package/packages/omo-codex/plugin/components/rules/tsconfig.json +27 -0
  217. package/packages/omo-codex/plugin/components/rules/vitest.config.ts +8 -0
  218. package/packages/omo-codex/plugin/components/start-work-continuation/.gitattributes +13 -0
  219. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +43 -0
  220. package/packages/omo-codex/plugin/components/start-work-continuation/CHANGELOG.md +5 -0
  221. package/packages/omo-codex/plugin/components/start-work-continuation/LICENSE +21 -0
  222. package/packages/omo-codex/plugin/components/start-work-continuation/NOTICE +5 -0
  223. package/packages/omo-codex/plugin/components/start-work-continuation/README.md +55 -0
  224. package/packages/omo-codex/plugin/components/start-work-continuation/biome.json +48 -0
  225. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +51 -0
  226. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +28 -0
  227. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +53 -0
  228. package/packages/omo-codex/plugin/components/start-work-continuation/src/boulder-reader.ts +167 -0
  229. package/packages/omo-codex/plugin/components/start-work-continuation/src/cli.ts +52 -0
  230. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +66 -0
  231. package/packages/omo-codex/plugin/components/start-work-continuation/src/directive.ts +6 -0
  232. package/packages/omo-codex/plugin/components/start-work-continuation/src/index.ts +5 -0
  233. package/packages/omo-codex/plugin/components/start-work-continuation/src/types.ts +23 -0
  234. package/packages/omo-codex/plugin/components/start-work-continuation/test/boulder-reader.test.ts +63 -0
  235. package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +124 -0
  236. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +160 -0
  237. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-completed.json +19 -0
  238. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-mixed-platforms.json +27 -0
  239. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-single-codex-work.json +19 -0
  240. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-all-done.md +5 -0
  241. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-with-nested-checkboxes.md +11 -0
  242. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-with-unchecked.md +6 -0
  243. package/packages/omo-codex/plugin/components/start-work-continuation/tsconfig.build.json +12 -0
  244. package/packages/omo-codex/plugin/components/start-work-continuation/tsconfig.json +27 -0
  245. package/packages/omo-codex/plugin/components/start-work-continuation/vitest.config.ts +10 -0
  246. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +37 -0
  247. package/packages/omo-codex/plugin/components/telemetry/README.md +102 -0
  248. package/packages/omo-codex/plugin/components/telemetry/biome.json +48 -0
  249. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +16 -0
  250. package/packages/omo-codex/plugin/components/telemetry/package.json +56 -0
  251. package/packages/omo-codex/plugin/components/telemetry/src/atomic-write.ts +22 -0
  252. package/packages/omo-codex/plugin/components/telemetry/src/cli.ts +69 -0
  253. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +49 -0
  254. package/packages/omo-codex/plugin/components/telemetry/src/data-path.ts +45 -0
  255. package/packages/omo-codex/plugin/components/telemetry/src/env-flags.ts +43 -0
  256. package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +81 -0
  257. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +165 -0
  258. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +35 -0
  259. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +270 -0
  260. package/packages/omo-codex/plugin/components/telemetry/tsconfig.build.json +12 -0
  261. package/packages/omo-codex/plugin/components/telemetry/tsconfig.json +27 -0
  262. package/packages/omo-codex/plugin/components/telemetry/vitest.config.ts +8 -0
  263. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +41 -0
  264. package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +25 -0
  265. package/packages/omo-codex/plugin/components/ultrawork/LICENSE +21 -0
  266. package/packages/omo-codex/plugin/components/ultrawork/NOTICE +5 -0
  267. package/packages/omo-codex/plugin/components/ultrawork/README.md +60 -0
  268. package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +17 -0
  269. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +82 -0
  270. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +221 -0
  271. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +65 -0
  272. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +69 -0
  273. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +163 -0
  274. package/packages/omo-codex/plugin/components/ultrawork/biome.json +48 -0
  275. package/packages/omo-codex/plugin/components/ultrawork/directive.md +264 -0
  276. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +16 -0
  277. package/packages/omo-codex/plugin/components/ultrawork/package.json +54 -0
  278. package/packages/omo-codex/plugin/components/ultrawork/src/cli.ts +50 -0
  279. package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +84 -0
  280. package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +3 -0
  281. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +252 -0
  282. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +78 -0
  283. package/packages/omo-codex/plugin/components/ultrawork/tsconfig.build.json +12 -0
  284. package/packages/omo-codex/plugin/components/ultrawork/tsconfig.json +27 -0
  285. package/packages/omo-codex/plugin/components/ulw-loop/.gitattributes +13 -0
  286. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +48 -0
  287. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +7 -0
  288. package/packages/omo-codex/plugin/components/ulw-loop/LICENSE +21 -0
  289. package/packages/omo-codex/plugin/components/ulw-loop/NOTICE +6 -0
  290. package/packages/omo-codex/plugin/components/ulw-loop/README.md +74 -0
  291. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +48 -0
  292. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +29 -0
  293. package/packages/omo-codex/plugin/components/ulw-loop/package.json +55 -0
  294. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/.gitkeep +0 -0
  295. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +222 -0
  296. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/agents/openai.yaml +6 -0
  297. package/packages/omo-codex/plugin/components/ulw-loop/src/.gitkeep +0 -0
  298. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +155 -0
  299. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +95 -0
  300. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +156 -0
  301. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +63 -0
  302. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +94 -0
  303. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +40 -0
  304. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +129 -0
  305. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +139 -0
  306. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +177 -0
  307. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +122 -0
  308. package/packages/omo-codex/plugin/components/ulw-loop/src/goal-status.ts +88 -0
  309. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +73 -0
  310. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +113 -0
  311. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +124 -0
  312. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +102 -0
  313. package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +81 -0
  314. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +270 -0
  315. package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +277 -0
  316. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +213 -0
  317. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +375 -0
  318. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +250 -0
  319. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +407 -0
  320. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +169 -0
  321. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +156 -0
  322. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +275 -0
  323. package/packages/omo-codex/plugin/components/ulw-loop/test/evidence-criteria-gate.test.ts +100 -0
  324. package/packages/omo-codex/plugin/components/ulw-loop/test/evidence.test.ts +263 -0
  325. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/.gitkeep +0 -0
  326. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/codex-goal-snapshot.json +1 -0
  327. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-brief.md +5 -0
  328. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-plan.json +108 -0
  329. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-quality-gate.json +18 -0
  330. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/steering-proposal.json +8 -0
  331. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/user-prompt-submit.json +10 -0
  332. package/packages/omo-codex/plugin/components/ulw-loop/test/goal-status.test.ts +327 -0
  333. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +164 -0
  334. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +62 -0
  335. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-crud.test.ts +256 -0
  336. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +239 -0
  337. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +203 -0
  338. package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +180 -0
  339. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +353 -0
  340. package/packages/omo-codex/plugin/components/ulw-loop/test/types.test.ts +79 -0
  341. package/packages/omo-codex/plugin/components/ulw-loop/tsconfig.build.json +12 -0
  342. package/packages/omo-codex/plugin/components/ulw-loop/tsconfig.json +27 -0
  343. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +10 -0
  344. package/packages/omo-codex/plugin/hooks/hooks.json +138 -0
  345. package/packages/omo-codex/plugin/package-lock.json +1750 -0
  346. package/packages/omo-codex/plugin/package.json +26 -0
  347. package/packages/omo-codex/plugin/scripts/build-bundled-mcp-runtimes.mjs +50 -0
  348. package/packages/omo-codex/plugin/scripts/build-components.mjs +23 -0
  349. package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +46 -0
  350. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +75 -0
  351. package/packages/omo-codex/plugin/skills/comment-checker/SKILL.md +16 -0
  352. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +116 -0
  353. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +108 -0
  354. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +130 -0
  355. package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
  356. package/packages/omo-codex/plugin/skills/debugging/references/methodology/05-escalate.md +69 -0
  357. package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +116 -0
  358. package/packages/omo-codex/plugin/skills/debugging/references/methodology/08-qa.md +94 -0
  359. package/packages/omo-codex/plugin/skills/debugging/references/methodology/09-cleanup.md +164 -0
  360. package/packages/omo-codex/plugin/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
  361. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  362. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +252 -0
  363. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +484 -0
  364. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +260 -0
  365. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +248 -0
  366. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +234 -0
  367. package/packages/omo-codex/plugin/skills/debugging/references/tools/ghidra.md +212 -0
  368. package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +194 -0
  369. package/packages/omo-codex/plugin/skills/debugging/references/tools/pwndbg.md +263 -0
  370. package/packages/omo-codex/plugin/skills/debugging/references/tools/pwntools.md +265 -0
  371. package/packages/omo-codex/plugin/skills/frontend-ui-ux/SKILL.md +77 -0
  372. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +325 -0
  373. package/packages/omo-codex/plugin/skills/lsp/SKILL.md +35 -0
  374. package/packages/omo-codex/plugin/skills/programming/SKILL.md +463 -0
  375. package/packages/omo-codex/plugin/skills/programming/references/go/README.md +90 -0
  376. package/packages/omo-codex/plugin/skills/programming/references/go/backend-stack.md +641 -0
  377. package/packages/omo-codex/plugin/skills/programming/references/go/bootstrap.md +328 -0
  378. package/packages/omo-codex/plugin/skills/programming/references/go/bubbletea-v2.md +360 -0
  379. package/packages/omo-codex/plugin/skills/programming/references/go/cobra-stack.md +468 -0
  380. package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +362 -0
  381. package/packages/omo-codex/plugin/skills/programming/references/go/data-modeling.md +329 -0
  382. package/packages/omo-codex/plugin/skills/programming/references/go/error-handling.md +359 -0
  383. package/packages/omo-codex/plugin/skills/programming/references/go/golangci-strict.md +236 -0
  384. package/packages/omo-codex/plugin/skills/programming/references/go/grpc-connect.md +375 -0
  385. package/packages/omo-codex/plugin/skills/programming/references/go/libraries.md +337 -0
  386. package/packages/omo-codex/plugin/skills/programming/references/go/one-liners.md +202 -0
  387. package/packages/omo-codex/plugin/skills/programming/references/go/sqlc-pgx.md +471 -0
  388. package/packages/omo-codex/plugin/skills/programming/references/go/testing.md +467 -0
  389. package/packages/omo-codex/plugin/skills/programming/references/go/type-patterns.md +298 -0
  390. package/packages/omo-codex/plugin/skills/programming/references/python/README.md +314 -0
  391. package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +442 -0
  392. package/packages/omo-codex/plugin/skills/programming/references/python/data-modeling.md +233 -0
  393. package/packages/omo-codex/plugin/skills/programming/references/python/data-processing.md +133 -0
  394. package/packages/omo-codex/plugin/skills/programming/references/python/error-handling.md +218 -0
  395. package/packages/omo-codex/plugin/skills/programming/references/python/fastapi-stack.md +316 -0
  396. package/packages/omo-codex/plugin/skills/programming/references/python/httpx2-optimization.md +360 -0
  397. package/packages/omo-codex/plugin/skills/programming/references/python/libraries.md +307 -0
  398. package/packages/omo-codex/plugin/skills/programming/references/python/one-liners.md +268 -0
  399. package/packages/omo-codex/plugin/skills/programming/references/python/orjson-stack.md +378 -0
  400. package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +285 -0
  401. package/packages/omo-codex/plugin/skills/programming/references/python/pyproject-strict.md +232 -0
  402. package/packages/omo-codex/plugin/skills/programming/references/python/textual-tui.md +201 -0
  403. package/packages/omo-codex/plugin/skills/programming/references/python/type-patterns.md +176 -0
  404. package/packages/omo-codex/plugin/skills/programming/references/rust/README.md +317 -0
  405. package/packages/omo-codex/plugin/skills/programming/references/rust/async-tokio.md +299 -0
  406. package/packages/omo-codex/plugin/skills/programming/references/rust/axum-stack.md +467 -0
  407. package/packages/omo-codex/plugin/skills/programming/references/rust/cargo-strict.md +317 -0
  408. package/packages/omo-codex/plugin/skills/programming/references/rust/clap-stack.md +409 -0
  409. package/packages/omo-codex/plugin/skills/programming/references/rust/concurrency.md +375 -0
  410. package/packages/omo-codex/plugin/skills/programming/references/rust/libraries.md +439 -0
  411. package/packages/omo-codex/plugin/skills/programming/references/rust/one-liners.md +291 -0
  412. package/packages/omo-codex/plugin/skills/programming/references/rust/proptest-insta.md +429 -0
  413. package/packages/omo-codex/plugin/skills/programming/references/rust/type-state.md +354 -0
  414. package/packages/omo-codex/plugin/skills/programming/references/rust/unsafe-discipline.md +250 -0
  415. package/packages/omo-codex/plugin/skills/programming/references/rust/zero-cost-safety.md +527 -0
  416. package/packages/omo-codex/plugin/skills/programming/references/rust-ub/README.md +289 -0
  417. package/packages/omo-codex/plugin/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
  418. package/packages/omo-codex/plugin/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
  419. package/packages/omo-codex/plugin/skills/programming/references/typescript/README.md +195 -0
  420. package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +672 -0
  421. package/packages/omo-codex/plugin/skills/programming/references/typescript/bootstrap.md +199 -0
  422. package/packages/omo-codex/plugin/skills/programming/references/typescript/data-modeling.md +202 -0
  423. package/packages/omo-codex/plugin/skills/programming/references/typescript/error-handling.md +169 -0
  424. package/packages/omo-codex/plugin/skills/programming/references/typescript/tsconfig-strict.md +152 -0
  425. package/packages/omo-codex/plugin/skills/programming/references/typescript/type-patterns.md +196 -0
  426. package/packages/omo-codex/plugin/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
  427. package/packages/omo-codex/plugin/skills/programming/scripts/go/new-project.py +138 -0
  428. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/.editorconfig +13 -0
  429. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/.golangci.yml +95 -0
  430. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
  431. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
  432. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
  433. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/ci.yml +37 -0
  434. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/config.go +24 -0
  435. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/gitignore +15 -0
  436. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
  437. package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/run.go +15 -0
  438. package/packages/omo-codex/plugin/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
  439. package/packages/omo-codex/plugin/skills/programming/scripts/python/new-project.py +172 -0
  440. package/packages/omo-codex/plugin/skills/programming/scripts/python/new-script.py +116 -0
  441. package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
  442. package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
  443. package/packages/omo-codex/plugin/skills/programming/scripts/rust/new-project.py +175 -0
  444. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
  445. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/new-project.ts +177 -0
  446. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +779 -0
  447. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +333 -0
  448. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +549 -0
  449. package/packages/omo-codex/plugin/skills/rules/SKILL.md +34 -0
  450. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +129 -0
  451. package/packages/omo-codex/plugin/skills/ulw-loop/.gitkeep +0 -0
  452. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +222 -0
  453. package/packages/omo-codex/plugin/skills/ulw-loop/agents/openai.yaml +6 -0
  454. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +399 -0
  455. package/packages/omo-codex/plugin/test/aggregate.test.mjs +330 -0
  456. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +66 -0
  457. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +150 -0
  458. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +199 -0
  459. package/packages/omo-codex/scripts/install/agents.mjs +84 -0
  460. package/packages/omo-codex/scripts/install/cache.mjs +245 -0
  461. package/packages/omo-codex/scripts/install/command-shim.mjs +1 -0
  462. package/packages/omo-codex/scripts/install/config.mjs +229 -0
  463. package/packages/omo-codex/scripts/install/hook-trust.mjs +84 -0
  464. package/packages/omo-codex/scripts/install/legacy-bins.mjs +57 -0
  465. package/packages/omo-codex/scripts/install/marketplace.mjs +104 -0
  466. package/packages/omo-codex/scripts/install/mcp-runtime-cache.mjs +77 -0
  467. package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +32 -0
  468. package/packages/omo-codex/scripts/install/process.mjs +19 -0
  469. package/packages/omo-codex/scripts/install/snapshot.mjs +54 -0
  470. package/packages/omo-codex/scripts/install/toml-editor.mjs +47 -0
  471. package/packages/omo-codex/scripts/install/utils.mjs +15 -0
  472. package/packages/omo-codex/scripts/install-agent-links.test.mjs +104 -0
  473. package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -0
  474. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +30 -0
  475. package/packages/omo-codex/scripts/install-config.test.mjs +118 -0
  476. package/packages/omo-codex/scripts/install-local.mjs +192 -0
  477. package/packages/omo-codex/scripts/install-local.test.mjs +379 -0
  478. package/packages/omo-codex/scripts/install-mcp-runtime.test.mjs +173 -0
  479. package/packages/omo-codex/scripts/install-test-fixtures.mjs +58 -0
  480. package/packages/omo-codex/scripts/sync-telemetry-component.mjs +115 -0
  481. package/packages/omo-codex/scripts/sync-telemetry-component.test.mjs +94 -0
  482. package/packages/shared-skills/index.mjs +5 -0
  483. package/packages/shared-skills/package.json +14 -0
  484. package/packages/shared-skills/skills/debugging/SKILL.md +116 -0
  485. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +108 -0
  486. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +130 -0
  487. package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
  488. package/packages/shared-skills/skills/debugging/references/methodology/05-escalate.md +69 -0
  489. package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +116 -0
  490. package/packages/shared-skills/skills/debugging/references/methodology/08-qa.md +94 -0
  491. package/packages/shared-skills/skills/debugging/references/methodology/09-cleanup.md +164 -0
  492. package/packages/shared-skills/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
  493. package/packages/shared-skills/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  494. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +252 -0
  495. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +484 -0
  496. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +260 -0
  497. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +248 -0
  498. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +234 -0
  499. package/packages/shared-skills/skills/debugging/references/tools/ghidra.md +212 -0
  500. package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +194 -0
  501. package/packages/shared-skills/skills/debugging/references/tools/pwndbg.md +263 -0
  502. package/packages/shared-skills/skills/debugging/references/tools/pwntools.md +265 -0
  503. package/packages/shared-skills/skills/frontend-ui-ux/SKILL.md +77 -0
  504. package/packages/shared-skills/skills/init-deep/SKILL.md +309 -0
  505. package/packages/shared-skills/skills/programming/SKILL.md +463 -0
  506. package/packages/shared-skills/skills/programming/references/go/README.md +90 -0
  507. package/packages/shared-skills/skills/programming/references/go/backend-stack.md +641 -0
  508. package/packages/shared-skills/skills/programming/references/go/bootstrap.md +328 -0
  509. package/packages/shared-skills/skills/programming/references/go/bubbletea-v2.md +360 -0
  510. package/packages/shared-skills/skills/programming/references/go/cobra-stack.md +468 -0
  511. package/packages/shared-skills/skills/programming/references/go/concurrency.md +362 -0
  512. package/packages/shared-skills/skills/programming/references/go/data-modeling.md +329 -0
  513. package/packages/shared-skills/skills/programming/references/go/error-handling.md +359 -0
  514. package/packages/shared-skills/skills/programming/references/go/golangci-strict.md +236 -0
  515. package/packages/shared-skills/skills/programming/references/go/grpc-connect.md +375 -0
  516. package/packages/shared-skills/skills/programming/references/go/libraries.md +337 -0
  517. package/packages/shared-skills/skills/programming/references/go/one-liners.md +202 -0
  518. package/packages/shared-skills/skills/programming/references/go/sqlc-pgx.md +471 -0
  519. package/packages/shared-skills/skills/programming/references/go/testing.md +467 -0
  520. package/packages/shared-skills/skills/programming/references/go/type-patterns.md +298 -0
  521. package/packages/shared-skills/skills/programming/references/python/README.md +314 -0
  522. package/packages/shared-skills/skills/programming/references/python/async-anyio.md +442 -0
  523. package/packages/shared-skills/skills/programming/references/python/data-modeling.md +233 -0
  524. package/packages/shared-skills/skills/programming/references/python/data-processing.md +133 -0
  525. package/packages/shared-skills/skills/programming/references/python/error-handling.md +218 -0
  526. package/packages/shared-skills/skills/programming/references/python/fastapi-stack.md +316 -0
  527. package/packages/shared-skills/skills/programming/references/python/httpx2-optimization.md +360 -0
  528. package/packages/shared-skills/skills/programming/references/python/libraries.md +307 -0
  529. package/packages/shared-skills/skills/programming/references/python/one-liners.md +268 -0
  530. package/packages/shared-skills/skills/programming/references/python/orjson-stack.md +378 -0
  531. package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +285 -0
  532. package/packages/shared-skills/skills/programming/references/python/pyproject-strict.md +232 -0
  533. package/packages/shared-skills/skills/programming/references/python/textual-tui.md +201 -0
  534. package/packages/shared-skills/skills/programming/references/python/type-patterns.md +176 -0
  535. package/packages/shared-skills/skills/programming/references/rust/README.md +317 -0
  536. package/packages/shared-skills/skills/programming/references/rust/async-tokio.md +299 -0
  537. package/packages/shared-skills/skills/programming/references/rust/axum-stack.md +467 -0
  538. package/packages/shared-skills/skills/programming/references/rust/cargo-strict.md +317 -0
  539. package/packages/shared-skills/skills/programming/references/rust/clap-stack.md +409 -0
  540. package/packages/shared-skills/skills/programming/references/rust/concurrency.md +375 -0
  541. package/packages/shared-skills/skills/programming/references/rust/libraries.md +439 -0
  542. package/packages/shared-skills/skills/programming/references/rust/one-liners.md +291 -0
  543. package/packages/shared-skills/skills/programming/references/rust/proptest-insta.md +429 -0
  544. package/packages/shared-skills/skills/programming/references/rust/type-state.md +354 -0
  545. package/packages/shared-skills/skills/programming/references/rust/unsafe-discipline.md +250 -0
  546. package/packages/shared-skills/skills/programming/references/rust/zero-cost-safety.md +527 -0
  547. package/packages/shared-skills/skills/programming/references/rust-ub/README.md +289 -0
  548. package/packages/shared-skills/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
  549. package/packages/shared-skills/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
  550. package/packages/shared-skills/skills/programming/references/typescript/README.md +195 -0
  551. package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +672 -0
  552. package/packages/shared-skills/skills/programming/references/typescript/bootstrap.md +199 -0
  553. package/packages/shared-skills/skills/programming/references/typescript/data-modeling.md +202 -0
  554. package/packages/shared-skills/skills/programming/references/typescript/error-handling.md +169 -0
  555. package/packages/shared-skills/skills/programming/references/typescript/tsconfig-strict.md +152 -0
  556. package/packages/shared-skills/skills/programming/references/typescript/type-patterns.md +196 -0
  557. package/packages/shared-skills/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
  558. package/packages/shared-skills/skills/programming/scripts/go/new-project.py +138 -0
  559. package/packages/shared-skills/skills/programming/scripts/go/templates/.editorconfig +13 -0
  560. package/packages/shared-skills/skills/programming/scripts/go/templates/.golangci.yml +95 -0
  561. package/packages/shared-skills/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
  562. package/packages/shared-skills/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
  563. package/packages/shared-skills/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
  564. package/packages/shared-skills/skills/programming/scripts/go/templates/ci.yml +37 -0
  565. package/packages/shared-skills/skills/programming/scripts/go/templates/config.go +24 -0
  566. package/packages/shared-skills/skills/programming/scripts/go/templates/gitignore +15 -0
  567. package/packages/shared-skills/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
  568. package/packages/shared-skills/skills/programming/scripts/go/templates/run.go +15 -0
  569. package/packages/shared-skills/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
  570. package/packages/shared-skills/skills/programming/scripts/python/new-project.py +172 -0
  571. package/packages/shared-skills/skills/programming/scripts/python/new-script.py +116 -0
  572. package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
  573. package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
  574. package/packages/shared-skills/skills/programming/scripts/rust/new-project.py +175 -0
  575. package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
  576. package/packages/shared-skills/skills/programming/scripts/typescript/new-project.ts +177 -0
  577. package/packages/shared-skills/skills/refactor/SKILL.md +763 -0
  578. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +317 -0
  579. package/packages/shared-skills/skills/review-work/SKILL.md +549 -0
  580. package/packages/shared-skills/skills/start-work/SKILL.md +129 -0
  581. package/packages/shared-skills/skills/ulw-plan/SKILL.md +383 -0
  582. package/postinstall.mjs +6 -2
  583. package/dist/features/builtin-commands/templates/init-deep.d.ts +0 -1
  584. package/dist/features/builtin-skills/skills/ai-slop-remover.d.ts +0 -2
@@ -0,0 +1,779 @@
1
+ ---
2
+ name: refactor
3
+ description: "Intelligent refactor command. Triggers: refactor, refactoring, cleanup, restructure, extract, simplify, modernize."
4
+ ---
5
+
6
+ ## Codex Harness Tool Compatibility
7
+
8
+ This skill may include examples copied from the OpenCode harness. In Codex, do not call OpenCode-only tools such as `call_omo_agent(...)`, `task(...)`, `background_output(...)`, or `team_*(...)` literally. Translate those examples to Codex native tools:
9
+
10
+ | OpenCode example | Codex tool to use |
11
+ | --- | --- |
12
+ | `call_omo_agent(subagent_type="explore", ...)` | `spawn_agent(agent_type="explorer", task_name="...", message="...")` |
13
+ | `call_omo_agent(subagent_type="librarian", ...)` | `spawn_agent(agent_type="librarian", task_name="...", message="...")` |
14
+ | `task(subagent_type="plan", ...)` | `spawn_agent(agent_type="plan", task_name="...", message="...")` |
15
+ | `task(subagent_type="oracle", ...)` for final verification | `spawn_agent(agent_type="codex-ultrawork-reviewer", task_name="...", message="...")` |
16
+ | `task(category="...", ...)` for implementation or QA | `spawn_agent(agent_type="worker", task_name="...", message="...")` |
17
+ | `background_output(task_id="...")` | `wait_agent(...)` to wait for subagent completion and mailbox updates |
18
+ | `team_*(...)` | Use Codex native subagents plus `send_message`, `followup_task`, `wait_agent`, and `close_agent` |
19
+
20
+ When translating `load_skills=[...]`, include the requested skill names in the spawned agent's `message`. If a code block below conflicts with this section, this section wins.
21
+
22
+ export const REFACTOR_TEMPLATE = `# Intelligent Refactor Command
23
+
24
+ ## Usage
25
+ \`\`\`
26
+ /refactor <refactoring-target> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]
27
+
28
+ Arguments:
29
+ refactoring-target: What to refactor. Can be:
30
+ - File path: src/auth/handler.ts
31
+ - Symbol name: "AuthService class"
32
+ - Pattern: "all functions using deprecated API"
33
+ - Description: "extract validation logic into separate module"
34
+
35
+ Options:
36
+ --scope: Refactoring scope (default: module)
37
+ - file: Single file only
38
+ - module: Module/directory scope
39
+ - project: Entire codebase
40
+
41
+ --strategy: Risk tolerance (default: safe)
42
+ - safe: Conservative, maximum test coverage required
43
+ - aggressive: Allow broader changes with adequate coverage
44
+ \`\`\`
45
+
46
+ ## What This Command Does
47
+
48
+ Performs intelligent, deterministic refactoring with full codebase awareness. Unlike blind search-and-replace, this command:
49
+
50
+ 1. **Understands your intent** - Analyzes what you actually want to achieve
51
+ 2. **Maps the codebase** - Builds a definitive codemap before touching anything
52
+ 3. **Assesses risk** - Evaluates test coverage and determines verification strategy
53
+ 4. **Plans meticulously** - Creates a detailed plan with Plan agent
54
+ 5. **Executes precisely** - Step-by-step refactoring with LSP and AST-grep
55
+ 6. **Verifies constantly** - Runs tests after each change to ensure zero regression
56
+
57
+ ---
58
+
59
+ # PHASE 0: INTENT GATE (MANDATORY FIRST STEP)
60
+
61
+ **BEFORE ANY ACTION, classify and validate the request.**
62
+
63
+ ## Step 0.1: Parse Request Type
64
+
65
+ | Signal | Classification | Action |
66
+ |--------|----------------|--------|
67
+ | Specific file/symbol | Explicit | Proceed to codebase analysis |
68
+ | "Refactor X to Y" | Clear transformation | Proceed to codebase analysis |
69
+ | "Improve", "Clean up" | Open-ended | **MUST ask**: "What specific improvement?" |
70
+ | Ambiguous scope | Uncertain | **MUST ask**: "Which modules/files?" |
71
+ | Missing context | Incomplete | **MUST ask**: "What's the desired outcome?" |
72
+
73
+ ## Step 0.2: Validate Understanding
74
+
75
+ Before proceeding, confirm:
76
+ - [ ] Target is clearly identified
77
+ - [ ] Desired outcome is understood
78
+ - [ ] Scope is defined (file/module/project)
79
+ - [ ] Success criteria can be articulated
80
+
81
+ **If ANY of above is unclear, ASK CLARIFYING QUESTION:**
82
+
83
+ \`\`\`
84
+ I want to make sure I understand the refactoring goal correctly.
85
+
86
+ **What I understood**: [interpretation]
87
+ **What I'm unsure about**: [specific ambiguity]
88
+
89
+ Options I see:
90
+ 1. [Option A] - [implications]
91
+ 2. [Option B] - [implications]
92
+
93
+ **My recommendation**: [suggestion with reasoning]
94
+
95
+ Should I proceed with [recommendation], or would you prefer differently?
96
+ \`\`\`
97
+
98
+ ## Step 0.3: Create Initial Todos
99
+
100
+ **IMMEDIATELY after understanding the request, create todos:**
101
+
102
+ \`\`\`
103
+ TodoWrite([
104
+ {"id": "phase-1", "content": "PHASE 1: Codebase Analysis - launch parallel explore agents", "status": "pending", "priority": "high"},
105
+ {"id": "phase-2", "content": "PHASE 2: Build Codemap - map dependencies and impact zones", "status": "pending", "priority": "high"},
106
+ {"id": "phase-3", "content": "PHASE 3: Test Assessment - analyze test coverage and verification strategy", "status": "pending", "priority": "high"},
107
+ {"id": "phase-4", "content": "PHASE 4: Plan Generation - invoke Plan agent for detailed refactoring plan", "status": "pending", "priority": "high"},
108
+ {"id": "phase-5", "content": "PHASE 5: Execute Refactoring - step-by-step with continuous verification", "status": "pending", "priority": "high"},
109
+ {"id": "phase-6", "content": "PHASE 6: Final Verification - full test suite and regression check", "status": "pending", "priority": "high"}
110
+ ])
111
+ \`\`\`
112
+
113
+ ---
114
+
115
+ # PHASE 1: CODEBASE ANALYSIS (PARALLEL EXPLORATION)
116
+
117
+ **Mark phase-1 as in_progress.**
118
+
119
+ ## 1.1: Launch Parallel Explore Agents (BACKGROUND)
120
+
121
+ Fire ALL of these simultaneously using \`call_omo_agent\`:
122
+
123
+ \`\`\`
124
+ // Agent 1: Find the refactoring target
125
+ call_omo_agent(
126
+ subagent_type="explore",
127
+ run_in_background=true,
128
+ prompt="Find all occurrences and definitions of [TARGET].
129
+ Report: file paths, line numbers, usage patterns."
130
+ )
131
+
132
+ // Agent 2: Find related code
133
+ call_omo_agent(
134
+ subagent_type="explore",
135
+ run_in_background=true,
136
+ prompt="Find all code that imports, uses, or depends on [TARGET].
137
+ Report: dependency chains, import graphs."
138
+ )
139
+
140
+ // Agent 3: Find similar patterns
141
+ call_omo_agent(
142
+ subagent_type="explore",
143
+ run_in_background=true,
144
+ prompt="Find similar code patterns to [TARGET] in the codebase.
145
+ Report: analogous implementations, established conventions."
146
+ )
147
+
148
+ // Agent 4: Find tests
149
+ call_omo_agent(
150
+ subagent_type="explore",
151
+ run_in_background=true,
152
+ prompt="Find all test files related to [TARGET].
153
+ Report: test file paths, test case names, coverage indicators."
154
+ )
155
+
156
+ // Agent 5: Architecture context
157
+ call_omo_agent(
158
+ subagent_type="explore",
159
+ run_in_background=true,
160
+ prompt="Find architectural patterns and module organization around [TARGET].
161
+ Report: module boundaries, layer structure, design patterns in use."
162
+ )
163
+ \`\`\`
164
+
165
+ ## 1.2: Direct Tool Exploration (WHILE AGENTS RUN)
166
+
167
+ While background agents are running, use direct tools:
168
+
169
+ ### LSP Tools for Precise Analysis:
170
+
171
+ \`\`\`typescript
172
+ // Find definition(s)
173
+ LspGotoDefinition(filePath, line, character) // Where is it defined?
174
+
175
+ // Find ALL usages across workspace
176
+ LspFindReferences(filePath, line, character, includeDeclaration=true)
177
+
178
+ // Get file structure
179
+ LspDocumentSymbols(filePath) // Hierarchical outline
180
+ LspWorkspaceSymbols(filePath, query="[target_symbol]") // Search by name
181
+
182
+ // Get current diagnostics
183
+ lsp_diagnostics(filePath) // Errors, warnings before we start
184
+ \`\`\`
185
+
186
+ ### AST-Grep for Pattern Analysis:
187
+
188
+ \`\`\`typescript
189
+ // Find structural patterns
190
+ ast_grep_search(
191
+ pattern="function $NAME($$$) { $$$ }", // or relevant pattern
192
+ lang="typescript", // or relevant language
193
+ paths=["src/"]
194
+ )
195
+
196
+ // Preview refactoring (DRY RUN)
197
+ ast_grep_replace(
198
+ pattern="[old_pattern]",
199
+ rewrite="[new_pattern]",
200
+ lang="[language]",
201
+ dryRun=true // ALWAYS preview first
202
+ )
203
+ \`\`\`
204
+
205
+ ### Grep for Text Patterns:
206
+
207
+ \`\`\`
208
+ grep(pattern="[search_term]", path="src/", include="*.ts")
209
+ \`\`\`
210
+
211
+ ## 1.3: Collect Background Results
212
+
213
+ \`\`\`
214
+ background_output(task_id="[agent_1_id]")
215
+ background_output(task_id="[agent_2_id]")
216
+ ...
217
+ \`\`\`
218
+
219
+ **Mark phase-1 as completed after all results collected.**
220
+
221
+ ---
222
+
223
+ # PHASE 2: BUILD CODEMAP (DEPENDENCY MAPPING)
224
+
225
+ **Mark phase-2 as in_progress.**
226
+
227
+ ## 2.1: Construct Definitive Codemap
228
+
229
+ Based on Phase 1 results, build:
230
+
231
+ \`\`\`
232
+ ## CODEMAP: [TARGET]
233
+
234
+ ### Core Files (Direct Impact)
235
+ - \`path/to/file.ts:L10-L50\` - Primary definition
236
+ - \`path/to/file2.ts:L25\` - Key usage
237
+
238
+ ### Dependency Graph
239
+ \`\`\`
240
+ [TARGET]
241
+ ├── imports from:
242
+ │ ├── module-a (types)
243
+ │ └── module-b (utils)
244
+ ├── imported by:
245
+ │ ├── consumer-1.ts
246
+ │ ├── consumer-2.ts
247
+ │ └── consumer-3.ts
248
+ └── used by:
249
+ ├── handler.ts (direct call)
250
+ └── service.ts (dependency injection)
251
+ \`\`\`
252
+
253
+ ### Impact Zones
254
+ | Zone | Risk Level | Files Affected | Test Coverage |
255
+ |------|------------|----------------|---------------|
256
+ | Core | HIGH | 3 files | 85% covered |
257
+ | Consumers | MEDIUM | 8 files | 70% covered |
258
+ | Edge | LOW | 2 files | 50% covered |
259
+
260
+ ### Established Patterns
261
+ - Pattern A: [description] - used in N places
262
+ - Pattern B: [description] - established convention
263
+ \`\`\`
264
+
265
+ ## 2.2: Identify Refactoring Constraints
266
+
267
+ Based on codemap:
268
+ - **MUST follow**: [existing patterns identified]
269
+ - **MUST NOT break**: [critical dependencies]
270
+ - **Safe to change**: [isolated code zones]
271
+ - **Requires migration**: [breaking changes impact]
272
+
273
+ **Mark phase-2 as completed.**
274
+
275
+ ---
276
+
277
+ # PHASE 3: TEST ASSESSMENT (VERIFICATION STRATEGY)
278
+
279
+ **Mark phase-3 as in_progress.**
280
+
281
+ ## 3.1: Detect Test Infrastructure
282
+
283
+ \`\`\`bash
284
+ # Check for test commands
285
+ cat package.json | jq '.scripts | keys[] | select(test("test"))'
286
+
287
+ # Or for Python
288
+ ls -la pytest.ini pyproject.toml setup.cfg
289
+
290
+ # Or for Go
291
+ ls -la *_test.go
292
+ \`\`\`
293
+
294
+ ## 3.2: Analyze Test Coverage
295
+
296
+ \`\`\`
297
+ // Find all tests related to target
298
+ call_omo_agent(
299
+ subagent_type="explore",
300
+ run_in_background=false, // Need this synchronously
301
+ prompt="Analyze test coverage for [TARGET]:
302
+ 1. Which test files cover this code?
303
+ 2. What test cases exist?
304
+ 3. Are there integration tests?
305
+ 4. What edge cases are tested?
306
+ 5. Estimated coverage percentage?"
307
+ )
308
+ \`\`\`
309
+
310
+ ## 3.3: Determine Verification Strategy
311
+
312
+ Based on test analysis:
313
+
314
+ | Coverage Level | Strategy |
315
+ |----------------|----------|
316
+ | HIGH (>80%) | Run existing tests after each step |
317
+ | MEDIUM (50-80%) | Run tests + add safety assertions |
318
+ | LOW (<50%) | **PAUSE**: Propose adding tests first |
319
+ | NONE | **BLOCK**: Refuse aggressive refactoring |
320
+
321
+ **If coverage is LOW or NONE, ask user:**
322
+
323
+ \`\`\`
324
+ Test coverage for [TARGET] is [LEVEL].
325
+
326
+ **Risk Assessment**: Refactoring without adequate tests is dangerous.
327
+
328
+ Options:
329
+ 1. Add tests first, then refactor (RECOMMENDED)
330
+ 2. Proceed with extra caution, manual verification required
331
+ 3. Abort refactoring
332
+
333
+ Which approach do you prefer?
334
+ \`\`\`
335
+
336
+ ## 3.4: Document Verification Plan
337
+
338
+ \`\`\`
339
+ ## VERIFICATION PLAN
340
+
341
+ ### Test Commands
342
+ - Unit: \`bun test\` / \`npm test\` / \`pytest\` / etc.
343
+ - Integration: [command if exists]
344
+ - Type check: \`tsc --noEmit\` / \`pyright\` / etc.
345
+
346
+ ### Verification Checkpoints
347
+ After each refactoring step:
348
+ 1. lsp_diagnostics → zero new errors
349
+ 2. Run test command → all pass
350
+ 3. Type check → clean
351
+
352
+ ### Regression Indicators
353
+ - [Specific test that must pass]
354
+ - [Behavior that must be preserved]
355
+ - [API contract that must not change]
356
+ \`\`\`
357
+
358
+ **Mark phase-3 as completed.**
359
+
360
+ ---
361
+
362
+ # PHASE 4: PLAN GENERATION (PLAN AGENT)
363
+
364
+ **Mark phase-4 as in_progress.**
365
+
366
+ ## 4.1: Invoke Plan Agent
367
+
368
+ \`\`\`
369
+ Task(
370
+ subagent_type="plan",
371
+ prompt="Create a detailed refactoring plan:
372
+
373
+ ## Refactoring Goal
374
+ [User's original request]
375
+
376
+ ## Codemap (from Phase 2)
377
+ [Insert codemap here]
378
+
379
+ ## Test Coverage (from Phase 3)
380
+ [Insert verification plan here]
381
+
382
+ ## Constraints
383
+ - MUST follow existing patterns: [list]
384
+ - MUST NOT break: [critical paths]
385
+ - MUST run tests after each step
386
+
387
+ ## Requirements
388
+ 1. Break down into atomic refactoring steps
389
+ 2. Each step must be independently verifiable
390
+ 3. Order steps by dependency (what must happen first)
391
+ 4. Specify exact files and line ranges for each step
392
+ 5. Include rollback strategy for each step
393
+ 6. Define commit checkpoints"
394
+ )
395
+ \`\`\`
396
+
397
+ ## 4.2: Review and Validate Plan
398
+
399
+ After receiving plan from Plan agent:
400
+
401
+ 1. **Verify completeness**: All identified files addressed?
402
+ 2. **Verify safety**: Each step reversible?
403
+ 3. **Verify order**: Dependencies respected?
404
+ 4. **Verify verification**: Test commands specified?
405
+
406
+ ## 4.3: Register Detailed Todos
407
+
408
+ Convert Plan agent output into granular todos:
409
+
410
+ \`\`\`
411
+ TodoWrite([
412
+ // Each step from the plan becomes a todo
413
+ {"id": "refactor-1", "content": "Step 1: [description]", "status": "pending", "priority": "high"},
414
+ {"id": "verify-1", "content": "Verify Step 1: run tests", "status": "pending", "priority": "high"},
415
+ {"id": "refactor-2", "content": "Step 2: [description]", "status": "pending", "priority": "medium"},
416
+ {"id": "verify-2", "content": "Verify Step 2: run tests", "status": "pending", "priority": "medium"},
417
+ // ... continue for all steps
418
+ ])
419
+ \`\`\`
420
+
421
+ **Mark phase-4 as completed.**
422
+
423
+ ---
424
+
425
+ # PHASE 5: EXECUTE REFACTORING (DETERMINISTIC EXECUTION)
426
+
427
+ **Mark phase-5 as in_progress.**
428
+
429
+ ## 5.1: Execution Protocol
430
+
431
+ For EACH refactoring step:
432
+
433
+ ### Pre-Step
434
+ 1. Mark step todo as \`in_progress\`
435
+ 2. Read current file state
436
+ 3. Verify lsp_diagnostics is baseline
437
+
438
+ ### Execute Step
439
+ Use appropriate tool:
440
+
441
+ **For Symbol Renames:**
442
+ \`\`\`typescript
443
+ lsp_prepare_rename(filePath, line, character) // Validate rename is possible
444
+ lsp_rename(filePath, line, character, newName) // Execute rename
445
+ \`\`\`
446
+
447
+ **For Pattern Transformations:**
448
+ \`\`\`typescript
449
+ // Preview first
450
+ ast_grep_replace(pattern, rewrite, lang, dryRun=true)
451
+
452
+ // If preview looks good, execute
453
+ ast_grep_replace(pattern, rewrite, lang, dryRun=false)
454
+ \`\`\`
455
+
456
+ **For Structural Changes:**
457
+ \`\`\`typescript
458
+ // Use Edit tool for precise changes
459
+ edit(filePath, oldString, newString)
460
+ \`\`\`
461
+
462
+ ### Post-Step Verification (MANDATORY)
463
+
464
+ \`\`\`typescript
465
+ // 1. Check diagnostics
466
+ lsp_diagnostics(filePath) // Must be clean or same as baseline
467
+
468
+ // 2. Run tests
469
+ bash("bun test") // Or appropriate test command
470
+
471
+ // 3. Type check
472
+ bash("tsc --noEmit") // Or appropriate type check
473
+ \`\`\`
474
+
475
+ ### Step Completion
476
+ 1. If verification passes → Mark step todo as \`completed\`
477
+ 2. If verification fails → **STOP AND FIX**
478
+
479
+ ## 5.2: Failure Recovery Protocol
480
+
481
+ If ANY verification fails:
482
+
483
+ 1. **STOP** immediately
484
+ 2. **REVERT** the failed change
485
+ 3. **DIAGNOSE** what went wrong
486
+ 4. **OPTIONS**:
487
+ - Fix the issue and retry
488
+ - Skip this step (if optional)
489
+ - Consult oracle agent for help
490
+ - Ask user for guidance
491
+
492
+ **NEVER proceed to next step with broken tests.**
493
+
494
+ ## 5.3: Commit Checkpoints
495
+
496
+ After each logical group of changes:
497
+
498
+ \`\`\`bash
499
+ git add [changed-files]
500
+ git commit -m "refactor(scope): description
501
+
502
+ [details of what was changed and why]"
503
+ \`\`\`
504
+
505
+ **Mark phase-5 as completed when all refactoring steps done.**
506
+
507
+ ---
508
+
509
+ # PHASE 6: FINAL VERIFICATION (REGRESSION CHECK)
510
+
511
+ **Mark phase-6 as in_progress.**
512
+
513
+ ## 6.1: Full Test Suite
514
+
515
+ \`\`\`bash
516
+ # Run complete test suite
517
+ bun test # or npm test, pytest, go test, etc.
518
+ \`\`\`
519
+
520
+ ## 6.2: Type Check
521
+
522
+ \`\`\`bash
523
+ # Full type check
524
+ tsc --noEmit # or equivalent
525
+ \`\`\`
526
+
527
+ ## 6.3: Lint Check
528
+
529
+ \`\`\`bash
530
+ # Run linter
531
+ eslint . # or equivalent
532
+ \`\`\`
533
+
534
+ ## 6.4: Build Verification (if applicable)
535
+
536
+ \`\`\`bash
537
+ # Ensure build still works
538
+ bun run build # or npm run build, etc.
539
+ \`\`\`
540
+
541
+ ## 6.5: Final Diagnostics
542
+
543
+ \`\`\`typescript
544
+ // Check all changed files
545
+ for (file of changedFiles) {
546
+ lsp_diagnostics(file) // Must all be clean
547
+ }
548
+ \`\`\`
549
+
550
+ ## 6.6: Generate Summary
551
+
552
+ \`\`\`markdown
553
+ ## Refactoring Complete
554
+
555
+ ### What Changed
556
+ - [List of changes made]
557
+
558
+ ### Files Modified
559
+ - \`path/to/file.ts\` - [what changed]
560
+ - \`path/to/file2.ts\` - [what changed]
561
+
562
+ ### Verification Results
563
+ - Tests: PASSED (X/Y passing)
564
+ - Type Check: CLEAN
565
+ - Lint: CLEAN
566
+ - Build: SUCCESS
567
+
568
+ ### No Regressions Detected
569
+ All existing tests pass. No new errors introduced.
570
+ \`\`\`
571
+
572
+ **Mark phase-6 as completed.**
573
+
574
+ ---
575
+
576
+ # CRITICAL RULES
577
+
578
+ ## NEVER DO
579
+ - Skip lsp_diagnostics check after changes
580
+ - Proceed with failing tests
581
+ - Make changes without understanding impact
582
+ - Use \`as any\`, \`@ts-ignore\`, \`@ts-expect-error\`
583
+ - Delete tests to make them pass
584
+ - Commit broken code
585
+ - Refactor without understanding existing patterns
586
+
587
+ ## ALWAYS DO
588
+ - Understand before changing
589
+ - Preview before applying (ast_grep dryRun=true)
590
+ - Verify after every change
591
+ - Follow existing codebase patterns
592
+ - Keep todos updated in real-time
593
+ - Commit at logical checkpoints
594
+ - Report issues immediately
595
+
596
+ ## ABORT CONDITIONS
597
+ If any of these occur, **STOP and consult user**:
598
+ - Test coverage is zero for target code
599
+ - Changes would break public API
600
+ - Refactoring scope is unclear
601
+ - 3 consecutive verification failures
602
+ - User-defined constraints violated
603
+
604
+ ---
605
+
606
+ # Tool Usage Philosophy
607
+
608
+ You already know these tools. Use them intelligently:
609
+
610
+ ## LSP Tools
611
+ Leverage LSP tools for precision analysis. Key patterns:
612
+ - **Understand before changing**: \`LspGotoDefinition\` to grasp context
613
+ - **Impact analysis**: \`LspFindReferences\` to map all usages before modification
614
+ - **Safe refactoring**: \`lsp_prepare_rename\` → \`lsp_rename\` for symbol renames
615
+ - **Continuous verification**: \`lsp_diagnostics\` after every change
616
+
617
+ ## AST-Grep
618
+ Use \`ast_grep_search\` and \`ast_grep_replace\` for structural transformations.
619
+ **Critical**: Always \`dryRun=true\` first, review, then execute.
620
+
621
+ ## Agents
622
+ - \`explore\`: Parallel codebase pattern discovery
623
+ - \`plan\`: Detailed refactoring plan generation
624
+ - \`oracle\`: Read-only consultation for complex architectural decisions and debugging
625
+ - \`librarian\`: **Use proactively** when encountering deprecated methods or library migration tasks. Query official docs and OSS examples for modern replacements.
626
+
627
+ ## Deprecated Code & Library Migration
628
+ When you encounter deprecated methods/APIs during refactoring:
629
+ 1. Fire \`librarian\` to find the recommended modern alternative
630
+ 2. **DO NOT auto-upgrade to latest version** unless user explicitly requests migration
631
+ 3. If user requests library migration, use \`librarian\` to fetch latest API docs before making changes
632
+
633
+ ---
634
+
635
+ **Remember: Refactoring without tests is reckless. Refactoring without understanding is destructive. This command ensures you do neither.**
636
+
637
+ <user-request>
638
+ $ARGUMENTS
639
+ </user-request>
640
+ `
641
+
642
+ export const REFACTOR_TEAM_MODE_ADDENDUM = `
643
+ ---
644
+
645
+ # Team Mode Protocol (active when team_* tools are present)
646
+
647
+ Team mode is enabled for this session. The rules below **override Phase 4-6** above. Follow this protocol instead of the in-session step-by-step execution.
648
+
649
+ ## Phase 4 override: Plan agent staffing requirement
650
+
651
+ When invoking the Plan agent in Phase 4.1, append this additional requirement to the prompt:
652
+
653
+ \`\`\`
654
+ 7. (REQUIRED when team mode is active) Output a Team Staffing Recommendation section with these fields — missing fields fail Phase 5.0:
655
+ - total_atomic_steps: integer
656
+ - file_independent_steps: integer (parallelizable, no cross-file blocker)
657
+ - cross_file_dependent_steps: integer (has blockers)
658
+ - per_step_assignment: [{step_id, assigned_to: 'quick' | 'unspecified-low', blockedBy: [step_ids], rationale}]
659
+ - dispatch_path_recommendation: 'team' | 'legacy' with reason
660
+ - rationale for the composition
661
+ \`\`\`
662
+
663
+ **Classification rules** the plan agent must apply to each step:
664
+ - \`quick\`: mechanical edits — LSP rename, extract variable, inline, simple move, signature change without call-site logic.
665
+ - \`unspecified-low\`: logic-preserving refactors that need reasoning — extract function, restructure conditional, pattern transformation, cross-file API change.
666
+ - Recommend \`team\` path when \`file_independent_steps >= 3\`; recommend \`legacy\` otherwise.
667
+
668
+ ## Phase 5 override: Dispatch path selection
669
+
670
+ Read the Team Staffing Recommendation from Phase 4. If any required field is missing, fail here and re-request the plan with the exact missing field names. Do not proceed with a partial plan.
671
+
672
+ Then choose the path:
673
+
674
+ - **Team path (5.1-T)**: when the plan recommends \`team\` AND \`file_independent_steps >= 3\`. Members execute in parallel, Lead orchestrates, a \`deep\` verifier lives outside the team.
675
+ - **Legacy path (5.1-L)**: otherwise. Use the original 5.1 / 5.2 / 5.3 flow from above.
676
+
677
+ Record the chosen path in the TodoWrite list.
678
+
679
+ ## Phase 5.1-T: \`refactor-squad\` team execution
680
+
681
+ **Precondition checks** (fail hard if any step fails):
682
+
683
+ 1. Load the \`team-mode\` skill via the \`skill\` tool for lifecycle, message protocol, and limits.
684
+ 2. Call \`team_list\` and verify no active \`refactor-squad\` run exists; if one does, shutdown + delete the orphan before proceeding.
685
+ 3. If \`~/.omo/teams/refactor-squad/config.json\` is missing, write it using the spec below.
686
+
687
+ **Team spec** (\`~/.omo/teams/refactor-squad/config.json\`):
688
+
689
+ \`\`\`json
690
+ {
691
+ "name": "refactor-squad",
692
+ "lead": { "kind": "subagent_type", "subagent_type": "sisyphus" },
693
+ "members": [
694
+ {
695
+ "kind": "category",
696
+ "category": "quick",
697
+ "prompt": "You handle mechanical refactoring steps (LSP rename, extract variable, inline, simple move, signature change). Use LSP tools for correctness. Apply the task description's per-step instructions verbatim — no scope expansion. After edits, run lsp_diagnostics on touched files. Report via team_send_message(teamRunId=<id>, to=\"lead\", summary=<files touched>, body=<lsp status + diff summary>) + team_task_update(status=completed). Never run tests — the external verifier handles that. Never git add, never --continue."
698
+ },
699
+ { "kind": "category", "category": "quick", "prompt": "Same contract as peer quick worker." },
700
+ {
701
+ "kind": "category",
702
+ "category": "unspecified-low",
703
+ "prompt": "You handle logic-preserving refactors that need reasoning (extract function, restructure conditional, pattern transformation, cross-file API change). Read the task description's plan step carefully. Use ast_grep_replace with dryRun=true first, review the preview, then execute. If the step is ambiguous or would require out-of-scope changes, STOP and send team_send_message(teamRunId=<id>, to=\"lead\", summary=\"UNCLEAR\", body=<reason>) + team_task_update(status=pending). Same reporting contract as peer quick workers. Never run tests."
704
+ },
705
+ { "kind": "category", "category": "unspecified-low", "prompt": "Same contract as peer unspecified-low worker." }
706
+ ]
707
+ }
708
+ \`\`\`
709
+
710
+ Rationale for this composition:
711
+ - **4 workers = team mode's parallel cap.** 5+ just queues.
712
+ - **No verifier team member.** Verification needs \`deep\` reasoning (or \`unspecified-high\` fallback). In-team category routing downcasts to sisyphus-junior, which is weaker than required — the verifier runs OUTSIDE the team as a \`task(category="deep")\`.
713
+ - **quick × 2** for mechanical edits, **unspecified-low × 2** for reasoning edits — mirrors the plan's split.
714
+
715
+ **Team lifecycle** (one team, reused until Phase 6 cleanup):
716
+
717
+ 1. \`team_create(teamName="refactor-squad")\`. Record \`teamRunId\`.
718
+ 2. Broadcast the refactor Intent Card ONCE (keep task descriptions slim):
719
+ \`\`\`
720
+ team_send_message(
721
+ teamRunId=<id>, to="*", kind="announcement",
722
+ summary="refactor-intent",
723
+ body=<codemap summary + constraints + established patterns from Phase 2>
724
+ )
725
+ \`\`\`
726
+ 3. Broadcast the verification spec ONCE:
727
+ \`\`\`
728
+ team_send_message(
729
+ teamRunId=<id>, to="*", kind="announcement",
730
+ summary="verify-spec",
731
+ body=<exact test/typecheck/lint commands + expected pass counts + regression indicators from Phase 3.4>
732
+ )
733
+ \`\`\`
734
+ 4. For each plan step, \`team_task_create(teamRunId=<id>, subject="refactor step <N>: <short>", description=<per-step instructions from plan, including target files and line ranges, rollback strategy>, blockedBy=<from plan's per_step_assignment>)\`.
735
+
736
+ **Lead monitoring loop**:
737
+
738
+ While any team task is \`pending | claimed | in_progress\`:
739
+
740
+ - Wait for \`<system-reminder>\` or member messages. Avoid tight polling; a single \`team_status\` check is acceptable if no notification arrives within roughly 10 seconds of expected completion.
741
+ - On a worker completion report, immediately dispatch an **external verifier** — verification runs OUTSIDE the team because team-member category routing downcasts to sisyphus-junior:
742
+ \`\`\`
743
+ task(
744
+ category="deep",
745
+ load_skills=[],
746
+ run_in_background=true,
747
+ description="verify step <N>",
748
+ prompt=<files touched + verify-spec commands + instruction to return "PASS" or "FAIL:<failing test + specific error + suggested revert hunks>">
749
+ )
750
+ \`\`\`
751
+ If \`deep\` is unavailable, fall back to \`category="unspecified-high"\`. Do not create a commit checkpoint until the verifier returns PASS.
752
+ - On a verifier PASS: make the commit checkpoint for that step (see original 5.3). Proceed.
753
+ - On a verifier FAIL: Lead decides:
754
+ - **Retry with fix hint**: \`team_task_update(status=pending)\` on the original step + \`team_send_message(teamRunId=<id>, to=<original member>, summary="retry", body=<specific failure from verifier>)\`. Runtime reassigns.
755
+ - **Escalate**: after three FAIL cycles on the same step, STOP and consult the user with full evidence.
756
+ - On a member UNCLEAR message: re-harvest context via a targeted \`task()\` outside the team, broadcast an updated Intent Card fragment, then reassign.
757
+
758
+ Proceed to Phase 6 only when every team task is \`completed\` AND every paired verifier task returned PASS.
759
+
760
+ ## Phase 6 override: Team cleanup before summary
761
+
762
+ If Phase 5 used the team path, dismantle \`refactor-squad\` BEFORE producing the 6.6 summary. Every exit path — success, escalation, abort — must cleanup; orphan teams poison the next session's precondition check.
763
+
764
+ 1. \`team_shutdown_request\` for each member, then \`team_approve_shutdown\` if members do not self-approve within a reasonable window.
765
+ 2. \`team_delete(teamRunId=<id>)\`.
766
+ 3. \`team_list\` to confirm no residual \`refactor-squad\` run.
767
+
768
+ The \`~/.omo/teams/refactor-squad/config.json\` declaration stays on disk; next session reuses it.
769
+
770
+ Append to the 6.6 summary a "Dispatch path" line and, when team path was used, team metrics (teamRunId, tasks created, verifier runs, team lifetime).
771
+
772
+ ## MUST NOT (team mode)
773
+
774
+ - Lead never edits files directly — orchestrate only.
775
+ - Do not inline the Intent Card or verify-spec into task descriptions — rely on the broadcasts.
776
+ - Do not recreate the team mid-session.
777
+ - Do not run tests from Lead — the external verifier owns that lane.
778
+ - Do not put \`oracle\` / \`librarian\` / \`deep\` into the team spec — oracle/librarian are team-ineligible, and \`deep\` under category routing downcasts to sisyphus-junior. Use them via \`task()\` outside the team when needed.
779
+ `