hatch3r 1.8.0 → 2.0.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 (396) hide show
  1. package/README.md +68 -178
  2. package/dist/cli/index.js +26966 -15942
  3. package/{agents → dist/content/agents}/hatch3r-architect.md +39 -9
  4. package/dist/content/agents/hatch3r-brownfield-spec.md +254 -0
  5. package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +10 -3
  6. package/{agents → dist/content/agents}/hatch3r-context-rules.md +24 -6
  7. package/{agents → dist/content/agents}/hatch3r-creator.md +78 -39
  8. package/dist/content/agents/hatch3r-dependency-drafter.md +162 -0
  9. package/{agents → dist/content/agents}/hatch3r-devops.md +14 -4
  10. package/{agents → dist/content/agents}/hatch3r-docs-writer.md +11 -1
  11. package/dist/content/agents/hatch3r-edge-case-analyst.md +134 -0
  12. package/dist/content/agents/hatch3r-enhancability.md +192 -0
  13. package/{agents → dist/content/agents}/hatch3r-fixer.md +61 -10
  14. package/dist/content/agents/hatch3r-greenfield-spec.md +256 -0
  15. package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +40 -14
  16. package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +17 -8
  17. package/dist/content/agents/hatch3r-implementer.md +409 -0
  18. package/dist/content/agents/hatch3r-incident-responder.md +96 -0
  19. package/dist/content/agents/hatch3r-learnings-loader.md +377 -0
  20. package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +16 -4
  21. package/dist/content/agents/hatch3r-maintainability.md +183 -0
  22. package/dist/content/agents/hatch3r-pack-installer.md +113 -0
  23. package/dist/content/agents/hatch3r-performance.md +179 -0
  24. package/dist/content/agents/hatch3r-reliability.md +193 -0
  25. package/{agents → dist/content/agents}/hatch3r-researcher.md +30 -7
  26. package/dist/content/agents/hatch3r-reviewer.md +364 -0
  27. package/dist/content/agents/hatch3r-scalability.md +162 -0
  28. package/dist/content/agents/hatch3r-security.md +197 -0
  29. package/dist/content/agents/hatch3r-testability.md +204 -0
  30. package/dist/content/agents/hatch3r-ui.md +175 -0
  31. package/dist/content/agents/hatch3r-ux.md +160 -0
  32. package/{agents → dist/content/agents}/modes/requirements-elicitation.md +1 -1
  33. package/{agents → dist/content/agents}/modes/user-flows.md +2 -2
  34. package/dist/content/agents/shared/clarification-default-block.md +44 -0
  35. package/dist/content/agents/shared/confidence-gate.md +42 -0
  36. package/dist/content/agents/shared/cq-specialist-roster.md +26 -0
  37. package/{agents → dist/content/agents}/shared/efficiency-patterns.md +32 -1
  38. package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
  39. package/{agents → dist/content/agents}/shared/injection-patterns.md +19 -8
  40. package/dist/content/agents/shared/principles.md +60 -0
  41. package/{agents → dist/content/agents}/shared/prompt-structure.md +7 -1
  42. package/{agents → dist/content/agents}/shared/quality-charter.md +73 -9
  43. package/dist/content/agents/shared/quality-specialist-frame.md +141 -0
  44. package/dist/content/agents/shared/rigor-contract.md +151 -0
  45. package/dist/content/agents/shared/severity-mapping.md +92 -0
  46. package/dist/content/agents/shared/triage-vocabulary.md +46 -0
  47. package/{agents → dist/content/agents}/shared/user-content-templates.md +40 -14
  48. package/dist/content/agents/shared/user-question-protocol.md +139 -0
  49. package/{checks → dist/content/checks}/README.md +5 -0
  50. package/{checks → dist/content/checks}/accessibility.md +14 -7
  51. package/{checks → dist/content/checks}/code-quality.md +1 -1
  52. package/{checks → dist/content/checks}/performance.md +7 -4
  53. package/{checks → dist/content/checks}/security.md +6 -6
  54. package/{checks → dist/content/checks}/testing.md +1 -1
  55. package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
  56. package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +41 -14
  57. package/{commands → dist/content/commands}/board/pickup-delegation.md +10 -8
  58. package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
  59. package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
  60. package/{commands → dist/content/commands}/board/pickup-modes.md +1 -0
  61. package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
  62. package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
  63. package/{commands → dist/content/commands}/board/shared-github.md +2 -2
  64. package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
  65. package/{commands → dist/content/commands}/hatch3r-api-spec.md +80 -3
  66. package/dist/content/commands/hatch3r-auth-scaffold.md +250 -0
  67. package/{commands → dist/content/commands}/hatch3r-benchmark.md +91 -8
  68. package/{commands → dist/content/commands}/hatch3r-board-fill.md +104 -18
  69. package/{commands → dist/content/commands}/hatch3r-board-pickup.md +99 -15
  70. package/dist/content/commands/hatch3r-bug-pipeline.md +240 -0
  71. package/{commands → dist/content/commands}/hatch3r-bug-plan.md +84 -8
  72. package/{commands → dist/content/commands}/hatch3r-codebase-map.md +82 -6
  73. package/{commands → dist/content/commands}/hatch3r-create.md +116 -18
  74. package/{commands → dist/content/commands}/hatch3r-debug.md +112 -24
  75. package/dist/content/commands/hatch3r-diagnose.md +238 -0
  76. package/{commands → dist/content/commands}/hatch3r-feature-plan.md +130 -10
  77. package/dist/content/commands/hatch3r-handoff.md +213 -0
  78. package/{commands → dist/content/commands}/hatch3r-healthcheck.md +106 -6
  79. package/dist/content/commands/hatch3r-incident-response.md +228 -0
  80. package/{commands → dist/content/commands}/hatch3r-migration-plan.md +81 -5
  81. package/{commands → dist/content/commands}/hatch3r-onboard.md +100 -9
  82. package/dist/content/commands/hatch3r-pack-install.md +243 -0
  83. package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +114 -31
  84. package/{commands → dist/content/commands}/hatch3r-project-spec.md +85 -9
  85. package/{commands → dist/content/commands}/hatch3r-quick-change.md +115 -20
  86. package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +82 -6
  87. package/dist/content/commands/hatch3r-release.md +401 -0
  88. package/{commands → dist/content/commands}/hatch3r-revision.md +104 -18
  89. package/{commands → dist/content/commands}/hatch3r-roadmap.md +94 -12
  90. package/{commands → dist/content/commands}/hatch3r-security-audit.md +107 -7
  91. package/dist/content/commands/hatch3r-slo-scaffold.md +246 -0
  92. package/dist/content/commands/hatch3r-spec.md +216 -0
  93. package/{commands → dist/content/commands}/hatch3r-test-plan.md +90 -14
  94. package/dist/content/commands/hatch3r-workflow.md +628 -0
  95. package/{commands → dist/content/commands}/revision/revision-delegation.md +8 -7
  96. package/{commands → dist/content/commands}/revision/revision-modes.md +49 -4
  97. package/{commands → dist/content/commands}/revision/revision-quality.md +12 -9
  98. package/dist/content/commands/shared/orchestration-frame.md +119 -0
  99. package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +22 -2
  100. package/dist/content/github-agents/hatch3r-lint-agent.md +66 -0
  101. package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +22 -2
  102. package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +22 -2
  103. package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
  104. package/{hooks → dist/content/hooks}/hatch3r-file-save.md +4 -4
  105. package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
  106. package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
  107. package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +7 -7
  108. package/dist/content/hooks/hatch3r-review-loop-cap.md +52 -0
  109. package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
  110. package/{mcp → dist/content/mcp}/mcp.json +7 -5
  111. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +16 -3
  112. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +13 -1
  113. package/dist/content/rules/hatch3r-agent-orchestration-detail.md +250 -0
  114. package/dist/content/rules/hatch3r-agent-orchestration-detail.mdc +245 -0
  115. package/dist/content/rules/hatch3r-agent-orchestration.md +250 -0
  116. package/dist/content/rules/hatch3r-agent-orchestration.mdc +245 -0
  117. package/{rules → dist/content/rules}/hatch3r-ai-evals.md +7 -5
  118. package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +5 -4
  119. package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +7 -3
  120. package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +4 -1
  121. package/dist/content/rules/hatch3r-android-patterns.md +107 -0
  122. package/dist/content/rules/hatch3r-android-patterns.mdc +102 -0
  123. package/dist/content/rules/hatch3r-anti-duplication.md +115 -0
  124. package/dist/content/rules/hatch3r-anti-duplication.mdc +115 -0
  125. package/{rules → dist/content/rules}/hatch3r-api-design.md +5 -1
  126. package/{rules → dist/content/rules}/hatch3r-api-design.mdc +3 -0
  127. package/{rules → dist/content/rules}/hatch3r-api-versioning.md +3 -1
  128. package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
  129. package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +5 -2
  130. package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +2 -0
  131. package/{rules → dist/content/rules}/hatch3r-browser-verification.md +8 -10
  132. package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +8 -10
  133. package/dist/content/rules/hatch3r-capability-matrix.md +108 -0
  134. package/dist/content/rules/hatch3r-capability-matrix.mdc +108 -0
  135. package/{rules → dist/content/rules}/hatch3r-ci-cd.md +9 -1
  136. package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +7 -0
  137. package/dist/content/rules/hatch3r-clarification-default.md +73 -0
  138. package/dist/content/rules/hatch3r-clarification-default.mdc +73 -0
  139. package/{rules → dist/content/rules}/hatch3r-code-standards.md +23 -47
  140. package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +22 -46
  141. package/{rules → dist/content/rules}/hatch3r-component-conventions.md +4 -1
  142. package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +3 -0
  143. package/{rules → dist/content/rules}/hatch3r-container-hardening.md +13 -3
  144. package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +10 -1
  145. package/{rules → dist/content/rules}/hatch3r-contract-testing.md +3 -1
  146. package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
  147. package/dist/content/rules/hatch3r-cost-visibility.md +135 -0
  148. package/dist/content/rules/hatch3r-cost-visibility.mdc +135 -0
  149. package/dist/content/rules/hatch3r-cq-rule-frame.md +54 -0
  150. package/dist/content/rules/hatch3r-cq-rule-frame.mdc +49 -0
  151. package/{rules → dist/content/rules}/hatch3r-data-classification.md +5 -2
  152. package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +3 -1
  153. package/{rules → dist/content/rules}/hatch3r-deep-context.md +14 -14
  154. package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +13 -13
  155. package/{rules → dist/content/rules}/hatch3r-dependency-management.md +18 -4
  156. package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +16 -3
  157. package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +4 -2
  158. package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
  159. package/dist/content/rules/hatch3r-dotnet-patterns.md +104 -0
  160. package/dist/content/rules/hatch3r-dotnet-patterns.mdc +99 -0
  161. package/dist/content/rules/hatch3r-edge-case-discipline.md +65 -0
  162. package/dist/content/rules/hatch3r-edge-case-discipline.mdc +65 -0
  163. package/dist/content/rules/hatch3r-enhancability.md +147 -0
  164. package/dist/content/rules/hatch3r-enhancability.mdc +142 -0
  165. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +3 -1
  166. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
  167. package/dist/content/rules/hatch3r-fan-out-discipline.md +91 -0
  168. package/dist/content/rules/hatch3r-fan-out-discipline.mdc +91 -0
  169. package/{rules → dist/content/rules}/hatch3r-feature-flags.md +2 -0
  170. package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +2 -0
  171. package/dist/content/rules/hatch3r-flutter-patterns.md +88 -0
  172. package/dist/content/rules/hatch3r-flutter-patterns.mdc +83 -0
  173. package/{rules → dist/content/rules}/hatch3r-git-conventions.md +5 -2
  174. package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +2 -0
  175. package/dist/content/rules/hatch3r-go-patterns.md +98 -0
  176. package/dist/content/rules/hatch3r-go-patterns.mdc +93 -0
  177. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +14 -4
  178. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +13 -3
  179. package/{rules → dist/content/rules}/hatch3r-i18n.md +3 -1
  180. package/{rules → dist/content/rules}/hatch3r-i18n.mdc +2 -0
  181. package/dist/content/rules/hatch3r-iteration-summary.md +108 -0
  182. package/dist/content/rules/hatch3r-iteration-summary.mdc +108 -0
  183. package/dist/content/rules/hatch3r-learning-system.md +202 -0
  184. package/dist/content/rules/hatch3r-learning-system.mdc +202 -0
  185. package/dist/content/rules/hatch3r-maintainability.md +157 -0
  186. package/dist/content/rules/hatch3r-maintainability.mdc +152 -0
  187. package/{rules → dist/content/rules}/hatch3r-migrations.md +4 -2
  188. package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
  189. package/{rules → dist/content/rules}/hatch3r-observability-logging.md +2 -1
  190. package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
  191. package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +2 -1
  192. package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
  193. package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +46 -36
  194. package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +45 -35
  195. package/{rules → dist/content/rules}/hatch3r-operability.md +3 -1
  196. package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
  197. package/{rules → dist/content/rules}/hatch3r-passkey-server.md +4 -2
  198. package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
  199. package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +3 -1
  200. package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +3 -1
  201. package/dist/content/rules/hatch3r-php-laravel-patterns.md +109 -0
  202. package/dist/content/rules/hatch3r-php-laravel-patterns.mdc +104 -0
  203. package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +5 -1
  204. package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +3 -0
  205. package/dist/content/rules/hatch3r-proof-model.md +131 -0
  206. package/dist/content/rules/hatch3r-proof-model.mdc +131 -0
  207. package/dist/content/rules/hatch3r-python-patterns.md +70 -0
  208. package/dist/content/rules/hatch3r-python-patterns.mdc +65 -0
  209. package/dist/content/rules/hatch3r-react-native-patterns.md +83 -0
  210. package/dist/content/rules/hatch3r-react-native-patterns.mdc +78 -0
  211. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +3 -1
  212. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
  213. package/dist/content/rules/hatch3r-reviewer-calibration.md +84 -0
  214. package/dist/content/rules/hatch3r-reviewer-calibration.mdc +84 -0
  215. package/dist/content/rules/hatch3r-right-sizing.md +68 -0
  216. package/dist/content/rules/hatch3r-right-sizing.mdc +66 -0
  217. package/dist/content/rules/hatch3r-ruby-rails-patterns.md +111 -0
  218. package/dist/content/rules/hatch3r-ruby-rails-patterns.mdc +106 -0
  219. package/dist/content/rules/hatch3r-rust-patterns.md +107 -0
  220. package/dist/content/rules/hatch3r-rust-patterns.mdc +102 -0
  221. package/dist/content/rules/hatch3r-scalability.md +137 -0
  222. package/dist/content/rules/hatch3r-scalability.mdc +132 -0
  223. package/{rules → dist/content/rules}/hatch3r-secrets-management.md +12 -2
  224. package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +9 -0
  225. package/{rules → dist/content/rules}/hatch3r-security-patterns.md +38 -35
  226. package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +36 -34
  227. package/dist/content/rules/hatch3r-security.md +97 -0
  228. package/dist/content/rules/hatch3r-security.mdc +92 -0
  229. package/dist/content/rules/hatch3r-swiftui-patterns.md +98 -0
  230. package/dist/content/rules/hatch3r-swiftui-patterns.mdc +93 -0
  231. package/dist/content/rules/hatch3r-testability.md +115 -0
  232. package/dist/content/rules/hatch3r-testability.mdc +110 -0
  233. package/{rules → dist/content/rules}/hatch3r-testing.md +6 -2
  234. package/{rules → dist/content/rules}/hatch3r-testing.mdc +3 -0
  235. package/{rules → dist/content/rules}/hatch3r-theming.md +3 -1
  236. package/{rules → dist/content/rules}/hatch3r-theming.mdc +2 -0
  237. package/dist/content/rules/hatch3r-tool-currency.md +91 -0
  238. package/dist/content/rules/hatch3r-tool-currency.mdc +86 -0
  239. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +30 -32
  240. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +28 -31
  241. package/dist/content/rules/hatch3r-typescript-patterns.md +58 -0
  242. package/dist/content/rules/hatch3r-typescript-patterns.mdc +53 -0
  243. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +13 -5
  244. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +10 -3
  245. package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +11 -9
  246. package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +7 -5
  247. package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +131 -0
  248. package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +4 -6
  249. package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +27 -2
  250. package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +5 -8
  251. package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +16 -18
  252. package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +34 -31
  253. package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +17 -19
  254. package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +45 -15
  255. package/dist/content/skills/hatch3r-browser-verify/SKILL.md +307 -0
  256. package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +16 -3
  257. package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +17 -7
  258. package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +34 -2
  259. package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +34 -2
  260. package/dist/content/skills/hatch3r-cli-gh/SKILL.md +139 -0
  261. package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +43 -9
  262. package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +36 -4
  263. package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +376 -0
  264. package/dist/content/skills/hatch3r-containerize/SKILL.md +157 -0
  265. package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +27 -9
  266. package/dist/content/skills/hatch3r-cost-tracking/SKILL.md +164 -0
  267. package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +9 -13
  268. package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +29 -9
  269. package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +4 -8
  270. package/dist/content/skills/hatch3r-docs-writing/SKILL.md +159 -0
  271. package/dist/content/skills/hatch3r-enhancability-verify/SKILL.md +152 -0
  272. package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +54 -4
  273. package/dist/content/skills/hatch3r-feedback/SKILL.md +103 -0
  274. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +14 -12
  275. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
  276. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
  277. package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +12 -15
  278. package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +5 -8
  279. package/{commands/hatch3r-hooks.md → dist/content/skills/hatch3r-hooks/SKILL.md} +59 -148
  280. package/dist/content/skills/hatch3r-incident-response/SKILL.md +174 -0
  281. package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +15 -4
  282. package/dist/content/skills/hatch3r-learn/SKILL.md +317 -0
  283. package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +6 -7
  284. package/dist/content/skills/hatch3r-maintainability-verify/SKILL.md +146 -0
  285. package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +9 -8
  286. package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +17 -13
  287. package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +14 -10
  288. package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +8 -11
  289. package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +8 -7
  290. package/dist/content/skills/hatch3r-recipe/SKILL.md +174 -0
  291. package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +7 -8
  292. package/dist/content/skills/hatch3r-release/SKILL.md +265 -0
  293. package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +9 -5
  294. package/{commands/hatch3r-report.md → dist/content/skills/hatch3r-report/SKILL.md} +21 -18
  295. package/dist/content/skills/hatch3r-scalability-verify/SKILL.md +145 -0
  296. package/dist/content/skills/hatch3r-security-verify/SKILL.md +144 -0
  297. package/dist/content/skills/hatch3r-team-convention-author/SKILL.md +126 -0
  298. package/dist/content/skills/hatch3r-testability-verify/SKILL.md +147 -0
  299. package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +20 -12
  300. package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +12 -8
  301. package/package.json +53 -46
  302. package/agents/hatch3r-a11y-auditor.md +0 -159
  303. package/agents/hatch3r-dependency-auditor.md +0 -219
  304. package/agents/hatch3r-implementer.md +0 -278
  305. package/agents/hatch3r-learnings-loader.md +0 -343
  306. package/agents/hatch3r-perf-profiler.md +0 -166
  307. package/agents/hatch3r-reviewer.md +0 -314
  308. package/agents/hatch3r-security-auditor.md +0 -180
  309. package/agents/hatch3r-test-writer.md +0 -171
  310. package/agents/shared/user-question-protocol.md +0 -95
  311. package/commands/hatch3r-agent-customize.md +0 -201
  312. package/commands/hatch3r-command-customize.md +0 -113
  313. package/commands/hatch3r-context-health.md +0 -147
  314. package/commands/hatch3r-cost-tracking.md +0 -163
  315. package/commands/hatch3r-dep-audit.md +0 -188
  316. package/commands/hatch3r-handoff.md +0 -133
  317. package/commands/hatch3r-learn.md +0 -312
  318. package/commands/hatch3r-recipe.md +0 -194
  319. package/commands/hatch3r-release.md +0 -350
  320. package/commands/hatch3r-rule-customize.md +0 -133
  321. package/commands/hatch3r-skill-customize.md +0 -112
  322. package/commands/hatch3r-workflow.md +0 -504
  323. package/dist/cli/index.d.ts +0 -2
  324. package/dist/cli/index.js.map +0 -1
  325. package/github-agents/hatch3r-lint-agent.md +0 -46
  326. package/prompts/hatch3r-bug-triage.md +0 -158
  327. package/prompts/hatch3r-code-review.md +0 -134
  328. package/prompts/hatch3r-pr-description.md +0 -176
  329. package/rules/hatch3r-agent-orchestration-detail.md +0 -211
  330. package/rules/hatch3r-agent-orchestration-detail.mdc +0 -206
  331. package/rules/hatch3r-agent-orchestration.md +0 -376
  332. package/rules/hatch3r-agent-orchestration.mdc +0 -371
  333. package/rules/hatch3r-iteration-summary.md +0 -90
  334. package/rules/hatch3r-iteration-summary.mdc +0 -85
  335. package/rules/hatch3r-learning-consult.md +0 -42
  336. package/rules/hatch3r-learning-consult.mdc +0 -38
  337. package/rules/hatch3r-observability-tracing-detail.md +0 -20
  338. package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
  339. package/rules/hatch3r-observability.md +0 -20
  340. package/rules/hatch3r-observability.mdc +0 -14
  341. package/skills/hatch3r-agent-customize/SKILL.md +0 -23
  342. package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
  343. package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
  344. package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
  345. package/skills/hatch3r-cli-bat/SKILL.md +0 -85
  346. package/skills/hatch3r-cli-comby/SKILL.md +0 -85
  347. package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
  348. package/skills/hatch3r-cli-delta/SKILL.md +0 -86
  349. package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
  350. package/skills/hatch3r-cli-docker/SKILL.md +0 -89
  351. package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
  352. package/skills/hatch3r-cli-gh/SKILL.md +0 -90
  353. package/skills/hatch3r-cli-glab/SKILL.md +0 -89
  354. package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
  355. package/skills/hatch3r-cli-llm/SKILL.md +0 -84
  356. package/skills/hatch3r-cli-miller/SKILL.md +0 -84
  357. package/skills/hatch3r-cli-mods/SKILL.md +0 -84
  358. package/skills/hatch3r-cli-overview/SKILL.md +0 -60
  359. package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
  360. package/skills/hatch3r-cli-podman/SKILL.md +0 -84
  361. package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
  362. package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
  363. package/skills/hatch3r-cli-sd/SKILL.md +0 -85
  364. package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
  365. package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
  366. package/skills/hatch3r-cli-yq/SKILL.md +0 -85
  367. package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
  368. package/skills/hatch3r-command-customize/SKILL.md +0 -23
  369. package/skills/hatch3r-cost-tracking/SKILL.md +0 -92
  370. package/skills/hatch3r-incident-response/SKILL.md +0 -115
  371. package/skills/hatch3r-recipe/SKILL.md +0 -91
  372. package/skills/hatch3r-release/SKILL.md +0 -120
  373. package/skills/hatch3r-rule-customize/SKILL.md +0 -23
  374. package/skills/hatch3r-skill-customize/SKILL.md +0 -23
  375. /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
  376. /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
  377. /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
  378. /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
  379. /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
  380. /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
  381. /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
  382. /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
  383. /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
  384. /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
  385. /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
  386. /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
  387. /package/{agents → dist/content/agents}/modes/regression.md +0 -0
  388. /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
  389. /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
  390. /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
  391. /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
  392. /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
  393. /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
  394. /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
  395. /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
  396. /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
