hatch3r 1.9.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 (288) hide show
  1. package/README.md +52 -143
  2. package/dist/cli/index.js +28453 -15831
  3. package/dist/content/agents/hatch3r-architect.md +39 -9
  4. package/dist/content/agents/hatch3r-brownfield-spec.md +254 -0
  5. package/dist/content/agents/hatch3r-ci-watcher.md +8 -1
  6. package/dist/content/agents/hatch3r-context-rules.md +19 -1
  7. package/dist/content/agents/hatch3r-creator.md +65 -26
  8. package/dist/content/agents/hatch3r-dependency-drafter.md +162 -0
  9. package/dist/content/agents/hatch3r-devops.md +11 -1
  10. package/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/dist/content/agents/hatch3r-fixer.md +59 -8
  14. package/dist/content/agents/hatch3r-greenfield-spec.md +256 -0
  15. package/dist/content/agents/hatch3r-handoff-loader.md +29 -3
  16. package/dist/content/agents/hatch3r-handoff-preparer.md +10 -1
  17. package/dist/content/agents/hatch3r-implementer.md +139 -8
  18. package/dist/content/agents/hatch3r-incident-responder.md +96 -0
  19. package/dist/content/agents/hatch3r-learnings-loader.md +122 -88
  20. package/dist/content/agents/hatch3r-lint-fixer.md +15 -3
  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/dist/content/agents/hatch3r-researcher.md +27 -4
  26. package/dist/content/agents/hatch3r-reviewer.md +153 -103
  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/dist/content/agents/modes/requirements-elicitation.md +1 -1
  33. package/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/dist/content/agents/shared/efficiency-patterns.md +32 -1
  38. package/dist/content/agents/shared/injection-patterns.md +18 -7
  39. package/dist/content/agents/shared/principles.md +60 -0
  40. package/dist/content/agents/shared/prompt-structure.md +7 -1
  41. package/dist/content/agents/shared/quality-charter.md +48 -12
  42. package/dist/content/agents/shared/quality-specialist-frame.md +141 -0
  43. package/dist/content/agents/shared/rigor-contract.md +151 -0
  44. package/dist/content/agents/shared/severity-mapping.md +92 -0
  45. package/dist/content/agents/shared/triage-vocabulary.md +46 -0
  46. package/dist/content/agents/shared/user-content-templates.md +34 -8
  47. package/dist/content/agents/shared/user-question-protocol.md +45 -3
  48. package/dist/content/checks/README.md +5 -0
  49. package/dist/content/checks/accessibility.md +14 -7
  50. package/dist/content/checks/code-quality.md +1 -1
  51. package/dist/content/checks/performance.md +7 -4
  52. package/dist/content/checks/security.md +6 -6
  53. package/dist/content/checks/testing.md +1 -1
  54. package/dist/content/commands/board/pickup-delegation-multi.md +37 -10
  55. package/dist/content/commands/board/pickup-delegation.md +7 -5
  56. package/dist/content/commands/board/pickup-modes.md +1 -0
  57. package/dist/content/commands/board/pickup-post-impl.md +1 -1
  58. package/dist/content/commands/hatch3r-api-spec.md +79 -2
  59. package/dist/content/commands/hatch3r-auth-scaffold.md +250 -0
  60. package/dist/content/commands/hatch3r-benchmark.md +90 -7
  61. package/dist/content/commands/hatch3r-board-fill.md +97 -11
  62. package/dist/content/commands/hatch3r-board-pickup.md +93 -9
  63. package/dist/content/commands/hatch3r-bug-pipeline.md +240 -0
  64. package/dist/content/commands/hatch3r-bug-plan.md +79 -3
  65. package/dist/content/commands/hatch3r-codebase-map.md +80 -4
  66. package/dist/content/commands/hatch3r-create.md +105 -7
  67. package/dist/content/commands/hatch3r-debug.md +102 -14
  68. package/dist/content/commands/hatch3r-diagnose.md +238 -0
  69. package/dist/content/commands/hatch3r-feature-plan.md +125 -5
  70. package/dist/content/commands/hatch3r-handoff.md +83 -3
  71. package/dist/content/commands/hatch3r-healthcheck.md +105 -5
  72. package/dist/content/commands/hatch3r-incident-response.md +228 -0
  73. package/dist/content/commands/hatch3r-migration-plan.md +79 -3
  74. package/dist/content/commands/hatch3r-onboard.md +94 -3
  75. package/dist/content/commands/hatch3r-pack-install.md +243 -0
  76. package/dist/content/commands/hatch3r-pr-resolve.md +106 -23
  77. package/dist/content/commands/hatch3r-project-spec.md +82 -6
  78. package/dist/content/commands/hatch3r-quick-change.md +108 -13
  79. package/dist/content/commands/hatch3r-refactor-plan.md +78 -2
  80. package/dist/content/commands/hatch3r-release.md +401 -0
  81. package/dist/content/commands/hatch3r-revision.md +98 -12
  82. package/dist/content/commands/hatch3r-roadmap.md +92 -10
  83. package/dist/content/commands/hatch3r-security-audit.md +105 -5
  84. package/dist/content/commands/hatch3r-slo-scaffold.md +246 -0
  85. package/dist/content/commands/hatch3r-spec.md +216 -0
  86. package/dist/content/commands/hatch3r-test-plan.md +85 -9
  87. package/dist/content/commands/hatch3r-workflow.md +165 -41
  88. package/dist/content/commands/revision/revision-delegation.md +6 -5
  89. package/dist/content/commands/revision/revision-modes.md +49 -4
  90. package/dist/content/commands/revision/revision-quality.md +10 -7
  91. package/dist/content/commands/shared/orchestration-frame.md +119 -0
  92. package/dist/content/github-agents/hatch3r-docs-agent.md +21 -1
  93. package/dist/content/github-agents/hatch3r-lint-agent.md +21 -1
  94. package/dist/content/github-agents/hatch3r-security-agent.md +21 -1
  95. package/dist/content/github-agents/hatch3r-test-agent.md +21 -1
  96. package/dist/content/hooks/hatch3r-file-save.md +1 -1
  97. package/dist/content/hooks/hatch3r-pre-push.md +4 -4
  98. package/dist/content/hooks/hatch3r-review-loop-cap.md +52 -0
  99. package/dist/content/mcp/mcp.json +7 -5
  100. package/dist/content/rules/hatch3r-accessibility-standards.md +14 -2
  101. package/dist/content/rules/hatch3r-accessibility-standards.mdc +12 -1
  102. package/dist/content/rules/hatch3r-agent-orchestration-detail.md +58 -19
  103. package/dist/content/rules/hatch3r-agent-orchestration-detail.mdc +58 -19
  104. package/dist/content/rules/hatch3r-agent-orchestration.md +87 -213
  105. package/dist/content/rules/hatch3r-agent-orchestration.mdc +87 -213
  106. package/dist/content/rules/hatch3r-ai-evals.md +5 -4
  107. package/dist/content/rules/hatch3r-ai-evals.mdc +3 -3
  108. package/dist/content/rules/hatch3r-ai-ux-patterns.md +6 -2
  109. package/dist/content/rules/hatch3r-ai-ux-patterns.mdc +4 -1
  110. package/dist/content/rules/hatch3r-android-patterns.md +107 -0
  111. package/dist/content/rules/hatch3r-android-patterns.mdc +102 -0
  112. package/dist/content/rules/hatch3r-anti-duplication.md +115 -0
  113. package/dist/content/rules/hatch3r-anti-duplication.mdc +115 -0
  114. package/dist/content/rules/hatch3r-api-design.md +5 -1
  115. package/dist/content/rules/hatch3r-api-design.mdc +3 -0
  116. package/dist/content/rules/hatch3r-api-versioning.md +2 -1
  117. package/dist/content/rules/hatch3r-auth-patterns.md +3 -1
  118. package/dist/content/rules/hatch3r-auth-patterns.mdc +1 -0
  119. package/dist/content/rules/hatch3r-browser-verification.md +2 -0
  120. package/dist/content/rules/hatch3r-browser-verification.mdc +2 -0
  121. package/dist/content/rules/hatch3r-capability-matrix.md +108 -0
  122. package/dist/content/rules/hatch3r-capability-matrix.mdc +108 -0
  123. package/dist/content/rules/hatch3r-ci-cd.md +8 -1
  124. package/dist/content/rules/hatch3r-ci-cd.mdc +6 -0
  125. package/dist/content/rules/hatch3r-clarification-default.md +73 -0
  126. package/dist/content/rules/hatch3r-clarification-default.mdc +73 -0
  127. package/dist/content/rules/hatch3r-code-standards.md +23 -47
  128. package/dist/content/rules/hatch3r-code-standards.mdc +22 -46
  129. package/dist/content/rules/hatch3r-component-conventions.md +3 -0
  130. package/dist/content/rules/hatch3r-component-conventions.mdc +3 -0
  131. package/dist/content/rules/hatch3r-container-hardening.md +11 -2
  132. package/dist/content/rules/hatch3r-container-hardening.mdc +9 -1
  133. package/dist/content/rules/hatch3r-contract-testing.md +2 -1
  134. package/dist/content/rules/hatch3r-cost-visibility.md +135 -0
  135. package/dist/content/rules/hatch3r-cost-visibility.mdc +135 -0
  136. package/dist/content/rules/hatch3r-cq-rule-frame.md +54 -0
  137. package/dist/content/rules/hatch3r-cq-rule-frame.mdc +49 -0
  138. package/dist/content/rules/hatch3r-data-classification.md +3 -1
  139. package/dist/content/rules/hatch3r-data-classification.mdc +2 -1
  140. package/dist/content/rules/hatch3r-deep-context.md +13 -13
  141. package/dist/content/rules/hatch3r-deep-context.mdc +13 -13
  142. package/dist/content/rules/hatch3r-dependency-management.md +16 -3
  143. package/dist/content/rules/hatch3r-dependency-management.mdc +15 -3
  144. package/dist/content/rules/hatch3r-design-system-detection.md +2 -1
  145. package/dist/content/rules/hatch3r-dotnet-patterns.md +104 -0
  146. package/dist/content/rules/hatch3r-dotnet-patterns.mdc +99 -0
  147. package/dist/content/rules/hatch3r-edge-case-discipline.md +65 -0
  148. package/dist/content/rules/hatch3r-edge-case-discipline.mdc +65 -0
  149. package/dist/content/rules/hatch3r-enhancability.md +147 -0
  150. package/dist/content/rules/hatch3r-enhancability.mdc +142 -0
  151. package/dist/content/rules/hatch3r-event-schema-evolution.md +2 -1
  152. package/dist/content/rules/hatch3r-fan-out-discipline.md +91 -0
  153. package/dist/content/rules/hatch3r-fan-out-discipline.mdc +91 -0
  154. package/dist/content/rules/hatch3r-feature-flags.md +2 -0
  155. package/dist/content/rules/hatch3r-feature-flags.mdc +2 -0
  156. package/dist/content/rules/hatch3r-flutter-patterns.md +88 -0
  157. package/dist/content/rules/hatch3r-flutter-patterns.mdc +83 -0
  158. package/dist/content/rules/hatch3r-git-conventions.md +4 -1
  159. package/dist/content/rules/hatch3r-git-conventions.mdc +2 -0
  160. package/dist/content/rules/hatch3r-go-patterns.md +98 -0
  161. package/dist/content/rules/hatch3r-go-patterns.mdc +93 -0
  162. package/dist/content/rules/hatch3r-handoff-readiness.md +10 -0
  163. package/dist/content/rules/hatch3r-handoff-readiness.mdc +10 -0
  164. package/dist/content/rules/hatch3r-i18n.md +2 -0
  165. package/dist/content/rules/hatch3r-i18n.mdc +2 -0
  166. package/dist/content/rules/hatch3r-iteration-summary.md +75 -57
  167. package/dist/content/rules/hatch3r-iteration-summary.mdc +77 -54
  168. package/dist/content/rules/hatch3r-learning-system.md +202 -0
  169. package/dist/content/rules/hatch3r-learning-system.mdc +202 -0
  170. package/dist/content/rules/hatch3r-maintainability.md +157 -0
  171. package/dist/content/rules/hatch3r-maintainability.mdc +152 -0
  172. package/dist/content/rules/hatch3r-migrations.md +2 -1
  173. package/dist/content/rules/hatch3r-observability-logging.md +1 -1
  174. package/dist/content/rules/hatch3r-observability-metrics.md +1 -1
  175. package/dist/content/rules/hatch3r-observability-tracing.md +45 -36
  176. package/dist/content/rules/hatch3r-observability-tracing.mdc +44 -35
  177. package/dist/content/rules/hatch3r-operability.md +2 -1
  178. package/dist/content/rules/hatch3r-passkey-server.md +2 -1
  179. package/dist/content/rules/hatch3r-performance-budgets.md +2 -0
  180. package/dist/content/rules/hatch3r-performance-budgets.mdc +2 -0
  181. package/dist/content/rules/hatch3r-php-laravel-patterns.md +109 -0
  182. package/dist/content/rules/hatch3r-php-laravel-patterns.mdc +104 -0
  183. package/dist/content/rules/hatch3r-progressive-delivery.md +5 -1
  184. package/dist/content/rules/hatch3r-progressive-delivery.mdc +3 -0
  185. package/dist/content/rules/hatch3r-proof-model.md +131 -0
  186. package/dist/content/rules/hatch3r-proof-model.mdc +131 -0
  187. package/dist/content/rules/hatch3r-python-patterns.md +70 -0
  188. package/dist/content/rules/hatch3r-python-patterns.mdc +65 -0
  189. package/dist/content/rules/hatch3r-react-native-patterns.md +83 -0
  190. package/dist/content/rules/hatch3r-react-native-patterns.mdc +78 -0
  191. package/dist/content/rules/hatch3r-resilience-patterns.md +2 -1
  192. package/dist/content/rules/hatch3r-reviewer-calibration.md +84 -0
  193. package/dist/content/rules/hatch3r-reviewer-calibration.mdc +84 -0
  194. package/dist/content/rules/hatch3r-right-sizing.md +68 -0
  195. package/dist/content/rules/hatch3r-right-sizing.mdc +66 -0
  196. package/dist/content/rules/hatch3r-ruby-rails-patterns.md +111 -0
  197. package/dist/content/rules/hatch3r-ruby-rails-patterns.mdc +106 -0
  198. package/dist/content/rules/hatch3r-rust-patterns.md +107 -0
  199. package/dist/content/rules/hatch3r-rust-patterns.mdc +102 -0
  200. package/dist/content/rules/hatch3r-scalability.md +137 -0
  201. package/dist/content/rules/hatch3r-scalability.mdc +132 -0
  202. package/dist/content/rules/hatch3r-secrets-management.md +10 -1
  203. package/dist/content/rules/hatch3r-secrets-management.mdc +8 -0
  204. package/dist/content/rules/hatch3r-security-patterns.md +36 -34
  205. package/dist/content/rules/hatch3r-security-patterns.mdc +35 -34
  206. package/dist/content/rules/hatch3r-security.md +97 -0
  207. package/dist/content/rules/hatch3r-security.mdc +92 -0
  208. package/dist/content/rules/hatch3r-swiftui-patterns.md +98 -0
  209. package/dist/content/rules/hatch3r-swiftui-patterns.mdc +93 -0
  210. package/dist/content/rules/hatch3r-testability.md +115 -0
  211. package/dist/content/rules/hatch3r-testability.mdc +110 -0
  212. package/dist/content/rules/hatch3r-testing.md +4 -1
  213. package/dist/content/rules/hatch3r-testing.mdc +2 -0
  214. package/dist/content/rules/hatch3r-theming.md +2 -0
  215. package/dist/content/rules/hatch3r-theming.mdc +2 -0
  216. package/dist/content/rules/hatch3r-tool-currency.md +91 -0
  217. package/dist/content/rules/hatch3r-tool-currency.mdc +86 -0
  218. package/dist/content/rules/hatch3r-tooling-hierarchy.md +29 -31
  219. package/dist/content/rules/hatch3r-tooling-hierarchy.mdc +27 -30
  220. package/dist/content/rules/hatch3r-typescript-patterns.md +58 -0
  221. package/dist/content/rules/hatch3r-typescript-patterns.mdc +53 -0
  222. package/dist/content/rules/hatch3r-ux-states-and-flows.md +11 -4
  223. package/dist/content/rules/hatch3r-ux-states-and-flows.mdc +9 -3
  224. package/dist/content/skills/hatch3r-a11y-audit/SKILL.md +10 -8
  225. package/dist/content/skills/hatch3r-a11y-audit/references/manual-audit-checklist.md +7 -5
  226. package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +131 -0
  227. package/dist/content/skills/hatch3r-ai-feature/SKILL.md +4 -6
  228. package/dist/content/skills/hatch3r-api-spec/SKILL.md +27 -2
  229. package/dist/content/skills/hatch3r-architecture-review/SKILL.md +4 -7
  230. package/dist/content/skills/hatch3r-board-groom/SKILL.md +11 -0
  231. package/dist/content/skills/hatch3r-board-init/SKILL.md +17 -1
  232. package/dist/content/skills/hatch3r-board-refresh/SKILL.md +12 -1
  233. package/dist/content/skills/hatch3r-board-shared/SKILL.md +38 -1
  234. package/dist/content/skills/hatch3r-browser-verify/SKILL.md +307 -0
  235. package/dist/content/skills/hatch3r-bug-fix/SKILL.md +15 -2
  236. package/dist/content/skills/hatch3r-ci-pipeline/SKILL.md +17 -7
  237. package/dist/content/skills/hatch3r-cli-fd/SKILL.md +33 -1
  238. package/dist/content/skills/hatch3r-cli-fzf/SKILL.md +33 -1
  239. package/dist/content/skills/hatch3r-cli-gh/SKILL.md +50 -1
  240. package/dist/content/skills/hatch3r-cli-jq/SKILL.md +40 -6
  241. package/dist/content/skills/hatch3r-cli-ripgrep/SKILL.md +33 -1
  242. package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +130 -23
  243. package/dist/content/skills/hatch3r-containerize/SKILL.md +157 -0
  244. package/dist/content/skills/hatch3r-context-health/SKILL.md +9 -7
  245. package/dist/content/skills/hatch3r-cost-tracking/SKILL.md +37 -17
  246. package/dist/content/skills/hatch3r-customize/SKILL.md +5 -8
  247. package/dist/content/skills/hatch3r-dep-audit/SKILL.md +23 -7
  248. package/dist/content/skills/hatch3r-design-system-detect/SKILL.md +3 -7
  249. package/dist/content/skills/hatch3r-docs-writing/SKILL.md +159 -0
  250. package/dist/content/skills/hatch3r-enhancability-verify/SKILL.md +152 -0
  251. package/dist/content/skills/hatch3r-feature/SKILL.md +53 -3
  252. package/dist/content/skills/hatch3r-feedback/SKILL.md +103 -0
  253. package/dist/content/skills/hatch3r-gh-agentic-workflows/SKILL.md +10 -8
  254. package/dist/content/skills/hatch3r-handoff-prepare/SKILL.md +4 -7
  255. package/dist/content/skills/hatch3r-handoff-resume/SKILL.md +4 -7
  256. package/dist/content/{commands/hatch3r-hooks.md → skills/hatch3r-hooks/SKILL.md} +48 -137
  257. package/dist/content/skills/hatch3r-incident-response/SKILL.md +66 -7
  258. package/dist/content/skills/hatch3r-issue-workflow/SKILL.md +11 -0
  259. package/dist/content/skills/hatch3r-learn/SKILL.md +317 -0
  260. package/dist/content/skills/hatch3r-logical-refactor/SKILL.md +6 -7
  261. package/dist/content/skills/hatch3r-maintainability-verify/SKILL.md +146 -0
  262. package/dist/content/skills/hatch3r-migration/SKILL.md +8 -7
  263. package/dist/content/skills/hatch3r-observability-verify/SKILL.md +17 -12
  264. package/dist/content/skills/hatch3r-perf-audit/SKILL.md +13 -9
  265. package/dist/content/skills/hatch3r-pr-creation/SKILL.md +4 -7
  266. package/dist/content/skills/hatch3r-qa-validation/SKILL.md +6 -5
  267. package/dist/content/skills/hatch3r-recipe/SKILL.md +63 -60
  268. package/dist/content/skills/hatch3r-refactor/SKILL.md +6 -7
  269. package/dist/content/skills/hatch3r-release/SKILL.md +123 -11
  270. package/dist/content/skills/hatch3r-reliability-verify/SKILL.md +9 -5
  271. package/dist/content/{commands/hatch3r-report.md → skills/hatch3r-report/SKILL.md} +20 -17
  272. package/dist/content/skills/hatch3r-scalability-verify/SKILL.md +145 -0
  273. package/dist/content/skills/hatch3r-security-verify/SKILL.md +144 -0
  274. package/dist/content/skills/hatch3r-team-convention-author/SKILL.md +126 -0
  275. package/dist/content/skills/hatch3r-testability-verify/SKILL.md +147 -0
  276. package/dist/content/skills/hatch3r-ui-ux-verify/SKILL.md +19 -11
  277. package/dist/content/skills/hatch3r-visual-refactor/SKILL.md +11 -7
  278. package/package.json +50 -31
  279. package/dist/cli/index.d.ts +0 -2
  280. package/dist/cli/index.js.map +0 -1
  281. package/dist/content/agents/hatch3r-a11y-auditor.md +0 -159
  282. package/dist/content/agents/hatch3r-dependency-auditor.md +0 -219
  283. package/dist/content/agents/hatch3r-perf-profiler.md +0 -166
  284. package/dist/content/agents/hatch3r-security-auditor.md +0 -180
  285. package/dist/content/agents/hatch3r-test-writer.md +0 -171
  286. package/dist/content/commands/hatch3r-learn.md +0 -312
  287. package/dist/content/rules/hatch3r-learning-consult.md +0 -42
  288. package/dist/content/rules/hatch3r-learning-consult.mdc +0 -38
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  id: hatch3r-perf-audit
3
- description: Profile and optimize application performance against defined budgets. Use when investigating performance issues, auditing performance budgets, or optimizing hot paths.
3
+ name: hatch3r-perf-audit
4
+ type: skill
5
+ description: Profiles and optimizes application performance against defined budgets. Use when investigating performance issues, auditing performance budgets, or optimizing hot paths.
4
6
  tags: [review, performance]
