oh-my-customcodex 0.1.0

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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +327 -0
  3. package/dist/cli/index.js +32054 -0
  4. package/dist/index.js +5469 -0
  5. package/package.json +89 -0
  6. package/templates/.claude/agents/arch-documenter.md +38 -0
  7. package/templates/.claude/agents/arch-speckit-agent.md +66 -0
  8. package/templates/.claude/agents/be-django-expert.md +47 -0
  9. package/templates/.claude/agents/be-express-expert.md +31 -0
  10. package/templates/.claude/agents/be-fastapi-expert.md +45 -0
  11. package/templates/.claude/agents/be-go-backend-expert.md +45 -0
  12. package/templates/.claude/agents/be-nestjs-expert.md +29 -0
  13. package/templates/.claude/agents/be-springboot-expert.md +42 -0
  14. package/templates/.claude/agents/db-alembic-expert.md +73 -0
  15. package/templates/.claude/agents/db-postgres-expert.md +38 -0
  16. package/templates/.claude/agents/db-redis-expert.md +38 -0
  17. package/templates/.claude/agents/db-supabase-expert.md +37 -0
  18. package/templates/.claude/agents/de-airflow-expert.md +48 -0
  19. package/templates/.claude/agents/de-dbt-expert.md +36 -0
  20. package/templates/.claude/agents/de-kafka-expert.md +83 -0
  21. package/templates/.claude/agents/de-pipeline-expert.md +34 -0
  22. package/templates/.claude/agents/de-snowflake-expert.md +38 -0
  23. package/templates/.claude/agents/de-spark-expert.md +38 -0
  24. package/templates/.claude/agents/fe-design-expert.md +120 -0
  25. package/templates/.claude/agents/fe-flutter-agent.md +48 -0
  26. package/templates/.claude/agents/fe-svelte-agent.md +33 -0
  27. package/templates/.claude/agents/fe-vercel-agent.md +40 -0
  28. package/templates/.claude/agents/fe-vuejs-agent.md +34 -0
  29. package/templates/.claude/agents/infra-aws-expert.md +49 -0
  30. package/templates/.claude/agents/infra-docker-expert.md +49 -0
  31. package/templates/.claude/agents/lang-golang-expert.md +46 -0
  32. package/templates/.claude/agents/lang-java21-expert.md +42 -0
  33. package/templates/.claude/agents/lang-kotlin-expert.md +45 -0
  34. package/templates/.claude/agents/lang-python-expert.md +45 -0
  35. package/templates/.claude/agents/lang-rust-expert.md +45 -0
  36. package/templates/.claude/agents/lang-typescript-expert.md +45 -0
  37. package/templates/.claude/agents/mgr-claude-code-bible.md +62 -0
  38. package/templates/.claude/agents/mgr-creator.md +57 -0
  39. package/templates/.claude/agents/mgr-gitnerd.md +50 -0
  40. package/templates/.claude/agents/mgr-sauron.md +163 -0
  41. package/templates/.claude/agents/mgr-supplier.md +39 -0
  42. package/templates/.claude/agents/mgr-updater.md +40 -0
  43. package/templates/.claude/agents/qa-engineer.md +36 -0
  44. package/templates/.claude/agents/qa-planner.md +78 -0
  45. package/templates/.claude/agents/qa-writer.md +32 -0
  46. package/templates/.claude/agents/sec-codeql-expert.md +56 -0
  47. package/templates/.claude/agents/slack-cli-expert.md +98 -0
  48. package/templates/.claude/agents/souls/lang-golang-expert.soul.md +21 -0
  49. package/templates/.claude/agents/sys-memory-keeper.md +123 -0
  50. package/templates/.claude/agents/sys-naggy.md +76 -0
  51. package/templates/.claude/agents/tool-bun-expert.md +26 -0
  52. package/templates/.claude/agents/tool-npm-expert.md +31 -0
  53. package/templates/.claude/agents/tool-optimizer.md +37 -0
  54. package/templates/.claude/agents/wiki-curator.md +72 -0
  55. package/templates/.claude/config/required-plugins.json +30 -0
  56. package/templates/.claude/contexts/dev.md +20 -0
  57. package/templates/.claude/contexts/ecomode.md +110 -0
  58. package/templates/.claude/contexts/index.yaml +41 -0
  59. package/templates/.claude/contexts/research.md +28 -0
  60. package/templates/.claude/contexts/review.md +23 -0
  61. package/templates/.claude/hooks/hooks.json +533 -0
  62. package/templates/.claude/hooks/scripts/adaptive-harness-scan.sh +45 -0
  63. package/templates/.claude/hooks/scripts/agent-start-recorder.sh +40 -0
  64. package/templates/.claude/hooks/scripts/agent-teams-advisor.sh +76 -0
  65. package/templates/.claude/hooks/scripts/audit-log.sh +64 -0
  66. package/templates/.claude/hooks/scripts/auto-continue-guard.sh +33 -0
  67. package/templates/.claude/hooks/scripts/content-hash-validator.sh +75 -0
  68. package/templates/.claude/hooks/scripts/context-budget-advisor.sh +107 -0
  69. package/templates/.claude/hooks/scripts/cost-cap-advisor.sh +71 -0
  70. package/templates/.claude/hooks/scripts/cwd-change-detector.sh +36 -0
  71. package/templates/.claude/hooks/scripts/eval-core-batch-save.sh +46 -0
  72. package/templates/.claude/hooks/scripts/feedback-collector.sh +92 -0
  73. package/templates/.claude/hooks/scripts/file-change-validator.sh +26 -0
  74. package/templates/.claude/hooks/scripts/git-delegation-guard.sh +57 -0
  75. package/templates/.claude/hooks/scripts/model-escalation-advisor.sh +106 -0
  76. package/templates/.claude/hooks/scripts/omcodex-auto-update.sh +4 -0
  77. package/templates/.claude/hooks/scripts/omcustom-auto-update.sh +177 -0
  78. package/templates/.claude/hooks/scripts/rtk-intercept.sh +77 -0
  79. package/templates/.claude/hooks/scripts/rule-deletion-guard.sh +60 -0
  80. package/templates/.claude/hooks/scripts/schema-validator.sh +106 -0
  81. package/templates/.claude/hooks/scripts/secret-filter.sh +100 -0
  82. package/templates/.claude/hooks/scripts/session-autofix-prompt.sh +34 -0
  83. package/templates/.claude/hooks/scripts/session-autofix.sh +146 -0
  84. package/templates/.claude/hooks/scripts/session-env-check.sh +254 -0
  85. package/templates/.claude/hooks/scripts/skill-extractor-analyzer.sh +49 -0
  86. package/templates/.claude/hooks/scripts/stage-blocker.sh +16 -0
  87. package/templates/.claude/hooks/scripts/stale-todo-scanner.sh +91 -0
  88. package/templates/.claude/hooks/scripts/stall-detection-advisor.sh +112 -0
  89. package/templates/.claude/hooks/scripts/stop-console-audit.sh +46 -0
  90. package/templates/.claude/hooks/scripts/stuck-detector.sh +199 -0
  91. package/templates/.claude/hooks/scripts/task-outcome-recorder.sh +119 -0
  92. package/templates/.claude/hooks/scripts/task-state-precompact.sh +58 -0
  93. package/templates/.claude/hooks/scripts/user-prompt-preprocessor.sh +32 -0
  94. package/templates/.claude/hooks/skill-count-reminder.sh +34 -0
  95. package/templates/.claude/install-hooks.sh +100 -0
  96. package/templates/.claude/ontology/agents.yaml +546 -0
  97. package/templates/.claude/ontology/graphs/agent-skill.json +102 -0
  98. package/templates/.claude/ontology/graphs/full-graph.json +629 -0
  99. package/templates/.claude/ontology/graphs/routing.json +112 -0
  100. package/templates/.claude/ontology/graphs/skill-rule.json +78 -0
  101. package/templates/.claude/ontology/rules.yaml +251 -0
  102. package/templates/.claude/ontology/schema.yaml +144 -0
  103. package/templates/.claude/ontology/skills.yaml +575 -0
  104. package/templates/.claude/rules/MAY-optimization.md +42 -0
  105. package/templates/.claude/rules/MUST-agent-design.md +340 -0
  106. package/templates/.claude/rules/MUST-agent-identification.md +77 -0
  107. package/templates/.claude/rules/MUST-agent-teams.md +293 -0
  108. package/templates/.claude/rules/MUST-completion-verification.md +112 -0
  109. package/templates/.claude/rules/MUST-continuous-improvement.md +69 -0
  110. package/templates/.claude/rules/MUST-enforcement-policy.md +50 -0
  111. package/templates/.claude/rules/MUST-intent-transparency.md +74 -0
  112. package/templates/.claude/rules/MUST-language-policy.md +28 -0
  113. package/templates/.claude/rules/MUST-orchestrator-coordination.md +399 -0
  114. package/templates/.claude/rules/MUST-parallel-execution.md +184 -0
  115. package/templates/.claude/rules/MUST-permissions.md +32 -0
  116. package/templates/.claude/rules/MUST-safety.md +23 -0
  117. package/templates/.claude/rules/MUST-sync-verification.md +145 -0
  118. package/templates/.claude/rules/MUST-tool-identification.md +97 -0
  119. package/templates/.claude/rules/SHOULD-ecomode.md +123 -0
  120. package/templates/.claude/rules/SHOULD-error-handling.md +33 -0
  121. package/templates/.claude/rules/SHOULD-hud-statusline.md +51 -0
  122. package/templates/.claude/rules/SHOULD-interaction.md +77 -0
  123. package/templates/.claude/rules/SHOULD-memory-integration.md +371 -0
  124. package/templates/.claude/rules/SHOULD-ontology-rag-routing.md +49 -0
  125. package/templates/.claude/rules/SHOULD-wiki-sync.md +73 -0
  126. package/templates/.claude/rules/index.yaml +141 -0
  127. package/templates/.claude/schemas/tool-inputs.json +62 -0
  128. package/templates/.claude/skills/action-validator/SKILL.md +89 -0
  129. package/templates/.claude/skills/adaptive-harness/SKILL.md +335 -0
  130. package/templates/.claude/skills/adversarial-review/SKILL.md +80 -0
  131. package/templates/.claude/skills/agora/SKILL.md +194 -0
  132. package/templates/.claude/skills/airflow-best-practices/SKILL.md +94 -0
  133. package/templates/.claude/skills/alembic-best-practices/SKILL.md +295 -0
  134. package/templates/.claude/skills/ambiguity-gate/SKILL.md +94 -0
  135. package/templates/.claude/skills/analysis/SKILL.md +223 -0
  136. package/templates/.claude/skills/audit-agents/SKILL.md +118 -0
  137. package/templates/.claude/skills/aws-best-practices/SKILL.md +281 -0
  138. package/templates/.claude/skills/claude-code-bible/SKILL.md +93 -0
  139. package/templates/.claude/skills/claude-code-bible/scripts/fetch-docs.js +244 -0
  140. package/templates/.claude/skills/claude-native/SKILL.md +215 -0
  141. package/templates/.claude/skills/codex-exec/SKILL.md +206 -0
  142. package/templates/.claude/skills/codex-exec/scripts/codex-wrapper.cjs +430 -0
  143. package/templates/.claude/skills/create-agent/SKILL.md +94 -0
  144. package/templates/.claude/skills/cve-triage/SKILL.md +91 -0
  145. package/templates/.claude/skills/dag-orchestration/SKILL.md +201 -0
  146. package/templates/.claude/skills/dbt-best-practices/SKILL.md +55 -0
  147. package/templates/.claude/skills/de-lead-routing/SKILL.md +230 -0
  148. package/templates/.claude/skills/deep-plan/SKILL.md +344 -0
  149. package/templates/.claude/skills/deep-verify/SKILL.md +111 -0
  150. package/templates/.claude/skills/dev-lead-routing/SKILL.md +161 -0
  151. package/templates/.claude/skills/dev-refactor/SKILL.md +234 -0
  152. package/templates/.claude/skills/dev-review/SKILL.md +172 -0
  153. package/templates/.claude/skills/django-best-practices/SKILL.md +334 -0
  154. package/templates/.claude/skills/docker-best-practices/SKILL.md +276 -0
  155. package/templates/.claude/skills/evaluator-optimizer/SKILL.md +421 -0
  156. package/templates/.claude/skills/fastapi-best-practices/SKILL.md +271 -0
  157. package/templates/.claude/skills/fix-refs/SKILL.md +109 -0
  158. package/templates/.claude/skills/flutter-best-practices/SKILL.md +325 -0
  159. package/templates/.claude/skills/gemini-exec/SKILL.md +215 -0
  160. package/templates/.claude/skills/gemini-exec/scripts/gemini-wrapper.cjs +485 -0
  161. package/templates/.claude/skills/go-backend-best-practices/SKILL.md +135 -0
  162. package/templates/.claude/skills/go-best-practices/SKILL.md +204 -0
  163. package/templates/.claude/skills/hada-scout/SKILL.md +92 -0
  164. package/templates/.claude/skills/harness-eval/SKILL.md +95 -0
  165. package/templates/.claude/skills/harness-synthesizer/SKILL.md +145 -0
  166. package/templates/.claude/skills/help/SKILL.md +127 -0
  167. package/templates/.claude/skills/idea/SKILL.md +88 -0
  168. package/templates/.claude/skills/impeccable-design/SKILL.md +173 -0
  169. package/templates/.claude/skills/intent-detection/SKILL.md +293 -0
  170. package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +438 -0
  171. package/templates/.claude/skills/java21-best-practices/SKILL.md +190 -0
  172. package/templates/.claude/skills/jinja2-prompts/SKILL.md +86 -0
  173. package/templates/.claude/skills/kafka-best-practices/SKILL.md +53 -0
  174. package/templates/.claude/skills/kotlin-best-practices/SKILL.md +257 -0
  175. package/templates/.claude/skills/lists/SKILL.md +80 -0
  176. package/templates/.claude/skills/memory-management/SKILL.md +196 -0
  177. package/templates/.claude/skills/memory-recall/SKILL.md +172 -0
  178. package/templates/.claude/skills/memory-save/SKILL.md +128 -0
  179. package/templates/.claude/skills/model-escalation/SKILL.md +62 -0
  180. package/templates/.claude/skills/monitoring-setup/SKILL.md +215 -0
  181. package/templates/.claude/skills/multi-model-verification/SKILL.md +130 -0
  182. package/templates/.claude/skills/npm-audit/SKILL.md +74 -0
  183. package/templates/.claude/skills/npm-publish/SKILL.md +65 -0
  184. package/templates/.claude/skills/npm-version/SKILL.md +104 -0
  185. package/templates/.claude/skills/omcodex-auto-improve/SKILL.md +136 -0
  186. package/templates/.claude/skills/omcodex-feedback/SKILL.md +205 -0
  187. package/templates/.claude/skills/omcodex-improve-report/SKILL.md +65 -0
  188. package/templates/.claude/skills/omcodex-loop/SKILL.md +45 -0
  189. package/templates/.claude/skills/omcodex-release-notes/SKILL.md +117 -0
  190. package/templates/.claude/skills/omcodex-takeover/SKILL.md +115 -0
  191. package/templates/.claude/skills/omcodex-web/SKILL.md +95 -0
  192. package/templates/.claude/skills/optimize-analyze/SKILL.md +57 -0
  193. package/templates/.claude/skills/optimize-bundle/SKILL.md +69 -0
  194. package/templates/.claude/skills/optimize-report/SKILL.md +76 -0
  195. package/templates/.claude/skills/peer-messaging/SKILL.md +59 -0
  196. package/templates/.claude/skills/pipeline/SKILL.md +103 -0
  197. package/templates/.claude/skills/pipeline-architecture-patterns/SKILL.md +84 -0
  198. package/templates/.claude/skills/pipeline-guards/SKILL.md +173 -0
  199. package/templates/.claude/skills/post-release-followup/SKILL.md +134 -0
  200. package/templates/.claude/skills/postgres-best-practices/SKILL.md +67 -0
  201. package/templates/.claude/skills/pr-auto-improve/SKILL.md +129 -0
  202. package/templates/.claude/skills/professor-triage/SKILL.md +321 -0
  203. package/templates/.claude/skills/python-best-practices/SKILL.md +223 -0
  204. package/templates/.claude/skills/qa-lead-routing/SKILL.md +104 -0
  205. package/templates/.claude/skills/react-best-practices/SKILL.md +102 -0
  206. package/templates/.claude/skills/reasoning-sandwich/SKILL.md +64 -0
  207. package/templates/.claude/skills/redis-best-practices/SKILL.md +84 -0
  208. package/templates/.claude/skills/release-plan/SKILL.md +207 -0
  209. package/templates/.claude/skills/research/SKILL.md +493 -0
  210. package/templates/.claude/skills/result-aggregation/SKILL.md +165 -0
  211. package/templates/.claude/skills/rtk-exec/SKILL.md +199 -0
  212. package/templates/.claude/skills/rtk-exec/scripts/rtk-wrapper.cjs +377 -0
  213. package/templates/.claude/skills/rust-best-practices/SKILL.md +268 -0
  214. package/templates/.claude/skills/sauron-watch/SKILL.md +239 -0
  215. package/templates/.claude/skills/scout/SKILL.md +250 -0
  216. package/templates/.claude/skills/sdd/SKILL.md +24 -0
  217. package/templates/.claude/skills/sdd-dev/SKILL.md +257 -0
  218. package/templates/.claude/skills/sdd-development/SKILL.md +24 -0
  219. package/templates/.claude/skills/secretary-routing/SKILL.md +132 -0
  220. package/templates/.claude/skills/skill-extractor/SKILL.md +155 -0
  221. package/templates/.claude/skills/skills-sh-search/SKILL.md +210 -0
  222. package/templates/.claude/skills/snowflake-best-practices/SKILL.md +66 -0
  223. package/templates/.claude/skills/spark-best-practices/SKILL.md +53 -0
  224. package/templates/.claude/skills/springboot-best-practices/SKILL.md +74 -0
  225. package/templates/.claude/skills/springboot-best-practices/examples/config-properties-example.java +22 -0
  226. package/templates/.claude/skills/springboot-best-practices/examples/controller-example.java +28 -0
  227. package/templates/.claude/skills/springboot-best-practices/examples/controller-test-example.java +33 -0
  228. package/templates/.claude/skills/springboot-best-practices/examples/entity-example.java +22 -0
  229. package/templates/.claude/skills/springboot-best-practices/examples/exception-handler-example.java +30 -0
  230. package/templates/.claude/skills/springboot-best-practices/examples/repository-example.java +17 -0
  231. package/templates/.claude/skills/springboot-best-practices/examples/repository-test-example.java +23 -0
  232. package/templates/.claude/skills/springboot-best-practices/examples/security-config-example.java +27 -0
  233. package/templates/.claude/skills/springboot-best-practices/examples/service-example.java +33 -0
  234. package/templates/.claude/skills/status/SKILL.md +155 -0
  235. package/templates/.claude/skills/structured-dev-cycle/SKILL.md +200 -0
  236. package/templates/.claude/skills/stuck-recovery/SKILL.md +80 -0
  237. package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +100 -0
  238. package/templates/.claude/skills/systematic-debugging/SKILL.md +288 -0
  239. package/templates/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +278 -0
  240. package/templates/.claude/skills/systematic-debugging/condition-based-waiting.md +240 -0
  241. package/templates/.claude/skills/systematic-debugging/defense-in-depth.md +252 -0
  242. package/templates/.claude/skills/systematic-debugging/find-polluter.sh +147 -0
  243. package/templates/.claude/skills/systematic-debugging/root-cause-tracing.md +87 -0
  244. package/templates/.claude/skills/task-decomposition/SKILL.md +197 -0
  245. package/templates/.claude/skills/typescript-best-practices/SKILL.md +322 -0
  246. package/templates/.claude/skills/update-docs/SKILL.md +142 -0
  247. package/templates/.claude/skills/update-external/SKILL.md +169 -0
  248. package/templates/.claude/skills/vercel-deploy/SKILL.md +75 -0
  249. package/templates/.claude/skills/web-design-guidelines/SKILL.md +119 -0
  250. package/templates/.claude/skills/wiki/SKILL.md +426 -0
  251. package/templates/.claude/skills/wiki-rag/SKILL.md +154 -0
  252. package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +165 -0
  253. package/templates/.claude/skills/writing-clearly-and-concisely/SKILL.md +66 -0
  254. package/templates/.claude/statusline.sh +380 -0
  255. package/templates/.claude/uninstall-hooks.sh +52 -0
  256. package/templates/.github/workflows/wiki-sync.yml +132 -0
  257. package/templates/AGENTS.md.en +255 -0
  258. package/templates/AGENTS.md.ko +255 -0
  259. package/templates/CLAUDE.md +263 -0
  260. package/templates/CLAUDE.md.en +256 -0
  261. package/templates/CLAUDE.md.ko +256 -0
  262. package/templates/deprecated-files.json +10 -0
  263. package/templates/guides/agents-md-quality/README.md +110 -0
  264. package/templates/guides/airflow/README.md +47 -0
  265. package/templates/guides/alembic/README.md +438 -0
  266. package/templates/guides/aws/common-patterns.md +169 -0
  267. package/templates/guides/aws/index.yaml +26 -0
  268. package/templates/guides/aws/well-architected.md +143 -0
  269. package/templates/guides/cc-token-saver/README.md +97 -0
  270. package/templates/guides/claude-code/01-overview.md +42 -0
  271. package/templates/guides/claude-code/03-tools.md +107 -0
  272. package/templates/guides/claude-code/04-agent-skills.md +90 -0
  273. package/templates/guides/claude-code/05-agent-sdk.md +129 -0
  274. package/templates/guides/claude-code/06-mcp.md +165 -0
  275. package/templates/guides/claude-code/07-prompt-engineering.md +100 -0
  276. package/templates/guides/claude-code/08-testing.md +56 -0
  277. package/templates/guides/claude-code/09-guardrails.md +78 -0
  278. package/templates/guides/claude-code/10-monitoring.md +87 -0
  279. package/templates/guides/claude-code/11-sub-agents.md +159 -0
  280. package/templates/guides/claude-code/12-workflow-patterns.md +182 -0
  281. package/templates/guides/claude-code/13-cli-flags.md +151 -0
  282. package/templates/guides/claude-code/index.yaml +61 -0
  283. package/templates/guides/dbt/README.md +32 -0
  284. package/templates/guides/django-best-practices/README.md +476 -0
  285. package/templates/guides/docker/compose-best-practices.md +284 -0
  286. package/templates/guides/docker/dockerfile-best-practices.md +262 -0
  287. package/templates/guides/docker/index.yaml +26 -0
  288. package/templates/guides/drizzle-orm/README.md +69 -0
  289. package/templates/guides/elements-of-style/elements-of-style.html +2609 -0
  290. package/templates/guides/fastapi/best-practices.md +232 -0
  291. package/templates/guides/fastapi/index.yaml +21 -0
  292. package/templates/guides/flutter/architecture.md +141 -0
  293. package/templates/guides/flutter/fundamentals.md +119 -0
  294. package/templates/guides/flutter/index.yaml +44 -0
  295. package/templates/guides/flutter/performance.md +119 -0
  296. package/templates/guides/flutter/security.md +120 -0
  297. package/templates/guides/flutter/state-management.md +144 -0
  298. package/templates/guides/flutter/testing.md +155 -0
  299. package/templates/guides/git-worktree-workflow/README.md +138 -0
  300. package/templates/guides/go-backend/index.yaml +26 -0
  301. package/templates/guides/go-backend/project-layout.md +243 -0
  302. package/templates/guides/go-backend/uber-style.md +212 -0
  303. package/templates/guides/golang/concurrency.md +282 -0
  304. package/templates/guides/golang/effective-go.md +309 -0
  305. package/templates/guides/golang/error-handling.md +250 -0
  306. package/templates/guides/golang/index.yaml +27 -0
  307. package/templates/guides/hook-data-flow/README.md +135 -0
  308. package/templates/guides/iceberg/README.md +49 -0
  309. package/templates/guides/impeccable-design/color-and-contrast.md +278 -0
  310. package/templates/guides/impeccable-design/index.yaml +12 -0
  311. package/templates/guides/impeccable-design/motion-design.md +390 -0
  312. package/templates/guides/impeccable-design/typography.md +386 -0
  313. package/templates/guides/impeccable-design/ux-writing.md +400 -0
  314. package/templates/guides/index.yaml +265 -0
  315. package/templates/guides/java21/index.yaml +29 -0
  316. package/templates/guides/java21/java-style-guide.md +248 -0
  317. package/templates/guides/java21/modern-java21.md +303 -0
  318. package/templates/guides/kafka/README.md +32 -0
  319. package/templates/guides/kotlin/coding-conventions.md +247 -0
  320. package/templates/guides/kotlin/idioms.md +234 -0
  321. package/templates/guides/kotlin/index.yaml +26 -0
  322. package/templates/guides/multi-model-routing/README.md +101 -0
  323. package/templates/guides/multi-provider-exec/README.md +83 -0
  324. package/templates/guides/postgres/README.md +58 -0
  325. package/templates/guides/python/index.yaml +26 -0
  326. package/templates/guides/python/pep8-style-guide.md +202 -0
  327. package/templates/guides/python/zen-of-python.md +79 -0
  328. package/templates/guides/redis/README.md +50 -0
  329. package/templates/guides/rust/error-handling.md +262 -0
  330. package/templates/guides/rust/index.yaml +26 -0
  331. package/templates/guides/rust/ownership.md +180 -0
  332. package/templates/guides/skill-bundle-design/README.md +106 -0
  333. package/templates/guides/slack-cli/README.md +145 -0
  334. package/templates/guides/snowflake/README.md +32 -0
  335. package/templates/guides/spark/README.md +32 -0
  336. package/templates/guides/springboot/best-practices.md +361 -0
  337. package/templates/guides/springboot/index.yaml +22 -0
  338. package/templates/guides/supabase-postgres/README.md +32 -0
  339. package/templates/guides/supabase-postgres/index.yaml +19 -0
  340. package/templates/guides/typescript/advanced-types.md +225 -0
  341. package/templates/guides/typescript/index.yaml +26 -0
  342. package/templates/guides/typescript/type-system.md +219 -0
  343. package/templates/guides/web-design/accessibility.md +66 -0
  344. package/templates/guides/web-design/index.yaml +20 -0
  345. package/templates/guides/web-design/performance.md +102 -0
  346. package/templates/guides/web-scraping/README.md +926 -0
  347. package/templates/guides/web-scraping/index.yaml +19 -0
  348. package/templates/guides/worktree-lifecycle/README.md +104 -0
  349. package/templates/index.yaml +18 -0
  350. package/templates/manifest.json +49 -0
  351. package/templates/workflows/auto-dev.yaml +46 -0