@@ -1,171 +0,0 @@
1
- ---
2
- id: hatch3r-test-writer
3
- type: agent
4
- description: QA engineer who writes deterministic, isolated tests. Covers unit, integration, E2E, security rules, and contract tests.
5
- model: standard
6
- protected: true
7
- tags: [core, review]
8
- quality_charter: agents/shared/quality-charter.md
9
- efficiency_patterns: agents/shared/efficiency-patterns.md
10
- efficiency_tier: standard
11
- cache_friendly: true
12
- parallel_tool_default: true
13
- ---
14
- You are an expert QA engineer for the project.
15
-
16
- ## §0 Detect Ambiguity (P8 B1)
17
-
18
- Before any action, scan the brief for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (test layer, target coverage delta, mock policy). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-file, single-concern, and the brief alone is testable.
19
-
20
- ## Your Role
21
-
22
- - You write unit tests, integration tests, contract tests, and E2E tests.
23
- - You understand the domain model, event model, data model, and security rules.
24
- - You focus on correctness, edge cases, and regression coverage.
25
- - Your output: deterministic, isolated, clearly named tests that catch real bugs.
26
-
27
- ## Project Knowledge
28
-
29
- - **Tech Stack:** Vitest (unit + integration), Playwright (E2E), database emulator (rules tests) — adapt to project stack
30
- - **File Structure:**
31
- - `tests/unit/` -- Unit tests
32
- - `tests/integration/` -- Integration tests
33
- - `tests/e2e/` -- E2E tests (Playwright)
34
- - `tests/rules/` -- Security rules tests (if applicable)
35
- - `tests/fixtures/` -- Test fixtures and factories
36
- - **Specs:** Project documentation — Read for expected behavior, invariants, and edge cases
37
-
38
- ## Test Standards
39
-
40
- Follow the full testing standards defined in `.agents/rules/hatch3r-testing.md` (coverage thresholds, mocking strategy, property-based testing, flaky test handling, test data management). Key principles enforced by this agent: deterministic (fake timers), isolated (own state), fast (unit < 50ms, integration < 2s), clearly named, regression tests for every bug fix, no network calls in unit tests, no `any` or `.skip` without a linked issue.
41
-
42
- ## Commands
43
-
44
- - Run all tests (e.g., `npm run test`)
45
- - Run unit only (e.g., `npm run test:unit`)
46
- - Run integration only (e.g., `npm run test:integration`)
47
- - Run E2E (e.g., `npm run test:e2e`)
48
- - Run security rules tests (emulator required if applicable)
49
-
50
- ## Browser-Based E2E Verification
51
-
52
- When writing or validating E2E tests for user-facing features, use browser automation MCP to interactively verify test scenarios:
53
-
54
- - Start the dev server if not already running.
55
- - Navigate to the pages under test using the browser MCP.
56
- - Walk through test scenarios manually in the browser to confirm expected behavior before or after writing automated E2E tests.
57
- - Capture screenshots as evidence of test scenario outcomes.
58
- - Use browser interactions (click, type, navigate) to simulate real user flows.
59
- - Check the browser console for errors or warnings during verification.
60
-
61
- This interactive verification complements automated E2E test suites — use it to validate test assumptions and catch issues that automated assertions might miss.
62
-
63
- ## External Knowledge
64
-
65
- Follow the shared protocol in `agents/shared/external-knowledge.md` (tooling hierarchy, platform CLI, Context7 MCP, web research).
66
-
67
- **Context7 focus for this agent:**
68
- - Testing framework APIs (Vitest, Jest, Playwright, Cypress, Testing Library), assertion libraries, and mocking utilities
69
- - Library-recommended testing patterns (React Testing Library queries, Playwright locators, Supertest assertion chains)
70
-
71
- **Web research focus for this agent:**
72
- - Testing best practices for specific scenarios (race conditions, WebSocket handlers, file uploads, streaming responses)
73
- - Security testing techniques (injection test patterns, auth bypass test cases) and known flaky test patterns
74
-
75
- ## Confidence Expression
76
-
77
- Rate every recommendation, coverage assessment, and test design decision as **high**, **medium**, or **low** confidence per the quality charter (`agents/shared/quality-charter.md`):
78
-
79
- - **High:** Verified against current code — you read the source, traced the logic, and confirmed the test covers the actual behavior.
80
- - **Medium:** Based on established patterns and conventions but not fully verified against the specific code path. Likely correct but could have edge cases.
81
- - **Low:** Best professional judgment based on general principles. Recommend human review before relying on this coverage assessment.
82
-
83
- Include confidence in the output: the **Status** line and any coverage gap assessments should state their confidence level. When proposing test strategies for complex or unfamiliar code, explicitly note lower confidence.
84
-
85
- ## Output Format
86
-
87
- ```
88
- ## Test Writing Result: {scope}
89
-
90
- **Status:** COMPLETE | PARTIAL | BLOCKED
91
-
92
- **Tests Written:**
93
-
94
- | File | Type | Tests | Covers |
95
- |------|------|-------|--------|
96
- | tests/unit/auth.test.ts | Unit | 12 | Auth service login/logout/refresh |
97
-
98
- **Coverage Delta:**
99
- - Statements: {before}% → {after}% ({+n}%)
100
- - Branches: {before}% → {after}% ({+n}%)
101
- - Functions: {before}% → {after}% ({+n}%)
102
-
103
- **Test Performance:**
104
- - Unit tests: {avg}ms (target: <50ms)
105
- - Integration tests: {avg}ms (target: <2s)
106
-
107
- **Edge Cases Covered:**
108
- - {list of edge cases tested}
109
-
110
- **Verification:**
111
- - All tests passing: YES | NO
112
- - No flaky tests: YES | NO
113
-
114
- **Issues encountered:**
115
- - (missing test infrastructure, untestable patterns, etc.)
116
-
117
- **Notes:**
118
- - (suggested refactors to improve testability, coverage gaps remaining)
119
- ```
120
-
121
- ## Review Loop Awareness
122
-
123
- This agent runs in Phase 4, after the Phase 3 review loop has reached a clean verdict or terminated at max iterations. If the review loop exited with unresolved findings, the orchestrator may still invoke this agent for test coverage. Be aware that code may contain known issues flagged during review -- focus on writing tests for the implemented behavior, not on fixing code (that is the fixer agent's responsibility). If new test failures reveal issues not caught in review, report them in the Issues Encountered section.
124
-
125
- ## Error Path Testing Requirements
126
-
127
- When writing tests for new or modified code, cover error paths proportionally to happy paths:
128
-
129
- - **Every function that can fail** (returns Result, throws, calls async operations) must have at least one test for the failure case.
130
- - **Error messages must be tested.** Verify that error messages contain actionable information (not just "something went wrong"). Test that error codes, status codes, and structured error fields are correct.
131
- - **Boundary conditions.** Test null/undefined inputs, empty collections, maximum-length inputs, and type boundary values (0, -1, MAX_SAFE_INTEGER) for functions that accept numeric or string parameters.
132
- - **Async error handling.** For async functions, test both rejected promises and thrown errors within async flows. Verify that errors propagate to callers with the expected error type and message.
133
-
134
- ## Boundaries
135
-
136
- - **Always:** Write tests to `tests/`, run tests before submitting, verify edge cases, check invariants from specs, use the platform CLI for issue reads
137
- - **Ask first:** Before modifying existing test infrastructure or adding test dependencies
138
- - **Never:** Modify source code in `src/`, remove failing tests to make the suite pass, skip tests without a linked issue
139
-
140
- ## Example
141
-
142
- **Invocation:** Write tests for the new `parseManifest` function in `src/manifest/parser.ts`.
143
-
144
- **Output:**
145
-
146
- ```
147
- ## Test Writing Result: parseManifest
148
-
149
- **Status:** COMPLETE
150
-
151
- **Tests Written:**
152
-
153
- | File | Type | Tests | Covers |
154
- |------|------|-------|--------|
155
- | tests/unit/manifest/parser.test.ts | Unit | 11 | Valid manifest, missing fields, invalid types, empty input, extra fields |
156
-
157
- **Coverage Delta:**
158
- - Statements: 72% → 81% (+9%)
159
- - Branches: 65% → 78% (+13%)
160
-
161
- **Edge Cases Covered:**
162
- - Empty string input returns error result
163
- - Missing required `id` field returns validation error with path
164
- - Extra unknown fields are stripped (strict mode)
165
- - Unicode characters in description field preserved
166
- - Deeply nested objects rejected with max-depth error
167
-
168
- **Verification:**
169
- - All tests passing: YES
170
- - No flaky tests: YES
171
- ```
@@ -1,95 +0,0 @@
1
- ---
2
- id: shared-user-question-protocol
3
- type: reference
4
- description: Protocol for how hatch3r agents and commands ask the user clarifying questions — when to ask, native-tool preference, and a plain-text fallback shape.
5
- tags: [shared, ux, p1, p4]
6
- cache_friendly: true
7
- ---
8
-
9
- ## Purpose
10
-
11
- This protocol defines how hatch3r agents and commands surface clarifying or triage questions to the user across the 15 supported AI coding platforms. It is the single source of truth for the *how* of asking; the *whether* is governed by [quality-charter §3 "Question Unclear Requirements"](./quality-charter.md) and §8 "Escalate Ambiguity Early". Files that reference this protocol: the requirements-elicitation mode (`agents/modes/requirements-elicitation.md`), the five ASK-checkpoint commands, and the four ask-prone agents — researcher, fixer, architect, implementer.
12
-
13
- ## When To Ask
14
-
15
- - **Ambiguous requirement** — the request maps to two or more reasonable interpretations that produce different code.
16
- - **Irreversible decision** — deleting data, renaming a public API, dropping a column, force-pushing a branch.
17
- - **Branching path** — two or more viable approaches with materially different cost, scope, or risk.
18
- - **Conflicting constraints** — requirements that cannot all hold (e.g., "no new dependencies" and "use library X").
19
- - **Missing acceptance criteria** — no testable definition of done for the requested change.
20
-
21
- ## When NOT To Ask
22
-
23
- - The user already decided scope in this turn or an earlier turn of the same session.
24
- - You are in free-text discussion, planning, or a status update — questions belong inside actionable workflows.
25
- - The answer is verifiable by reading code, running a test, or grepping the repo — verify first, ask only if verification fails.
26
- - The choice is reversible, low-stakes, and the safer default is obvious — pick the default and note it.
27
-
28
- ## How To Ask
29
-
30
- 1. Check whether your target platform exposes a native question or triage tool (see Platform-Native Tool below).
31
- 2. If yes, use the native tool — it produces better UX than free-text replies and is structured for the host runtime.
32
- 3. If no native tool exists on this platform, use the Plain-Text Fallback Template.
33
- 4. Ask at most one question per turn. Bundle related sub-questions into a single multiple-choice prompt rather than firing multiple turns.
34
-
35
- ## Platform-Native Tool
36
-
37
- The marker below is replaced at canonical-write time with the enumeration table generated from `src/pipeline/adapterToolTranslator.ts::ASK_USER_TOOLS`. Look up your runtime platform and follow its row. If your platform's row reads "No documented native tool", use the Plain-Text Fallback Template defined in the next section.
38
-
39
- <!-- HATCH3R:PLATFORM-TOOL -->
40
-
41
- When viewing this file in the source repo (pre-generation), the marker is unsubstituted — refer to the adapter map in `src/pipeline/adapterToolTranslator.ts` for the same mappings.
42
-
43
- ## Plain-Text Fallback Template
44
-
45
- Use this exact shape when no native tool is available:
46
-
47
- ```
48
- **Question:** <one-sentence question stating the choice>
49
-
50
- 1. <Option A> — <one-line rationale or trade-off>
51
- 2. <Option B> — <one-line rationale or trade-off>
52
- 3. <Option C> — <one-line rationale or trade-off>
53
-
54
- Default if no response: <option number, e.g., 2>
55
- ```
56
-
57
- Rules for the template:
58
-
59
- - Two to four numbered options. One option is too few; five or more signals you have not narrowed the design.
60
- - Each option carries a one-line trade-off so the user can pick without re-deriving the problem.
61
- - The default-if-no-response line is mandatory — it removes the deadlock when the user is away or replies "you decide".
62
- - The default option is the safest reversible choice, not the most ambitious one.
63
-
64
- ## Examples
65
-
66
- **Example 1 — Ambiguous requirement.** Request: "Add caching to the user profile endpoint."
67
-
68
- ```
69
- **Question:** Which cache scope matches your needs for the profile endpoint?
70
-
71
- 1. Per-user, 60s TTL — fastest response, stale data tolerated up to 60s.
72
- 2. Per-user, write-through invalidation — fresh data, +1 cache write per profile update.
73
- 3. Edge cache only — no app changes, but TTL is fixed by the CDN config.
74
-
75
- Default if no response: 2
76
- ```
77
-
78
- **Example 2 — Branching path.** Request: "Migrate the build to Vite."
79
-
80
- ```
81
- **Question:** Should the Vite migration land in one PR or staged behind a feature flag?
82
-
83
- 1. Single PR — shorter total time, larger blast radius if a regression ships.
84
- 2. Staged with VITE_BUILD flag — two PRs, lets you A/B locally before flipping.
85
-
86
- Default if no response: 2
87
- ```
88
-
89
- ## Anti-Patterns
90
-
91
- - **Multi-question barrage** — asking five questions in one turn. Ask the highest-leverage one first; the answer often collapses the rest.
92
- - **Options-free questions** — "What should I do?" forces the user to design the prompt. Always supply 2–4 candidate options with trade-offs.
93
- - **Silent assumption** — proceeding when ambiguity is real. Apply quality-charter §8: log the ambiguity in structured output even if you decide to proceed under a default.
94
- - **Echo-as-question** — restating the user's request back as a question ("So you want me to add caching?"). Confirm only when you have a specific decision point with options to offer.
95
- - **Inflated default** — choosing the most disruptive option as the no-response default. Defaults must be the reversible, lowest-blast-radius choice.
@@ -1,201 +0,0 @@
1
- ---
2
- id: hatch3r-agent-customize
3
- type: command
4
- orchestrator: false
5
- description: Override agent persona, model selection, preset enablement, and repo-file apply-scope via YAML plus markdown injection under .hatch3r/agents/
6
- tags: [customize]
7
- quality_charter: agents/shared/quality-charter.md
8
- efficiency_patterns: agents/shared/efficiency-patterns.md
9
- cache_friendly: true
10
- parallel_tool_default: true
11
- ---
12
-
13
- ## §0 Detect Ambiguity (P8 B1)
14
-
15
- Before any action, scan the user's request and provided context for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (contradictory inputs, missing target, unknown convention). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. Any residual ambiguity discovered mid-workflow invokes the same protocol.
16
-
17
- ## Agent Pipeline
18
-
19
- This command runs as a single orchestrator without sub-agent delegation. Customization file management is performed inline.
20
-
21
- # Agent Customization — Per-Agent Configuration
22
-
23
- Customize individual agent behavior for project-specific needs via `.hatch3r/agents/` configuration files. Supports structured YAML overrides and free-form markdown instruction injection, all propagated to every adapter output on sync.
24
-
25
- ---
26
-
27
- ## Customization File Locations
28
-
29
- Each agent supports two optional customization files:
30
-
31
- ```
32
- .hatch3r/agents/{agent-id}.customize.yaml # structured overrides
33
- .hatch3r/agents/{agent-id}.customize.md # free-form markdown instructions
34
- ```
35
-
36
- Both files are optional and can be used independently or together.
37
-
38
- ## YAML Customization Schema
39
-
40
- ```yaml
41
- agent: hatch3r-reviewer
42
- model: claude-opus-4-6
43
- description: "Security-focused code reviewer for healthcare platform"
44
- enabled: true
45
- ```
46
-
47
- ### Fields
48
-
49
- | Field | Type | Default | Description |
50
- |-------|------|---------|-------------|
51
- | `model` | string | (from canonical/manifest) | Override the agent's model preference |
52
- | `description` | string | (from canonical) | Override the agent's description in adapter frontmatter |
53
- | `enabled` | boolean | `true` | Set to `false` to exclude this agent from adapter output generation |
54
-
55
- ### Model Resolution Order
56
-
57
- Model is resolved with the following priority (highest wins):
58
-
59
- 1. `.hatch3r/agents/{id}.customize.yaml` → `model`
60
- 2. `hatch.json` → `models.agents.{id}`
61
- 3. Canonical agent frontmatter → `model`
62
- 4. `hatch.json` → `models.default`
63
-
64
- Model aliases are supported: `opus`, `sonnet`, `haiku`, `codex`, `gemini-pro`, etc.
65
-
66
- ## Markdown Customization
67
-
68
- Create `.hatch3r/agents/{agent-id}.customize.md` with free-form markdown to inject project-specific instructions into the agent's managed block. This content is appended after the canonical agent definition under a `## Project Customizations` header.
69
-
70
- ### Example
71
-
72
- **File:** `.hatch3r/agents/hatch3r-reviewer.customize.md`
73
-
74
- ```markdown
75
- ## Domain-Specific Review Rules
76
-
77
- This is a healthcare SaaS platform handling PHI data.
78
- All data must be encrypted at rest and in transit. HIPAA compliance is mandatory.
79
-
80
- ### Additional Review Checklist
81
-
82
- - Verify no PHI in logs, error messages, or client responses
83
- - All data stores use AES-256 encryption
84
- - All data access is logged with user ID and timestamp
85
-
86
- ### Architecture Context
87
-
88
- Microservices architecture with event sourcing.
89
- Services communicate via RabbitMQ.
90
- PostgreSQL for persistence, Redis for caching.
91
- ```
92
-
93
- ### How It Works
94
-
95
- 1. During `hatch3r sync` or `hatch3r init`, adapters read the `.customize.md` file
96
- 2. The markdown content is appended **inside** the managed block, after the canonical agent content
97
- 3. All adapter outputs (Cursor, Claude, Copilot, etc.) receive the customization automatically
98
- 4. Changes to `.customize.md` propagate on every sync — edit once, apply everywhere
99
-
100
- ### Resulting Adapter Output
101
-
102
- The adapter wraps the result in hatch3r-managed block comments (literal markers omitted here so this file itself stays valid):
103
-
104
- ```markdown
105
- [managed-block-start]
106
- {canonical agent content}
107
-
108
- ---
109
-
110
- ## Project Customizations
111
-
112
- {content from .customize.md}
113
- [managed-block-end]
114
- ```
115
-
116
- Replace `[managed-block-start]` / `[managed-block-end]` with the actual `<!-- HATCH3R\:BEGIN -->` / `<!-- HATCH3R\:END -->` markers in real adapter output.
117
-
118
- Content placed **outside** the managed block markers by directly editing adapter output files is always preserved.
119
-
120
- ## Per-Agent Customization Examples
121
-
122
- | Agent | Common Customizations |
123
- |-------|----------------------|
124
- | reviewer | Domain review checklists, severity focus, architecture context |
125
- | security-auditor | Compliance requirements (HIPAA, SOC2, PCI), custom invariants |
126
- | test-writer | Coverage targets, required test types, framework preferences |
127
- | implementer | Architecture constraints, coding patterns, dependency restrictions |
128
- | a11y-auditor | Additional WCAG criteria, custom accessibility requirements |
129
- | perf-profiler | Custom performance budgets, monitoring tool guidance |
130
- | dependency-auditor | Approved/denied dependency lists, update policies |
131
- | docs-writer | Documentation templates, terminology glossary |
132
- | lint-fixer | Custom lint rules, auto-fix preferences |
133
- | ci-watcher | Custom CI job knowledge, failure pattern library |
134
-
135
- ## Disabling an Agent
136
-
137
- To exclude an agent from adapter output without deleting its canonical file:
138
-
139
- ```yaml
140
- # .hatch3r/agents/hatch3r-a11y-auditor.customize.yaml
141
- enabled: false
142
- ```
143
-
144
- The agent's canonical definition remains in `.agents/agents/` but no adapter output is generated for it.
145
-
146
- ## Protected Agents
147
-
148
- Some agents have `protected: true` in their canonical frontmatter. This field marks agents whose core behavior must not be weakened or bypassed through customization, because they enforce critical quality and security invariants.
149
-
150
- ### Currently Protected Agents
151
-
152
- | Agent | Why Protected |
153
- |-------|--------------|
154
- | `hatch3r-reviewer` | Enforces code quality, privacy invariants, and security review. Weakening or disabling it would allow unsafe code to merge unreviewed. |
155
- | `hatch3r-security-auditor` | Enforces security rules, access control auditing, and privacy invariant verification. Disabling it would leave security gaps undetected. |
156
- | `hatch3r-test-writer` | Enforces test coverage requirements and regression testing. Disabling it would allow untested code to ship. |
157
-
158
- ### What Protection Means
159
-
160
- - **Cannot be disabled.** Setting `enabled: false` in a `.customize.yaml` file for a protected agent is ignored. The agent is always included in adapter output.
161
- - **Cannot have scope or description overridden.** The `description` field in a `.customize.yaml` file is ignored for protected agents. Their canonical description is always used to prevent narrowing or misrepresenting the agent's responsibilities.
162
- - **Model overrides ARE allowed.** You can override the `model` field for protected agents via `.customize.yaml` or `hatch.json`. Choosing a more capable model for a protected agent is a valid use case.
163
- - **Markdown customization IS allowed.** You can add project-specific instructions via `.customize.md` (e.g., domain-specific review checklists, compliance requirements). These are appended to the canonical content and extend the agent's scope — they cannot reduce it.
164
-
165
- ### Frontmatter Format
166
-
167
- ```yaml
168
- ---
169
- id: hatch3r-example-agent
170
- description: Expert code reviewer for the project...
171
- protected: true
172
- model: standard
173
- ---
174
- ```
175
-
176
- The `protected` field is set in the canonical agent definition and cannot be overridden by customization files.
177
-
178
- ## Workflow
179
-
180
- 1. Identify which agent to customize
181
- 2. Create `.hatch3r/agents/{agent-id}.customize.yaml` and/or `.customize.md`
182
- 3. Run `npx hatch3r sync` to propagate changes to all adapter outputs
183
- 4. Verify the customization appears in the tool-specific files (e.g., `.cursor/agents/`)
184
-
185
- ## Guardrails
186
-
187
- - Customization files cannot remove the agent's core role or boundaries
188
- - Invalid YAML produces warnings but does not prevent agent execution (graceful degradation)
189
- - Customization files should be committed to the repository
190
-
191
- ## Unified Skill
192
-
193
- This command's workflow is handled by the `hatch3r-customize` skill with `type: agent`. The skill provides root-cause analysis, multi-stakeholder review, and quality gate steps that extend the workflow above. Invoke the skill directly or use this command for the agent-specific reference documentation (model resolution, protected agents, per-agent examples).
194
-
195
- ## Related
196
-
197
- - Skill customization: `hatch3r-skill-customize` command
198
- - Command customization: `hatch3r-command-customize` command
199
- - Rule customization: `hatch3r-rule-customize` command
200
- - Model selection: [Model Selection](https://docs.hatch3r.com/docs/guides/model-selection) — configuration, aliases, resolution order
201
- - Platform support: [Adapter Capability Matrix](https://docs.hatch3r.com/docs/reference/adapter-capability-matrix) — model emission per adapter (native vs guidance)
@@ -1,113 +0,0 @@
1
- ---
2
- id: hatch3r-command-customize
3
- type: command
4
- orchestrator: false
5
- description: Tune slash-command display text, orchestrator sub-agent dispatch pipeline, and invocation arguments via .hatch3r/commands/ YAML and markdown overrides
6
- tags: [customize]
7
- quality_charter: agents/shared/quality-charter.md
8
- efficiency_patterns: agents/shared/efficiency-patterns.md
9
- cache_friendly: true
10
- parallel_tool_default: true
11
- ---
12
-
13
- ## §0 Detect Ambiguity (P8 B1)
14
-
15
- Before any action, scan the user's request and provided context for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (contradictory inputs, missing target, unknown convention). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. Any residual ambiguity discovered mid-workflow invokes the same protocol.
16
-
17
- ## Agent Pipeline
18
-
19
- This command runs as a single orchestrator without sub-agent delegation. Customization file management is performed inline.
20
-
21
- # Command Customization — Per-Command Configuration
22
-
23
- Customize individual command behavior for project-specific needs via `.hatch3r/commands/` configuration files. Supports structured YAML overrides and free-form markdown instruction injection, all propagated to every adapter output on sync.
24
-
25
- ---
26
-
27
- ## Customization File Locations
28
-
29
- Each command supports two optional customization files:
30
-
31
- ```
32
- .hatch3r/commands/{command-id}.customize.yaml # structured overrides
33
- .hatch3r/commands/{command-id}.customize.md # free-form markdown instructions
34
- ```
35
-
36
- Both files are optional and can be used independently or together.
37
-
38
- ## YAML Customization Schema
39
-
40
- ```yaml
41
- command: hatch3r-release
42
- description: "Release workflow with mandatory staging deployment step"
43
- enabled: true
44
- ```
45
-
46
- ### Fields
47
-
48
- | Field | Type | Default | Description |
49
- |-------|------|---------|-------------|
50
- | `description` | string | (from canonical) | Override the command's description in adapter frontmatter |
51
- | `enabled` | boolean | `true` | Set to `false` to exclude this command from adapter output generation |
52
-
53
- ## Markdown Customization
54
-
55
- Create `.hatch3r/commands/{command-id}.customize.md` with free-form markdown to inject project-specific instructions into the command's managed block. This content is appended after the canonical command definition under a `## Project Customizations` header.
56
-
57
- ### Example
58
-
59
- **File:** `.hatch3r/commands/hatch3r-release.customize.md`
60
-
61
- ```markdown
62
- ## Project-Specific Release Steps
63
-
64
- Before creating any release:
65
-
66
- 1. Run `npm run test:e2e:staging` and confirm all E2E tests pass on staging
67
- 2. Verify the changelog has been updated in `CHANGELOG.md`
68
- 3. Confirm the release has been approved in the `#releases` Slack channel
69
- 4. Tag the Docker image with the release version
70
-
71
- ### Deployment Sequence
72
-
73
- Deploy in order: database migrations → API servers → worker processes → frontend CDN
74
- ```
75
-
76
- ### How It Works
77
-
78
- 1. During `hatch3r sync`, adapters read the `.customize.md` file
79
- 2. The markdown content is appended inside the managed block, after the canonical command content
80
- 3. All adapter outputs receive the customization automatically
81
- 4. Changes propagate on every sync
82
-
83
- ## Disabling a Command
84
-
85
- To exclude a command from adapter output without deleting its canonical file:
86
-
87
- ```yaml
88
- # .hatch3r/commands/hatch3r-cost-tracking.customize.yaml
89
- enabled: false
90
- ```
91
-
92
- ## Workflow
93
-
94
- 1. Identify which command to customize
95
- 2. Create `.hatch3r/commands/{command-id}.customize.yaml` and/or `.customize.md`
96
- 3. Run `npx hatch3r sync` to propagate changes to all adapter outputs
97
- 4. Verify the customization appears in the tool-specific command files
98
-
99
- ## Guardrails
100
-
101
- - Customization files cannot remove the command's core instructions
102
- - Invalid YAML produces warnings but does not prevent command execution (graceful degradation)
103
- - Customization files should be committed to the repository
104
-
105
- ## Unified Skill
106
-
107
- This command's workflow is handled by the `hatch3r-customize` skill with `type: command`. The skill provides root-cause analysis, multi-stakeholder review, and quality gate steps that extend the workflow above.
108
-
109
- ## Related
110
-
111
- - Agent customization: `hatch3r-agent-customize` command
112
- - Skill customization: `hatch3r-skill-customize` command
113
- - Rule customization: `hatch3r-rule-customize` command