oh-my-customcode 0.1.4 → 0.2.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 (436) hide show
  1. package/README.md +80 -129
  2. package/dist/cli/index.js +95 -95
  3. package/dist/index.js +7 -32
  4. package/package.json +1 -1
  5. package/templates/{agents/sw-architect/documenter/AGENT.md → .claude/agents/arch-documenter.md} +7 -39
  6. package/templates/{agents/sw-architect/speckit-agent/AGENT.md → .claude/agents/arch-speckit-agent.md} +61 -63
  7. package/templates/.claude/agents/be-express-expert.md +71 -0
  8. package/templates/.claude/agents/be-fastapi-expert.md +33 -0
  9. package/templates/.claude/agents/be-go-backend-expert.md +33 -0
  10. package/templates/.claude/agents/be-nestjs-expert.md +51 -0
  11. package/templates/.claude/agents/be-springboot-expert.md +75 -0
  12. package/templates/.claude/agents/db-supabase-expert.md +63 -0
  13. package/templates/{agents/sw-engineer/frontend/svelte-agent/AGENT.md → .claude/agents/fe-svelte-agent.md} +16 -31
  14. package/templates/.claude/agents/fe-vercel-agent.md +57 -0
  15. package/templates/{agents/sw-engineer/frontend/vuejs-agent/AGENT.md → .claude/agents/fe-vuejs-agent.md} +16 -31
  16. package/templates/.claude/agents/infra-aws-expert.md +37 -0
  17. package/templates/.claude/agents/infra-docker-expert.md +37 -0
  18. package/templates/.claude/agents/lang-golang-expert.md +33 -0
  19. package/templates/.claude/agents/lang-java21-expert.md +56 -0
  20. package/templates/.claude/agents/lang-kotlin-expert.md +33 -0
  21. package/templates/.claude/agents/lang-python-expert.md +33 -0
  22. package/templates/.claude/agents/lang-rust-expert.md +33 -0
  23. package/templates/.claude/agents/lang-typescript-expert.md +33 -0
  24. package/templates/.claude/agents/mgr-creator.md +102 -0
  25. package/templates/{agents/manager/gitnerd/AGENT.md → .claude/agents/mgr-gitnerd.md} +8 -17
  26. package/templates/.claude/agents/mgr-sauron.md +139 -0
  27. package/templates/{agents/manager/supplier/AGENT.md → .claude/agents/mgr-supplier.md} +14 -46
  28. package/templates/.claude/agents/mgr-sync-checker.md +89 -0
  29. package/templates/{agents/manager/updater/AGENT.md → .claude/agents/mgr-updater.md} +21 -53
  30. package/templates/{agents/qa-team/qa-engineer/AGENT.md → .claude/agents/qa-engineer.md} +13 -24
  31. package/templates/{agents/qa-team/qa-planner/AGENT.md → .claude/agents/qa-planner.md} +10 -20
  32. package/templates/{agents/qa-team/qa-writer/AGENT.md → .claude/agents/qa-writer.md} +10 -20
  33. package/templates/.claude/agents/sys-memory-keeper.md +105 -0
  34. package/templates/.claude/agents/sys-naggy.md +81 -0
  35. package/templates/{agents/sw-engineer/tooling/bun-expert/AGENT.md → .claude/agents/tool-bun-expert.md} +28 -39
  36. package/templates/.claude/agents/tool-npm-expert.md +76 -0
  37. package/templates/.claude/agents/tool-optimizer.md +75 -0
  38. package/templates/{agents/tutor/go-tutor/AGENT.md → .claude/agents/tutor-go.md} +16 -27
  39. package/templates/.claude/contexts/ecomode.md +5 -5
  40. package/templates/.claude/rules/MUST-agent-design.md +60 -42
  41. package/templates/.claude/rules/MUST-agent-identification.md +11 -11
  42. package/templates/.claude/rules/MUST-continuous-improvement.md +2 -2
  43. package/templates/.claude/rules/MUST-intent-transparency.md +18 -18
  44. package/templates/.claude/rules/MUST-orchestrator-coordination.md +156 -113
  45. package/templates/.claude/rules/MUST-parallel-execution.md +28 -28
  46. package/templates/.claude/rules/MUST-sync-verification.md +52 -45
  47. package/templates/.claude/rules/MUST-tool-identification.md +12 -14
  48. package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
  49. package/templates/.claude/rules/SHOULD-hud-statusline.md +4 -4
  50. package/templates/.claude/rules/SHOULD-memory-integration.md +4 -4
  51. package/templates/.claude/rules/SHOULD-pipeline-mode.md +1 -1
  52. package/templates/.claude/skills/audit-agents/SKILL.md +116 -0
  53. package/templates/{skills/infrastructure → .claude/skills}/aws-best-practices/SKILL.md +4 -4
  54. package/templates/.claude/skills/create-agent/SKILL.md +91 -0
  55. package/templates/.claude/skills/dev-lead-routing/SKILL.md +238 -0
  56. package/templates/{commands/dev/refactor.md → .claude/skills/dev-refactor/SKILL.md} +17 -20
  57. package/templates/{commands/dev/review.md → .claude/skills/dev-review/SKILL.md} +16 -17
  58. package/templates/{agents/manager/supplier/refs/skills/infrastructure → .claude/skills}/docker-best-practices/SKILL.md +4 -4
  59. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/fastapi-best-practices/SKILL.md +4 -4
  60. package/templates/.claude/skills/fix-refs/SKILL.md +107 -0
  61. package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/go-backend-best-practices/SKILL.md +4 -4
  62. package/templates/{skills/development → .claude/skills}/go-best-practices/SKILL.md +4 -4
  63. package/templates/{commands/system/help.md → .claude/skills/help/SKILL.md} +34 -46
  64. package/templates/{skills/orchestration → .claude/skills}/intent-detection/SKILL.md +14 -14
  65. package/templates/{agents/manager/supplier/refs/skills/orchestration → .claude/skills}/intent-detection/patterns/agent-triggers.yaml +117 -110
  66. package/templates/{agents/sw-engineer/language/kotlin-expert/refs → .claude/skills}/kotlin-best-practices/SKILL.md +4 -4
  67. package/templates/{commands/system/lists.md → .claude/skills/lists/SKILL.md} +25 -33
  68. package/templates/{agents/manager/supplier/refs/skills/system → .claude/skills}/memory-management/SKILL.md +10 -10
  69. package/templates/{commands/memory/recall.md → .claude/skills/memory-recall/SKILL.md} +31 -43
  70. package/templates/{commands/memory/save.md → .claude/skills/memory-save/SKILL.md} +27 -29
  71. package/templates/.claude/skills/npm-audit/SKILL.md +72 -0
  72. package/templates/.claude/skills/npm-publish/SKILL.md +63 -0
  73. package/templates/.claude/skills/npm-version/SKILL.md +75 -0
  74. package/templates/.claude/skills/optimize-analyze/SKILL.md +55 -0
  75. package/templates/.claude/skills/optimize-bundle/SKILL.md +67 -0
  76. package/templates/.claude/skills/optimize-report/SKILL.md +74 -0
  77. package/templates/{skills/orchestration → .claude/skills}/pipeline-execution/SKILL.md +4 -4
  78. package/templates/{commands/pipeline/list.md → .claude/skills/pipeline-list/SKILL.md} +11 -18
  79. package/templates/{commands/pipeline/run.md → .claude/skills/pipeline-run/SKILL.md} +38 -22
  80. package/templates/{agents/sw-engineer/language/python-expert/refs → .claude/skills}/python-best-practices/SKILL.md +4 -4
  81. package/templates/.claude/skills/qa-lead-routing/SKILL.md +277 -0
  82. package/templates/{skills/development → .claude/skills}/react-best-practices/SKILL.md +4 -4
  83. package/templates/{skills/system → .claude/skills}/result-aggregation/SKILL.md +17 -17
  84. package/templates/{agents/sw-engineer/language/rust-expert/refs → .claude/skills}/rust-best-practices/SKILL.md +4 -4
  85. package/templates/.claude/skills/sauron-watch/SKILL.md +144 -0
  86. package/templates/.claude/skills/secretary-routing/SKILL.md +178 -0
  87. package/templates/{skills/backend → .claude/skills}/springboot-best-practices/SKILL.md +4 -4
  88. package/templates/{commands/system/status.md → .claude/skills/status/SKILL.md} +29 -39
  89. package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +98 -0
  90. package/templates/{skills/development → .claude/skills}/typescript-best-practices/SKILL.md +4 -4
  91. package/templates/{commands/updater/docs.md → .claude/skills/update-docs/SKILL.md} +71 -96
  92. package/templates/{commands/updater/external.md → .claude/skills/update-external/SKILL.md} +34 -99
  93. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/vercel-deploy/SKILL.md +4 -4
  94. package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/web-design-guidelines/SKILL.md +4 -4
  95. package/templates/CLAUDE.md.en +71 -70
  96. package/templates/CLAUDE.md.ko +64 -64
  97. package/templates/guides/aws/index.yaml +1 -1
  98. package/templates/guides/docker/index.yaml +1 -1
  99. package/templates/guides/fastapi/index.yaml +1 -1
  100. package/templates/guides/go-backend/index.yaml +1 -1
  101. package/templates/guides/golang/index.yaml +1 -1
  102. package/templates/guides/index.yaml +9 -0
  103. package/templates/guides/kotlin/index.yaml +1 -1
  104. package/templates/guides/python/index.yaml +1 -1
  105. package/templates/guides/rust/index.yaml +1 -1
  106. package/templates/guides/springboot/index.yaml +1 -1
  107. package/templates/guides/supabase-postgres/README.md +32 -0
  108. package/templates/guides/supabase-postgres/index.yaml +19 -0
  109. package/templates/guides/typescript/index.yaml +1 -1
  110. package/templates/manifest.json +9 -15
  111. package/templates/pipelines/examples/code-review.yaml +1 -1
  112. package/templates/agents/index.yaml +0 -243
  113. package/templates/agents/infra-engineer/aws-expert/AGENT.md +0 -47
  114. package/templates/agents/infra-engineer/aws-expert/index.yaml +0 -27
  115. package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +0 -169
  116. package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +0 -26
  117. package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +0 -143
  118. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +0 -279
  119. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +0 -27
  120. package/templates/agents/infra-engineer/docker-expert/AGENT.md +0 -47
  121. package/templates/agents/infra-engineer/docker-expert/index.yaml +0 -27
  122. package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +0 -284
  123. package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +0 -262
  124. package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +0 -26
  125. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +0 -274
  126. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +0 -26
  127. package/templates/agents/manager/creator/AGENT.md +0 -274
  128. package/templates/agents/manager/creator/index.yaml +0 -66
  129. package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +0 -93
  130. package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +0 -107
  131. package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +0 -108
  132. package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +0 -132
  133. package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +0 -199
  134. package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +0 -62
  135. package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +0 -334
  136. package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -398
  137. package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +0 -84
  138. package/templates/agents/manager/creator/refs/rules/MUST-safety.md +0 -69
  139. package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +0 -219
  140. package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +0 -174
  141. package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +0 -145
  142. package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +0 -102
  143. package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +0 -96
  144. package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +0 -103
  145. package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +0 -114
  146. package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +0 -165
  147. package/templates/agents/manager/creator/refs/rules/index.yaml +0 -125
  148. package/templates/agents/manager/gitnerd/index.yaml +0 -55
  149. package/templates/agents/manager/sauron/AGENT.md +0 -153
  150. package/templates/agents/manager/sauron/index.yaml +0 -52
  151. package/templates/agents/manager/supplier/index.yaml +0 -31
  152. package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +0 -169
  153. package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +0 -26
  154. package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +0 -143
  155. package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +0 -42
  156. package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +0 -107
  157. package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +0 -90
  158. package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +0 -129
  159. package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +0 -165
  160. package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +0 -100
  161. package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +0 -58
  162. package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +0 -80
  163. package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +0 -89
  164. package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +0 -159
  165. package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +0 -51
  166. package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +0 -284
  167. package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +0 -262
  168. package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +0 -26
  169. package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +0 -232
  170. package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +0 -21
  171. package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +0 -26
  172. package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +0 -243
  173. package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +0 -212
  174. package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +0 -282
  175. package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +0 -309
  176. package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +0 -250
  177. package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +0 -27
  178. package/templates/agents/manager/supplier/refs/guides/index.yaml +0 -101
  179. package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +0 -247
  180. package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +0 -234
  181. package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +0 -26
  182. package/templates/agents/manager/supplier/refs/guides/python/index.yaml +0 -26
  183. package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +0 -202
  184. package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +0 -79
  185. package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +0 -262
  186. package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +0 -26
  187. package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +0 -180
  188. package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +0 -361
  189. package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +0 -22
  190. package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +0 -225
  191. package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +0 -26
  192. package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +0 -219
  193. package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +0 -66
  194. package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +0 -20
  195. package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +0 -102
  196. package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +0 -93
  197. package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +0 -107
  198. package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +0 -108
  199. package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +0 -132
  200. package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +0 -199
  201. package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +0 -62
  202. package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +0 -334
  203. package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -398
  204. package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +0 -84
  205. package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +0 -69
  206. package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +0 -219
  207. package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +0 -174
  208. package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +0 -145
  209. package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +0 -102
  210. package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +0 -96
  211. package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +0 -103
  212. package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +0 -114
  213. package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +0 -165
  214. package/templates/agents/manager/supplier/refs/rules/index.yaml +0 -125
  215. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +0 -25
  216. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +0 -26
  217. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +0 -356
  218. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +0 -27
  219. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +0 -202
  220. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +0 -25
  221. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +0 -255
  222. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +0 -27
  223. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +0 -221
  224. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +0 -25
  225. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +0 -100
  226. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +0 -39
  227. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +0 -266
  228. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +0 -26
  229. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +0 -320
  230. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +0 -28
  231. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +0 -30
  232. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +0 -34
  233. package/templates/agents/manager/supplier/refs/skills/index.yaml +0 -129
  234. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +0 -279
  235. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  236. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  237. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +0 -214
  238. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +0 -30
  239. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +0 -188
  240. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +0 -27
  241. package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +0 -30
  242. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +0 -163
  243. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +0 -36
  244. package/templates/agents/manager/sync-checker/AGENT.md +0 -34
  245. package/templates/agents/manager/sync-checker/index.yaml +0 -32
  246. package/templates/agents/manager/updater/index.yaml +0 -31
  247. package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +0 -93
  248. package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +0 -107
  249. package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +0 -108
  250. package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +0 -132
  251. package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +0 -199
  252. package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +0 -62
  253. package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +0 -334
  254. package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -398
  255. package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +0 -84
  256. package/templates/agents/manager/updater/refs/rules/MUST-safety.md +0 -69
  257. package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +0 -219
  258. package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +0 -174
  259. package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +0 -145
  260. package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +0 -102
  261. package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +0 -96
  262. package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +0 -103
  263. package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +0 -114
  264. package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +0 -165
  265. package/templates/agents/manager/updater/refs/rules/index.yaml +0 -125
  266. package/templates/agents/orchestrator/dev-lead/AGENT.md +0 -163
  267. package/templates/agents/orchestrator/dev-lead/index.yaml +0 -73
  268. package/templates/agents/orchestrator/planner/AGENT.md +0 -102
  269. package/templates/agents/orchestrator/planner/index.yaml +0 -38
  270. package/templates/agents/orchestrator/qa-lead/AGENT.md +0 -92
  271. package/templates/agents/orchestrator/qa-lead/index.yaml +0 -40
  272. package/templates/agents/orchestrator/secretary/AGENT.md +0 -181
  273. package/templates/agents/orchestrator/secretary/index.yaml +0 -55
  274. package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +0 -93
  275. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +0 -107
  276. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +0 -108
  277. package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +0 -132
  278. package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +0 -199
  279. package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +0 -62
  280. package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +0 -334
  281. package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -398
  282. package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +0 -84
  283. package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +0 -69
  284. package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +0 -219
  285. package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +0 -174
  286. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +0 -145
  287. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +0 -102
  288. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +0 -96
  289. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +0 -103
  290. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +0 -114
  291. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +0 -165
  292. package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +0 -125
  293. package/templates/agents/qa-team/qa-engineer/index.yaml +0 -59
  294. package/templates/agents/qa-team/qa-planner/index.yaml +0 -47
  295. package/templates/agents/qa-team/qa-writer/index.yaml +0 -44
  296. package/templates/agents/sw-architect/documenter/index.yaml +0 -39
  297. package/templates/agents/sw-architect/speckit-agent/index.yaml +0 -78
  298. package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +0 -132
  299. package/templates/agents/sw-engineer/backend/express-expert/index.yaml +0 -36
  300. package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +0 -47
  301. package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +0 -27
  302. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +0 -232
  303. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +0 -21
  304. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +0 -269
  305. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +0 -25
  306. package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +0 -47
  307. package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +0 -27
  308. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +0 -26
  309. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +0 -243
  310. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +0 -212
  311. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +0 -337
  312. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +0 -26
  313. package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +0 -107
  314. package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +0 -43
  315. package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +0 -103
  316. package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +0 -69
  317. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +0 -361
  318. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +0 -22
  319. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +0 -356
  320. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +0 -27
  321. package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +0 -41
  322. package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +0 -67
  323. package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +0 -43
  324. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +0 -100
  325. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +0 -39
  326. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +0 -73
  327. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +0 -30
  328. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +0 -66
  329. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +0 -20
  330. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +0 -102
  331. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +0 -117
  332. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +0 -34
  333. package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +0 -48
  334. package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +0 -47
  335. package/templates/agents/sw-engineer/language/golang-expert/index.yaml +0 -27
  336. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +0 -202
  337. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +0 -25
  338. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +0 -282
  339. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +0 -309
  340. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +0 -250
  341. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +0 -27
  342. package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +0 -122
  343. package/templates/agents/sw-engineer/language/java21-expert/index.yaml +0 -51
  344. package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +0 -47
  345. package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +0 -27
  346. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +0 -247
  347. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +0 -234
  348. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +0 -26
  349. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +0 -27
  350. package/templates/agents/sw-engineer/language/python-expert/AGENT.md +0 -47
  351. package/templates/agents/sw-engineer/language/python-expert/index.yaml +0 -27
  352. package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +0 -26
  353. package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +0 -202
  354. package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +0 -79
  355. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +0 -25
  356. package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +0 -47
  357. package/templates/agents/sw-engineer/language/rust-expert/index.yaml +0 -27
  358. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +0 -262
  359. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +0 -26
  360. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +0 -180
  361. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +0 -26
  362. package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +0 -47
  363. package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +0 -27
  364. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +0 -225
  365. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +0 -26
  366. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +0 -219
  367. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +0 -320
  368. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +0 -28
  369. package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +0 -46
  370. package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +0 -160
  371. package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +0 -45
  372. package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +0 -170
  373. package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +0 -45
  374. package/templates/agents/system/memory-keeper/AGENT.md +0 -126
  375. package/templates/agents/system/memory-keeper/index.yaml +0 -45
  376. package/templates/agents/system/naggy/AGENT.md +0 -72
  377. package/templates/agents/system/naggy/index.yaml +0 -35
  378. package/templates/agents/tutor/go-tutor/index.yaml +0 -48
  379. package/templates/commands/COMMANDS.md +0 -136
  380. package/templates/commands/creator/agent.md +0 -121
  381. package/templates/commands/git/branch.yaml +0 -8
  382. package/templates/commands/git/commit.yaml +0 -4
  383. package/templates/commands/git/pr.yaml +0 -4
  384. package/templates/commands/git/status.yaml +0 -4
  385. package/templates/commands/git/sync.yaml +0 -4
  386. package/templates/commands/index.yaml +0 -225
  387. package/templates/commands/intent/explain.md +0 -144
  388. package/templates/commands/naggy/add.yaml +0 -8
  389. package/templates/commands/naggy/done.yaml +0 -8
  390. package/templates/commands/naggy/list.yaml +0 -4
  391. package/templates/commands/naggy/priority.yaml +0 -11
  392. package/templates/commands/naggy/remind.yaml +0 -4
  393. package/templates/commands/npm/audit.yaml +0 -62
  394. package/templates/commands/npm/publish.yaml +0 -52
  395. package/templates/commands/npm/version.yaml +0 -62
  396. package/templates/commands/optimize/analyze.yaml +0 -34
  397. package/templates/commands/optimize/bundle.yaml +0 -50
  398. package/templates/commands/optimize/report.yaml +0 -56
  399. package/templates/commands/sauron/quick.yaml +0 -4
  400. package/templates/commands/sauron/report.yaml +0 -4
  401. package/templates/commands/sauron/watch.yaml +0 -4
  402. package/templates/commands/supplier/audit.md +0 -133
  403. package/templates/commands/supplier/fix.md +0 -121
  404. package/templates/commands/sync/agents.yaml +0 -4
  405. package/templates/commands/sync/check.yaml +0 -4
  406. package/templates/commands/sync/commands.yaml +0 -4
  407. package/templates/commands/sync/docs.yaml +0 -4
  408. package/templates/commands/sync/fix.yaml +0 -4
  409. package/templates/skills/backend/fastapi-best-practices/SKILL.md +0 -269
  410. package/templates/skills/backend/fastapi-best-practices/index.yaml +0 -25
  411. package/templates/skills/backend/go-backend-best-practices/SKILL.md +0 -337
  412. package/templates/skills/backend/go-backend-best-practices/index.yaml +0 -26
  413. package/templates/skills/backend/springboot-best-practices/index.yaml +0 -27
  414. package/templates/skills/development/go-best-practices/index.yaml +0 -25
  415. package/templates/skills/development/kotlin-best-practices/SKILL.md +0 -255
  416. package/templates/skills/development/kotlin-best-practices/index.yaml +0 -27
  417. package/templates/skills/development/python-best-practices/SKILL.md +0 -221
  418. package/templates/skills/development/python-best-practices/index.yaml +0 -25
  419. package/templates/skills/development/react-best-practices/index.yaml +0 -39
  420. package/templates/skills/development/rust-best-practices/SKILL.md +0 -266
  421. package/templates/skills/development/rust-best-practices/index.yaml +0 -26
  422. package/templates/skills/development/typescript-best-practices/index.yaml +0 -28
  423. package/templates/skills/development/vercel-deploy/SKILL.md +0 -73
  424. package/templates/skills/development/vercel-deploy/index.yaml +0 -30
  425. package/templates/skills/development/web-design-guidelines/SKILL.md +0 -117
  426. package/templates/skills/development/web-design-guidelines/index.yaml +0 -34
  427. package/templates/skills/index.yaml +0 -129
  428. package/templates/skills/infrastructure/aws-best-practices/index.yaml +0 -27
  429. package/templates/skills/infrastructure/docker-best-practices/SKILL.md +0 -274
  430. package/templates/skills/infrastructure/docker-best-practices/index.yaml +0 -26
  431. package/templates/skills/orchestration/intent-detection/index.yaml +0 -30
  432. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +0 -342
  433. package/templates/skills/orchestration/pipeline-execution/index.yaml +0 -27
  434. package/templates/skills/system/memory-management/SKILL.md +0 -194
  435. package/templates/skills/system/memory-management/index.yaml +0 -30
  436. package/templates/skills/system/result-aggregation/index.yaml +0 -36
