hatch3r 1.7.0 → 1.7.5

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 (160) hide show
  1. package/README.md +38 -12
  2. package/agents/hatch3r-a11y-auditor.md +4 -0
  3. package/agents/hatch3r-architect.md +5 -1
  4. package/agents/hatch3r-ci-watcher.md +4 -0
  5. package/agents/hatch3r-context-rules.md +4 -0
  6. package/agents/hatch3r-creator.md +4 -0
  7. package/agents/hatch3r-dependency-auditor.md +4 -0
  8. package/agents/hatch3r-devops.md +4 -0
  9. package/agents/hatch3r-docs-writer.md +4 -0
  10. package/agents/hatch3r-fixer.md +5 -1
  11. package/agents/hatch3r-handoff-loader.md +243 -0
  12. package/agents/hatch3r-handoff-preparer.md +134 -0
  13. package/agents/hatch3r-implementer.md +5 -1
  14. package/agents/hatch3r-learnings-loader.md +4 -0
  15. package/agents/hatch3r-lint-fixer.md +4 -0
  16. package/agents/hatch3r-perf-profiler.md +8 -0
  17. package/agents/hatch3r-researcher.md +5 -1
  18. package/agents/hatch3r-reviewer.md +92 -0
  19. package/agents/hatch3r-security-auditor.md +24 -0
  20. package/agents/hatch3r-test-writer.md +4 -0
  21. package/agents/modes/requirements-elicitation.md +5 -1
  22. package/agents/modes/similar-implementation.md +6 -0
  23. package/agents/modes/user-flows.md +76 -0
  24. package/agents/shared/quality-charter.md +129 -0
  25. package/agents/shared/user-question-protocol.md +95 -0
  26. package/commands/board/shared-azure-devops.md +2 -0
  27. package/commands/board/shared-github.md +17 -0
  28. package/commands/board/shared-gitlab.md +4 -0
  29. package/commands/hatch3r-board-fill.md +2 -1
  30. package/commands/hatch3r-board-pickup.md +1 -1
  31. package/commands/hatch3r-board-shared.md +21 -0
  32. package/commands/hatch3r-create.md +2 -0
  33. package/commands/hatch3r-handoff.md +126 -0
  34. package/commands/hatch3r-pr-resolve.md +672 -0
  35. package/commands/hatch3r-quick-change.md +5 -3
  36. package/commands/hatch3r-report.md +167 -0
  37. package/commands/hatch3r-revision.md +1 -1
  38. package/commands/hatch3r-workflow.md +3 -1
  39. package/dist/cli/index.js +3144 -979
  40. package/dist/cli/index.js.map +1 -1
  41. package/package.json +4 -2
  42. package/rules/hatch3r-accessibility-standards.md +21 -0
  43. package/rules/hatch3r-accessibility-standards.mdc +21 -0
  44. package/rules/hatch3r-agent-orchestration.md +32 -1
  45. package/rules/hatch3r-agent-orchestration.mdc +32 -1
  46. package/rules/hatch3r-ai-evals.md +158 -0
  47. package/rules/hatch3r-ai-evals.mdc +154 -0
  48. package/rules/hatch3r-ai-ux-patterns.md +131 -0
  49. package/rules/hatch3r-ai-ux-patterns.mdc +127 -0
  50. package/rules/hatch3r-api-design.md +67 -9
  51. package/rules/hatch3r-api-design.mdc +67 -9
  52. package/rules/hatch3r-api-versioning.md +119 -0
  53. package/rules/hatch3r-api-versioning.mdc +115 -0
  54. package/rules/hatch3r-auth-patterns.md +170 -0
  55. package/rules/hatch3r-auth-patterns.mdc +166 -0
  56. package/rules/hatch3r-component-conventions.md +30 -0
  57. package/rules/hatch3r-component-conventions.mdc +30 -0
  58. package/rules/hatch3r-container-hardening.md +131 -0
  59. package/rules/hatch3r-container-hardening.mdc +127 -0
  60. package/rules/hatch3r-contract-testing.md +117 -0
  61. package/rules/hatch3r-contract-testing.mdc +113 -0
  62. package/rules/hatch3r-deep-context.md +3 -1
  63. package/rules/hatch3r-deep-context.mdc +3 -1
  64. package/rules/hatch3r-dependency-management.md +73 -1
  65. package/rules/hatch3r-dependency-management.mdc +72 -0
  66. package/rules/hatch3r-design-system-detection.md +142 -0
  67. package/rules/hatch3r-design-system-detection.mdc +138 -0
  68. package/rules/hatch3r-event-schema-evolution.md +90 -0
  69. package/rules/hatch3r-event-schema-evolution.mdc +86 -0
  70. package/rules/hatch3r-handoff-readiness.md +45 -0
  71. package/rules/hatch3r-handoff-readiness.mdc +40 -0
  72. package/rules/hatch3r-i18n.md +13 -0
  73. package/rules/hatch3r-i18n.mdc +13 -0
  74. package/rules/hatch3r-iteration-summary.md +2 -0
  75. package/rules/hatch3r-iteration-summary.mdc +2 -0
  76. package/rules/hatch3r-migrations.md +61 -16
  77. package/rules/hatch3r-migrations.mdc +61 -16
  78. package/rules/hatch3r-observability-logging.md +1 -1
  79. package/rules/hatch3r-observability-logging.mdc +1 -1
  80. package/rules/hatch3r-observability-metrics.md +1 -1
  81. package/rules/hatch3r-observability-metrics.mdc +1 -1
  82. package/rules/hatch3r-observability-tracing-detail.md +1 -1
  83. package/rules/hatch3r-observability-tracing-detail.mdc +1 -1
  84. package/rules/hatch3r-observability-tracing.md +1 -1
  85. package/rules/hatch3r-observability-tracing.mdc +1 -1
  86. package/rules/hatch3r-observability.md +1 -0
  87. package/rules/hatch3r-observability.mdc +1 -0
  88. package/rules/hatch3r-operability.md +149 -0
  89. package/rules/hatch3r-operability.mdc +145 -0
  90. package/rules/hatch3r-passkey-server.md +181 -0
  91. package/rules/hatch3r-passkey-server.mdc +177 -0
  92. package/rules/hatch3r-progressive-delivery.md +120 -0
  93. package/rules/hatch3r-progressive-delivery.mdc +116 -0
  94. package/rules/hatch3r-resilience-patterns.md +154 -0
  95. package/rules/hatch3r-resilience-patterns.mdc +150 -0
  96. package/rules/hatch3r-secrets-management.md +29 -0
  97. package/rules/hatch3r-secrets-management.mdc +29 -0
  98. package/rules/hatch3r-testing.md +139 -43
  99. package/rules/hatch3r-testing.mdc +139 -43
  100. package/rules/hatch3r-ux-states-and-flows.md +149 -0
  101. package/rules/hatch3r-ux-states-and-flows.mdc +145 -0
  102. package/skills/hatch3r-a11y-audit/SKILL.md +14 -0
  103. package/skills/hatch3r-ai-feature/SKILL.md +134 -0
  104. package/skills/hatch3r-api-spec/SKILL.md +5 -0
  105. package/skills/hatch3r-architecture-review/SKILL.md +14 -0
  106. package/skills/hatch3r-bug-fix/SKILL.md +5 -0
  107. package/skills/hatch3r-ci-pipeline/SKILL.md +14 -0
  108. package/skills/hatch3r-cli-aichat/SKILL.md +84 -0
  109. package/skills/hatch3r-cli-ast-grep/SKILL.md +85 -0
  110. package/skills/hatch3r-cli-az-devops/SKILL.md +89 -0
  111. package/skills/hatch3r-cli-bat/SKILL.md +85 -0
  112. package/skills/hatch3r-cli-comby/SKILL.md +85 -0
  113. package/skills/hatch3r-cli-csvkit/SKILL.md +84 -0
  114. package/skills/hatch3r-cli-delta/SKILL.md +86 -0
  115. package/skills/hatch3r-cli-difftastic/SKILL.md +84 -0
  116. package/skills/hatch3r-cli-docker/SKILL.md +89 -0
  117. package/skills/hatch3r-cli-duckdb/SKILL.md +84 -0
  118. package/skills/hatch3r-cli-fd/SKILL.md +85 -0
  119. package/skills/hatch3r-cli-fzf/SKILL.md +84 -0
  120. package/skills/hatch3r-cli-gh/SKILL.md +90 -0
  121. package/skills/hatch3r-cli-glab/SKILL.md +89 -0
  122. package/skills/hatch3r-cli-jq/SKILL.md +85 -0
  123. package/skills/hatch3r-cli-lazygit/SKILL.md +78 -0
  124. package/skills/hatch3r-cli-llm/SKILL.md +84 -0
  125. package/skills/hatch3r-cli-miller/SKILL.md +84 -0
  126. package/skills/hatch3r-cli-mods/SKILL.md +84 -0
  127. package/skills/hatch3r-cli-overview/SKILL.md +60 -0
  128. package/skills/hatch3r-cli-playwright/SKILL.md +89 -0
  129. package/skills/hatch3r-cli-podman/SKILL.md +84 -0
  130. package/skills/hatch3r-cli-ripgrep/SKILL.md +85 -0
  131. package/skills/hatch3r-cli-rtk/SKILL.md +91 -0
  132. package/skills/hatch3r-cli-sd/SKILL.md +85 -0
  133. package/skills/hatch3r-cli-stagehand/SKILL.md +79 -0
  134. package/skills/hatch3r-cli-taplo/SKILL.md +84 -0
  135. package/skills/hatch3r-cli-xsv/SKILL.md +89 -0
  136. package/skills/hatch3r-cli-yq/SKILL.md +85 -0
  137. package/skills/hatch3r-cli-zstd/SKILL.md +85 -0
  138. package/skills/hatch3r-context-health/SKILL.md +14 -0
  139. package/skills/hatch3r-cost-tracking/SKILL.md +14 -0
  140. package/skills/hatch3r-customize/SKILL.md +14 -0
  141. package/skills/hatch3r-dep-audit/SKILL.md +14 -0
  142. package/skills/hatch3r-design-system-detect/SKILL.md +162 -0
  143. package/skills/hatch3r-feature/SKILL.md +2 -0
  144. package/skills/hatch3r-gh-agentic-workflows/SKILL.md +13 -0
  145. package/skills/hatch3r-handoff-prepare/SKILL.md +160 -0
  146. package/skills/hatch3r-handoff-resume/SKILL.md +171 -0
  147. package/skills/hatch3r-incident-response/SKILL.md +14 -0
  148. package/skills/hatch3r-issue-workflow/SKILL.md +5 -0
  149. package/skills/hatch3r-logical-refactor/SKILL.md +14 -0
  150. package/skills/hatch3r-migration/SKILL.md +14 -0
  151. package/skills/hatch3r-observability-verify/SKILL.md +133 -0
  152. package/skills/hatch3r-perf-audit/SKILL.md +14 -0
  153. package/skills/hatch3r-pr-creation/SKILL.md +14 -0
  154. package/skills/hatch3r-qa-validation/SKILL.md +18 -0
  155. package/skills/hatch3r-recipe/SKILL.md +14 -0
  156. package/skills/hatch3r-refactor/SKILL.md +14 -0
  157. package/skills/hatch3r-release/SKILL.md +14 -0
  158. package/skills/hatch3r-reliability-verify/SKILL.md +144 -0
  159. package/skills/hatch3r-ui-ux-verify/SKILL.md +136 -0
  160. package/skills/hatch3r-visual-refactor/SKILL.md +15 -1
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-sd
3
+ description: "Intuitive sed replacement with literal string patterns. Use when literal-string stream substitution with no regex foot-guns; invoke `sd`. Operates byte-by-byte; safe for fixed-string edits where regex would over-match."
4
+ tags: ["cli-tools", "edit", "core"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: sd
10
+ bin: sd
11
+ tier: 1
12
+ category: edit
13
+ homepage: https://github.com/chmln/sd
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # sd
17
+
18
+ Intuitive sed replacement with literal string patterns
19
+
20
+ ## When to Use
21
+
22
+ Reach for `sd` when the task is in the **edit** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ sd 'foo\(' 'bar(' src/lib/util.ts
33
+ ```
34
+ Single-file substitution — sd defaults to regex, no escaping for forward slashes or `&`.
35
+
36
+ ```bash
37
+ sd -p 'oldName' 'newName' src/main.ts
38
+ ```
39
+ `-p` (preview) prints the diff without writing — safer than running sed and re-reading.
40
+
41
+ ```bash
42
+ sd '\bAPI_KEY\b' 'GH_TOKEN' .env
43
+ ```
44
+ Word-boundary anchors catch the symbol without rewriting `API_KEY_BACKUP` or similar.
45
+
46
+ ```bash
47
+ rg --files-with-matches 'oldName' -tts | xargs sd 'oldName' 'newName'
48
+ ```
49
+ Two-phase rewrite: `rg` finds candidate files, `sd` applies the substitution per file in parallel.
50
+
51
+ ```bash
52
+ sd -s 'literal string with $special chars' 'replacement' README.md
53
+ ```
54
+ `-s` switches to literal-string mode — no regex interpretation, useful when the pattern contains `.`, `*`, `(`.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't use `sd` for multi-step stream transforms (insert, delete, swap lines in one pass). Reach for `sed -e ... -e ...`, awk, or a real script.
59
+ - Don't use `sd` to refactor identifiers that need type awareness — it cannot tell `count` (the variable) from `count` (the field name). Reach for `ast-grep` (`hatch3r-cli-ast-grep`).
60
+ - Don't reach for `sd` to rewrite extremely large files (>1 GB); it buffers the file in memory. Reach for streaming tools like `sed`.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `sed` (POSIX) | Multi-step transforms, ed-style addressing, or any place sd's flag surface is too thin. |
67
+ | `ast-grep` (`hatch3r-cli-ast-grep`) | Identifier-aware rewrites that must respect language structure. |
68
+ | `perl -pi -e` | Backreferences and lookaround in mature scripts where Perl is already a dependency. |
69
+ | Editor's "rename symbol" (LSP) | Authoritative rename across modules with type information. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v sd
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install sd
83
+ ```
84
+
85
+ Homepage: https://github.com/chmln/sd
@@ -0,0 +1,79 @@
1
+ ---
2
+ id: hatch3r-cli-stagehand
3
+ description: "Browserbase Stagehand — AI-driven browser automation. Use when natural-language browser steering with on-the-fly DOM reasoning; invoke `stagehand`. Wraps Browserbase Stagehand so prompts decide which DOM nodes to inspect or click."
4
+ tags: ["cli-tools", "browser", "opt-in"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: stagehand
10
+ bin: stagehand
11
+ tier: 3
12
+ category: browser
13
+ homepage: https://github.com/browserbase/stagehand
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # stagehand
17
+
18
+ Browserbase Stagehand — AI-driven browser automation
19
+
20
+ ## When to Use
21
+
22
+ Reach for `stagehand` when the task is in the **browser** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ npx stagehand init
33
+ ```
34
+ Scaffold a Stagehand project with sample TypeScript actions and a `stagehand.config.ts`.
35
+
36
+ ```bash
37
+ npx stagehand run scripts/login.ts
38
+ ```
39
+ Execute an AI-driven action script — Stagehand resolves selectors from natural-language intent at runtime.
40
+
41
+ ```bash
42
+ npx stagehand record --selector-mode=ai
43
+ ```
44
+ Record an interactive session, capturing AI-resolved selectors for replay.
45
+
46
+ ```bash
47
+ npx stagehand observe https://example.com 'find the login form'
48
+ ```
49
+ One-shot observation — returns the structured action(s) without executing them. Useful for dry-run agent loops.
50
+
51
+ ## Wrong Choice When
52
+
53
+ - **Deterministic E2E test flow with stable selectors:** the AI resolution adds latency and flakiness for selectors you already control. Use `hatch3r-cli-playwright` (tier 2) instead.
54
+ - **High-volume scraping at scale:** Stagehand's per-action LLM round-trip is cost-prohibitive past a few hundred pages — use the Browserbase remote-browser product or raw Playwright with explicit selectors.
55
+ - **Headless CI in air-gapped environments:** Stagehand requires outbound LLM API access for selector resolution; offline environments fail open-loop.
56
+
57
+ ## Alternatives
58
+
59
+ | Tool | When to prefer |
60
+ |------|----------------|
61
+ | `hatch3r-cli-playwright` (tier 2) | Stable selectors, deterministic CI, no LLM round-trips needed |
62
+ | Browserbase managed browsers | Production scale, session recording, anti-bot evasion |
63
+ | Skyvern / Browser-Use | Workflow-style automation with embedded LLM agents |
64
+
65
+ ## Detection / Install
66
+
67
+ Verify with:
68
+ ```bash
69
+ command -v stagehand
70
+ ```
71
+
72
+ Install (mac):
73
+
74
+ ```bash
75
+ # npm
76
+ npm install -g @browserbasehq/stagehand
77
+ ```
78
+
79
+ Homepage: https://github.com/browserbase/stagehand
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-taplo
3
+ description: "TOML toolkit (format, lint, query) for pyproject.toml / Cargo.toml. Use when formatting and linting pyproject.toml or Cargo.toml manifests; invoke `taplo`. Preserves YAML anchors, comments, and ordering when editing in place."
4
+ tags: ["cli-tools", "yaml"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: taplo
10
+ bin: taplo
11
+ tier: 2
12
+ category: yaml
13
+ homepage: https://taplo.tamasfe.dev/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # taplo
17
+
18
+ TOML toolkit (format, lint, query) for pyproject.toml / Cargo.toml
19
+
20
+ ## When to Use
21
+
22
+ Reach for `taplo` when the task is in the **yaml** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ taplo fmt
33
+ ```
34
+ Format every TOML file under the cwd in-place; idempotent — safe to run in pre-commit.
35
+
36
+ ```bash
37
+ taplo fmt --check
38
+ ```
39
+ Exit non-zero if any TOML file would change; CI-friendly drift detector.
40
+
41
+ ```bash
42
+ taplo lint
43
+ ```
44
+ Surface syntax and schema-violation diagnostics; works with bundled schemas for `Cargo.toml`, `pyproject.toml`.
45
+
46
+ ```bash
47
+ taplo get -f Cargo.toml package.version
48
+ ```
49
+ Extract a single TOML value as plain stdout — replaces a multi-line `grep`/`sed` recipe.
50
+
51
+ ```bash
52
+ taplo get -f pyproject.toml -o json 'project.dependencies'
53
+ ```
54
+ Emit the value as JSON for piping into `jq` — keeps quoting unambiguous.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - The project has no TOML files (pure YAML/JSON config) — skip entirely; use `yq` for YAML, `jq` for JSON.
59
+ - You are converting TOML to YAML/JSON as the goal — `yq` or `dasel` handle multi-format conversion in one binary.
60
+ - The TOML lives inside a templating system (Jinja/Handlebars) — render the template first, then run `taplo` on the output.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `yq` | Mixed YAML/TOML/JSON; want a single multi-format query tool. |
67
+ | `dasel` | Same as `yq` plus XML; cross-format updates. |
68
+ | `grep` + `sed` | A single value lookup in a script with no `taplo` dependency available. |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v taplo
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install taplo
82
+ ```
83
+
84
+ Homepage: https://taplo.tamasfe.dev/
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: hatch3r-cli-xsv
3
+ description: "Fast CSV toolkit (slice, search, join, stats). Use when slicing huge CSV documents by row range or column without materialising the dataset; invoke `xsv`. Streams records lazily; works on datasets that exceed available RAM."
4
+ tags: ["cli-tools", "data"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: xsv
10
+ bin: xsv
11
+ tier: 2
12
+ category: data
13
+ homepage: https://github.com/BurntSushi/xsv
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # xsv
17
+
18
+ Fast CSV toolkit (slice, search, join, stats)
19
+
20
+ ## When to Use
21
+
22
+ Reach for `xsv` when the task is in the **data** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ xsv stats huge.csv
33
+ ```
34
+ Per-column min/max/mean/stddev/cardinality — single streaming pass over the file.
35
+
36
+ ```bash
37
+ xsv select name,email,active records.csv
38
+ ```
39
+ Project a subset of columns without rewriting; output stays CSV for downstream tools.
40
+
41
+ ```bash
42
+ xsv sort -s amount records.csv | xsv slice -e 100
43
+ ```
44
+ Sort by `amount` then take the first 100 rows — composable pipe; both stages stream.
45
+
46
+ ```bash
47
+ xsv frequency -s status events.csv
48
+ ```
49
+ Tabulate value counts for a column; output is itself CSV, parsable by the next step.
50
+
51
+ ```bash
52
+ xsv search -s email '@example\.com$' users.csv
53
+ ```
54
+ Regex-filter a column — much cheaper than loading the whole file into a SQL engine.
55
+
56
+ ```bash
57
+ xsv join id orders.csv id customers.csv > joined.csv
58
+ ```
59
+ Hash join two CSVs on a common column without spinning up DuckDB.
60
+
61
+ ## Wrong Choice When
62
+
63
+ - The query needs aggregation across millions of rows or multiple files — DuckDB (Tier 2 sibling) is built for that scan plan.
64
+ - You need a multi-way join with type coercion or window functions — `xsv join` is hash-only and untyped; use DuckDB.
65
+ - The data is JSON or Parquet, not CSV — pipe through `jq`/DuckDB instead of CSV-converting first.
66
+
67
+ ## Alternatives
68
+
69
+ | Tool | When to prefer |
70
+ |------|----------------|
71
+ | DuckDB | Aggregations, joins, or non-CSV inputs (Parquet/JSON). |
72
+ | Miller (`mlr`) | Need TSV/JSON-Lines support or per-record transforms in the same tool. |
73
+ | csvkit | Want CSV-to-SQL or CSV-to-JSON conversions out of the box. |
74
+
75
+ ## Detection / Install
76
+
77
+ Verify with:
78
+ ```bash
79
+ command -v xsv
80
+ ```
81
+
82
+ Install (mac):
83
+
84
+ ```bash
85
+ # brew
86
+ brew install xsv
87
+ ```
88
+
89
+ Homepage: https://github.com/BurntSushi/xsv
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-yq
3
+ description: "YAML processor (mikefarah Go implementation). Use when editing Kubernetes manifests, Helm values, or GitHub-Actions workflows in place; invoke `yq`. Preserves YAML anchors, comments, and ordering when editing in place."
4
+ tags: ["cli-tools", "yaml", "core"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: yq
10
+ bin: yq
11
+ tier: 1
12
+ category: yaml
13
+ homepage: https://github.com/mikefarah/yq
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # yq
17
+
18
+ YAML processor (mikefarah Go implementation)
19
+
20
+ ## When to Use
21
+
22
+ Reach for `yq` when the task is in the **yaml** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ yq '.spec.containers[].image' k8s/deployment.yml
33
+ ```
34
+ Project every container image across multi-doc Kubernetes manifests — same path syntax as `jq`.
35
+
36
+ ```bash
37
+ yq -i '.version = "1.7.5"' .agents/hatch.json
38
+ ```
39
+ In-place edit (`-i`) — single-shot version bumps without shelling out to a templating step.
40
+
41
+ ```bash
42
+ yq -o=json '.' config.yml | jq '.servers | length'
43
+ ```
44
+ Convert YAML to JSON on the wire so `jq` can take over for richer querying.
45
+
46
+ ```bash
47
+ yq eval-all '. as $i ireduce ({}; . * $i)' base.yml override.yml
48
+ ```
49
+ Deep-merge multiple YAML documents into one — pattern for layered config (base + env override).
50
+
51
+ ```bash
52
+ yq -P -i '.tags |= sort | .' content.yml
53
+ ```
54
+ Pretty-print preservation (`-P`) keeps comments/anchors stable while sorting the `tags` array in place.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't assume `yq` flags work when the binary is actually the Python `kislyuk/yq` wrapper around jq — flags and filter dialect differ. Confirm `yq --version` reports `mikefarah` first; otherwise reach for `python-yq` documentation or install the Go build.
59
+ - Don't expect round-trip comment preservation without the `-P` (pretty) output mode; default JSON-style output drops comments. Reach for `yq -P` or `taplo` for TOML.
60
+ - Don't use `yq` on Kubernetes manifests when you actually need schema-aware validation. Reach for `kubectl explain` / `kubeconform` and use `yq` only for projection.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `jq` (`hatch3r-cli-jq`) | JSON input, or YAML converted via `yq -o=json` — jq's filter language has more rebuild idioms. |
67
+ | `dasel` | Multi-format (JSON/YAML/TOML/XML) single-binary path queries in CI. |
68
+ | `taplo` | TOML-specific formatting and schema validation (`pyproject.toml`, `Cargo.toml`). |
69
+ | `kubectl explain` | Kubernetes-resource schema lookup — `yq` projects, kubectl explains. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v yq
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install yq
83
+ ```
84
+
85
+ Homepage: https://github.com/mikefarah/yq
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-zstd
3
+ description: "Fast lossless compression with high ratio. Use when high-ratio compression with single-digit-millisecond decompress speeds; invoke `zstd`. Designed for cold-storage payloads and CI artifact upload/download steps."
4
+ tags: ["cli-tools", "archive", "core"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ cli_tool:
9
+ id: zstd
10
+ bin: zstd
11
+ tier: 1
12
+ category: archive
13
+ homepage: https://github.com/facebook/zstd
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # zstd
17
+
18
+ Fast lossless compression with high ratio
19
+
20
+ ## When to Use
21
+
22
+ Reach for `zstd` when the task is in the **archive** category and the agent would otherwise call an MCP tool or read large outputs into context.
23
+
24
+ ## Token Cost
25
+
26
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
27
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
28
+
29
+ ## Recipes
30
+
31
+ ```bash
32
+ tar --zstd -cf bundle.tar.zst dist/ governance/
33
+ ```
34
+ Stream `tar` through zstd in one shot — default level (~3) gives high-ratio archives an order of magnitude faster than gzip.
35
+
36
+ ```bash
37
+ tar --zstd -xf bundle.tar.zst -C /tmp/restore/
38
+ ```
39
+ Extract a zstd-compressed tarball to a target directory — paired with the previous recipe for round-trip backup.
40
+
41
+ ```bash
42
+ zstd -19 -T0 huge.csv
43
+ ```
44
+ Level 19 (near-max ratio) with `-T0` (all CPU threads) — appropriate for archival snapshots where compression time is fine.
45
+
46
+ ```bash
47
+ pzstd --keep -d findings.tar.zst
48
+ ```
49
+ Parallel decompression preserving the input (`--keep`) — fastest restore path for large `.zst` archives on multi-core hosts.
50
+
51
+ ```bash
52
+ zstd --train datasets/*.json -o dict.zstd && zstd -D dict.zstd payload.json
53
+ ```
54
+ Train a dictionary from a sample corpus then compress with `-D dict.zstd` — wins when payloads share schema (logs, structured events).
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't use `zstd` for distribution where every byte of size matters and decompression speed does not. Reach for `xz` (`xz -9e`) — slower but tighter ratios for immutable releases.
59
+ - Don't ship a zstd archive to legacy Windows recipients without a bundled decoder; native support landed in Windows 11 but earlier hosts need 7-Zip 21.07+. Reach for `zip` for broadest compatibility.
60
+ - Don't reach for `zstd` to compress already-compressed payloads (JPEGs, MP4s, existing zips); ratios approach 1.0 and the CPU spend is wasted. Skip compression or use `tar -cf` with no codec.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `xz` | Immutable release artifacts where size is the dominant cost. |
67
+ | `gzip` | Universal compatibility — every UNIX-like system since 1992. |
68
+ | `zip` | Windows recipients without native `.zst` support; flat distribution archives. |
69
+ | `7z` | Heterogeneous payloads where xz-style LZMA2 plus per-file streaming beats both zstd and gzip. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v zstd
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install zstd
83
+ ```
84
+
85
+ Homepage: https://github.com/facebook/zstd
@@ -12,12 +12,26 @@ cache_friendly: true
12
12
 
13
13
  ```
14
14
  Task Progress:
15
+ - [ ] Step 0: Detect ambiguity (P8 B1)
15
16
  - [ ] Step 1: Assess current context health
16
17
  - [ ] Step 2: Identify degradation signals
17
18
  - [ ] Step 3: Apply corrective action
18
19
  - [ ] Step 4: Verify health improvement
19
20
  ```
20
21
 
22
+ ## Step 0 — Detect Ambiguity (P8 B1)
23
+
24
+ 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: original task recall, corrective action authority at Orange/Red (delegate vs checkpoint-and-stop), scope of files to re-read, whether to post progress to platform on Red, and irreversible stop (discard unsaved work) vs preserve.
25
+
26
+ ## Fan-out Discipline (P8 B2)
27
+
28
+ This skill delegates per task size:
29
+ - Tier 1 (trivial single-file): inline execution acceptable.
30
+ - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
31
+ - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
32
+
33
+ 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
+
21
35
  ## Step 1: Assess Context Health
22
36
 
23
37
  Run through the self-assessment checklist:
@@ -12,12 +12,26 @@ cache_friendly: true
12
12
 
13
13
  ```
14
14
  Task Progress:
15
+ - [ ] Step 0: Detect ambiguity (P8 B1)
15
16
  - [ ] Step 1: Review cost tracking configuration
16
17
  - [ ] Step 2: Estimate current session token usage
17
18
  - [ ] Step 3: Identify cost optimization opportunities
18
19
  - [ ] Step 4: Generate cost report
19
20
  ```
20
21
 
22
+ ## Step 0 — Detect Ambiguity (P8 B1)
23
+
24
+ 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: tracking scope (session vs issue vs epic), budget values when missing from hatch.json, hardStop authority (block vs warn), report format target, and whether to defer non-critical work over budget.
25
+
26
+ ## Fan-out Discipline (P8 B2)
27
+
28
+ This skill delegates per task size:
29
+ - Tier 1 (trivial single-file): inline execution acceptable.
30
+ - Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
31
+ - Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
32
+
33
+ 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
+
21
35
  ## Step 1: Review Configuration
22
36
 
23
37
  1. Check `hatch.json` for a `costTracking` section.
@@ -12,6 +12,7 @@ cache_friendly: true
12
12
 
13
13
  ```
14
14
  Task Progress:
15
+ - [ ] Step 0: Detect ambiguity (P8 B1)
15
16
  - [ ] Step 1: Identify what to customize (and why)
16
17
  - [ ] Step 2: Determine customization needs
17
18
  - [ ] Step 3: Multi-stakeholder review
@@ -20,6 +21,19 @@ Task Progress:
20
21
  - [ ] Step 6: Verify the customized output
21
22
  ```
22
23
 
24
+ ## Step 0 — Detect Ambiguity (P8 B1)
25
+
26
+ 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: artifact type (agent vs command vs rule vs skill), target artifact id, whether disabling breaks a command pipeline dependency, scope narrowing for rules (and excluded glob patterns), and whether this customization should be an upstream contribution instead.
27
+
28
+ ## Fan-out Discipline (P8 B2)
29
+
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.
34
+
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.
36
+
23
37
  ## Artifact Types
24
38
 
25
39
  This skill handles customization for all artifact types. The `type` parameter determines file locations, available YAML fields, and verification steps.
@@ -14,6 +14,7 @@ cache_friendly: true
14
14
 
15
15
  ```
16
16
  Task Progress:
17
+ - [ ] Step 0: Detect ambiguity (P8 B1)
17
18
  - [ ] Step 1: Run npm audit + npm outdated, categorize findings
18
19
  - [ ] Step 2: Research CVEs via web search for critical/high
19
20
  - [ ] Step 3: Plan upgrades (breaking vs non-breaking, bundle impact)
@@ -22,6 +23,19 @@ Task Progress:
22
23
  - [ ] Step 6: Open PR with upgrade rationale
23
24
  ```
24
25
 
26
+ ## Step 0 — Detect Ambiguity (P8 B1)
27
+
28
+ 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: scope (critical/high only vs all), major-version-bump authority, bundle-size budget, deferral policy when no fix is available, and whether to also remove unused deps in the same pass.
29
+
30
+ ## Fan-out Discipline (P8 B2)
31
+
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.
38
+
25
39
  ## Step 1: Gather Findings
26
40
 
27
41
  - Run `npm audit` and capture output. Categorize by severity: critical, high, moderate, low.