hatch3r 1.4.0 → 1.5.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 (175) hide show
  1. package/README.md +10 -6
  2. package/agents/hatch3r-a11y-auditor.md +13 -2
  3. package/agents/hatch3r-architect.md +20 -1
  4. package/agents/hatch3r-ci-watcher.md +25 -1
  5. package/agents/hatch3r-context-rules.md +15 -3
  6. package/agents/hatch3r-dependency-auditor.md +23 -2
  7. package/agents/hatch3r-devops.md +11 -0
  8. package/agents/hatch3r-docs-writer.md +27 -2
  9. package/agents/hatch3r-fixer.md +46 -3
  10. package/agents/hatch3r-implementer.md +19 -1
  11. package/agents/hatch3r-learnings-loader.md +19 -0
  12. package/agents/hatch3r-lint-fixer.md +11 -0
  13. package/agents/hatch3r-perf-profiler.md +21 -1
  14. package/agents/hatch3r-researcher.md +51 -911
  15. package/agents/hatch3r-reviewer.md +24 -2
  16. package/agents/hatch3r-security-auditor.md +20 -0
  17. package/agents/hatch3r-test-writer.md +24 -0
  18. package/agents/modes/architecture.md +1 -0
  19. package/agents/modes/boundary-analysis.md +2 -1
  20. package/agents/modes/codebase-impact.md +1 -0
  21. package/agents/modes/complexity-risk.md +1 -0
  22. package/agents/modes/coverage-analysis.md +1 -0
  23. package/agents/modes/current-state.md +1 -0
  24. package/agents/modes/feature-design.md +1 -0
  25. package/agents/modes/impact-analysis.md +1 -0
  26. package/agents/modes/library-docs.md +2 -1
  27. package/agents/modes/migration-path.md +1 -0
  28. package/agents/modes/prior-art.md +1 -0
  29. package/agents/modes/refactoring-strategy.md +1 -0
  30. package/agents/modes/regression.md +1 -0
  31. package/agents/modes/requirements-elicitation.md +1 -0
  32. package/agents/modes/risk-assessment.md +1 -0
  33. package/agents/modes/risk-prioritization.md +1 -0
  34. package/agents/modes/root-cause.md +1 -0
  35. package/agents/modes/similar-implementation.md +2 -1
  36. package/agents/modes/symptom-trace.md +1 -0
  37. package/agents/modes/test-pattern.md +2 -1
  38. package/agents/shared/external-knowledge.md +10 -0
  39. package/agents/shared/quality-charter.md +18 -0
  40. package/checks/README.md +1 -0
  41. package/checks/accessibility.md +55 -0
  42. package/commands/board/pickup-azure-devops.md +1 -0
  43. package/commands/board/pickup-delegation-multi.md +6 -1
  44. package/commands/board/pickup-delegation.md +1 -0
  45. package/commands/board/pickup-github.md +1 -0
  46. package/commands/board/pickup-gitlab.md +1 -0
  47. package/commands/board/pickup-modes.md +1 -0
  48. package/commands/board/pickup-post-impl.md +2 -1
  49. package/commands/board/shared-azure-devops.md +1 -0
  50. package/commands/board/shared-board-overview.md +1 -0
  51. package/commands/board/shared-github.md +1 -0
  52. package/commands/board/shared-gitlab.md +1 -0
  53. package/commands/hatch3r-agent-customize.md +1 -0
  54. package/commands/hatch3r-api-spec.md +1 -0
  55. package/commands/hatch3r-benchmark.md +4 -3
  56. package/commands/hatch3r-board-fill.md +52 -9
  57. package/commands/hatch3r-board-groom.md +69 -5
  58. package/commands/hatch3r-board-init.md +2 -1
  59. package/commands/hatch3r-board-pickup.md +1 -0
  60. package/commands/hatch3r-board-refresh.md +1 -0
  61. package/commands/hatch3r-board-shared.md +34 -3
  62. package/commands/hatch3r-bug-plan.md +2 -1
  63. package/commands/hatch3r-codebase-map.md +4 -3
  64. package/commands/hatch3r-command-customize.md +2 -1
  65. package/commands/hatch3r-context-health.md +1 -0
  66. package/commands/hatch3r-cost-tracking.md +1 -0
  67. package/commands/hatch3r-debug.md +4 -3
  68. package/commands/hatch3r-dep-audit.md +3 -0
  69. package/commands/hatch3r-feature-plan.md +3 -2
  70. package/commands/hatch3r-healthcheck.md +1 -0
  71. package/commands/hatch3r-hooks.md +5 -0
  72. package/commands/hatch3r-learn.md +1 -0
  73. package/commands/hatch3r-migration-plan.md +3 -2
  74. package/commands/hatch3r-onboard.md +2 -1
  75. package/commands/hatch3r-project-spec.md +4 -3
  76. package/commands/hatch3r-quick-change.md +2 -0
  77. package/commands/hatch3r-recipe.md +1 -0
  78. package/commands/hatch3r-refactor-plan.md +2 -1
  79. package/commands/hatch3r-release.md +4 -1
  80. package/commands/hatch3r-revision.md +2 -1
  81. package/commands/hatch3r-roadmap.md +5 -4
  82. package/commands/hatch3r-rule-customize.md +1 -0
  83. package/commands/hatch3r-security-audit.md +1 -0
  84. package/commands/hatch3r-skill-customize.md +1 -0
  85. package/commands/hatch3r-test-plan.md +3 -2
  86. package/commands/hatch3r-workflow.md +5 -0
  87. package/dist/cli/index.js +7467 -4582
  88. package/dist/cli/index.js.map +1 -1
  89. package/hooks/hatch3r-ci-failure.md +1 -0
  90. package/hooks/hatch3r-file-save.md +1 -0
  91. package/hooks/hatch3r-post-merge.md +1 -0
  92. package/hooks/hatch3r-pre-commit.md +1 -0
  93. package/hooks/hatch3r-pre-push.md +1 -0
  94. package/hooks/hatch3r-session-start.md +1 -0
  95. package/package.json +19 -4
  96. package/rules/hatch3r-accessibility-standards.md +2 -1
  97. package/rules/hatch3r-accessibility-standards.mdc +1 -1
  98. package/rules/hatch3r-agent-orchestration-detail.md +49 -1
  99. package/rules/hatch3r-agent-orchestration-detail.mdc +47 -1
  100. package/rules/hatch3r-agent-orchestration.md +87 -5
  101. package/rules/hatch3r-agent-orchestration.mdc +85 -5
  102. package/rules/hatch3r-api-design.md +2 -1
  103. package/rules/hatch3r-api-design.mdc +1 -1
  104. package/rules/hatch3r-browser-verification.md +4 -2
  105. package/rules/hatch3r-browser-verification.mdc +1 -0
  106. package/rules/hatch3r-ci-cd.md +2 -1
  107. package/rules/hatch3r-ci-cd.mdc +1 -1
  108. package/rules/hatch3r-code-standards.md +15 -2
  109. package/rules/hatch3r-code-standards.mdc +12 -0
  110. package/rules/hatch3r-component-conventions.md +2 -1
  111. package/rules/hatch3r-component-conventions.mdc +1 -0
  112. package/rules/hatch3r-data-classification.md +2 -1
  113. package/rules/hatch3r-data-classification.mdc +1 -1
  114. package/rules/hatch3r-deep-context.md +26 -1
  115. package/rules/hatch3r-deep-context.mdc +25 -1
  116. package/rules/hatch3r-dependency-management.md +2 -1
  117. package/rules/hatch3r-dependency-management.mdc +1 -1
  118. package/rules/hatch3r-feature-flags.md +2 -0
  119. package/rules/hatch3r-feature-flags.mdc +1 -0
  120. package/rules/hatch3r-git-conventions.md +2 -1
  121. package/rules/hatch3r-git-conventions.mdc +2 -1
  122. package/rules/hatch3r-i18n.md +2 -1
  123. package/rules/hatch3r-i18n.mdc +1 -0
  124. package/rules/hatch3r-learning-consult.md +11 -1
  125. package/rules/hatch3r-learning-consult.mdc +11 -1
  126. package/rules/hatch3r-migrations.md +2 -1
  127. package/rules/hatch3r-migrations.mdc +1 -1
  128. package/rules/hatch3r-observability-logging.md +34 -0
  129. package/rules/hatch3r-observability-logging.mdc +30 -0
  130. package/rules/hatch3r-observability-metrics.md +74 -0
  131. package/rules/hatch3r-observability-metrics.mdc +70 -0
  132. package/rules/hatch3r-observability-tracing-detail.md +160 -0
  133. package/rules/hatch3r-observability-tracing-detail.mdc +63 -0
  134. package/rules/hatch3r-observability-tracing.md +86 -0
  135. package/rules/hatch3r-observability-tracing.mdc +77 -0
  136. package/rules/hatch3r-observability.md +9 -448
  137. package/rules/hatch3r-observability.mdc +7 -448
  138. package/rules/hatch3r-performance-budgets.md +2 -0
  139. package/rules/hatch3r-performance-budgets.mdc +1 -0
  140. package/rules/hatch3r-secrets-management.md +2 -1
  141. package/rules/hatch3r-secrets-management.mdc +1 -1
  142. package/rules/hatch3r-security-patterns.md +3 -2
  143. package/rules/hatch3r-security-patterns.mdc +1 -1
  144. package/rules/hatch3r-testing.md +12 -2
  145. package/rules/hatch3r-testing.mdc +10 -1
  146. package/rules/hatch3r-theming.md +3 -2
  147. package/rules/hatch3r-theming.mdc +1 -0
  148. package/rules/hatch3r-tooling-hierarchy.md +3 -2
  149. package/rules/hatch3r-tooling-hierarchy.mdc +1 -1
  150. package/skills/hatch3r-a11y-audit/SKILL.md +11 -4
  151. package/skills/hatch3r-agent-customize/SKILL.md +1 -0
  152. package/skills/hatch3r-api-spec/SKILL.md +9 -2
  153. package/skills/hatch3r-architecture-review/SKILL.md +7 -0
  154. package/skills/hatch3r-bug-fix/SKILL.md +16 -7
  155. package/skills/hatch3r-ci-pipeline/SKILL.md +8 -1
  156. package/skills/hatch3r-command-customize/SKILL.md +1 -0
  157. package/skills/hatch3r-context-health/SKILL.md +23 -2
  158. package/skills/hatch3r-cost-tracking/SKILL.md +16 -6
  159. package/skills/hatch3r-customize/SKILL.md +8 -1
  160. package/skills/hatch3r-dep-audit/SKILL.md +9 -2
  161. package/skills/hatch3r-feature/SKILL.md +12 -4
  162. package/skills/hatch3r-gh-agentic-workflows/SKILL.md +7 -0
  163. package/skills/hatch3r-incident-response/SKILL.md +7 -0
  164. package/skills/hatch3r-issue-workflow/SKILL.md +8 -1
  165. package/skills/hatch3r-logical-refactor/SKILL.md +8 -1
  166. package/skills/hatch3r-migration/SKILL.md +7 -0
  167. package/skills/hatch3r-perf-audit/SKILL.md +9 -2
  168. package/skills/hatch3r-pr-creation/SKILL.md +8 -1
  169. package/skills/hatch3r-qa-validation/SKILL.md +8 -1
  170. package/skills/hatch3r-recipe/SKILL.md +8 -1
  171. package/skills/hatch3r-refactor/SKILL.md +10 -2
  172. package/skills/hatch3r-release/SKILL.md +8 -1
  173. package/skills/hatch3r-rule-customize/SKILL.md +1 -0
  174. package/skills/hatch3r-skill-customize/SKILL.md +1 -0
  175. package/skills/hatch3r-visual-refactor/SKILL.md +12 -5