package/README.md CHANGED
@@ -14,7 +14,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
14
14
 
15
15
  | Feature | Description |
16
16
  |---------|-------------|
17
- | **Batteries Included** | 37 agents, 17 skills, 12 guides - synced with baekgom-agents templates |
17
+ | **Batteries Included** | 34 agents, 42 skills, 13 guides - synced with baekgom-agents templates |
18
18
  | **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
19
19
  | **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
20
20
  | **Mix and Match** | Use built-in components, create your own, or combine both |
@@ -39,146 +39,86 @@ That's it. You now have a fully configured Claude Code environment.
39
39
 
40
40
  This is what oh-my-customcode is all about. **Making Claude Code yours.**
41
41
 
42
- ### Create a Custom Agent (2 files)
42
+ ### Just Tell Claude What You Need
43
43
 
44
- Want an agent that reviews database migrations? Just create:
44
+ No manual file editing. Describe what you want in natural language, and the orchestrator delegates to the right agent:
45
45
 
46
46
  ```
47
- agents/sw-engineer/migration-expert/
48
- ├── AGENT.md # What the agent does
49
- └── index.yaml # Metadata
47
+ "Create a migration review expert agent"
48
+ "Add a SQL optimization skill"
49
+ "Make code reviews stricter"
50
+ "Set up a deploy review pipeline"
50
51
  ```