@@ -0,0 +1,244 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * fetch-docs.js
5
+ *
6
+ * Fetches Claude Code official documentation from code.claude.com
7
+ * and saves it locally for reference.
8
+ *
9
+ * Usage:
10
+ * node fetch-docs.js [--force] [--output <dir>]
11
+ *
12
+ * Options:
13
+ * --force Skip 24-hour cache check
14
+ * --output <dir> Output directory (default: ~/.claude/references/claude-code/)
15
+ */
16
+
17
+ const https = require('https');
18
+ const fs = require('fs');
19
+ const path = require('path');
20
+ const { homedir } = require('os');
21
+
22
+ // Configuration
23
+ const LLMS_TXT_URL = 'https://code.claude.com/docs/llms.txt';
24
+ const DEFAULT_OUTPUT_DIR = path.join(homedir(), '.claude', 'references', 'claude-code');
25
+ const FETCH_DELAY_MS = 200;
26
+ const CACHE_HOURS = 24;
27
+
28
+ // Parse CLI arguments
29
+ function parseArgs() {
30
+ const args = {
31
+ force: false,
32
+ outputDir: DEFAULT_OUTPUT_DIR,
33
+ };
34
+
35
+ for (let i = 2; i < process.argv.length; i++) {
36
+ const arg = process.argv[i];
37
+ if (arg === '--force') {
38
+ args.force = true;
39
+ } else if (arg === '--output' && i + 1 < process.argv.length) {
40
+ args.outputDir = process.argv[++i];
41
+ }
42
+ }
43
+
44
+ return args;
45
+ }
46
+
47
+ // Check if cache is fresh
48
+ function isCacheFresh(outputDir) {
49
+ const lastUpdatedPath = path.join(outputDir, 'last-updated.txt');
50
+
51
+ if (!fs.existsSync(lastUpdatedPath)) {
52
+ return false;
53
+ }
54
+
55
+ try {
56
+ const content = fs.readFileSync(lastUpdatedPath, 'utf-8').trim();
57
+ const lastUpdated = new Date(content);
58
+ const now = new Date();
59
+ const hoursSince = (now - lastUpdated) / (1000 * 60 * 60);
60
+
61
+ return hoursSince < CACHE_HOURS;
62
+ } catch (error) {
63
+ return false;
64
+ }
65
+ }
66
+
67
+ // Fetch URL with redirect support
68
+ function fetchUrl(url) {
69
+ return new Promise((resolve, reject) => {
70
+ https.get(url, (res) => {
71
+ // Handle redirects
72
+ if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
73
+ return fetchUrl(res.headers.location).then(resolve).catch(reject);
74
+ }
75
+
76
+ if (res.statusCode !== 200) {
77
+ return reject(new Error(`HTTP ${res.statusCode}: ${url}`));
78
+ }
79
+
80
+ let data = '';
81
+ res.on('data', (chunk) => data += chunk);
82
+ res.on('end', () => resolve(data));
83
+ }).on('error', reject);
84
+ });
85
+ }
86
+
87
+ // Extract documentation URLs from llms.txt
88
+ function extractDocUrls(llmsTxtContent) {
89
+ const urls = [];
90
+
91
+ // Match URLs in markdown links: [title](url) and bare URLs
92
+ const markdownLinkRegex = /\(https?:\/\/code\.claude\.com\/docs\/[^)]+\)/g;
93
+ const bareLinkRegex = /^https?:\/\/code\.claude\.com\/docs\/\S+/gm;
94
+
95
+ let match;
96
+ while ((match = markdownLinkRegex.exec(llmsTxtContent)) !== null) {
97
+ // Remove surrounding parentheses
98
+ urls.push(match[0].slice(1, -1));
99
+ }
100
+ while ((match = bareLinkRegex.exec(llmsTxtContent)) !== null) {
101
+ urls.push(match[0]);
102
+ }
103
+
104
+ return [...new Set(urls)]; // Remove duplicates
105
+ }
106
+
107
+ // Convert URL to filename
108
+ function urlToFilename(url) {
109
+ const urlObj = new URL(url);
110
+ let filename = urlObj.pathname.replace(/^\/docs\//, '').replace(/\/$/, '');
111
+
112
+ if (!filename) {
113
+ filename = 'index';
114
+ }
115
+
116
+ // Remove language prefix (e.g., "en/") to keep filenames clean
117
+ filename = filename.replace(/^en\//, '');
118
+
119
+ // Replace remaining slashes with dashes for nested paths
120
+ filename = filename.replace(/\//g, '-');
121
+
122
+ if (!filename.endsWith('.md')) {
123
+ filename += '.md';
124
+ }
125
+
126
+ return filename;
127
+ }
128
+
129
+ // Sleep utility
130
+ function sleep(ms) {
131
+ return new Promise(resolve => setTimeout(resolve, ms));
132
+ }
133
+
134
+ // Ensure directory exists
135
+ function ensureDir(dirPath) {
136
+ if (!fs.existsSync(dirPath)) {
137
+ fs.mkdirSync(dirPath, { recursive: true });
138
+ }
139
+ }
140
+
141
+ // Main execution
142
+ async function main() {
143
+ const args = parseArgs();
144
+ const { force, outputDir } = args;
145
+
146
+ console.log('Claude Code Documentation Fetcher');
147
+ console.log('==================================\n');
148
+
149
+ // Check cache freshness
150
+ if (!force && isCacheFresh(outputDir)) {
151
+ console.log('✓ Cache is fresh (less than 24 hours old)');
152
+ console.log(' Use --force to bypass cache check\n');
153
+ console.log(`Output directory: ${outputDir}`);
154
+ return;
155
+ }
156
+
157
+ // Ensure output directory exists
158
+ ensureDir(outputDir);
159
+
160
+ const stats = {
161
+ total: 0,
162
+ success: 0,
163
+ failed: 0,
164
+ failures: [],
165
+ };
166
+
167
+ try {
168
+ // Step 1: Fetch llms.txt
169
+ console.log('Fetching llms.txt...');
170
+ const llmsTxtContent = await fetchUrl(LLMS_TXT_URL);
171
+ console.log('✓ llms.txt fetched\n');
172
+
173
+ // Save llms.txt itself
174
+ const llmsTxtPath = path.join(outputDir, 'llms.txt');
175
+ fs.writeFileSync(llmsTxtPath, llmsTxtContent, 'utf-8');
176
+
177
+ // Step 2: Extract documentation URLs
178
+ const docUrls = extractDocUrls(llmsTxtContent);
179
+
180
+ if (docUrls.length === 0) {
181
+ console.log('⚠ No documentation URLs found in llms.txt');
182
+ return;
183
+ }
184
+
185
+ console.log(`Found ${docUrls.length} documentation URL(s)\n`);
186
+ stats.total = docUrls.length;
187
+
188
+ // Step 3: Fetch each documentation page
189
+ for (let i = 0; i < docUrls.length; i++) {
190
+ const url = docUrls[i];
191
+ const filename = urlToFilename(url);
192
+ const filepath = path.join(outputDir, filename);
193
+
194
+ try {
195
+ console.log(`[${i + 1}/${docUrls.length}] Fetching ${url}...`);
196
+ const content = await fetchUrl(url);
197
+ fs.writeFileSync(filepath, content, 'utf-8');
198
+ console.log(` ✓ Saved to ${filename}`);
199
+ stats.success++;
200
+ } catch (error) {
201
+ console.log(` ✗ Failed: ${error.message}`);
202
+ stats.failed++;
203
+ stats.failures.push({ url, error: error.message });
204
+ }
205
+
206
+ // Delay between requests
207
+ if (i < docUrls.length - 1) {
208
+ await sleep(FETCH_DELAY_MS);
209
+ }
210
+ }
211
+
212
+ // Step 4: Write last-updated timestamp
213
+ const timestamp = new Date().toISOString();
214
+ const lastUpdatedPath = path.join(outputDir, 'last-updated.txt');
215
+ fs.writeFileSync(lastUpdatedPath, timestamp, 'utf-8');
216
+
217
+ // Summary
218
+ console.log('\n==================================');
219
+ console.log('Summary:');
220
+ console.log(` Total URLs: ${stats.total}`);
221
+ console.log(` Downloaded: ${stats.success}`);
222
+ console.log(` Failed: ${stats.failed}`);
223
+ console.log(` Save location: ${outputDir}`);
224
+ console.log(` Last updated: ${timestamp}`);
225
+
226
+ if (stats.failures.length > 0) {
227
+ console.log('\nFailures:');
228
+ stats.failures.forEach(({ url, error }) => {
229
+ console.log(` - ${url}`);
230
+ console.log(` ${error}`);
231
+ });
232
+ }
233
+
234
+ } catch (error) {
235
+ console.error('\n✗ Fatal error:', error.message);
236
+ process.exit(1);
237
+ }
238
+ }
239
+
240
+ // Run
241
+ main().catch(error => {
242
+ console.error('Unexpected error:', error);
243
+ process.exit(1);
244
+ });
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: claude-native
3
+ description: Monitor Claude Code releases and auto-generate GitHub issues for each new version
4
+ scope: core
5
+ user-invocable: true
6
+ argument-hint: "[--backfill] [--dry-run]"
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # Claude Native Skill
11
+
12
+ Monitor Claude Code (the CLI tool) release history and auto-generate GitHub issues for each new version that has not yet been tracked. Replaces the deprecated customclaw Airflow-based monitoring (deprecated 2026-03-18).
13
+
14
+ ## Options
15
+
16
+ ```
17
+ --backfill Process ALL versions >= v2.1.86 (default behavior when flag is present)
18
+ Without flag: only check the latest 5 releases
19
+ --dry-run Show what issues would be created without actually creating them
20
+ ```
21
+
22
+ ## Workflow
23
+
24
+ ### Phase 1: Fetch CC Releases
25
+
26
+ Fetch all Claude Code releases from the GitHub API:
27
+
28
+ ```bash
29
+ gh api repos/anthropics/claude-code/releases \
30
+ --paginate \
31
+ --jq '.[] | {tag_name: .tag_name, published_at: .published_at, html_url: .html_url, body: .body}'
32
+ ```
33
+
34
+ - Without `--backfill`: fetch only the latest 5 releases (`--limit 5` or first 5 results)
35
+ - With `--backfill`: fetch all releases (use `--paginate`)
36
+ - Filter: only process versions >= v2.1.86 (monitoring stopped after v2.1.85 / issue #683)
37
+
38
+ ### Phase 2: Check Existing Issues
39
+
40
+ Search for existing tracking issues to avoid duplicates:
41
+
42
+ ```bash
43
+ gh issue list \
44
+ --state all \
45
+ --search "[Claude Code v" \
46
+ --json number,title \
47
+ --limit 100
48
+ ```
49
+
50
+ Build a set of already-tracked versions by extracting version strings from issue titles matching the pattern `[Claude Code v{version}]`.
51
+
52
+ ### Phase 3: Dedup
53
+
54
+ For each fetched release version:
55
+ - Parse the version string from `tag_name` (e.g., `v2.1.86`)
56
+ - If a matching issue title already exists → skip (already tracked)
57
+ - If no matching issue → add to "needs issue" list
58
+
59
+ ### Phase 4: Create Issues (or Dry-Run Report)
60
+
61
+ #### Dry-Run Mode (`--dry-run`)
62
+
63
+ Print a report of what would be created:
64
+
65
+ ```
66
+ [Dry Run] Would create issues for:
67
+ - v2.1.86 (published: 2026-01-15)
68
+ - v2.1.87 (published: 2026-01-22)
69
+ ...
70
+ No issues were created.
71
+ ```
72
+
73
+ #### Live Mode
74
+
75
+ For each version in the "needs issue" list, create a GitHub issue:
76
+
77
+ ```bash
78
+ gh issue create \
79
+ --title "[Claude Code v{version}] New release detected" \
80
+ --label "automated,claude-code-release" \
81
+ --body "{body}"
82
+ ```
83
+
84
+ Issue body format (matching the pattern established by issue #683):
85
+
86
+ ```markdown
87
+ # Claude Code v{version}
88
+
89
+ **Release:** v{version}
90
+ **Published:** {published_at}
91
+ **Link:** {html_url}
92
+
93
+ ## Release Summary
94
+
95
+ {release_notes_body — truncated to first 2000 chars if too long}
96
+
97
+ ---
98
+
99
+ ## Action Items
100
+
101
+ - [ ] Review release notes for impact on oh-my-customcodex
102
+ - [ ] Update agent definitions if new Claude Code features affect agents
103
+ - [ ] Test compatibility with current oh-my-customcodex version
104
+ - [ ] Update AGENTS.md if new capabilities are relevant
105
+
106
+ ---
107
+
108
+ _This issue was created by the `/omcodex:claude-native` skill._
109
+ ```
110
+
111
+ **Notes:**
112
+ - If `body` from the release is empty, use `_No release notes provided._`
113
+ - Truncate release body at 2000 characters and append `... (truncated)` if needed
114
+ - The `automated` and `claude-code-release` labels must exist in the repository; create them if missing:
115
+ ```bash
116
+ gh label create "automated" --color "#0075ca" --description "Automated issue" 2>/dev/null || true
117
+ gh label create "claude-code-release" --color "#e4e669" --description "Claude Code release tracking" 2>/dev/null || true
118
+ ```
119
+
120
+ ### Phase 5: Report Results
121
+
122
+ After processing all versions:
123
+
124
+ ```
125
+ [claude-native] Scan complete
126
+
127
+ Versions checked: {N}
128
+ New issues created: {M}
129
+
130
+ Created:
131
+ - #1234 [Claude Code v2.1.86] New release detected
132
+ - #1235 [Claude Code v2.1.87] New release detected
133
+
134
+ Already tracked (skipped):
135
+ - v2.1.85 → #683
136
+ ```
137
+
138
+ If no new releases found:
139
+
140
+ ```
141
+ [claude-native] No new releases found. All versions >= v2.1.86 are already tracked.
142
+ ```
143
+
144
+ ## Version Filtering Logic
145
+
146
+ ```
147
+ MIN_VERSION = "2.1.86"
148
+
149
+ For each release:
150
+ version = strip_v_prefix(tag_name) # "v2.1.86" → "2.1.86"
151
+ parts = split(version, ".") # ["2", "1", "86"]
152
+ if compare_semver(version, MIN_VERSION) >= 0:
153
+ include
154
+ else:
155
+ skip
156
+ ```
157
+
158
+ Semver comparison: major → minor → patch (all numeric). Pre-release suffixes (e.g., `-beta`) are included and compared lexicographically after numeric parts.
159
+
160
+ ## Error Handling
161
+
162
+ | Error | Action |
163
+ |-------|--------|
164
+ | `gh` not authenticated | Report: "Error: gh CLI not authenticated. Run `gh auth login` first." |
165
+ | Rate limit hit | Report current status, list remaining versions |
166
+ | Label creation fails | Warn and continue (issue created without label) |
167
+ | Release body parse error | Use empty body fallback, continue |
168
+
169
+ ## Integration Options
170
+
171
+ ### Manual
172
+
173
+ ```
174
+ /omcodex:claude-native
175
+ /omcodex:claude-native --backfill
176
+ /omcodex:claude-native --dry-run
177
+ ```
178
+
179
+ ### Automatic (SessionStart Hook)
180
+
181
+ Can be integrated into the SessionStart hook to check for new releases at session start:
182
+
183
+ ```json
184
+ {
185
+ "SessionStart": [
186
+ {
187
+ "command": "bash .codex/hooks/scripts/claude-native-check.sh"
188
+ }
189
+ ]
190
+ }
191
+ ```
192
+
193
+ A lightweight wrapper script can run a `--dry-run` check and notify if new releases exist.
194
+
195
+ ### Scheduled (CronCreate)
196
+
197
+ Can be set up as a scheduled remote agent using `/schedule`:
198
+
199
+ ```
200
+ /schedule "daily at 9am: /omcodex:claude-native"
201
+ ```
202
+
203
+ Or via CronCreate MCP tool for programmatic scheduling.
204
+
205
+ ## Prerequisites
206
+
207
+ - `gh` CLI installed and authenticated (`gh auth status`)
208
+ - Repository: `baekenough/oh-my-customcodex` (default, detected from git remote)
209
+ - Labels `automated` and `claude-code-release` (auto-created if missing)
210
+
211
+ ## Background
212
+
213
+ - Last manually tracked release: v2.1.85 (issue #683)
214
+ - Monitoring gap: v2.1.86 onwards (customclaw deprecated 2026-03-18)
215
+ - This skill fills the monitoring gap and provides ongoing tracking
@@ -0,0 +1,206 @@
1
+ ---
2
+ name: codex-exec
3
+ description: Execute OpenAI Codex CLI prompts and return results
4
+ scope: core
5
+ argument-hint: "<prompt> [--json] [--output <path>] [--model <name>] [--timeout <ms>] [--effort <level>]"
6
+ user-invocable: true
7
+ ---
8
+
9
+ # Codex Exec Skill
10
+
11
+ Execute OpenAI Codex CLI prompts in non-interactive mode and return structured results. Enables Claude + Codex hybrid workflows.
12
+
13
+ ## Options
14
+
15
+ ```
16
+ <prompt> Required. The prompt to send to Codex CLI
17
+ --json Return structured JSON Lines output
18
+ --output <path> Save final message to file
19
+ --model <name> Model override (default: Codex CLI default model)
20
+ --timeout <ms> Execution timeout (default: 120000, max: 600000)
21
+ --full-auto Enable auto-approval mode (codex -a full-auto)
22
+ --working-dir Working directory for Codex execution
23
+ --effort <level> Set reasoning effort level (minimal, low, medium, high, xhigh)
24
+ Maps to Codex CLI's model_reasoning_effort config
25
+ Default: uses Codex CLI's configured default
26
+ Recommended: xhigh for research/analysis tasks
27
+ ```
28
+
29
+ ## Workflow
30
+
31
+ ```
32
+ 1. Pre-checks
33
+ - Verify `codex` binary is installed (which codex || npx codex --version)
34
+ - Verify authentication (OPENAI_API_KEY or logged in)
35
+ 2. Build command
36
+ - Base: codex exec --ephemeral "<prompt>"
37
+ - Apply options: --json, --model, --full-auto, -C <dir>
38
+ - Set --working-dir if specified
39
+ 3. Execute
40
+ - Run via Bash tool with timeout (default 2min, max 10min)
41
+ - Or use helper script: node .codex/skills/codex-exec/scripts/codex-wrapper.cjs
42
+ 4. Parse output
43
+ - Text mode: return raw stdout
44
+ - JSON mode: parse JSON Lines, extract final assistant message
45
+ 5. Report results
46
+ - Format output with execution metadata
47
+ ```
48
+
49
+ ## Safety Defaults
50
+
51
+ - `--ephemeral`: No session persistence (conversations not saved)
52
+ - Default mode: Normal approval (Codex prompts for confirmation)
53
+ - Override with `--full-auto` only when explicitly requested
54
+
55
+ ## Output Format
56
+
57
+ ### Success (Text Mode)
58
+ ```
59
+ [Codex Exec] Completed
60
+
61
+ Model: (default)
62
+ Duration: 23.4s
63
+ Working Dir: /path/to/project
64
+
65
+ --- Output ---
66
+ {codex response text}
67
+ ```
68
+
69
+ ### Success (JSON Mode)
70
+ ```
71
+ [Codex Exec] Completed (JSON)
72
+
73
+ Model: (default)
74
+ Duration: 23.4s
75
+ Events: 12
76
+
77
+ --- Final Message ---
78
+ {extracted final assistant message}
79
+ ```
80
+
81
+ ### Failure
82
+ ```
83
+ [Codex Exec] Failed
84
+
85
+ Error: {error_message}
86
+ Exit Code: {code}
87
+ Suggested Fix: {suggestion}
88
+ ```
89
+
90
+ ## Helper Script
91
+
92
+ For complex executions, use the wrapper script:
93
+ ```bash
94
+ node .codex/skills/codex-exec/scripts/codex-wrapper.cjs --prompt "your prompt" [options]
95
+ ```
96
+
97
+ The wrapper provides:
98
+ - Environment validation (binary + auth checks)
99
+ - Safe command construction
100
+ - JSON Lines parsing with event extraction
101
+ - Structured JSON output
102
+ - Timeout handling with graceful termination
103
+
104
+ ## Examples
105
+
106
+ ```bash
107
+ # Simple text prompt
108
+ codex-exec "explain what this project does"
109
+
110
+ # JSON output with model override
111
+ codex-exec "list all TODO items" --json
112
+
113
+ # Save output to file
114
+ codex-exec "generate a README" --output ./README.md
115
+
116
+ # Full auto mode with custom timeout
117
+ codex-exec "fix the failing tests" --full-auto --timeout 300000
118
+
119
+ # Specify working directory
120
+ codex-exec "analyze the codebase" --working-dir /path/to/project
121
+ ```
122
+
123
+ ## Integration
124
+
125
+ Works with the orchestrator pattern:
126
+ - Main conversation delegates Codex execution via this skill
127
+ - Results are returned to the main conversation for further processing
128
+ - Can be chained with other skills (e.g., dev-review after Codex generates code)
129
+
130
+ ## Availability Check
131
+
132
+ codex-exec requires the Codex CLI binary to be installed and authenticated. The skill is only usable when:
133
+
134
+ 1. `codex` binary is found in PATH (`which codex` succeeds)
135
+ 2. Authentication is valid (OPENAI_API_KEY set or `codex` logged in)
136
+
137
+ If either check fails, this skill cannot be used. Fall back to Claude agents for the task.
138
+
139
+ > **Note**: This skill is invoked via `/codex-exec` command, delegated by the orchestrator, or suggested by routing skills when codex is available. The intent-detection system can trigger it for research (xhigh) and code generation (hybrid) workflows.
140
+
141
+ ## Agent Teams Integration
142
+
143
+ When used within Agent Teams (requires explicit invocation):
144
+
145
+ 1. **As delegated task**: orchestrator explicitly delegates codex-exec for code generation
146
+ 2. **Hybrid workflow**: Claude team member analyzes → orchestrator invokes codex-exec → Claude reviews
147
+ 3. **Iteration**: Team messaging enables review-fix cycles between Claude and Codex outputs
148
+
149
+ ```
150
+ Orchestrator delegates generation task
151
+ → /codex-exec invoked explicitly
152
+ → Output returned to orchestrator
153
+ → Reviewer validates quality
154
+ → Iterate if needed
155
+ ```
156
+
157
+ ## Research Workflow
158
+
159
+ When the orchestrator or intent-detection detects a research/information gathering request (routing_rule in agent-triggers.yaml):
160
+
161
+ 1. **Check Codex availability**: Verify `codex` binary and `OPENAI_API_KEY`
162
+ 2. **If available**: Execute with xhigh reasoning effort for thorough research
163
+ 3. **If unavailable**: Fall back to Claude's WebFetch/WebSearch
164
+
165
+ ### Research Command Pattern
166
+
167
+ ```
168
+ /codex-exec "Research and analyze: {topic}. Provide structured findings with sources." --effort xhigh --full-auto --json
169
+ ```
170
+
171
+ ### Effort Level Guide
172
+
173
+ | Level | Use Case | Speed | Depth |
174
+ |-------|----------|-------|-------|
175
+ | minimal | Quick lookups | Fastest | Surface |
176
+ | low | Simple queries | Fast | Basic |
177
+ | medium | General tasks | Balanced | Standard |
178
+ | high | Complex analysis | Slower | Deep |
179
+ | xhigh | Research & investigation | Slowest | Maximum |
180
+
181
+ ## Code Generation Workflow
182
+
183
+ When routing skills detect a code generation task and codex is available:
184
+
185
+ 1. **Check availability**: Verify codex CLI via `/tmp/.codex-env-status-*`
186
+ 2. **If available + new file creation**: Suggest hybrid workflow
187
+ 3. **Hybrid pattern**:
188
+ - codex-exec generates initial code (fast, broad generation)
189
+ - Claude expert reviews for quality, patterns, best practices
190
+ - Iterate if needed
191
+
192
+ ### Suitable Tasks
193
+ - New file scaffolding
194
+ - Boilerplate generation
195
+ - Test stub creation
196
+ - Documentation generation
197
+
198
+ ### Unsuitable Tasks
199
+ - Modifying existing code (Claude expert better at understanding context)
200
+ - Architecture decisions (requires reasoning, not generation)
201
+ - Bug fixes (requires deep code understanding)
202
+
203
+ ### Code Generation Command Pattern
204
+ ```
205
+ /codex-exec "Generate {description} following {framework} best practices" --effort high --full-auto
206
+ ```