@@ -3,6 +3,7 @@ id: hatch3r-board-fill
3
3
  type: command
4
4
  description: Create epics and issues/work items from todo.md, reorganize the board with dependency analysis, readiness assessment, and implementation ordering. Supports GitHub, Azure DevOps, and GitLab.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -99,6 +100,7 @@ Scan the entire board to build an inventory of all existing work. This scan feed
99
100
  ```
100
101
  Board Health:
101
102
  Total open issues: N (X epics, Y sub-issues, Z standalone)
103
+ Standalone ratio: Z/{X+Z} ({percentage}%) — target <=10%
102
104
  Missing dependency metadata: #N, #M ...
103
105
  Missing required labels: #N — no priority, no area ...
104
106
  Potential epic grouping candidates: #N + #M (shared theme) ...
@@ -304,18 +306,35 @@ Present a brief **Context Summary**: key constraints from documentation, current
304
306
 
305
307
  ### Step 5: Propose Grouping (Epics vs. Standalone)
306
308
 
307
- **Grouping philosophy:** Minimize standalone issues to near-zero. Group aggressively into epics. Standalone only if topically isolated from every other issue AND substantial enough to stand alone.
309
+ **Grouping philosophy:** Target zero standalone issues. Every issue should belong to an epic. Standalone status is an exception that requires explicit justification, not a default. This maximizes parallelization during pickup agents can tackle multiple sub-issues of an epic concurrently, whereas standalone issues require serial pickup. Follow the **Epic Grouping Policy** in `hatch3r-board-shared`.
310
+
311
+ **Standalone threshold:** After grouping, no more than 10% of total non-sub-issue items on the board should be standalone (minimum 0, round down). If this threshold is exceeded, the post-grouping audit (Step 5d) forces additional grouping before proceeding.
308
312
 
309
313
  #### 5a. Group New Items
310
314
 
311
- 1. **Absorb into existing epics first.**
312
- 2. **Form new epics** from 2+ items sharing any connection (area, subsystem, category).
313
- 3. **Adopt orphans** into broad thematic epics (e.g., "Security & Auth Hardening", "Infrastructure & Tooling").
314
- 4. **Standalone only as last resort.**
315
+ Apply these rules in strict order. Each rule reduces the remaining ungrouped pool before the next rule fires.
316
+
317
+ 1. **Absorb into existing epics first.** For each new item, check all existing epics on the board. If the item shares any `area:*` label, touches the same subsystem, or addresses the same feature domain as an existing epic, absorb it as a sub-issue of that epic. When multiple epics match, prefer the one with the strongest thematic overlap.
318
+
319
+ 2. **Form new epics from 2+ related items.** Group remaining ungrouped items that share any connection: same `area:*` label, same subsystem, same `type:*` category, related feature domain, or semantic similarity in title/description. Two items sharing any single connection is sufficient to form an epic. Name the epic after the shared theme.
320
+
321
+ 3. **Singleton promotion.** Any single remaining item that could plausibly belong to a broader theme (even a loose one like "Developer Experience", "Code Quality", "Performance", "Security Hardening", "Infrastructure & Tooling", "Documentation & Onboarding") becomes a 1-item epic with that theme as the epic title. The rationale: a themed epic can absorb future related work, whereas a standalone cannot. Prefer existing theme names from epics already on the board.
322
+
323
+ 4. **Catch-all epic.** If any items still remain after steps 1-3 (truly topically isolated from everything), group them into a single catch-all epic named "General Improvements" (or absorb into an existing "General Improvements" epic if one exists on the board). Do NOT leave them standalone.
324
+
325
+ 5. **Standalone as true last resort.** An item may remain standalone ONLY if the user explicitly rejects grouping for it during the ASK checkpoint AND provides a justification. The AI should never propose standalone status on its own — always propose a grouping first.
315
326
 
316
327
  #### 5b. Regroup Existing Standalone Issues
317
328
 
318
- Evaluate existing standalones for grouping into existing or new epics. Same aggressive philosophy.
329
+ Scan ALL existing standalone issues on the board (from the Step 1.5 board scan). For each standalone:
330
+
331
+ 1. **Check against existing epics.** If the standalone shares an `area:*` label, subsystem, or semantic theme with any existing epic, propose absorbing it as a sub-issue.
332
+ 2. **Check against other standalones.** If 2+ existing standalones share a connection (area, subsystem, title similarity), propose forming a new epic from them.
333
+ 3. **Check against new epics.** If the standalone fits a new epic being formed in Step 5a, include it.
334
+ 4. **Singleton promotion.** Apply the same singleton promotion rule as 5a.3 — propose a thematic epic for isolated standalones.
335
+ 5. **Catch-all.** Remaining standalones go into the "General Improvements" epic per 5a.4.
336
+
337
+ Present regrouping proposals clearly separated from new-item grouping, so the user can confirm or reject existing issue regrouping independently.
319
338
 
320
339
  #### 5c. Decomposition Check
321
340
 
@@ -328,9 +347,32 @@ After grouping, evaluate whether any individual item is too large to be a single
328
347
 
329
348
  For each item flagged for decomposition, propose specific sub-issues with one-line descriptions. Items already grouped into an epic become sub-issues of that epic; standalone items that decompose become a new epic with sub-issues.
330
349
 
331
- Present grouping proposals (from 5a + 5b) and decomposition proposals (from 5c) together.
350
+ #### 5d. Post-Grouping Standalone Audit
351
+
352
+ After Steps 5a-5c, perform a standalone audit before presenting proposals to the user.
353
+
354
+ 1. **Count remaining standalones.** Calculate the standalone ratio: `standalone_count / (epic_count + standalone_count)`. Sub-issues are excluded from this ratio.
355
+
356
+ 2. **Threshold check.** If the standalone ratio exceeds 10%, the audit fails:
357
+ - Re-examine each proposed standalone against ALL epics (existing and newly proposed) using progressively looser matching:
358
+ a. Same `area:*` label (exact match).
359
+ b. Same broader domain (e.g., `area:api` and `area:middleware` are both "backend").
360
+ c. Same `type:*` category (e.g., all `type:refactor` items form a "Code Quality" epic).
361
+ d. Catch-all "General Improvements" epic.
362
+ - Repeat until the ratio is at or below 10%, or every standalone has been re-examined and the AI has exhausted all grouping options.
363
+
364
+ 3. **Justify survivors.** For each item that remains standalone after the audit, include a one-line justification in the grouping proposal explaining why it could not be grouped (e.g., "Truly unique topic with no thematic overlap to any existing or proposed epic").
365
+
366
+ 4. **Surface the metric.** Include the standalone ratio in the grouping proposal output:
367
+ ```
368
+ Grouping Audit: {standalone_count}/{total} items standalone ({percentage}%)
369
+ Threshold: <=10% — {PASS/FAIL}
370
+ {if FAIL: "N standalones could not be grouped. Justifications below."}
371
+ ```
372
+
373
+ Present grouping proposals (from 5a + 5b), decomposition proposals (from 5c), and audit results (from 5d) together.
332
374
 
333
- **ASK:** "Confirm grouping and decomposition, or: move items between groups / merge-split epics / convert epicstandalone / reject decomposition / reject existing regrouping. Are there items here that still feel too large for a single issue?"
375
+ **ASK:** "Confirm grouping, decomposition, and standalone audit results. Options: move items between groups / merge-split epics / convert epic<->standalone (requires justification) / reject decomposition / reject existing regrouping. Standalone ratio: {percentage}% ({PASS/FAIL}). Are there items here that still feel too large for a single issue?"
334
376
 
335
377
  ---
336
378
 
@@ -447,7 +489,7 @@ Acceptance criteria must be grounded in the user's stated requirements, not AI i
447
489
  3. **Codebase context (Step 4)** -- existing tests, interfaces, contracts, and architectural patterns that constrain the implementation inform technical criteria.
448
490
  4. **AI inference** -- only as a supplement for criteria the above sources don't cover. Flag AI-inferred criteria distinctly so the user can validate them.
449
491
 
450
- Each acceptance criterion must be **specific and testable**: an implementer reading it can determine pass/fail without ambiguity. Prefer "API returns 400 with validation error for missing required fields" over "API validates input properly."
492
+ Each acceptance criterion must be **specific and testable**: an implementer reading it can determine pass/fail without ambiguity. Prefer "API returns 400 with validation error for missing required fields" over "API validates input."
451
493
 
452
494
  #### Scope Section
453
495
 
@@ -580,6 +622,7 @@ Existing Issues Updated:
580
622
  | Issue # | Title | Updates Applied |
581
623
 
582
624
  Board Summary: N created, M updated, X marked ready, Y still triage, Z parallel lanes
625
+ Standalone ratio: {count}/{total} ({percentage}%) — target <=10%
583
626
  ```