5
7
  quality_charter: agents/shared/quality-charter.md
6
8
  efficiency_patterns: agents/shared/efficiency-patterns.md
@@ -29,12 +31,7 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
29
31
 
30
32
  ## Fan-out Discipline (P8 B2)
31
33
 
32
- This skill delegates per task size:
33
- - Tier 1 (trivial single-file): inline execution acceptable.
34
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
35
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
36
-
37
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
34
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
38
35
 
39
36
  ## Step 1: Read Performance Budgets
40
37
 
@@ -104,10 +101,12 @@ Common strategies:
104
101
  ## Step 6: Verify
105
102
 
106
103
  ```bash
107
- npm run lint && npm run typecheck && npm run test
104
+ ${HATCH3R:VERIFY_GATE_ALL}
108
105
  npm run build
109
106
  ```
110
107
 
108
+ The gate line is resolved to the project's language-aware command set at sync time (fallback when detection is unknown: `npm run lint && npm run typecheck && npm run test`); the build line is illustrative — substitute the project's build command.
109
+
111
110
  - All performance budgets met.
112
111
  - No functional regressions.
113
112
  - Before/after measurements documented.
@@ -117,7 +116,7 @@ npm run build
117
116
 
118
117
  You MUST spawn these agents via the Task tool (`subagent_type: "generalPurpose"`) at the appropriate points:
