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,247 @@
1
+ # Kotlin Coding Conventions
2
+
3
+ > Source: https://kotlinlang.org/docs/coding-conventions.html
4
+
5
+ ## Source Code Organization
6
+
7
+ ### Directory Structure
8
+
9
+ Follow package structure with common root omitted:
10
+ - `org.example.kotlin.network.socket` → `network/socket` subdirectory
11
+
12
+ ### Source File Names
13
+
14
+ | Content | File Name |
15
+ |---------|-----------|
16
+ | Single class | `MyClass.kt` |
17
+ | Multiple declarations | `ProcessDeclarations.kt` |
18
+ | Platform-specific | `Platform.jvm.kt` |
19
+
20
+ ### Class Layout
21
+
22
+ 1. Property declarations and initializer blocks
23
+ 2. Secondary constructors
24
+ 3. Method declarations
25
+ 4. Companion object
26
+
27
+ ```kotlin
28
+ class MyClass(val name: String) {
29
+ // 1. Properties
30
+ private val items = mutableListOf<Item>()
31
+
32
+ init {
33
+ // initializer block
34
+ }
35
+
36
+ // 2. Secondary constructors
37
+ constructor() : this("default")
38
+
39
+ // 3. Methods
40
+ fun doSomething() { }
41
+
42
+ // 4. Companion object
43
+ companion object {
44
+ const val TAG = "MyClass"
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## Naming Conventions
50
+
51
+ | Element | Style | Example |
52
+ |---------|-------|---------|
53
+ | Packages | lowercase | `org.example.project` |
54
+ | Classes | UpperCamelCase | `DeclarationProcessor` |
55
+ | Functions | lowerCamelCase | `processDeclarations()` |
56
+ | Properties | lowerCamelCase | `declarationCount` |
57
+ | Constants | UPPER_SNAKE_CASE | `MAX_COUNT` |
58
+ | Backing properties | underscore prefix | `_elementList` |
59
+
60
+ ### Acronyms
61
+
62
+ - 2 letters: both uppercase (`IOStream`)
63
+ - 3+ letters: capitalize first only (`XmlFormatter`)
64
+
65
+ ## Formatting
66
+
67
+ ### Indentation
68
+
69
+ ```kotlin
70
+ if (elements != null) {
71
+ for (element in elements) {
72
+ // 4 spaces indentation
73
+ }
74
+ }
75
+ ```
76
+
77
+ ### Horizontal Whitespace
78
+
79
+ ```kotlin
80
+ // Binary operators with spaces
81
+ val sum = a + b
82
+
83
+ // No space around range
84
+ for (i in 0..n) { }
85
+
86
+ // No space around dot
87
+ foo.bar().filter { it > 2 }
88
+
89
+ // Space after control keywords
90
+ if (condition) { }
91
+ ```
92
+
93
+ ### Colons
94
+
95
+ ```kotlin
96
+ // Type and supertype: space before
97
+ abstract class Foo<out T : Any> : IFoo {
98
+ // Declaration and type: no space before
99
+ abstract fun foo(a: Int): T
100
+ }
101
+ ```
102
+
103
+ ### Function Signatures
104
+
105
+ ```kotlin
106
+ // Short: single line
107
+ fun foo(a: Int): String = a.toString()
108
+
109
+ // Long: break parameters
110
+ fun longMethodName(
111
+ argument: ArgumentType = defaultValue,
112
+ argument2: AnotherArgumentType,
113
+ ): ReturnType {
114
+ // body
115
+ }
116
+ ```
117
+
118
+ ### Trailing Commas
119
+
120
+ ```kotlin
121
+ class Person(
122
+ val firstName: String,
123
+ val lastName: String,
124
+ val age: Int, // trailing comma
125
+ )
126
+ ```
127
+
128
+ ## Idiomatic Patterns
129
+
130
+ ### Immutability
131
+
132
+ ```kotlin
133
+ // Prefer val
134
+ val name = "Kotlin"
135
+
136
+ // Prefer immutable collections
137
+ val items = listOf(1, 2, 3)
138
+ ```
139
+
140
+ ### Default Parameters
141
+
142
+ ```kotlin
143
+ // Prefer over overloads
144
+ fun read(
145
+ b: ByteArray,
146
+ off: Int = 0,
147
+ len: Int = b.size,
148
+ ) { }
149
+ ```
150
+
151
+ ### Expression Bodies
152
+
153
+ ```kotlin
154
+ // Prefer for simple functions
155
+ fun square(x: Int) = x * x
156
+ ```
157
+
158
+ ### Conditionals
159
+
160
+ ```kotlin
161
+ // Use if for binary
162
+ return if (x) foo() else bar()
163
+
164
+ // Use when for multiple
165
+ return when (x) {
166
+ 0 -> "zero"
167
+ 1 -> "one"
168
+ else -> "many"
169
+ }
170
+ ```
171
+
172
+ ### Functional Operations
173
+
174
+ ```kotlin
175
+ // Prefer
176
+ list.filter { it > 10 }
177
+ .map { it * 2 }
178
+ .take(5)
179
+
180
+ // Over manual loops
181
+ ```
182
+
183
+ ### Ranges
184
+
185
+ ```kotlin
186
+ // Good: open-ended range
187
+ for (i in 0..<n) { }
188
+
189
+ // Avoid
190
+ for (i in 0..n - 1) { }
191
+ ```
192
+
193
+ ## Null Safety
194
+
195
+ ```kotlin
196
+ // Safe call
197
+ val length = text?.length
198
+
199
+ // Elvis operator
200
+ val name = user?.name ?: "Unknown"
201
+
202
+ // Let for non-null
203
+ user?.let {
204
+ println("Hello, ${it.name}")
205
+ }
206
+
207
+ // Not-null assertion (use sparingly)
208
+ val name = user!!.name
209
+ ```
210
+
211
+ ## Documentation
212
+
213
+ ```kotlin
214
+ /**
215
+ * Returns the absolute value of the given [number].
216
+ */
217
+ fun abs(number: Int): Int = if (number < 0) -number else number
218
+
219
+ /**
220
+ * A group of *members*.
221
+ *
222
+ * This class has no useful logic; it's just a documentation example.
223
+ *
224
+ * @property name the name of this group.
225
+ * @constructor Creates an empty group.
226
+ */
227
+ class Group(val name: String) {
228
+ /**
229
+ * Adds a [member] to this group.
230
+ * @return the new size of the group.
231
+ */
232
+ fun add(member: Member): Int { ... }
233
+ }
234
+ ```
235
+
236
+ ## Avoid Redundant Constructs
237
+
238
+ ```kotlin
239
+ // Avoid explicit Unit return
240
+ fun foo() { } // not: fun foo(): Unit { }
241
+
242
+ // Avoid semicolons
243
+ val x = 1 // not: val x = 1;
244
+
245
+ // Use simple string templates
246
+ "$name" // not: "${name}"
247
+ ```
@@ -0,0 +1,234 @@
1
+ # Kotlin Idioms
2
+
3
+ > Source: https://kotlinlang.org/docs/idioms.html
4
+
5
+ ## Data Classes
6
+
7
+ ```kotlin
8
+ data class Customer(val name: String, val email: String)
9
+ ```
10
+
11
+ Provides:
12
+ - `equals()` / `hashCode()`
13
+ - `toString()`: `"Customer(name=John, email=john@example.com)"`
14
+ - `copy()` function
15
+ - `componentN()` functions
16
+
17
+ ## Default Parameter Values
18
+
19
+ ```kotlin
20
+ fun foo(a: Int = 0, b: String = "") { }
21
+ ```
22
+
23
+ ## Filtering Collections
24
+
25
+ ```kotlin
26
+ val positives = list.filter { it > 0 }
27
+
28
+ // or with explicit type
29
+ val positives = list.filter { x -> x > 0 }
30
+ ```
31
+
32
+ ## Checking Element Presence
33
+
34
+ ```kotlin
35
+ if ("john@example.com" in emailsList) { }
36
+ if ("jane@example.com" !in emailsList) { }
37
+ ```
38
+
39
+ ## String Interpolation
40
+
41
+ ```kotlin
42
+ println("Name: $name")
43
+ println("Age: ${person.age}")
44
+ ```
45
+
46
+ ## Instance Checks
47
+
48
+ ```kotlin
49
+ when (x) {
50
+ is Foo -> ...
51
+ is Bar -> ...
52
+ else -> ...
53
+ }
54
+ ```
55
+
56
+ ## Read-only Collections
57
+
58
+ ```kotlin
59
+ val list = listOf("a", "b", "c")
60
+ val map = mapOf("a" to 1, "b" to 2, "c" to 3)
61
+ ```
62
+
63
+ ## Accessing Maps
64
+
65
+ ```kotlin
66
+ val map = mapOf("a" to 1)
67
+ println(map["a"]) // prints 1
68
+ ```
69
+
70
+ ## Traversing Maps
71
+
72
+ ```kotlin
73
+ for ((k, v) in map) {
74
+ println("$k -> $v")
75
+ }
76
+ ```
77
+
78
+ ## Ranges
79
+
80
+ ```kotlin
81
+ for (i in 1..100) { } // closed range: 1 to 100
82
+ for (i in 1..<100) { } // half-open: 1 to 99
83
+ for (i in 2..10 step 2) { }
84
+ for (i in 10 downTo 1) { }
85
+ ```
86
+
87
+ ## Lazy Property
88
+
89
+ ```kotlin
90
+ val p: String by lazy {
91
+ // compute the string
92
+ }
93
+ ```
94
+
95
+ ## Extension Functions
96
+
97
+ ```kotlin
98
+ fun String.spaceToCamelCase() { }
99
+ "Convert this to camelcase".spaceToCamelCase()
100
+ ```
101
+
102
+ ## Singleton
103
+
104
+ ```kotlin
105
+ object Resource {
106
+ val name = "Name"
107
+ }
108
+ ```
109
+
110
+ ## Instantiate Abstract Class
111
+
112
+ ```kotlin
113
+ abstract class MyAbstractClass {
114
+ abstract fun doSomething()
115
+ }
116
+
117
+ val myObject = object : MyAbstractClass() {
118
+ override fun doSomething() { }
119
+ }
120
+ ```
121
+
122
+ ## if-not-null Shorthand
123
+
124
+ ```kotlin
125
+ // Simple
126
+ val length = files?.size
127
+
128
+ // With else
129
+ val length = files?.size ?: 0
130
+
131
+ // With let
132
+ files?.let {
133
+ println(it.size)
134
+ }
135
+ ```
136
+
137
+ ## Return on when
138
+
139
+ ```kotlin
140
+ fun transform(color: String): Int {
141
+ return when (color) {
142
+ "Red" -> 0
143
+ "Green" -> 1
144
+ "Blue" -> 2
145
+ else -> throw IllegalArgumentException("Invalid color")
146
+ }
147
+ }
148
+ ```
149
+
150
+ ## try-catch Expression
151
+
152
+ ```kotlin
153
+ val result = try {
154
+ count()
155
+ } catch (e: ArithmeticException) {
156
+ throw IllegalStateException(e)
157
+ }
158
+ ```
159
+
160
+ ## if Expression
161
+
162
+ ```kotlin
163
+ val y = if (x == 1) {
164
+ "one"
165
+ } else if (x == 2) {
166
+ "two"
167
+ } else {
168
+ "other"
169
+ }
170
+ ```
171
+
172
+ ## Builder-style Usage
173
+
174
+ ```kotlin
175
+ fun arrayOfMinusOnes(size: Int): IntArray {
176
+ return IntArray(size).apply { fill(-1) }
177
+ }
178
+ ```
179
+
180
+ ## Single-expression Functions
181
+
182
+ ```kotlin
183
+ fun theAnswer() = 42
184
+
185
+ // equivalent to
186
+ fun theAnswer(): Int {
187
+ return 42
188
+ }
189
+ ```
190
+
191
+ ## Call Multiple Methods (with)
192
+
193
+ ```kotlin
194
+ class Turtle {
195
+ fun penDown()
196
+ fun penUp()
197
+ fun turn(degrees: Double)
198
+ fun forward(pixels: Double)
199
+ }
200
+
201
+ val myTurtle = Turtle()
202
+ with(myTurtle) {
203
+ penDown()
204
+ for (i in 1..4) {
205
+ forward(100.0)
206
+ turn(90.0)
207
+ }
208
+ penUp()
209
+ }
210
+ ```
211
+
212
+ ## Configure Object (apply)
213
+
214
+ ```kotlin
215
+ val myRectangle = Rectangle().apply {
216
+ length = 4
217
+ breadth = 5
218
+ color = 0xFAFAFA
219
+ }
220
+ ```
221
+
222
+ ## Swap Variables
223
+
224
+ ```kotlin
225
+ var a = 1
226
+ var b = 2
227
+ a = b.also { b = a }
228
+ ```
229
+
230
+ ## TODO: Marking Incomplete
231
+
232
+ ```kotlin
233
+ fun calcTaxes(): BigDecimal = TODO("Waiting for feedback from accounting")
234
+ ```
@@ -0,0 +1,26 @@
1
+ # Kotlin Guide
2
+
3
+ metadata:
4
+ name: kotlin
5
+ description: Kotlin language reference documentation
6
+
7
+ source:
8
+ type: external
9
+ origin: kotlinlang.org
10
+ urls:
11
+ - https://kotlinlang.org/docs/coding-conventions.html
12
+ - https://kotlinlang.org/docs/idioms.html
13
+ - https://developer.android.com/kotlin/style-guide
14
+ last_fetched: "2026-01-22"
15
+
16
+ documents:
17
+ - name: coding-conventions
18
+ path: ./coding-conventions.md
19
+ description: Official Kotlin coding conventions
20
+
21
+ - name: idioms
22
+ path: ./idioms.md
23
+ description: Idiomatic Kotlin patterns
24
+
25
+ used_by:
26
+ - lang-kotlin-expert
@@ -0,0 +1,101 @@
1
+ # Multi-Model Routing
2
+
3
+ ## Overview
4
+
5
+ Role-based model selection strategy for AI agent workflows. Consolidates model routing conventions from R006 (agent design), R008 (tool identification), and agent frontmatter into a single reference.
6
+
7
+ ## Model Aliases
8
+
9
+ | Alias | Full ID | Cost | Speed | Use Case |
10
+ |-------|---------|------|-------|----------|
11
+ | `haiku` | claude-haiku-4-5 | $ | Fast | Search, simple edits, file discovery |
12
+ | `sonnet` | claude-sonnet-4-6 | $$ | Moderate | Code generation, general tasks (default) |
13
+ | `opus` | claude-opus-4-6 | $$$ | Slower | Complex reasoning, architecture, planning |
14
+ | `opusplan` | claude-opus-4-6 + plan mode | $$$ | Slower | Architecture with approval gates |
15
+
16
+ Extended context: `[1m]` suffix enables 1M token context (e.g., `claude-opus-4-6[1m]`).
17
+
18
+ ## Role-Based Routing Table
19
+
20
+ | Role | Recommended Model | Rationale |
21
+ |------|------------------|-----------|
22
+ | Code search / file discovery | haiku | Fast, cheap, sufficient for retrieval |
23
+ | Code review | sonnet | Needs understanding, not deep reasoning |
24
+ | Code generation | sonnet | Good balance of quality and speed |
25
+ | Bug fix (simple) | sonnet | Pattern recognition sufficient |
26
+ | Bug fix (complex) | opus | Needs deep reasoning across modules |
27
+ | Architecture design | opus / opusplan | Requires holistic thinking |
28
+ | Test generation | sonnet | Template-driven, moderate complexity |
29
+ | Documentation | sonnet | Straightforward generation |
30
+ | Release verification | opus | Cross-cutting validation |
31
+ | Orchestration | opus | Routing decisions need broad context |
32
+
33
+ ## Cost-Quality Tradeoff Matrix
34
+
35
+ ```
36
+ Quality ▲
37
+ │ ┌─────────┐
38
+ │ │ opus │ Complex reasoning
39
+ │ └────┬────┘
40
+ │ │
41
+ │ ┌────┴────┐
42
+ │ │ sonnet │ General purpose (default)
43
+ │ └────┬────┘
44
+ │ │
45
+ │ ┌────┴────┐
46
+ │ │ haiku │ Retrieval, simple tasks
47
+ │ └─────────┘
48
+ └──────────────────────► Cost
49
+ ```
50
+
51
+ ## MODEL_ROUTING.md Convention
52
+
53
+ Projects can declare a `MODEL_ROUTING.md` file to override default routing:
54
+
55
+ ```markdown
56
+ # Model Routing
57
+
58
+ | Agent Pattern | Model | Override Reason |
59
+ |---------------|-------|-----------------|
60
+ | lang-*-expert | sonnet | Default sufficient for code generation |
61
+ | mgr-sauron | opus | Verification requires deep analysis |
62
+ | Explore | haiku | Search-only, no generation needed |
63
+ ```
64
+
65
+ Place in project root or `.claude/` directory.
66
+
67
+ ## Agent Frontmatter Integration
68
+
69
+ ```yaml
70
+ # .claude/agents/example.md
71
+ name: example-agent
72
+ model: sonnet # Use alias from table above
73
+ ```
74
+
75
+ The `model` field in agent frontmatter sets the default. The Agent tool's `model` parameter overrides at spawn time.
76
+
77
+ ## Escalation Pattern
78
+
79
+ When a task fails at a lower model tier, escalate:
80
+
81
+ ```
82
+ haiku → sonnet → opus
83
+ ```
84
+
85
+ Configuration in agent frontmatter:
86
+ ```yaml
87
+ escalation:
88
+ enabled: true
89
+ path: haiku → sonnet → opus
90
+ threshold: 2 # failures before escalation advisory
91
+ ```
92
+
93
+ ## Fast Mode Interaction
94
+
95
+ Fast Mode (`/fast` toggle) uses the same model with faster output (~2.5x). It does NOT change the model — it reduces reasoning depth while maintaining the configured model tier.
96
+
97
+ ## Related
98
+
99
+ - R006 — Agent design rules (model aliases, frontmatter format)
100
+ - R008 — Tool identification (model in agent:model format)
101
+ - `guides/skill-bundle-design/` — Skill architecture patterns
@@ -0,0 +1,83 @@
1
+ # Multi-Provider Exec
2
+
3
+ ## Overview
4
+
5
+ Unified reference for executing prompts through external LLM providers via exec skills. Complements the [Multi-Model Routing](../multi-model-routing/README.md) guide (Claude model selection) with cross-provider execution capabilities.
6
+
7
+ Inspired by OpenHarness's provider profile switching pattern, adapted for oh-my-customcodex's skill-based architecture.
8
+
9
+ ## Provider Matrix
10
+
11
+ | Provider | Skill | CLI Dependency | Model | Strengths |
12
+ |----------|-------|---------------|-------|-----------|
13
+ | OpenAI (Codex) | `codex-exec` | `codex` CLI | GPT-5.4 | Code generation, broad knowledge |
14
+ | Google (Gemini) | `gemini-exec` | `gemini` CLI | Gemini 2.5 Pro | Long context, multimodal |
15
+ | RTK (proxy) | `rtk-exec` | `rtk` CLI | Configurable | Token-optimized output, cost reduction |
16
+
17
+ ## Availability Detection
18
+
19
+ The `session-env-check.sh` hook (SessionStart) auto-detects available providers:
20
+
21
+ ```
22
+ [SessionStart] Checking external CLI availability...
23
+ codex: ✓ available
24
+ gemini: ✗ not found
25
+ rtk: ✓ available
26
+ ```
27
+
28
+ Providers are opt-in — missing CLIs are silently skipped.
29
+
30
+ ## Usage Patterns
31
+
32
+ ### Direct Invocation
33
+
34
+ ```
35
+ /codex-exec "Review this function for security issues"
36
+ /gemini-exec "Analyze this architecture diagram"
37
+ /rtk-exec "List files matching pattern X"
38
+ ```
39
+
40
+ ### Provider Selection Guide
41
+
42
+ | Task | Recommended Provider | Rationale |
43
+ |------|---------------------|-----------|
44
+ | Second opinion on code review | codex-exec | Independent model reduces confirmation bias |
45
+ | Long document analysis | gemini-exec | 1M+ context window |
46
+ | Token-heavy batch operations | rtk-exec | Compressed output reduces context cost |
47
+ | Security audit cross-check | codex-exec | Different training data catches different patterns |
48
+ | Multi-model verification | All three | `/multi-model-verification` skill orchestrates this |
49
+
50
+ ### Integration with Existing Skills
51
+
52
+ | Skill | Uses Provider | How |
53
+ |-------|--------------|-----|
54
+ | `multi-model-verification` | codex-exec + gemini-exec | Parallel verification with severity classification |
55
+ | `reasoning-sandwich` | Any exec skill | Pre/post reasoning with different models |
56
+ | `model-escalation` | Claude models only | Internal escalation (haiku→sonnet→opus), not cross-provider |
57
+
58
+ ## Relationship to Multi-Model Routing
59
+
60
+ | Aspect | Multi-Model Routing | Multi-Provider Exec |
61
+ |--------|--------------------|--------------------|
62
+ | Scope | Claude model selection | Cross-provider execution |
63
+ | Models | haiku / sonnet / opus | GPT-5.4 / Gemini 2.5 / RTK proxy |
64
+ | Mechanism | `model` frontmatter field | Exec skill invocation |
65
+ | Use case | Cost/quality optimization within Claude | Independent verification, specialized tasks |
66
+ | Guide | `guides/multi-model-routing/` | `guides/multi-provider-exec/` |
67
+
68
+ ## Configuration
69
+
70
+ No global configuration required. Each exec skill reads its own CLI configuration:
71
+
72
+ | Skill | Config Source |
73
+ |-------|-------------|
74
+ | codex-exec | `~/.codex/config` or CODEX_API_KEY env |
75
+ | gemini-exec | `~/.gemini/config` or GEMINI_API_KEY env |
76
+ | rtk-exec | RTK proxy running on localhost |
77
+
78
+ ## Limitations
79
+
80
+ - Provider availability depends on user's CLI installations
81
+ - Cross-provider results are advisory — Claude remains the primary execution engine
82
+ - No automatic fallback between providers (by design — explicit selection preferred)
83
+ - Rate limits and costs are provider-specific and not tracked by oh-my-customcodex