584
627
 
585
628
  ---
@@ -3,6 +3,7 @@ id: hatch3r-board-groom
3
3
  type: command
4
4
  description: Ongoing backlog refinement for existing board items. Re-prioritize, reclassify, re-scope, archive stale items, decompose oversized issues, merge duplicates, refresh dependencies, and remediate board health findings.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -142,12 +143,18 @@ Analyze the distribution of priority labels across the board:
142
143
  - Flag if all issues share the same priority (undifferentiated backlog).
143
144
  - Flag issues where priority does not align with risk (e.g., `priority:p3` + `risk:high`).
144
145
 
145
- #### 3f. Grouping Opportunities
146
+ #### 3f. Grouping Opportunities & Standalone Audit
146
147
 
147
- Scan existing standalone issues for potential epic grouping:
148
+ Scan existing standalone issues for epic grouping. Apply the **Epic Grouping Policy** from `hatch3r-board-shared`:
148
149
 
149
150
  - 2+ standalone issues sharing the same `area:*` labels.
150
151
  - 2+ standalone issues with semantically similar titles or overlapping scope.
152
+ - 2+ standalone issues sharing the same `type:*` label (e.g., all `type:refactor` items).
153
+ - 2+ standalone issues in the same broader domain (e.g., `area:api` + `area:middleware` = "backend").
154
+ - **Single standalone issues** that could be absorbed into an existing epic (shared area, subsystem, or theme).
155
+ - **Single standalone issues** that could become a themed 1-item epic (singleton promotion).
156
+
157
+ Compute standalone ratio: `standalone_count / (epic_count + standalone_count)`. Flag if ratio exceeds 10%.
151
158
 