51
52
 
52
- **AGENT.md:**
53
- ```markdown
54
- # Migration Expert Agent
53
+ **How it works:**
55
54
 
56
- > **Type**: Worker
57
-
58
- ## Purpose
59
-
60
- Expert in database migrations, schema design, and data integrity.
61
-
62
- ## Capabilities
63
-
64
- 1. Review migration files for safety issues
65
- 2. Suggest rollback strategies
66
- 3. Check for data loss risks
67
- 4. Optimize migration performance
68
-
69
- ## When to Use
70
-
71
- - Before running migrations in production
72
- - Designing new database schemas
73
- - Reviewing team members' migrations
74
55
  ```
75
-
76
- **index.yaml:**
77
- ```yaml
78
- metadata:
79
- name: migration-expert
80
- type: worker
81
- category: sw-engineer
82
- description: Database migration specialist
56
+ User (natural language)
57
+ → /create-agent (routing skill)
58
+ → mgr-creator:sonnet — scaffolds agent, registers, verifies
59
+ → mgr-updater:sonnet — syncs documentation
60
+ → mgr-supplier:haiku — checks dependencies
83
61
  ```
84
62
 
85
- Done. Your custom agent is ready to use.
86
-
87
- ### Add a Custom Skill
88
-
89
- Skills define **how** agents do things. Create specialized knowledge:
63
+ Claude Code's routing system analyzes your request, routes it to the appropriate skill and agent, and the sub-agent handles everything automatically.
90
64
 