119
118
 
120
- - **`hatch3r-perf-profiler`** — MUST spawn to perform autonomous performance profiling and optimization. Provide the target areas, budget thresholds, and baseline measurements.
119
+ - **`hatch3r-performance`** (CQ7) — MUST spawn to perform autonomous performance profiling and optimization (CWV, p95/p99, bundle-size, N+1, hot-path analysis). Provide the target areas, budget thresholds, and baseline measurements.
121
120
 
122
121
  ## Related Rules
123
122
 
@@ -136,3 +135,8 @@ You MUST spawn these agents via the Task tool (`subagent_type: "generalPurpose"`
136
135
  - [ ] No functional regressions
137
136
  - [ ] Bundle size within budget (if defined)
138
137
  - [ ] Key metrics within project targets
138
+
139
+ ## References
140
+
141
+ - [Core Web Vitals — web.dev](https://web.dev/articles/vitals) — accessed 2026-05-31, official-docs (Google / Chrome team). Source for the LCP, INP/FCP/TTI metric definitions and the field-vs-lab measurement guidance behind Step 2.
142
+ - [Lighthouse performance scoring](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring) — accessed 2026-05-31, official-docs (Google / Chrome team). Source for the 60fps/16ms frame target and the metric-weighting model used when prioritising violations in Step 3.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  id: hatch3r-pr-creation
3
- description: Create a pull request or merge request following project conventions including branch naming, PR/MR template, checklist, and rollout plan. Use when opening or preparing a PR/MR, or when the user asks to create a PR or MR.
3
+ name: hatch3r-pr-creation
4
+ type: skill
5
+ description: Creates a pull request or merge request following project conventions including branch naming, PR/MR template, checklist, and rollout plan. Use when opening or preparing a PR/MR, or when the user asks to create a PR or MR.
4
6
  tags: [implementation, orchestration]
5
7
  quality_charter: agents/shared/quality-charter.md
6
8
  efficiency_patterns: agents/shared/efficiency-patterns.md
@@ -29,12 +31,7 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
29
31
 
30
32
  ## Fan-out Discipline (P8 B2)
31
33
 
32
- This skill delegates per task size:
33
- - Tier 1 (trivial single-file): inline execution acceptable.
34
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
35
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
36
-
37
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
34
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
38
35
 
39
36
  ## Step 1: Branch Naming
40
37
 
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  id: hatch3r-qa-validation
3
+ name: hatch3r-qa-validation
4
+ type: skill
3
5
  description: E2E validation workflow producing a structured pass/fail report with evidence. Use when running QA validation, acceptance testing, verifying releases, or working on QA E2E validation issues.
4
6
  tags: [review, orchestration]
5
7
  quality_charter: agents/shared/quality-charter.md
@@ -26,12 +28,11 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
26
28
 
27
29
  ## Fan-out Discipline (P8 B2)
28
30
 
29
- This skill delegates per task size:
30
- - Tier 1 (trivial single-file): inline execution acceptable.
31
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
32
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
31
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
33
32
 
34
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
33
+ ## Invoked by
34
+
35
+ This skill is a standalone generic E2E validation harness — it has NO 1:1 CQ specialist agent dispatcher (unlike `hatch3r-ui-ux-verify`, `hatch3r-reliability-verify`, `hatch3r-observability-verify`, and `hatch3r-browser-verify`, which each map to a CQ specialist). It is invoked directly by release-prep and acceptance-testing flows, and it delegates the UI/UX sub-gate to `hatch3r-ui-ux-verify` (Step 3c). Kept standalone per the cross-artifact overlap review (F16.3-H4): its pass/fail report spans API, data-integrity, and background-job test cases that no single CQ specialist covers.
35
36
 
36
37
  ## Step 1: Read Inputs
37
38
 
@@ -1,45 +1,44 @@
1
1
  ---
2
2
  id: hatch3r-recipe
3
- description: Create, test, and manage workflow recipes that compose hatch3r capabilities into guided sequences. Use when creating new recipes, customizing existing ones, or troubleshooting recipe execution.
3
+ name: hatch3r-recipe
4
+ type: skill
5
+ description: Authors and validates composition specs that an orchestrating agent walks via the Task tool to run hatch3r commands and skills in a dependency-ordered sequence. Use when designing a multi-step capability composition, customizing an existing one, or debugging a composition the agent walks.
4
6
  tags: [orchestration]
5
7
  quality_charter: agents/shared/quality-charter.md
6
8
  efficiency_patterns: agents/shared/efficiency-patterns.md
7
9
  cache_friendly: true
8
10
  ---
9
- # Recipe Management
11
+ # Composition Recipes
12
+
13
+ A composition recipe is a YAML spec that names a repeatable multi-step sequence of hatch3r commands and skills with their dependency edges. hatch3r ships no recipe-runner binary and no `.hatch3r/recipes/` materialization; the recipe is read and walked by the orchestrating agent, which dispatches each step's `command:`/`skill:` reference via the Task tool in dependency order. This skill authors and validates that spec — it does not invoke a runtime.
10
14
 
11
15
  ## Quick Start
12
16
 
13
17
  ```
14
18
  Task Progress:
15
19
  - [ ] Step 0: Detect ambiguity (P8 B1)
16
- - [ ] Step 1: Identify the workflow to capture as a recipe
20
+ - [ ] Step 1: Identify the sequence to capture as a recipe
17
21
  - [ ] Step 2: Design the step sequence and dependency graph
18
22
  - [ ] Step 3: Write the recipe YAML
19
- - [ ] Step 4: Test with dry-run mode
20
- - [ ] Step 5: Validate with a real execution
23
+ - [ ] Step 4: Validate the spec (resolve references, detect cycles)
24
+ - [ ] Step 5: Have the orchestrating agent walk the recipe via the Task tool
21
25
  ```
22
26
 
23
27
  ## Step 0 — Detect Ambiguity (P8 B1)
24
28
 
25
- Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. 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. Default path, not an exception. Triggers for THIS skill: recipe scope (single project vs shared), required variables and defaults, checkpoint policy (pause vs flow), error handling (resume vs restart), and target file location (`.hatch3r/recipes/` project vs global).
29
+ Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. 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. Default path, not an exception. Triggers for THIS skill: recipe scope (one project vs shared across projects), required variables and defaults, checkpoint policy (which steps pause for user confirmation), error policy (re-walk from the failed step vs restart the whole recipe), and where the spec file lives in the repo.
26
30
 
27
31
  ## Fan-out Discipline (P8 B2)
28
32
 
29
- This skill delegates per task size:
30
- - Tier 1 (trivial single-file): inline execution acceptable.
31
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
32
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
33
-
34
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
33
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
35
34
 
36
- ## Step 1: Identify Workflow
35
+ ## Step 1: Identify the Sequence
37
36
 
38
- Determine the repeatable workflow pattern:
39
- - What commands/skills/agents are involved?
40
- - What order do they execute in?
41
- - Which steps can run in parallel?
42
- - Where should the user be asked to confirm (checkpoints)?
37
+ Determine the repeatable sequence pattern:
38
+ - Which hatch3r commands/skills/agents are involved?
39
+ - What order does the orchestrating agent dispatch them in?
40
+ - Which steps can the agent dispatch in parallel (disjoint writes, no shared mutable state per `rules/hatch3r-agent-orchestration.md` → Parallel Safety)?
41
+ - Where should the agent pause to ask the user to confirm (checkpoints)?
43
42
 
44
43
  ## Step 2: Design Step Sequence
45
44
 
@@ -51,7 +50,7 @@ Map out the dependency graph:
51
50
 
52
51
  ## Recipe Schema
53
52
 
54
- Recipes are YAML files stored in `.hatch3r/recipes/` (project-level) or `~/.hatch3r/recipes/` (user-level):
53
+ A recipe is a YAML spec the orchestrating agent reads and walks. Store it wherever the repo keeps shared agent context (for example, a `docs/recipes/` directory you commit, or pasted directly into the agent prompt) — there is no reserved hatch3r path and no loader that auto-discovers it. The agent resolves each step's `command:`/`skill:` reference against the bundled content inventory and dispatches it via the Task tool:
55
54
 
56
55
  ```yaml
57
56
  name: greenfield-setup
@@ -105,67 +104,71 @@ completion:
105
104
  - Continue with `board-pickup` to implement remaining issues
106
105
  ```
107
106
 
108
- Recipes can also reference other recipes as steps via `recipe: <name>` with `inputs:`.
107
+ A recipe can reference another recipe as a step via `recipe: <name>` with `inputs:`; the orchestrating agent inlines the referenced spec and walks its steps in place.
109
108
 
110
- ## Built-in Recipes
109
+ ## Example Composition Patterns
111
110
 
112
- 1. **Greenfield Setup**spec board audit first issue
113
- 2. **Legacy Onboarding** — codebase analysis → codebase map → board setup → healthcheck → first improvements
114
- 3. **Security Hardening** — security audit → dep audit → findings triage → hardening
115
- 4. **Performance Sprint** — perf audit → budget review → optimization → verification
116
- 5. **Release Preparation** — healthcheck → test validation → security scan → changelog → release
117
- 6. **Quality Gate** — lint fix → test coverage review → a11y audit → perf audit → security scan
111
+ These are illustrative sequences you can encode as recipe specs hatch3r does not ship them as files. Each arrow is a `depends_on` edge the orchestrating agent honors when walking the spec:
118
112
 
119
- ## Execution Modes
113
+ 1. **Greenfield Setup** — `project-spec` → `board-init` → (`security-audit` ∥ a11y audit) → first issue
114
+ 2. **Legacy Onboarding** — codebase analysis → `codebase-map` → `board-init` → `healthcheck` → first improvements
115
+ 3. **Security Hardening** — `security-audit` → `dep-audit` → findings triage → hardening
116
+ 4. **Performance Sprint** — `benchmark` → budget review → optimization → verification
117
+ 5. **Release Preparation** — `healthcheck` → test validation → security scan → changelog → `release`
118
+ 6. **Quality Gate** — lint fix → test coverage review → a11y audit → `benchmark` → security scan
120
119
 
121
- | Mode | Behavior |
122
- |------|----------|
123
- | Interactive (default) | Pause at checkpoints, show progress |
124
- | Auto (`--auto`) | Skip checkpoints, run all steps autonomously |
125
- | Dry-run (`--dry-run`) | Show execution plan without running |
126
- | Resume (`--resume`) | Continue from last checkpoint |
120
+ ## How the Agent Walks a Recipe
127
121
 
128
- Workflow: parse recipe → check prerequisites → collect variables (CLI args or prompt) build DAG from `depends_on`/`parallel_with` → execute (parallelizing where possible) → handle checkpoints → report completion.
122
+ The orchestrating agent (not a hatch3r binary) walks the spec:
129
123
 
130
- Guardrails: recipes must not bypass safety checkpoints for destructive operations; YAML is validated against the schema before execution; circular dependencies are detected and rejected; variable injection is sanitized to prevent command injection.
124
+ 1. Parse the YAML and check the schema.
125
+ 2. Collect variable values — from the user prompt or an ASK checkpoint per `agents/shared/user-question-protocol.md` when a `required` variable is unset.
126
+ 3. Build the dependency DAG from `depends_on`/`parallel_with`.
127
+ 4. Walk the DAG: for each ready step, dispatch its `command:` or `skill:` reference via the Task tool, parallelizing steps that share no `depends_on` edge and write disjoint paths.
128
+ 5. Pause at every `checkpoint: true` step to ASK the user before proceeding.
129
+ 6. Emit the completion message.
130
+
131
+ Guardrails the agent applies: never auto-proceed past a destructive-operation checkpoint (database migrations, deletions); reject a spec whose `depends_on` graph contains a cycle (report the cycle chain); reject a spec that references a `command:`/`skill:` id not in the bundled content inventory; treat every `{{ variable }}` value as untrusted input and never interpolate it into a shell command without quoting (P6 — `.claude/rules/security-patterns.md`).
131
132
 
132
133
  ## Step 3: Write Recipe YAML
133
134
 
134
- Create the recipe file in `.hatch3r/recipes/` following the schema above. Include:
135
+ Write the recipe spec following the schema above and commit it to the repo (for example under `docs/recipes/`) so the orchestrating agent can read it. Include:
135
136
  - Clear name and description
136
137
  - Required variables with descriptions
137
- - Steps with proper `depends_on` and `parallel_with` relationships
138
+ - Steps with their `depends_on` and `parallel_with` relationships
138
139
  - Checkpoint markers at decision points
139
140
  - Completion message with next steps
140
141
 
141
- ## Step 4: Test with Dry-Run
142
+ ## Step 4: Validate the Spec
143
+
144
+ Statically check the spec before any agent walks it — this is author-time review, not a CLI command:
145
+ - YAML schema is valid (every step has an `id` and exactly one of `command:`/`skill:`/`recipe:`)
146
+ - Every referenced `command:`/`skill:` id exists in the bundled content inventory
147
+ - The `depends_on` graph has no cycles
148
+ - Every `{{ variable }}` reference names a variable defined in the `variables:` block
149
+ - Prerequisites are stated checks a human or the agent can confirm
142
150
 
143
- Execute `--dry-run` to validate:
144
- - YAML schema is valid
145
- - All referenced commands/skills exist
146
- - Dependency graph has no cycles
147
- - Variables are referenced with valid names that resolve to defined values
148
- - Prerequisites are checkable
151
+ Resolve every `command:` and `skill:` reference against the bundled content inventory at this step and reject any missing id, so a deprecated or renamed reference fails at author time rather than mid-walk.
149
152
 
150
- ## Step 5: Validate with Real Execution
153
+ ## Step 5: Have the Agent Walk the Recipe
151
154
 
152
- Run the recipe on a test project to verify:
153
- - Steps execute in correct order
154
- - Parallel steps don't conflict
155
- - Checkpoints pause appropriately
156
- - Error handling works (intentionally fail a step)
157
- - Completion message is accurate
155
+ Hand the validated spec to the orchestrating agent (paste it into the agent prompt or point the agent at the committed file) and have it walk the recipe per "How the Agent Walks a Recipe" above. Confirm on a representative run that:
156
+ - The agent dispatches steps in dependency order
157
+ - Parallel steps write disjoint paths and do not conflict
158
+ - The agent pauses at every `checkpoint: true` step
159
+ - A deliberately failed step surfaces the step id, its inputs, and the error
160
+ - The completion message reflects the actual outcome
158
161
 
159
162
  ## Error Handling
160
163
 
161
- - **Recipe step fails during execution**: The recipe runner should report which step failed, its inputs, and the error message. Provide a `resume-from` option to restart from the failed step after fixing the issue.
162
- - **Recipe YAML has schema validation errors**: Report the specific field and line that violates the schema. Do not attempt to execute a recipe that fails validation.
163
- - **Circular dependency between recipe steps**: Detect cycles during the dry-run phase and report the dependency chain that creates the loop.
164
+ - **A step fails while the agent walks the recipe**: the orchestrating agent reports which step failed, its inputs, and the error message, then offers to re-walk from the failed step after the cause is fixed rather than restarting the whole recipe.
165
+ - **The recipe YAML has schema errors**: report the specific field and line that violates the schema. The agent does not walk a spec that fails validation.
166
+ - **A cycle exists between steps**: catch it during Step 4 validation and report the dependency chain that forms the loop.
164
167
 
165
168
  ## Definition of Done
166
169
 
167
- - [ ] Recipe YAML validates against schema
168
- - [ ] Dry-run completes without errors
169
- - [ ] Real execution produces expected results
170
- - [ ] Error handling tested
171
- - [ ] Recipe committed to project or shared globally
170
+ - [ ] Recipe YAML validates against the schema (Step 4 checks all pass)
171
+ - [ ] Every `command:`/`skill:` reference resolves to a bundled-inventory id
172
+ - [ ] The orchestrating agent walks the recipe in dependency order on a representative run
173
+ - [ ] A deliberately failed step is handled as described in Error Handling
174
+ - [ ] Recipe spec committed to the repo for reuse
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  id: hatch3r-refactor
3
+ name: hatch3r-refactor
4
+ type: skill
3
5
  description: Internal code quality improvement workflow without changing external behavior. Use when refactoring code structure, simplifying modules, or improving maintainability.
4
6
  tags: [implementation, orchestration]
5
7
  quality_charter: agents/shared/quality-charter.md
@@ -28,12 +30,7 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
28
30
 
29
31
  ## Fan-out Discipline (P8 B2)
30
32
 
31
- This skill delegates per task size:
32
- - Tier 1 (trivial single-file): inline execution acceptable.
33
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
34
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
35
-
36
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
33
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
37
34
 
38
35
  ## Step 1: Read Inputs
39
36
 
@@ -73,9 +70,11 @@ Before changing code, output:
73
70
  - Performance verification if refactored code is on a hot path.
74
71
 
75
72
  ```bash
76
- npm run lint && npm run typecheck && npm run test
73
+ ${HATCH3R:VERIFY_GATE_ALL}
77
74
  ```
78
75
 
76
+ Resolved to the project's language-aware gate at sync time (fallback when detection is unknown: `npm run lint && npm run typecheck && npm run test`).
77
+
79
78
  ## Step 5: Open PR
80
79
 
81
80
  Use the project's PR template. Include:
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  id: hatch3r-release
3
- description: Cut a release with version bump, changelog, tagging, and deploy verification. Use when preparing a release, cutting a version, or deploying to production.
3
+ name: hatch3r-release
4
+ type: skill
5
+ description: Cuts a release with version bump, changelog, tagging, and deploy verification. Use when preparing a release, cutting a version, or deploying to production.
4
6
  tags: [devops]
5
7
  quality_charter: agents/shared/quality-charter.md
6
8
  efficiency_patterns: agents/shared/efficiency-patterns.md
@@ -10,6 +12,18 @@ cache_friendly: true
10
12
 
11
13
  # Release Workflow
12
14
 
15
+ ## Relationship to `commands/hatch3r-release.md` (Decision 13 handoff)
16
+
17
+ This skill shares the `id: hatch3r-release` with the orchestrator command `commands/hatch3r-release.md`. The two are NOT duplicates — they split the release workflow by execution model per CONSTITUTION §6 Decision 13:
18
+
19
+ - **`commands/hatch3r-release.md` (orchestrator entry):** the multi-agent release pipeline — implementer applies the version-bump + changelog + SBOM mutations, docs-writer reconciles repo/website docs, a reviewer↔fixer loop verifies the diff, testability + security run the final-quality pass, ci-watcher diagnoses red gates (`agentPipeline: [hatch3r-implementer, hatch3r-docs-writer, hatch3r-reviewer, hatch3r-fixer, hatch3r-testability, hatch3r-security, hatch3r-ci-watcher]`). Use the command when the release warrants sub-agent fan-out (parallel mutation + review-loop + specialist gates) and stops before publish/merge for human approval.
20
+ - **This skill (inline procedure):** the single-pass reference body the command's implementer and docs-writer stages follow for the bump → changelog → quality-gate → tag → supply-chain → deploy sequence. Use the skill directly for a Tier 1 single-maintainer patch release where no fan-out is needed, OR as the step-by-step procedure cited inside the command's mutation stages.
21
+ - **Unique to this skill:** Step 5b (CycloneDX SBOM + npm provenance + SLSA L3 + cosign wiring, with solo/team maturity gating) and the Rollback Procedure are the inline-procedure detail the command references rather than restates.
22
+
23
+ The merge-candidate review (F16.3-H3) flagged the shared id; this handoff documentation is the explicit workflow-split declaration that disambiguates the pair, enforced by the Decision-13 command↔skill gate in `src/cli/commands/validate.ts`. A future collapse into a single command appendix requires coordinated edits to the command body, the bundled content inventory (skills count), and that gate.
24
+
25
+ **Irreversibility alignment (D10-14):** the command and this skill now share the same stop-before-irreversible boundary, so `/release` resolving to either artifact is safe. The command stops at its Step 9 before publish/merge; this skill's Irreversibility Gate makes every irreversible step (tag push, publish, production deploy) default-OFF behind `--publish` or a typed confirmation. Neither artifact auto-publishes or auto-deploys on a bare invocation — the prior mismatch (a stop-before-publish command vs an auto-publish+deploy skill at one slash name) is closed.
26
+
13
27
  ## Quick Start
14
28
 
15
29
  ```
@@ -20,6 +34,7 @@ Task Progress:
20
34
  - [ ] Step 3: Update version in package.json and any other version references
21
35
  - [ ] Step 4: Verify quality gates (lint, typecheck, all tests)
22
36
  - [ ] Step 5: Create git tag and platform release with changelog
37
+ - [ ] Step 5b: Generate supply-chain artifacts (SBOM + provenance + SLSA + cosign)
23
38
  - [ ] Step 6: Deploy and verify (staging first if applicable, then production)
24
39
  - [ ] Step 7: Monitor post-deploy for errors/regressions
25
40
  ```
@@ -30,12 +45,23 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
30
45
 
31
46
  ## Fan-out Discipline (P8 B2)
32
47
 
33
- This skill delegates per task size:
34
- - Tier 1 (trivial single-file): inline execution acceptable.
35
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
36
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
48
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
49
+
50
+ ## Irreversibility Gate (irreversible steps default-OFF)
37
51
 
38
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
52
+ This skill drives irreversible publish/deploy actions — `git push`, `gh release create` / `glab release create`, `npm publish --provenance`, and production deploy. Each is a one-way door: a published npm version cannot be re-published, a pushed tag and a created release are public immediately. Reversibility-first: every irreversible step is **default-OFF** and requires explicit operator confirmation before it runs. The default path produces and verifies the artifacts, then **stops before the irreversible action** and asks.
53
+
54
+ | Step | Action | Default | Run-trigger |
55
+ |------|--------|---------|-------------|
56
+ | 5 | `git push origin vX.Y.Z` + platform release create | OFF | `--publish` flag OR operator types the target version `vX.Y.Z` at the confirm prompt |
57
+ | 5b.2 | `npm publish --provenance` | OFF | same `--publish`/typed-version trigger as Step 5; runs in CI on the human-pushed tag (no local publish) |
58
+ | 6 | Deploy to production | OFF | operator types `DEPLOY` at the confirm prompt after staging smoke tests pass |
59
+
60
+ Rules:
61
+ - **No silent auto-publish.** Invoking this skill (`/release`, or as the inline procedure inside `commands/hatch3r-release.md`) without `--publish` runs Steps 0-4 + 5b.1/5b.3-5b.6 artifact emission, then prints the staged release summary and the exact publish/deploy commands, and stops. The operator runs the gated step or re-invokes with `--publish`.
62
+ - **Typed confirmation matches the target.** A free-text "yes" is insufficient for Steps 5/5b.2/6 — the operator types the literal token (`vX.Y.Z` for publish, `DEPLOY` for production) so a reflexive confirmation cannot trigger an irreversible action.
63
+ - **Fail-closed.** No response, an empty response, or a token mismatch leaves the irreversible step un-run and the release un-published. Prefer deprecation over unpublish in Rollback.
64
+ - For a delegated release, the orchestrator command `commands/hatch3r-release.md` enforces the same stop-before-publish boundary at its Step 9 — this skill's gate is the inline-procedure equivalent of that handoff.
39
65
 
40
66
  ## Step 1: Determine Version Bump
41
67
 
@@ -68,10 +94,12 @@ Never under-fan-out to save tokens. Token cost is dominated by quality and compl
68
94
  ## Step 4: Verify Quality Gates
69
95
 
70
96
  ```bash
71
- npm run lint && npm run typecheck && npm run test
97
+ ${HATCH3R:VERIFY_GATE_ALL}
72
98
  npm run build
73
99
  ```
74
100
 
101
+ The gate line is resolved to the project's language-aware command set at sync time (fallback when detection is unknown: `npm run lint && npm run typecheck && npm run test`); the build line is illustrative — substitute the project's build command.
102
+
75
103
  - All tests pass (unit, integration, E2E).
76
104
  - Bundle size within budget (if defined).
77
105
  - Security rules tests pass if rules changed.
@@ -80,18 +108,95 @@ npm run build
80
108
 
81
109
  ## Step 5: Create Tag and Release
82
110
 
83
- - Create annotated tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"`.
84
- - Push tag: `git push origin vX.Y.Z`.
111
+ Tag-push and release-create are irreversible (default-OFF per the Irreversibility Gate). Create the annotated tag locally, then **stop and confirm** before pushing it or creating the public release. Run the push + release-create only with `--publish` or after the operator types the target `vX.Y.Z` at the confirm prompt.
112
+
113
+ - Create annotated tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"` (local, reversible — delete with `git tag -d vX.Y.Z`).
114
+ - **Confirm gate (irreversible from here):** push tag: `git push origin vX.Y.Z`.
85
115
  - Create the release using the platform CLI (check `platform` in `.hatch3r/hatch.json`):
86
116
  - **GitHub:** `gh release create vX.Y.Z --title "vX.Y.Z" --notes "{changelog}"` (or use **GitHub MCP** if available)
87
117
  - **Azure DevOps:** `az repos tag create vX.Y.Z` — attach release notes as a wiki page or work item, and upload build artifacts via Azure Artifacts
88
118
  - **GitLab:** `glab release create vX.Y.Z --name "vX.Y.Z" --notes "{changelog}"`
89
119
  - Attach build artifacts if applicable.
90
120
 
121
+ ## Step 5b: Generate Supply-Chain Artifacts
122
+
123
+ F15.8-H4 (Cycle 10 D15-SA15.8): every release surface MUST emit an SBOM + provenance + SLSA attestation + container signature before deploy. Skipping these produces un-attested artifacts that fail consumer-side `npm audit signatures` and SLSA-Build-L3 verification.
124
+
125
+ Maturity-tier gating (per the P5 maturity-tier model — solo/team/scaleup/enterprise; see `agents/shared/principles.md`):
126
+ - `solo` — MAY defer SBOM emission and SLSA generator for a single-maintainer release. Provenance (`--provenance` flag below) and `cosign` for any container image remain mandatory.
127
+ - `team`, `scaleup`, `enterprise` — MUST execute every sub-step below; consumer verification depends on these artifacts being present.
128
+
129
+ ### 5b.1 — Emit CycloneDX SBOM (npm packages)
130
+
131
+ ```
132
+ npm sbom --sbom-format=cyclonedx --sbom-type=application > dist/sbom.cdx.json
133
+ ```
134
+
135
+ Attach `dist/sbom.cdx.json` to the GitHub release. Reference: `npm sbom` (npm CLI >=10.5.0) emits CycloneDX 1.5 or SPDX 2.3.
136
+
137
+ ### 5b.2 — npm provenance via Trusted Publishing (OIDC)
138
+
139
+ Configure Trusted Publisher once on the npm settings page, then publish via GitHub Actions only:
140
+
141
+ ```yaml
142
+ permissions:
143
+ id-token: write # OIDC token for Sigstore signing
144
+ contents: read
145
+ steps:
146
+ - run: npm publish --provenance --access public
147
+ ```
148
+
149
+ `--provenance` emits a Sigstore-signed attestation through Fulcio + Rekor. Reference: https://docs.npmjs.com/trusted-publishers/ (accessed 2026-05-27). Publish is irreversible (default-OFF per the Irreversibility Gate): it fires from CI only on the human-pushed Step 5 tag — there is no local `npm publish` on the default path.
150
+
151
+ ### 5b.3 — SLSA Build Level 3 attestation
152
+
153
+ Pin the slsa-github-generator action by 40-character commit SHA — never a tag:
154
+
155
+ ```yaml
156
+ uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@<40-char-SHA>
157
+ with:
158
+ base64-subjects: ${{ needs.publish.outputs.digest }}
159
+ upload-assets: true
160
+ ```
161
+
162
+ Reference: https://github.com/slsa-framework/slsa-github-generator.
163
+
164
+ ### 5b.4 — Container image signing (cosign keyless)
165
+
166
+ When the release ships a container image:
167
+
168
+ ```
169
+ cosign sign --yes \
170
+ --oidc-issuer https://token.actions.githubusercontent.com \
171
+ ghcr.io/<owner>/<image>@<digest>
172
+ ```
173
+
174
+ Reference: https://github.com/sigstore/cosign (cosign 2.x keyless flow).
175
+
176
+ ### 5b.5 — Consumer verification snippet
177
+
178
+ Document the verification commands in the release notes:
179
+
180
+ ```
181
+ npm audit signatures
182
+ slsa-verifier verify-artifact --provenance-path attestation.intoto.jsonl --source-uri github.com/<owner>/<repo> --source-tag <tag> <artifact-file>
183
+ cosign verify --certificate-identity-regexp 'https://github\.com/<owner>/<repo>/' --certificate-oidc-issuer https://token.actions.githubusercontent.com ghcr.io/<owner>/<image>:<tag>
184
+ ```
185
+
186
+ ### 5b.6 — Mark gates satisfied
187
+
188
+ - [ ] `dist/sbom.cdx.json` attached to platform release
189
+ - [ ] `npm publish --provenance` exit 0; `npm view <pkg>@<version> --json | jq .dist.signatures` returns a signature
190
+ - [ ] SLSA attestation uploaded; `slsa-verifier verify-artifact` exit 0
191
+ - [ ] Container image signed (when applicable); `cosign verify` exit 0
192
+ - [ ] Verification snippet copied into the release notes
193
+
91
194
  ## Step 6: Deploy and Verify
92
195
 
196
+ Production deploy is irreversible (default-OFF per the Irreversibility Gate). Staging is reversible and runs on the default path; the production step **stops and confirms** (operator types `DEPLOY`) only after staging smoke tests pass.
197
+
93
198
  - Deploy to staging first (if applicable). Run smoke tests.
94
- - Deploy to production (project-specific pipeline).
199
+ - **Confirm gate (irreversible):** deploy to production (project-specific pipeline) only after the typed `DEPLOY` confirmation or `--publish`.
95
200
  - Verify: health check, key flows.
96
201
  - Document deploy method and environment in project docs if not already.
97
202
 
@@ -108,7 +213,7 @@ npm run build
108
213
  Version formats: alpha (`x.y.z-alpha.N`), beta (`x.y.z-beta.N`), release candidate (`x.y.z-rc.N`). Workflow:
109
214
 
110
215
  1. Tag pre-release (e.g., `v1.2.0-beta.1`).
111
- 2. Publish to npm with `--tag` (`npm publish --tag beta`).
216
+ 2. Publish to npm with `--tag` (`npm publish --tag beta`) — irreversible, same default-OFF gate as Step 5b.2 (publish via CI on the pushed pre-release tag).
112
217
  3. Smoke-test against the pre-release package.
113
218
  4. Promote: publish stable without pre-release suffix.
114
219
  5. Deprecate pre-release versions after stable release.
@@ -146,8 +251,15 @@ If a release introduces critical issues:
146
251
 
147
252
  - [ ] Version bumped in package.json
148
253
  - [ ] Changelog generated and included in release
254
+ - [ ] Each irreversible step (tag push, publish, production deploy) ran only after `--publish` or its typed confirmation (Irreversibility Gate) — never silently
149
255
  - [ ] Git tag created and pushed
150
256
  - [ ] Release published with changelog (GitHub Release / ADO wiki + tag / GitLab Release)
257
+ - [ ] Supply-chain artifacts emitted (SBOM + npm provenance + SLSA + cosign per Step 5b; solo MAY defer SBOM + SLSA, team+ MUST execute all)
151
258
  - [ ] Deployed to production and verified
152
259
  - [ ] Post-deploy monitoring completed (no critical regressions)
153
260
  - [ ] All release gates satisfied
261
+
262
+ ## References
263
+
264
+ - [Semantic Versioning 2.0.0](https://semver.org/) — accessed 2026-05-31, official-docs (Tom Preston-Werner / SemVer). Source for the MAJOR.MINOR.PATCH bump rules and the pre-release suffix grammar (`-alpha.N`, `-beta.N`, `-rc.N`) in Step 3 and Pre-Release Support.
265
+ - [npm sbom — npm CLI docs](https://docs.npmjs.com/cli/v10/commands/npm-sbom) — accessed 2026-05-31, official-docs (npm, Inc.). Source for the `npm sbom` CycloneDX 1.5 / SPDX 2.3 output and the >=10.5.0 CLI floor cited in the supply-chain step (5b).
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  id: hatch3r-reliability-verify
3
+ name: hatch3r-reliability-verify
3
4
  type: skill
4
5
  description: Reliability verification gate before declaring an agent-produced service done — SLO defined, kill switch, timeouts, retries, probes, runbook, staged rollout
5
6
  tags: [review, devops]
@@ -27,12 +28,15 @@ Before any work, scan the invocation for unresolved questions in scope, intent,
27
28
 
28
29
  ## Fan-out Discipline (P8 B2)
29
30
 
30
- This skill delegates per task size:
31
- - Tier 1 (trivial single-file): inline execution acceptable.
32
- - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
33
- - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
31
+ Fan-out scales with task size; token cost never justifies serializing independent work (`rules/hatch3r-fan-out-discipline.md` P8 B2; `agents/shared/efficiency-patterns.md`). Emit `sub_agents_spawned: { count, rationale }` in your output.
34
32
 
35
- Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
33
+ ## Invoked by
34
+
35
+ This skill is the verification HARNESS — it declares HOW each reliability gate is checked. The DISPATCHER that decides WHEN to run it is the CQ specialist agent:
36
+
37
+ - `agents/hatch3r-reliability.md` — invokes this skill as a closing reliability gate (CQ4), alongside `skills/hatch3r-observability-verify` for the telemetry sub-vector. The agent contributes the review trigger and Phase-4 dispatch; this skill contributes the 9-gate procedure (SLO, kill switch, timeouts, retries, probes, runbook, staged rollout).
38
+
39
+ No duplication: the agent decides WHEN, this skill defines HOW. The agent body cites this skill (`agents/hatch3r-reliability.md` — "cite `skills/hatch3r-reliability-verify` ... as the closing gates"); this subsection is the symmetric upstream citation per `rules/hatch3r-agent-orchestration.md` (Phase-4 dispatch).
36
40
 
37
41
  ## Gate 1: SLO defined
38
42