152
159
  #### 3g. Decomposition Candidates
153
160
 
@@ -198,6 +205,7 @@ Board Groom — Refinement Summary:
198
205
 
199
206
  Board Health:
200
207
  Total open issues: N (X epics, Y sub-issues, Z standalone)
208
+ Standalone ratio: Z/{X+Z} ({percentage}%) — target <=10%
201
209
  Missing metadata: M issues (details below)
202
210
  Stale issues: S issues
203
211
  Stale dependency refs: D issues
@@ -216,10 +224,10 @@ Grooming Opportunities:
216
224
  Dependency cleanup: K issues (stale refs, orphaned labels)
217
225
  Link fix candidates: L issues (advisory or comment-only links)
218
226
 
219
- Available actions: [reprioritize | reclassify | re-scope | demote | archive | decompose | merge | dep-refresh | health-fix | link-fix | all]
227
+ Available actions: [reprioritize | reclassify | re-scope | demote | archive | decompose | merge | regroup | dep-refresh | health-fix | link-fix | all]
220
228
  ```
221
229
 
222
- **ASK:** "Here is the board refinement summary. Which grooming actions do you want to perform? Select one or more: reprioritize / reclassify / re-scope / demote / archive / decompose / merge / dep-refresh / health-fix / link-fix / all. You can also specify issue numbers to target specific items (e.g., 'reprioritize #5, #12')."
230
+ **ASK:** "Here is the board refinement summary. Which grooming actions do you want to perform? Select one or more: reprioritize / reclassify / re-scope / demote / archive / decompose / merge / regroup / dep-refresh / health-fix / link-fix / all. You can also specify issue numbers to target specific items (e.g., 'reprioritize #5, #12')."
223
231
 
224
232
  ---
225
233
 
@@ -463,7 +471,61 @@ Link Fix Candidates:
463
471
 
464
472
  ---
465
473
 
466
- #### 4i. Health Fix (Board Health Remediation)
474
+ #### 4i. Regroup Standalones
475
+
476
+ Group standalone issues into existing or new epics. This action executes the grouping opportunities detected in Step 3f, following the **Epic Grouping Policy** from `hatch3r-board-shared`.
477
+
478
+ 1. Present regrouping proposals from Step 3f, organized by target epic:
479
+
480
+ ```
481
+ Regroup Proposals:
482
+
483
+ Absorb into existing epics:
484
+ #{N} "{title}" → Epic #{E} "{epic title}" (shared area:api)
485
+ #{M} "{title}" → Epic #{F} "{epic title}" (semantic overlap)
486
+
487
+ Form new epics:
488
+ New epic: "Code Quality & Refactoring"
489
+ #{P} "{title}" (type:refactor)
490
+ #{Q} "{title}" (type:refactor)
491
+
492
+ Singleton promotions:
493
+ #{R} "{title}" → New 1-item epic: "Performance Optimization" (no existing epic match, but themed for future absorption)
494
+
495
+ Catch-all:
496
+ #{S} "{title}" → "General Improvements" epic (no thematic match)
497
+
498
+ Standalone ratio: before={before}%, after={projected}% (target <=10%)
499
+ ```
500
+
501
+ **ASK:** "Confirm regrouping proposals. For each: accept / reject / move to different epic. Items you reject will remain standalone. Confirm / adjust / skip."
502
+
503
+ 2. For confirmed regroupings:
504
+
505
+ **Absorb into existing epic:**
506
+ - Link the standalone as a sub-issue using the **Sub-Issue Linking Procedure** from `hatch3r-board-shared`.
507
+ - Update the epic body to include the new sub-issue in its checklist and `## Implementation Order`.
508
+
509
+ **Form new epic:**
510
+ - Create a new epic issue with Overview, Sub-issues checklist, and `## Implementation Order`.
511
+ - Link all grouped items as sub-issues using the Sub-Issue Linking Procedure.
512
+ - Apply labels: inherit the common labels from the grouped items, add `status:triage` (or `status:ready` if all sub-issues are ready).
513
+ - Sync the new epic to the board via the **Board Sync Procedure** from `hatch3r-board-shared`.
514
+
515
+ **Singleton promotion:**
516
+ - Create a new 1-item epic with the themed title.
517
+ - Link the standalone as its only sub-issue.
518
+ - The epic body notes: "This epic groups related work for {theme}. Future items in this area should be added as sub-issues."
519
+
520
+ **Catch-all:**
521
+ - If a "General Improvements" epic exists, absorb into it.
522
+ - If not, create one with all catch-all items as sub-issues.
523
+
524
+ 3. After execution, recalculate and report the standalone ratio.
525
+
526
+ ---
527
+
528
+ #### 4j. Health Fix (Board Health Remediation)
467
529
 