91
- ```
92
- skills/development/sql-optimization/
93
- ├── SKILL.md # The skill instructions
94
- └── index.yaml # Metadata
95
- ```
65
+ ### Sub-Agent Model
96
66
 
97
- **SKILL.md:**
98
- ```markdown
99
- # SQL Optimization Skill
67
+ Each sub-agent runs on an optimized model for its task type:
100
68
 
101
- ## Rules
69
+ | Model | Usage | Examples |
70
+ |-------|-------|---------|
71
+ | `opus` | Complex reasoning, architecture | Code review, design analysis |
72
+ | `sonnet` | General tasks (default) | Agent creation, code generation |
73
+ | `haiku` | Fast, simple operations | File search, validation |
102
74
 
103
- ### Query Optimization
104
- - Always use EXPLAIN ANALYZE before suggesting changes
105
- - Prefer indexes over full table scans
106
- - Avoid SELECT * in production code
107
- - Use CTEs for complex queries
75
+ Claude Code selects the appropriate model and parallelizes independent tasks (up to 4 concurrent sub-agents):
108
76
 
109
- ### Migration Safety
110
- - Always include rollback scripts
111
- - Test migrations on production-like data
112
- - Never delete columns without deprecation period
113
77
  ```
78
+ /create-agent
79
+ ├── mgr-creator:sonnet — agent scaffolding
80
+ ├── mgr-supplier:haiku — dependency check
81
+ └── mgr-sync-checker:haiku — registry verification
114
82
 