468
530
  Fix structural gaps detected in Step 3b (missing metadata), board sync drift detected in Step 3k, and orphaned in-review issues detected in Step 3l.
469
531
 
@@ -608,12 +670,14 @@ Board Groom Complete:
608
670
  Archived (closed): {count} issues
609
671
  Decomposed: {count} issues → {count} new sub-issues
610
672
  Merged: {count} duplicate pairs
673
+ Regrouped: {count} standalones → {count} epics ({count} new epics created)
611
674
  Dependencies: {count} refs cleaned, {count} new deps added, {count} epics reordered
612
675
  Health fixed: {count} issues (missing metadata resolved)
613
676
  Readiness promoted: {count} issues (triage → ready)
614
677
 
615
678
  Board State:
616
679
  Total open: {count} ({epics} epics, {sub} sub-issues, {standalone} standalone)
680
+ Standalone ratio: {percentage}% (target <=10%)
617
681
  Ready: {count} ({available} available, {depWaiting} waiting on deps)
618
682
  In Progress: {count}
619
683
  In Review: {count}
@@ -3,6 +3,7 @@ id: hatch3r-board-init
3
3
  type: command
4
4
  description: Initialize a project board (GitHub Projects V2, Azure Boards, or GitLab Issue Boards) with hatch3r's label taxonomy, status fields, and board structure. Platform detected from hatch.json.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -249,7 +250,7 @@ Execute all planned mutations in sequence. No further questions unless a mutatio
249
250
  ```
250
251
  2. Look for a field named "Status" (case-insensitive match).
251
252
  3. If no Status field exists, create one via the `createProjectV2Field` mutation with type `SINGLE_SELECT`.
252
- 4. Ensure these status options exist on the field: **Backlog**, **Ready**, **In Progress**, **In Review**, **Done**.
253
+ 4. Verify these status options exist on the field: **Backlog**, **Ready**, **In Progress**, **In Review**, **Done**.
253
254
  - For missing options, use the `updateProjectV2Field` mutation (or the appropriate mutation for adding options to a single-select field) to add them.
254
255
  5. Capture the field ID and each option's ID.
255
256
  6. **Verify built-in "Done on close" automation:** After board creation, check the Projects V2 built-in workflows. Navigate to Project settings > Workflows > "Item closed" and verify it is enabled with Status mapped to "Done". Also verify "Pull request merged" maps Status to "Done". These workflows are on by default for UI-created projects but may not be enabled for API-created projects. Without these workflows, the board status will remain "In Review" after PR merge until `board-groom` detects the drift.
@@ -3,6 +3,7 @@ id: hatch3r-board-pickup
3
3
  type: command
4
4
  description: Pick up one or more epics/issues from the project board for development. Handles dependency-aware selection, collision detection, branching, parallel sub-agent delegation, and batch execution. Supports GitHub, Azure DevOps, and GitLab. Platform-specific details are in commands/board/pickup-{platform}.md.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  # Board Pickup -- Develop Issues from the Project Board
8
9
 
@@ -3,6 +3,7 @@ id: hatch3r-board-refresh
3
3
  type: command
4
4
  description: Regenerate the living board overview dashboard from current board state. Scans all open issues, computes health metrics, and updates the meta:board-overview issue.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -3,6 +3,7 @@ id: hatch3r-board-shared
3
3
  type: shared-context
4
4
  description: Shared context and procedures for all board commands. Provides platform-agnostic board config, label taxonomy, branch conventions, sync enforcement, and tooling directives. Platform-specific details are in commands/board/shared-{platform}.md.
5
5
  tags: [board, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  # Board Shared Reference
8
9
 
@@ -25,9 +26,9 @@ Before reading configuration, validate that prerequisites are met. If any check
25
26
  > "Board commands require owner and repo. Run `npx hatch3r config` to set your repository identity, or provide them in `.agents/hatch.json` under the top-level `owner` and `repo` fields."
26
27
 
27
28
  3. **Platform authentication:** Verify CLI authentication for the configured platform:
28
- - **GitHub:** Run `gh auth status`. If it fails, stop with: "GitHub CLI not authenticated. Run `gh auth login` and ensure your PAT has the `project` scope for Projects V2 access. See: https://docs.github.com/en/issues/planning-and-tracking-with-projects"
29
- - **Azure DevOps:** Run `az account show`. If it fails, stop with: "Azure CLI not authenticated. Run `az login` or set AZURE_DEVOPS_PAT. Ensure access to organization `{namespace}`."
30
- - **GitLab:** Run `glab auth status`. If it fails, stop with: "GitLab CLI not authenticated. Run `glab auth login` or set GITLAB_TOKEN. Ensure access to project `{namespace}/{project}`."
29
+ - **GitHub:** Run `gh auth status`. If it fails, stop with: "GitHub CLI not authenticated. Run `gh auth login` and confirm your PAT has the `project` scope for Projects V2 access. See: https://docs.github.com/en/issues/planning-and-tracking-with-projects"
30
+ - **Azure DevOps:** Run `az account show`. If it fails, stop with: "Azure CLI not authenticated. Run `az login` or set AZURE_DEVOPS_PAT. Confirm access to organization `{namespace}`."
31
+ - **GitLab:** Run `glab auth status`. If it fails, stop with: "GitLab CLI not authenticated. Run `glab auth login` or set GITLAB_TOKEN. Confirm access to project `{namespace}/{project}`."
31
32
 
32
33
  4. **projectNumber set (for commands other than board-init):** For `board-fill`, `board-groom`, `board-pickup`, and `board-refresh`, if `board.projectNumber` is null, stop with:
33
34
  > "No project board configured. Run the `board-init` command first to create or connect a project board. This sets up the board.projectNumber in `.agents/hatch.json`."
@@ -138,6 +139,36 @@ Board sync is **MANDATORY**, not optional. The following rules override any "ski
138
139
 
139
140
  ---
140
141
 
142
+ ## Epic Grouping Policy
143
+
144
+ All board commands that create or reorganize issues MUST follow this grouping policy. Epic grouping maximizes parallelization during pickup — agents can tackle multiple sub-issues of an epic concurrently, whereas standalone issues require serial pickup.
145
+
146
+ ### Standalone Threshold
147
+
148
+ **Target: zero standalone issues. Hard limit: no more than 10% of non-sub-issue items on the board should be standalone.**
149
+
150
+ Calculate: `standalone_count / (epic_count + standalone_count)`. Sub-issues are excluded from both numerator and denominator.
151
+
152
+ When the threshold is exceeded, board commands must apply progressively looser grouping strategies (area match → domain match → type match → catch-all epic) until the ratio is at or below 10%.
153
+
154
+ ### Grouping Priority Order
155
+
156
+ Apply these rules in strict priority order. Each rule reduces the remaining ungrouped pool before the next rule fires:
157
+
158
+ 1. **Absorb into existing epics** — item shares area, subsystem, or theme with an existing epic.
159
+ 2. **Form new epics** — 2+ ungrouped items share any connection (area, subsystem, type, domain, semantic similarity).
160
+ 3. **Singleton promotion** — a single item becomes a 1-item epic with a thematic name (e.g., "Performance Optimization", "Security Hardening"), positioned to absorb future related work. Prefer existing theme names from epics already on the board.
161
+ 4. **Catch-all epic** — truly isolated items go into a "General Improvements" epic (create one if it doesn't exist, absorb into it if it does).
162
+ 5. **Standalone (exception only)** — requires explicit user rejection of ALL grouping proposals AND a stated justification. The AI should never propose standalone status on its own.
163
+
164
+ ### When to Apply
165
+
166
+ - **board-fill Step 5:** Full grouping pass on new items + regrouping pass on existing standalones + post-grouping standalone audit.
167
+ - **board-groom Step 3f + Step 4j:** Detection of grouping opportunities + `regroup` action for execution.
168
+ - Both commands surface the standalone ratio in their health summaries and final reports.
169
+
170
+ ---
171
+
141
172
  ## Post-Merge Terminal State
142
173
 
143
174
  When a PR/MR merges and `Closes #N` auto-closes the referenced issues, the board item lifecycle must reach its terminal state. The `status:in-review` label should be replaced with `status:done`, and the board status should be set to "Done" using `board.statusOptions.done`.
@@ -3,6 +3,7 @@ id: hatch3r-bug-plan
3
3
  type: command
4
4
  description: Plan a complex bug investigation -- spawn parallel researchers, produce diagnosis report with ranked hypotheses and structured todo.md entries for board-fill.
5
5
  tags: [core, planning]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -65,7 +66,7 @@ Bug Brief:
65
66
  Prior attempts: {what has been tried, or "none"}
66
67
  ```
67
68
 
68
- **ASK:** "Does this capture the bug correctly? Adjust anything before I send this to the research phase."
69
+ **ASK:** "Does this capture the bug? Adjust anything before I send this to the research phase."
69
70
 
70
71
  ---
71
72
 
@@ -3,6 +3,7 @@ id: hatch3r-codebase-map
3
3
  type: command
4
4
  description: Reverse-engineer business and technical project specs from an existing codebase using parallel analyzer sub-agents with dual business/technical scoping
5
5
  tags: [planning, brownfield]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  # Codebase Map — Brownfield Codebase Analysis & Spec Generation
8
9
 
@@ -1001,7 +1002,7 @@ Each docs-writer prompt must include:
1001
1002
  - The confirmed scope, company stage, and business context from Step 1
1002
1003
  - The directory structure and file naming conventions below
1003
1004
  - Instruction to follow the `hatch3r-docs-writer` agent protocol
1004
- - Instruction to create directories as needed before writing files
1005
+ - Instruction to create directories before writing files if they do not exist
1005
1006
 
1006
1007
  #### 7a. Create Directories
1007
1008
 
@@ -1128,7 +1129,7 @@ The generated `AGENTS.md` should follow this structure:
1128
1129
  ```markdown
1129
1130
  # {Project Name} — Agent Instructions
1130
1131
 