115
- ### Modify Rules
116
-
117
- Rules control behavior. Edit them in `.claude/rules/`:
118
-
119
- ```
120
- .claude/rules/
121
- ├── MUST-*.md # Required (safety, permissions)
122
- ├── SHOULD-*.md # Recommended (interactions, error handling)
123
- └── MAY-*.md # Optional (optimizations)
83
+ /code-review
84
+ ├── lang-golang-expert:sonnet — Go implementation
85
+ ├── lang-python-expert:sonnet Python implementation
86
+ └── qa-engineer:sonnet — test generation
124
87
  ```
125
88
 
126
- Want stricter code review? Edit `SHOULD-interaction.md`:
127
-
128
- ```markdown
129
- ## Code Review Standards
89
+ ### Built-in Commands
130
90
 
131
- ### Before Approving Any Code
132
- - [ ] All tests pass
133
- - [ ] No security vulnerabilities
134
- - [ ] Performance impact assessed
135
- - [ ] Documentation updated
136
- ```
91
+ | Command | Agent | Description |
92
+ |---------|-------|-------------|
93
+ | `/create-agent <name>` | mgr-creator | Create a new agent |
94
+ | `/update-docs` | mgr-updater | Sync docs with project structure |
95
+ | `/audit-dependencies` | mgr-supplier | Verify agent dependencies |
96
+ | `/code-review` | lang-* experts | Review code with expert agents |
97
+ | `/run-pipeline <name>` | pipeline skill | Execute a workflow pipeline |
98
+ | `/sync-check` | mgr-sync-checker | Full synchronization check |
137
99
 
138
- ### Create Custom Pipelines
100
+ ### Custom Pipelines
139
101
 
140
- Define repeatable workflows in `pipelines/`:
102
+ Define repeatable multi-agent workflows:
141
103
 
142
104
  ```yaml
143
- # pipelines/deploy-review.yaml
105
+ # .claude/skills/pipelines/deploy-review.yaml
144
106
  name: deploy-review
145
- description: Pre-deployment review workflow
146
-
147
107
  steps:
148
108
  - id: security_scan
149
- agent: qa-lead
109
+ agent: qa-planner
150
110
  action: security_review
151
111
 
152
112
  - id: performance_check
153
- agent: optimizer
113
+ agent: tool-optimizer
154
114
  action: analyze_performance
155
115
 
156
116
  - id: migration_review
157
- agent: migration-expert # Your custom agent!
117
+ agent: db-migration-expert
158
118
  action: review_migrations
159
119
  ```
160
120
 
161
- Run it: `pipeline:run deploy-review`
162
-
163
- ### Mix Built-in + Custom
164
-
165
- The real power is combining everything:
166
-
167
- ```
168
- your-project/
169
- ├── agents/
170
- │ ├── orchestrator/ # Built-in: planner, secretary
171
- │ ├── sw-engineer/
172
- │ │ ├── language/ # Built-in: golang, python, rust...
173
- │ │ └── migration-expert/ # YOUR custom agent
174
- │ └── your-team/ # YOUR team-specific agents
175
- ├── skills/
176
- │ ├── development/ # Built-in: best practices
177
- │ └── your-company/ # YOUR company standards
178
- └── .claude/rules/
179
- ├── MUST-safety.md # Built-in
180
- └── MUST-your-policy.md # YOUR company policy
181
- ```
121
+ Run it: `/run-pipeline deploy-review`
182
122
 
183
123
  ---
184
124
 
@@ -186,38 +126,42 @@ your-project/
186
126
 