1131
- > Auto-generated by hatch3r-codebase-map on {today's date}. Review and adjust as needed.
1132
+ > Auto-generated by hatch3r-codebase-map on {today's date}. Review and adjust before use.
1132
1133
 
1133
1134
  ## Project Purpose
1134
1135
 
@@ -1207,7 +1208,7 @@ Which would you like to run next? (or none)"
1207
1208
  - **Respect .gitignore** and always skip: `node_modules/`, `vendor/`, `dist/`, `build/`, `.git/`, `__pycache__/`, `.venv/`, `target/` (Rust), `bin/`, `obj/` (.NET).
1208
1209
  - **Never read `.env` files or actual secrets.** Only read `.env.example` or similar templates. If a hardcoded secret is found during analysis, flag it as a security concern but do not include the actual value in any output.
1209
1210
  - **Mark all inferred information as "Inferred."** Do not present static analysis guesses as established facts.
1210
- - **Handle monorepos correctly.** Detect workspace configuration (`workspaces` in `package.json`, `pnpm-workspace.yaml`, `turbo.json`, `nx.json`, `lerna.json`, Cargo workspaces, Go workspaces) and analyze each package as a separate module.
1211
+ - **Handle monorepos by detecting workspace configuration** (`workspaces` in `package.json`, `pnpm-workspace.yaml`, `turbo.json`, `nx.json`, `lerna.json`, Cargo workspaces, Go workspaces) and analyzing each package as a separate module.
1211
1212
  - **If `todo.md` already exists,** ASK before overwriting or appending.
1212
1213
  - **Sub-agents must not create files.** They return structured text results to the orchestrator. Only the orchestrator writes files in Step 7.
1213
1214
  - **Stage-adaptive recommendations.** Never recommend enterprise-grade solutions for pre-revenue startups. Never recommend MVP shortcuts for scale/enterprise companies. Calibrate all recommendations to the company stage from Step 1g.
@@ -3,6 +3,7 @@ id: hatch3r-command-customize
3
3
  type: command
4
4
  description: Configure per-command customization including description overrides, enable/disable control, and project-specific markdown instructions
5
5
  tags: [customize]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -54,7 +55,7 @@ Create `.hatch3r/commands/{command-id}.customize.md` with free-form markdown to
54
55
 
55
56
  Before creating any release:
56
57
 
57
- 1. Ensure all E2E tests pass on staging: `npm run test:e2e:staging`
58
+ 1. Run `npm run test:e2e:staging` and confirm all E2E tests pass on staging
58
59
  2. Verify the changelog has been updated in `CHANGELOG.md`
59
60
  3. Confirm the release has been approved in the `#releases` Slack channel
60
61
  4. Tag the Docker image with the release version
@@ -3,6 +3,7 @@ id: hatch3r-context-health
3
3
  type: command
4
4
  description: Monitor conversation context health, detect degradation, and auto-suggest fresh context or sub-agent delegation
5
5
  tags: [maintenance]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  ## Agent Pipeline
8
9
 
@@ -3,6 +3,7 @@ id: hatch3r-cost-tracking
3
3
  type: command
4
4
  description: Track and report token usage and estimated costs across agent workflows and board operations
5
5
  tags: [maintenance]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  ## Agent Pipeline
8
9
 
@@ -3,6 +3,7 @@ id: hatch3r-debug
3
3
  type: command
4
4
  description: Standalone debug-and-fix workflow — add strategic debug logging, collect runtime logs from the user, perform root cause analysis, implement the fix, and clean up all debug artifacts.
5
5
  tags: [core, implementation]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  # Debug — Instrument, Diagnose, and Fix from Runtime Evidence
8
9
 
@@ -123,7 +124,7 @@ Bug Context:
123
124
  Context loaded: {specs, learnings, rules found}
124
125
  ```
125
126
 
126
- **ASK:** "Does this capture the bug correctly? Adjust anything before I proceed to add debug logging."
127
+ **ASK:** "Does this capture the bug? Adjust anything before I proceed to add debug logging."
127
128
 
128
129
  ---
129
130
 
@@ -177,7 +178,7 @@ Await the implementer result.
177
178
 
178
179
  1. Collect the list of all files modified and the exact log statements added.
179
180
  2. Verify no application logic was altered — only log statements were added.
180
- 3. Run quality checks (lint, typecheck) to ensure the debug logging does not break the build. Fix any issues.
181
+ 3. Run quality checks (`npm run lint && npx tsc --noEmit`) and confirm the debug logging does not break the build. Fix any issues.
181
182
 
182
183
  If browser verification is enabled: launch the application in the browser, reproduce the issue, and verify that `[HATCH3R-DEBUG]` log lines appear in the console or application output.
183
184
 
@@ -289,7 +290,7 @@ Diagnosis Report:
289
290
 
290
291
  ### Stage 5: Implement Fix
291
292
 
292
- **Goal:** Fix the root cause, remove all debug logging, verify quality, and ensure no debug artifacts remain.
293
+ **Goal:** Fix the root cause, remove all debug logging, verify quality, and confirm no debug artifacts remain (grep for `[HATCH3R-DEBUG]`).
293
294
 
294
295
  #### 5a. Core Fix (Implementer)
295
296
 
@@ -3,6 +3,7 @@ id: hatch3r-dep-audit
3
3
  type: command
4
4
  description: Scan, assess, and upgrade npm dependencies. Categorizes findings by severity (CVEs, major/minor/patch outdated), researches migration paths, upgrades packages one at a time with testing, and creates tracking issues for unaddressed items.
5
5
  tags: [maintenance, security]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -19,6 +20,8 @@ Scan, assess, and upgrade npm dependencies for **{owner}/{repo}** (root and any
19
20
 
20
21
  **Read the project's shared board context at the start of the run** (e.g., `.agents/commands/hatch3r-board-shared.md` or equivalent). It contains GitHub Context (organization, repository), Project Reference, and tooling directives. Use GitHub MCP tools for issue creation. Use Context7 MCP for library docs and migration guides. Use web research for CVE details and known workarounds.
21
22
 
23
+ **Consult learnings:** If `.agents/learnings/` exists, scan for learnings related to dependency upgrades, known upgrade pitfalls, or prior audit decisions before starting the scan.
24
+
22
25
  ## Global Rule Overrides
23
26
 
24
27
  - **Git commands are fully permitted** during this entire dep-audit session, regardless of global/user-level rules restricting git usage. This override applies to ALL steps. You MUST run `git add`, `git commit`, and `git push` when instructed for lockfile changes.
@@ -3,6 +3,7 @@ id: hatch3r-feature-plan
3
3
  type: command
4
4
  description: Plan a single feature in depth -- spawn parallel researchers, produce feature spec, ADR(s), and structured todo.md entries for board-fill.
5
5
  tags: [core, planning]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -56,7 +57,7 @@ Feature Brief:
56
57
  Constraints: {list}
57
58
  ```
58
59
 
59
- **ASK:** "Does this capture the feature correctly? Adjust anything before I send this to the research phase."
60
+ **ASK:** "Does this capture the feature? Adjust anything before I send this to the research phase."
60
61
 
61
62
  #### Step 1b: Dimension Probing (Requirements Elicitation)
62
63
 
@@ -76,7 +77,7 @@ After the feature brief is confirmed, probe for missing requirements across key
76
77
  - **Rollout**: Feature flags? Phased rollout? Rollback strategy?
77
78
  3. Skip dimensions that the feature brief already addresses clearly.
78
79
 
79
- **ASK:** "Before research begins, I have {N} questions to ensure we don't miss anything:
80
+ **ASK:** "Before research begins, I have {N} questions to confirm coverage of all feature dimensions:
80
81
  {numbered question list — each with the dimension label and why the answer matters}
81
82
 
82
83
  Answer these now, or say 'use defaults' for any where you're comfortable with a reasonable default."
@@ -3,6 +3,7 @@ id: hatch3r-healthcheck
3
3
  type: command
4
4
  description: Create a full-product QA and testing audit epic with one sub-issue per project module
5
5
  tags: [maintenance]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -3,12 +3,17 @@ id: hatch3r-hooks
3
3
  type: command
4
4
  description: Define and manage event-driven hooks that activate agents on project events
5
5
  tags: [core, devops]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
9
10
 
10
11
  This command runs as a single orchestrator without sub-agent delegation. Hook definition and management are performed inline.
11
12
 
13
+ ## Learnings Consultation
14
+
15
+ If `.agents/learnings/` exists, scan for learnings related to hook configurations, event trigger patterns, or prior hook issues before starting.
16
+
12
17
  # Hooks — Event-Driven Agent Activation
13
18
 
14
19
  Define, edit, and manage event-driven hooks that automatically activate hatch3r agents when specific project events occur. Hook definitions are tool-agnostic — the adapter pipeline translates them into tool-native configurations during `npx hatch3r sync`.
@@ -3,6 +3,7 @@ id: hatch3r-learn
3
3
  type: command
4
4
  description: Capture learnings from development sessions into reusable knowledge files for future consultation.
5
5
  tags: [core, maintenance]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -3,6 +3,7 @@ id: hatch3r-migration-plan
3
3
  type: command
4
4
  description: Create a phased migration plan for a major dependency or framework upgrade. Analyzes breaking changes and produces an actionable plan with rollback procedures.
5
5
  tags: [planning, brownfield]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -61,7 +62,7 @@ Migration Brief:
61
62
  Version Gap: {N} major versions / {M} minor versions
62
63
  ```
63
64
 
64
- **ASK:** "Does this capture the migration correctly? Adjust anything before I proceed to analysis."
65
+ **ASK:** "Does this capture the migration? Adjust anything before I proceed to analysis."
65
66
 
66
67
  #### Step 1b: Dimension Probing
67
68
 
@@ -77,7 +78,7 @@ After the migration brief is confirmed, probe for missing context. Analyze the b
77
78
 
78
79
  Skip dimensions that the migration brief already addresses clearly.
79
80
 
80
- **ASK:** "Before research begins, I have {N} questions to ensure we don't miss anything:
81
+ **ASK:** "Before research begins, I have {N} questions to confirm coverage of all migration dimensions:
81
82
  {numbered question list — each with the dimension label and why the answer matters}
82
83
 
83
84
  Answer these now, or say 'use defaults' for any where you're comfortable with a reasonable default."
@@ -3,6 +3,7 @@ id: hatch3r-onboard
3
3
  type: command
4
4
  description: Generate a comprehensive onboarding guide for a new developer joining the project -- spawn parallel researchers to analyze codebase structure, architecture, and conventions, then produce a tailored onboarding document with setup instructions, architecture walkthrough, coding conventions, key workflows, tribal knowledge, and a quick-reference cheat sheet.
5
5
  tags: [brownfield, team]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -56,7 +57,7 @@ Onboarding Brief:
56
57
  Depth: {derived — junior=detailed, mid=standard, senior=concise, staff=architecture-focused}
57
58
  ```
58
59
 
59
- **ASK:** "Does this capture the onboarding needs correctly? Adjust anything before I continue."
60
+ **ASK:** "Does this capture the onboarding needs? Adjust anything before I continue."
60
61
 
61
62
  #### Step 1b: Dimension Probing (Team Context)
62
63
 
@@ -3,6 +3,7 @@ id: hatch3r-project-spec
3
3
  type: command
4
4
  description: Generate complete business and technical project documentation (specs, ADRs, todo.md) from a project vision using parallel researcher sub-agents with dual business/technical scoping.
5
5
  tags: [planning, greenfield]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
  # Project Spec — Greenfield Project Specification from Vision to Docs
8
9
 
@@ -112,7 +113,7 @@ Company Stage:
112
113
  Funding: {status}
113
114
  ```
114
115
 
115
- **ASK:** "Does this capture your vision and business context correctly? Adjust anything before I send this to the research phase."
116
+ **ASK:** "Does this capture your vision and business context? Adjust anything before I send this to the research phase."
116
117
 
117
118
  If running as part of a pipeline after `hatch3r-codebase-map`, check for `.hatch3r-session.json` and pre-fill any already-answered questions. Confirm with the user rather than re-asking.
118
119
 
@@ -1018,7 +1019,7 @@ Each docs-writer prompt must include:
1018
1019
  - The confirmed project vision, company stage, and business context from Step 1
1019
1020
  - The directory structure and file naming conventions below
1020
1021
  - Instruction to follow the `hatch3r-docs-writer` agent protocol
1021
- - Instruction to create directories as needed before writing files
1022
+ - Instruction to create directories before writing files if they do not exist
1022
1023
 
1023
1024
  After all docs-writers complete, the orchestrator handles the remaining files (todo.md, .hatch3r-session.json) and presents the summary.
1024
1025
 
@@ -1105,7 +1106,7 @@ The generated `AGENTS.md` should follow this structure:
1105
1106
  ```markdown
1106
1107
  # {Project Name} — Agent Instructions
1107
1108
 
1108
- > Auto-generated by hatch3r-project-spec on {today's date}. Review and adjust as needed.
1109
+ > Auto-generated by hatch3r-project-spec on {today's date}. Review and adjust before use.
1109
1110
 
1110
1111
  ## Project Purpose
1111
1112
 
@@ -3,6 +3,7 @@ id: hatch3r-quick-change
3
3
  type: command
4
4
  description: Lightweight command for small changes not worth tracking on the board. Adaptive ceremony with inline or sub-agent implementation, batch support, and soft scope guards.
5
5
  tags: [core, implementation]
6
+ quality_charter: agents/shared/quality-charter.md
6
7
  ---
7
8
 
8
9
  ## Agent Pipeline
@@ -262,6 +263,7 @@ The reviewer prompt MUST include:
262
263
  2. Process reviewer output:
263
264
  - If **0 Critical and 0 Warning** findings: review loop is clean. Proceed to Step 6b.
264
265
  - If Critical or Warning findings remain: spawn `hatch3r-fixer` sub-agent to address them, then re-run the reviewer (next iteration).
266
+ The fixer prompt MUST include: the reviewer findings, all `scope: always` rule directives, and the confidence expression requirement (high/medium/low per the quality charter).
265
267
  - **Suggestions**: skip. The point of quick-change is speed.
266
268
 
267
269
  3. If 3 iterations complete and findings remain, **ASK** the user whether to proceed or fix manually.