187
127
  > **Templates synced from [baekgom-agents](https://github.com/baekenough/baekgom-agents)** - Battle-tested agent system with sub-agent orchestration support.
188
128
 
189
- ### Agents (37)
129
+ ### Agents (34)
190
130
 
191
131
  | Category | Count | Agents |
192
132
  |----------|-------|--------|
193
- | **Orchestrators** | 4 | planner, secretary, dev-lead, qa-lead |
194
- | **Managers** | 6 | creator, updater, supplier, gitnerd, sync-checker, sauron |
195
- | **System** | 2 | memory-keeper, naggy |
196
- | **Languages** | 6 | golang, python, rust, kotlin, typescript, java21 |
197
- | **Frontend** | 3 | vercel-agent, vuejs-agent, svelte-agent |
198
- | **Backend** | 5 | fastapi, springboot, go-backend, express, nestjs |
199
- | **Tooling** | 3 | npm-expert, optimizer, bun-expert |
200
- | **Architecture** | 2 | documenter, speckit-agent |
201
- | **Infrastructure** | 2 | docker-expert, aws-expert |
133
+ | **Managers** | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sync-checker, mgr-sauron |
134
+ | **System** | 2 | sys-memory-keeper, sys-naggy |
135
+ | **Languages** | 6 | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
136
+ | **Frontend** | 3 | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent |
137
+ | **Backend** | 5 | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert |
138
+ | **Tooling** | 3 | tool-npm-expert, tool-optimizer, tool-bun-expert |
139
+ | **Database** | 1 | db-supabase-expert |
140
+ | **Architecture** | 2 | arch-documenter, arch-speckit-agent |
141
+ | **Infrastructure** | 2 | infra-docker-expert, infra-aws-expert |
202
142
  | **QA** | 3 | qa-planner, qa-writer, qa-engineer |
203
- | **Tutor** | 1 | go-tutor |
204
- | **Total** | **37** | |
143
+ | **Tutor** | 1 | tutor-go |
144
+ | **Total** | **34** | |
145
+
146
+ ### Skills (42)
205
147
 
206
- ### Skills (17)
148
+ Includes slash commands and capabilities:
207
149
 
208
150
  - **Development** (8): Go, Python, TypeScript, Kotlin, Rust, Java, React, Vercel
209
151
  - **Backend** (5): FastAPI, Spring Boot, Express, NestJS, Go Backend
210
152
  - **Infrastructure** (2): Docker, AWS
211
153
  - **System** (2): Memory management, result aggregation
212
154
  - **Orchestration** (2): Pipeline execution, intent detection
155
+ - **Slash Commands** (20+): /create-agent, /code-review, /audit-dependencies, /sync-check, /commit, /pr, and more
213
156
 
214
- ### Guides (12)
157
+ ### Guides (13)
215
158
 
216
159
  Comprehensive reference documentation covering:
217
160
  - Agent creation and management
218
161
  - Skill development
219
162
  - Pipeline workflows
220
163
  - Best practices and patterns
164
+ - Sub-agent orchestration
221
165
 
222
166
  ### Rules (18)
223
167
 
@@ -250,15 +194,22 @@ After `omcustom init`:
250
194
  ```
251
195
  your-project/
252
196
  ├── CLAUDE.md # Entry point for Claude
253
- ├── .claude/
254
- ├── rules/ # Behavior rules
255
- ├── hooks/ # Event hooks
256
- │ └── contexts/ # Context files
257
- ├── agents/ # All agents
258
- ├── skills/ # All skills
259
- ├── guides/ # Reference docs
260
- ├── pipelines/ # Workflow definitions
261
- └── commands/ # Command definitions
197
+ └── .claude/
198
+ ├── rules/ # Behavior rules (18 total)
199
+ ├── hooks/ # Event hooks
200
+ ├── contexts/ # Context files
201
+ ├── agents/ # All agents (flat structure, 34 total)
202
+ ├── lang-golang-expert/
203
+ ├── be-fastapi-expert/
204
+ ├── mgr-creator/
205
+ └── ...
206
+ ├── skills/ # All skills (42 total, includes slash commands)
207
+ │ ├── development/
208
+ │ ├── backend/
209
+ │ ├── infrastructure/
210
+ │ ├── system/
211
+ │ └── orchestration/
212
+ └── guides/ # Reference docs (13 total)
262
213
  ```
263
214
 
264
215
  ---
package/dist/cli/index.js CHANGED
@@ -12095,34 +12095,18 @@ async function countDirectories(dirPath) {
12095
12095
  const entries = await fs.readdir(dirPath, { withFileTypes: true });
12096
12096
  return entries.filter((e) => e.isDirectory()).length;
12097
12097
  }
12098
- async function countAgentsInTypeDir(typePath) {
12098
+ async function countAgents(agentsDir) {
12099
12099
  let count = 0;
12100
12100
  try {
12101
- const entries = await fs.readdir(typePath, { withFileTypes: true });
12101
+ const entries = await fs.readdir(agentsDir, { withFileTypes: true });
12102
12102
  for (const entry of entries) {
12103
- if (!entry.isDirectory())
12104
- continue;
12105
- const agentMdPath = path.join(typePath, entry.name, "AGENT.md");
12106
- if (await pathExists(agentMdPath)) {
12103
+ if (entry.isFile() && entry.name.endsWith(".md")) {
12107
12104
  count++;
12108
12105
  }
12109
12106
  }
12110
12107
  } catch {}
12111
12108
  return count;
12112
12109
  }
12113
- async function countAgents(agentsDir) {
12114
- let count = 0;
12115
- try {
12116
- const typeEntries = await fs.readdir(agentsDir, { withFileTypes: true });
12117
- for (const typeEntry of typeEntries) {
12118
- if (!typeEntry.isDirectory())
12119
- continue;
12120
- const typePath = path.join(agentsDir, typeEntry.name);
12121
- count += await countAgentsInTypeDir(typePath);
12122
- }
12123
- } catch {}
12124
- return count;
12125
- }
12126
12110
  async function checkClaudeMd(targetDir) {
12127
12111
  const claudeMdPath = path.join(targetDir, "CLAUDE.md");
12128
12112
  const exists2 = await pathExists(claudeMdPath);
@@ -12161,7 +12145,7 @@ async function checkRules(targetDir) {
12161
12145
  };
12162
12146
  }
12163
12147
  async function checkAgents(targetDir) {
12164
- const agentsDir = path.join(targetDir, "agents");
12148
+ const agentsDir = path.join(targetDir, ".claude", "agents");
12165
12149
  const exists2 = await isDirectory(agentsDir);
12166
12150
  if (!exists2) {
12167
12151
  return {
@@ -12188,17 +12172,8 @@ async function checkAgents(targetDir) {
12188
12172
  };
12189
12173
  }
12190
12174
  async function checkSymlinks(targetDir) {
12191
- const agentsDir = path.join(targetDir, "agents");
12192
- const skillsDir = path.join(targetDir, "skills");
12175
+ const skillsDir = path.join(targetDir, ".claude", "skills");
12193
12176
  const brokenSymlinks = [];
12194
- if (await isDirectory(agentsDir)) {
12195
- const agentSymlinks = await findRefsSymlinks(agentsDir);
12196
- for (const symlink of agentSymlinks) {
12197
- if (!await isValidSymlink(symlink)) {
12198
- brokenSymlinks.push(symlink);
12199
- }
12200
- }
12201
- }
12202
12177
  if (await isDirectory(skillsDir)) {
12203
12178
  const skillSymlinks = await findRefsSymlinks(skillsDir);
12204
12179
  for (const symlink of skillSymlinks) {
@@ -12259,7 +12234,7 @@ async function checkIndexFiles(targetDir) {
12259
12234
  };
12260
12235
  }
12261
12236
  async function checkSkills(targetDir) {
12262
- const skillsDir = path.join(targetDir, "skills");
12237
+ const skillsDir = path.join(targetDir, ".claude", "skills");
12263
12238
  const exists2 = await isDirectory(skillsDir);
12264
12239
  if (!exists2) {
12265
12240
  return {
@@ -12306,8 +12281,8 @@ async function createMissingDirectory(dirPath) {
12306
12281
  async function fixSingleIssue(check, targetDir) {
12307
12282
  const fixMap = {
12308
12283
  Rules: () => createMissingDirectory(path.join(targetDir, ".claude", "rules")),
12309
- Agents: () => createMissingDirectory(path.join(targetDir, "agents")),
12310
- Skills: () => createMissingDirectory(path.join(targetDir, "skills")),
12284
+ Agents: () => createMissingDirectory(path.join(targetDir, ".claude", "agents")),
12285
+ Skills: () => createMissingDirectory(path.join(targetDir, ".claude", "skills")),
12311
12286
  Symlinks: async () => {
12312
12287
  if (!check.details || check.details.length === 0)
12313
12288
  return false;
@@ -12830,37 +12805,20 @@ var DIRECTORY_STRUCTURE = [
12830
12805
  ".claude/rules",
12831
12806
  ".claude/hooks",
12832
12807
  ".claude/contexts",
12833
- "agents",
12834
- "agents/master",
12835
- "agents/orchestrator",
12836
- "agents/manager",
12837
- "agents/system",
12838
- "agents/sw-engineer",
12839
- "agents/sw-architect",
12840
- "agents/backend-engineer",
12841
- "agents/infra-engineer",
12842
- "agents/qa-engineer",
12843
- "agents/tutor",
12844
- "skills",
12845
- "skills/development",
12846
- "skills/backend",
12847
- "skills/infrastructure",
12848
- "skills/system",
12849
- "skills/orchestration",
12808
+ ".claude/agents",
12809
+ ".claude/skills",
12850
12810
  "guides",
12851
12811
  "pipelines",
12852
12812
  "pipelines/templates",
12853
- "pipelines/examples",
12854
- "commands"
12813
+ "pipelines/examples"
12855
12814
  ];
12856
12815
  var COMPONENT_PATHS = {
12857
12816
  "claude-md": "",
12858
12817
  rules: ".claude/rules",
12859
- agents: "agents",
12860
- skills: "skills",
12818
+ agents: ".claude/agents",
12819
+ skills: ".claude/skills",
12861
12820
  guides: "guides",
12862
12821
  pipelines: "pipelines",
12863
- commands: "commands",
12864
12822
  hooks: ".claude/hooks",
12865
12823
  contexts: ".claude/contexts"
12866
12824
  };
@@ -12973,7 +12931,7 @@ async function createDirectoryStructure(targetDir) {
12973
12931
  }
12974
12932
  }
12975
12933
  function getAllComponents() {
12976
- return ["rules", "agents", "skills", "guides", "pipelines", "commands", "hooks", "contexts"];
12934
+ return ["rules", "agents", "skills", "guides", "pipelines", "hooks", "contexts"];
12977
12935
  }
12978
12936
  async function installComponent(targetDir, component, options) {
12979
12937
  const templatePath = COMPONENT_PATHS[component];
@@ -13023,15 +12981,7 @@ async function backupExisting(sourcePath, backupDir) {
13023
12981
  return backupPath;
13024
12982
  }
13025
12983
  async function checkExistingPaths(targetDir) {
13026
- const pathsToCheck = [
13027
- "CLAUDE.md",
13028
- ".claude",
13029
- "agents",
13030
- "skills",
13031
- "guides",
13032
- "pipelines",
13033
- "commands"
13034
- ];
12984
+ const pathsToCheck = ["CLAUDE.md", ".claude", "guides", "pipelines"];
13035
12985
  const existingPaths = [];
13036
12986
  for (const relativePath of pathsToCheck) {
13037
12987
  const fullPath = join3(targetDir, relativePath);
@@ -13192,14 +13142,26 @@ function parseYamlMetadata(content) {
13192
13142
  }
13193
13143
  return result;
13194
13144
  }
13195
- function extractAgentTypeFromPath(agentPath, baseDir) {
13196
- const relativePath = relative(join5(baseDir, "agents"), agentPath);
13197
- const parts = relativePath.split("/").filter(Boolean);
13198
- parts.pop();
13199
- return parts.join("/") || "unknown";
13145
+ function extractAgentTypeFromFilename(filename) {
13146
+ const name = basename2(filename, ".md");
13147
+ const prefixMap = {
13148
+ lang: "language",
13149
+ be: "backend",
13150
+ fe: "frontend",
13151
+ tool: "tooling",
13152
+ db: "database",
13153
+ arch: "architect",
13154
+ infra: "infrastructure",
13155
+ qa: "qa",
13156
+ mgr: "manager",
13157
+ sys: "system",
13158
+ tutor: "tutor"
13159
+ };
13160
+ const prefix = name.split("-")[0];
13161
+ return prefixMap[prefix] || "unknown";
13200
13162
  }
13201
13163
  function extractSkillCategoryFromPath(skillPath, baseDir) {
13202
- const relativePath = relative(join5(baseDir, "skills"), skillPath);
13164
+ const relativePath = relative(join5(baseDir, ".claude", "skills"), skillPath);
13203
13165
  const parts = relativePath.split("/").filter(Boolean);
13204
13166
  return parts[0] || "unknown";
13205
13167
  }
@@ -13213,28 +13175,67 @@ function extractRulePriorityFromFilename(filename) {
13213
13175
  const parts = name.split("-");
13214
13176
  return parts[0] || "unknown";
13215
13177
  }
13178
+ function shouldSkipLine(trimmed, inFrontmatter) {
13179
+ if (inFrontmatter)
13180
+ return true;
13181
+ if (trimmed.startsWith("#"))
13182
+ return true;
13183
+ if (trimmed.startsWith("```"))
13184
+ return true;
13185
+ if (trimmed === "---")
13186
+ return true;
13187
+ return false;
13188
+ }
13189
+ function cleanMarkdownFormatting(text) {
13190
+ return text.replace(/\*\*/g, "").replace(/\*/g, "");
13191
+ }
13192
+ function truncateText(text, maxLength) {
13193
+ if (!maxLength || text.length <= maxLength)
13194
+ return text;
13195
+ return `${text.substring(0, maxLength)}...`;
13196
+ }
13197
+ function processDescription(text, options) {
13198
+ const cleaned = options.cleanFormatting ? cleanMarkdownFormatting(text) : text;
13199
+ return truncateText(cleaned, options.maxLength);
13200
+ }
13201
+ function extractFromBlockquote(trimmed, options) {
13202
+ const text = trimmed.replace(/^>\s*/, "").trim();
13203
+ return processDescription(text, options);
13204
+ }
13205
+ function* skipFrontmatter(lines) {
13206
+ let inFrontmatter = false;
13207
+ let lineIndex = 0;
13208
+ for (const line of lines) {
13209
+ const trimmed = line.trim();
13210
+ if (lineIndex === 0 && trimmed === "---") {
13211
+ inFrontmatter = true;
13212
+ lineIndex++;
13213
+ continue;
13214
+ }
13215
+ if (inFrontmatter && trimmed === "---") {
13216
+ inFrontmatter = false;
13217
+ lineIndex++;
13218
+ continue;
13219
+ }
13220
+ if (!inFrontmatter) {
13221
+ yield { trimmed, lineIndex };
13222
+ }
13223
+ lineIndex++;
13224
+ }
13225
+ }
13216
13226
  function extractDescriptionFromMarkdown(content, options = {}) {
13217
13227
  const { maxLength, cleanFormatting = false } = options;
13218
13228
  const lines = content.split(`
13219
13229
  `);
13220
- for (const line of lines) {
13221
- const trimmed = line.trim();
13222
- if (trimmed.startsWith("#") || trimmed.startsWith("```") || trimmed.startsWith("---")) {
13230
+ for (const { trimmed } of skipFrontmatter(lines)) {
13231
+ if (shouldSkipLine(trimmed, false)) {
13223
13232
  continue;
13224
13233
  }
13225
13234
  if (trimmed.startsWith(">")) {
13226
- let description = trimmed.replace(/^>\s*/, "").trim();
13227
- if (cleanFormatting) {
13228
- description = description.replace(/\*\*/g, "").replace(/\*/g, "");
13229
- }
13230
- return description;
13235
+ return extractFromBlockquote(trimmed, { cleanFormatting, maxLength });
13231
13236
  }
13232
13237
  if (trimmed) {
13233
- let description = trimmed;
13234
- if (maxLength && description.length > maxLength) {
13235
- description = `${description.substring(0, maxLength)}...`;
13236
- }
13237
- return description;
13238
+ return processDescription(trimmed, { cleanFormatting, maxLength });
13238
13239
  }
13239
13240
  }
13240
13241
  return;
@@ -13259,22 +13260,21 @@ async function tryExtractMarkdownDescription(mdPath, options = {}) {
13259
13260
  }
13260
13261
  }
13261
13262
  async function getAgents(targetDir) {
13262
- const agentsDir = join5(targetDir, "agents");
13263
+ const agentsDir = join5(targetDir, ".claude", "agents");
13263
13264
  if (!await fileExists(agentsDir))
13264
13265
  return [];
13265
13266
  try {
13266
- const agentMdFiles = await listFiles(agentsDir, { recursive: true, pattern: "AGENT.md" });
13267
+ const agentMdFiles = await listFiles(agentsDir, { recursive: false, pattern: "*.md" });
13267
13268
  const agents = await Promise.all(agentMdFiles.map(async (agentMdPath) => {
13268
- const agentDir = dirname2(agentMdPath);
13269
- const indexYamlPath = join5(agentDir, "index.yaml");
13270
- const { description: yamlDesc, version } = await tryReadIndexYamlMetadata(indexYamlPath);
13271
- const description = yamlDesc ?? await tryExtractMarkdownDescription(agentMdPath);
13269
+ const filename = basename2(agentMdPath);
13270
+ const name = basename2(filename, ".md");
13271
+ const description = await tryExtractMarkdownDescription(agentMdPath);
13272
13272
  return {
13273
- name: basename2(agentDir),
13274
- type: extractAgentTypeFromPath(agentDir, targetDir),
13275
- path: relative(targetDir, agentDir),
13273
+ name,
13274
+ type: extractAgentTypeFromFilename(filename),
13275
+ path: relative(targetDir, agentMdPath),
13276
13276
  description,
13277
- version
13277
+ version: undefined
13278
13278
  };
13279
13279
  }));
13280
13280
  return agents.sort((a, b) => a.name.localeCompare(b.name));
@@ -13283,7 +13283,7 @@ async function getAgents(targetDir) {
13283
13283
  }
13284
13284
  }
13285
13285
  async function getSkills(targetDir) {
13286
- const skillsDir = join5(targetDir, "skills");
13286
+ const skillsDir = join5(targetDir, ".claude", "skills");
13287
13287
  if (!await fileExists(skillsDir))
13288
13288
  return [];
13289
13289
  try {
package/dist/index.js CHANGED
@@ -422,37 +422,20 @@ var DIRECTORY_STRUCTURE = [
422
422
  ".claude/rules",
423
423
  ".claude/hooks",
424
424
  ".claude/contexts",
425
- "agents",
426
- "agents/master",
427
- "agents/orchestrator",
428
- "agents/manager",
429
- "agents/system",
430
- "agents/sw-engineer",
431
- "agents/sw-architect",
432
- "agents/backend-engineer",
433
- "agents/infra-engineer",
434
- "agents/qa-engineer",
435
- "agents/tutor",
436
- "skills",
437
- "skills/development",
438
- "skills/backend",
439
- "skills/infrastructure",
440
- "skills/system",
441
- "skills/orchestration",
425
+ ".claude/agents",
426
+ ".claude/skills",
442
427
  "guides",
443
428
  "pipelines",
444
429
  "pipelines/templates",
445
- "pipelines/examples",
446
- "commands"
430
+ "pipelines/examples"
447
431
  ];
448
432
  var COMPONENT_PATHS = {
449
433
  "claude-md": "",
450
434
  rules: ".claude/rules",
451
- agents: "agents",
452
- skills: "skills",
435
+ agents: ".claude/agents",
436
+ skills: ".claude/skills",
453
437
  guides: "guides",
454
438
  pipelines: "pipelines",
455
- commands: "commands",
456
439
  hooks: ".claude/hooks",
457
440
  contexts: ".claude/contexts"
458
441
  };
@@ -592,7 +575,7 @@ async function getTemplateManifest() {
592
575
  };
593
576
  }
594
577
  function getAllComponents() {
595
- return ["rules", "agents", "skills", "guides", "pipelines", "commands", "hooks", "contexts"];
578
+ return ["rules", "agents", "skills", "guides", "pipelines", "hooks", "contexts"];
596
579
  }
597
580
  async function installComponent(targetDir, component, options) {
598
581
  const templatePath = COMPONENT_PATHS[component];
@@ -642,15 +625,7 @@ async function backupExisting(sourcePath, backupDir) {
642
625
  return backupPath;
643
626
  }
644
627
  async function checkExistingPaths(targetDir) {
645
- const pathsToCheck = [
646
- "CLAUDE.md",
647
- ".claude",
648
- "agents",
649
- "skills",
650
- "guides",
651
- "pipelines",
652
- "commands"
653
- ];
628
+ const pathsToCheck = ["CLAUDE.md", ".claude", "guides", "pipelines"];
654
629
  const existingPaths = [];
655
630
  for (const relativePath of pathsToCheck) {
656
631
  const fullPath = join3(targetDir, relativePath);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-customcode",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Batteries-included agent harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {