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,84 @@
1
+ ---
2
+ id: hatch3r-cli-aichat
3
+ description: "Multi-provider LLM chat CLI with RAG and session memory. Use when RAG-enabled multi-provider conversational shell with saved session history; invoke `aichat`. Streams tokens to stdout so downstream `grep`/`tee` consumers see partial results."
4
+ tags: ["cli-tools", "ai", "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: aichat
10
+ bin: aichat
11
+ tier: 3
12
+ category: ai
13
+ homepage: https://github.com/sigoden/aichat
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # aichat
17
+
18
+ Multi-provider LLM chat CLI with RAG and session memory
19
+
20
+ ## When to Use
21
+
22
+ Reach for `aichat` when the task is in the **ai** 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
+ aichat 'explain this commit message' < commit.txt
33
+ ```
34
+ One-shot prompt with stdin as the input payload.
35
+
36
+ ```bash
37
+ aichat -r 'tech writer' 'rewrite as bullets' < draft.md
38
+ ```
39
+ Apply a saved role (`~/.config/aichat/roles/tech-writer.md`) as the system prompt.
40
+
41
+ ```bash
42
+ aichat --model claude-3-5-sonnet -e 'summarize' README.md
43
+ ```
44
+ Pin the model and pass a file argument directly — `-e` executes the prompt non-interactively.
45
+
46
+ ```bash
47
+ aichat --rag mydocs 'how do we configure auth?'
48
+ ```
49
+ Query a pre-built RAG index over local documentation — runs embeddings locally, no remote indexer needed.
50
+
51
+ ```bash
52
+ aichat --session refactor-plan
53
+ ```
54
+ Resume a named session with persisted history — useful for multi-turn refinement loops.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Scripted Unix-style pipelines with a rich plugin ecosystem:** `hatch3r-cli-llm` (tier 2) has plugin support for templates, embeddings, and provider adapters not in aichat.
59
+ - **Offline-only / fully local inference:** aichat supports Ollama backends but adds an unneeded abstraction; talk to Ollama's HTTP API directly via `curl`.
60
+ - **CI batch tasks that benefit from `mods` pipe semantics:** `hatch3r-cli-mods` reads a single piped payload then exits — simpler for one-shot transforms.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-llm` (tier 2) | Plugin ecosystem, templates, embeddings, structured CI use |
67
+ | `hatch3r-cli-mods` (tier 3) | Single-piped-payload transforms, Unix-pipe ergonomics |
68
+ | Raw `curl` against Ollama / provider HTTP API | Maximum control, no client-side caching or session state |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v aichat
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install aichat
82
+ ```
83
+
84
+ Homepage: https://github.com/sigoden/aichat
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-ast-grep
3
+ description: "Structural search and rewrite for code via AST patterns. Use when Tree-sitter AST pattern rewrites scoped to a single grammar; invoke `sg`. Grammar-aware: queries are written in the same syntax as the language being edited."
4
+ tags: ["cli-tools", "search", "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: ast-grep
10
+ bin: sg
11
+ tier: 1
12
+ category: search
13
+ homepage: https://ast-grep.github.io/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # ast-grep
17
+
18
+ Structural search and rewrite for code via AST patterns
19
+
20
+ ## When to Use
21
+
22
+ Reach for `sg` when the task is in the **search** 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
+ sg --pattern 'console.log($MSG)' --lang ts src/
33
+ ```
34
+ Pattern with a meta-variable (`$MSG`) — matches any `console.log` call regardless of whitespace or argument shape.
35
+
36
+ ```bash
37
+ sg run -p 'await $FN()' -r 'await ($FN()).catch(e => log(e))' --update-all src/
38
+ ```
39
+ Structural rewrite: every bare `await $FN()` gains a `.catch` arm; `--update-all` writes in place.
40
+
41
+ ```bash
42
+ sg scan --config sgconfig.yml
43
+ ```
44
+ Runs a rule pack from `sgconfig.yml` — repo-pinned lints that survive regex edits.
45
+
46
+ ```bash
47
+ sg test --update-snapshots
48
+ ```
49
+ Snapshot-style tests for rules — keeps rule packs honest as the codebase shifts.
50
+
51
+ ```bash
52
+ sg --pattern 'function $NAME($$$ARGS) { $$$BODY }' --lang ts --json src/
53
+ ```
54
+ Triple-`$` captures the rest of an argument list or body — JSON output feeds `jq` for downstream filtering.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't reach for `sg` when the target is plain literal text (a TODO marker, a string in CHANGELOG). Reach for `ripgrep` (`hatch3r-cli-ripgrep`) — orders of magnitude faster on raw matching.
59
+ - Don't use `sg` for cross-language SAST policy work (e.g., taint analysis). Reach for `semgrep`, which has rule packs, CI integrations, and a security-audit lineage.
60
+ - Don't reach for `sg` on languages it does not parse (Bash, Makefile, INI). The pattern compiler will reject the request — fall back to `ripgrep` + `sd`.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `ripgrep` (`hatch3r-cli-ripgrep`) | Literal regex over text — ast-grep is overkill if you do not need structural matching. |
67
+ | `semgrep` | Security/policy rule packs, multi-language SAST, central rule registry. |
68
+ | `comby` | Multi-language structural rewrites with template syntax and no per-language plugin. |
69
+ | Editor refactor / language server | Authoritative rename or extract-method with full type information. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v sg
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install ast-grep
83
+ ```
84
+
85
+ Homepage: https://ast-grep.github.io/
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: hatch3r-cli-az-devops
3
+ description: "Azure DevOps work items, repos, pipelines via az CLI extension. Use when Azure DevOps work-item edits, repo pushes, and pipeline runs; invoke `az`. Authenticates via the platform's native token mechanism (OAuth / PAT)."
4
+ tags: ["cli-tools", "forge"]
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: az-devops
10
+ bin: az
11
+ tier: 2
12
+ category: forge
13
+ homepage: https://learn.microsoft.com/en-us/cli/azure/azure-devops
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # az-devops
17
+
18
+ Azure DevOps work items, repos, pipelines via az CLI extension
19
+
20
+ ## When to Use
21
+
22
+ Reach for `az` when the task is in the **forge** 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
+ az repos pr list --status active --query '[].pullRequestId' --output tsv
33
+ ```
34
+ Print active PR IDs as a newline-separated list; `--query` (JMESPath) trims the payload before stdout.
35
+
36
+ ```bash
37
+ az repos pr show --id 42 --output json
38
+ ```
39
+ Fetch a single PR's metadata as JSON for downstream `jq` filters.
40
+
41
+ ```bash
42
+ az boards work-item show --id 4242 --output json
43
+ ```
44
+ Pull a work item (bug, task, user story) by numeric ID; one round-trip, structured output.
45
+
46
+ ```bash
47
+ az boards work-item create --type Bug --title 'flaky import test' --description 'Repro: ...'
48
+ ```
49
+ Open a work item from CI or an agent; the new ID is printed on stdout.
50
+
51
+ ```bash
52
+ az pipelines run --name CI --branch main
53
+ ```
54
+ Queue a pipeline run on a named definition; returns the build ID for polling.
55
+
56
+ ```bash
57
+ az artifacts universal download --feed myfeed --name pkg --version 1.0.0 --path .
58
+ ```
59
+ Fetch a Universal Package into the cwd — avoids the larger Azure Artifacts MCP equivalents.
60
+
61
+ ## Wrong Choice When
62
+
63
+ - The repo is on GitHub — use `gh` (Tier 1); `az repos` will return 404s without a configured Azure project.
64
+ - The repo is on GitLab — use `glab` (Tier 2 sibling); same operations, native auth.
65
+ - You only need to download a public release asset — `curl` to the artifact URL is one hop.
66
+
67
+ ## Alternatives
68
+
69
+ | Tool | When to prefer |
70
+ |------|----------------|
71
+ | `gh` | GitHub-hosted code or issues. |
72
+ | `glab` | GitLab-hosted code or issues. |
73
+ | `curl` + `AZURE_DEVOPS_PAT` | Endpoint not surfaced by `az devops`; need raw header control. |
74
+
75
+ ## Detection / Install
76
+
77
+ Verify with:
78
+ ```bash
79
+ command -v az
80
+ ```
81
+
82
+ Install (mac):
83
+
84
+ ```bash
85
+ # brew
86
+ brew install azure-cli && az extension add --name azure-devops
87
+ ```
88
+
89
+ Homepage: https://learn.microsoft.com/en-us/cli/azure/azure-devops
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-bat
3
+ description: "cat clone with syntax highlighting and git integration. Use when scrolling one source file with syntax colours, line numbers, and header decorations; invoke `bat`. Prints to a terminal pager (`less`-compatible) for quick visual inspection."
4
+ tags: ["cli-tools", "view", "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: bat
10
+ bin: bat
11
+ tier: 1
12
+ category: view
13
+ homepage: https://github.com/sharkdp/bat
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # bat
17
+
18
+ cat clone with syntax highlighting and git integration
19
+
20
+ ## When to Use
21
+
22
+ Reach for `bat` when the task is in the **view** 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
+ bat src/cli/commands/init.ts
33
+ ```
34
+ Default view — syntax-highlighted output with line numbers and git modification markers.
35
+
36
+ ```bash
37
+ bat --plain --line-range 50:100 src/adapters/cursor.ts
38
+ ```
39
+ `--plain` strips decorations; range syntax mimics `sed -n '50,100p'` without invoking sed.
40
+
41
+ ```bash
42
+ bat --paging=never -A whitespace.txt
43
+ ```
44
+ `-A` reveals tabs, trailing spaces, and CRLF — handy when debugging YAML indentation failures.
45
+
46
+ ```bash
47
+ git diff | bat --language=diff
48
+ ```
49
+ Force a language when stdin lacks a filename hint — `--language=diff` produces a unified-diff colorscheme.
50
+
51
+ ```bash
52
+ fd '\.md$' governance/ -x bat --style=plain
53
+ ```
54
+ Pipeline: list files with `fd`, render each through `bat` with no header — bulk preview of canonical content.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't use `bat` against binary files (`.zst`, executables); it prints the bytes verbatim and pollutes the terminal. Reach for `xxd | bat --language=hex` or `file <path>` first.
59
+ - Don't pipe `bat` into machine consumers in a strict POSIX environment — ANSI escapes and `--paging=auto` defaults break grep/awk chains. Reach for plain `cat`.
60
+ - Don't reach for `bat` to compare two files; it views one at a time. Reach for `delta` (`hatch3r-cli-delta`) or `diff -u | bat --language=diff`.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `cat` (POSIX) | Strict scripted pipelines, embedded systems, environments where escape sequences break consumers. |
67
+ | `less` | Paginate raw text without coloring; large files where rebuilding the syntax tree is wasted work. |
68
+ | `delta` (`hatch3r-cli-delta`) | Diff view rather than single-file render. |
69
+ | `xxd \| bat --language=hex` | Inspect binary payloads with column-aligned hex + ASCII. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v bat
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install bat
83
+ ```
84
+
85
+ Homepage: https://github.com/sharkdp/bat
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-comby
3
+ description: "Structural search and replace across languages with declarative patterns. Use when declarative pattern match-and-rewrite spanning mixed-language repositories; invoke `comby`. Language-agnostic: a single `{:[hole]}` template works against any of 30+ grammars."
4
+ tags: ["cli-tools", "search", "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: comby
10
+ bin: comby
11
+ tier: 3
12
+ category: search
13
+ homepage: https://comby.dev/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # comby
17
+
18
+ Structural search and replace across languages with declarative patterns
19
+
20
+ ## When to Use
21
+
22
+ Reach for `comby` when the task is in the **search** 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
+ comby 'console.log(:[arg])' 'logger.info(:[arg])' -i src/
33
+ ```
34
+ Rewrite every `console.log(...)` to `logger.info(...)` in `src/`, preserving the captured argument.
35
+
36
+ ```bash
37
+ comby 'if :[cond] { return :[ret] }' 'if (:[cond]) return :[ret];' -i .
38
+ ```
39
+ Reshape brace-style returns into single-line returns — works across Go, Rust, TypeScript, Java.
40
+
41
+ ```bash
42
+ comby -config patterns.toml -d src/
43
+ ```
44
+ Run a batch of templated rewrites from a TOML config (each `[[match]]` entry holds a match/rewrite pair).
45
+
46
+ ```bash
47
+ comby 'TODO(:[author]): :[msg]' 'FIXME(:[author]): :[msg]' -i -extensions js,ts,go
48
+ ```
49
+ Restrict the rewrite to specific file extensions.
50
+
51
+ ```bash
52
+ comby 'foo(:[args])' 'bar(:[args])' -stats -d src/
53
+ ```
54
+ Preview-only run with summary stats — no files written. Useful before a destructive rewrite.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Security/SAST policy enforcement:** semgrep has a vetted rule registry, dataflow analysis, and CI-grade reporting — comby's surface-level templates miss taint flow.
59
+ - **Pure-text find/replace (no balanced delimiters):** `hatch3r-cli-ripgrep` + `hatch3r-cli-sd` (both tier 1) are faster and have no template parser overhead.
60
+ - **Language-precise refactors that need type info:** `hatch3r-cli-ast-grep` (tier 1) operates on the parse tree; comby is brace-aware but not type-aware.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-ast-grep` (tier 1) | Tree-sitter-backed, language-precise rewrites |
67
+ | `hatch3r-cli-sd` (tier 1) | Plain literal-text replacement, no template syntax |
68
+ | semgrep | SAST rule registry, taint analysis, CI integration |
69
+ | `hatch3r-cli-ripgrep` (tier 1) | Read-only inventory before deciding on a rewrite tool |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v comby
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install comby
83
+ ```
84
+
85
+ Homepage: https://comby.dev/
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-csvkit
3
+ description: "csvkit — Python CSV toolkit (csvlook, csvsql, csvjoin, csvstat). Use when Python-powered CSV toolkit covering csvlook, csvsql, csvjoin, csvstat; invoke `csvlook`. Streams records lazily; works on datasets that exceed available RAM."
4
+ tags: ["cli-tools", "data", "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: csvkit
10
+ bin: csvlook
11
+ tier: 3
12
+ category: data
13
+ homepage: https://csvkit.readthedocs.io/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # csvkit
17
+
18
+ csvkit — Python CSV toolkit (csvlook, csvsql, csvjoin, csvstat)
19
+
20
+ ## When to Use
21
+
22
+ Reach for `csvlook` 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
+ csvcut -c name,email records.csv
33
+ ```
34
+ Project two named columns from a CSV — column-name addressing instead of positional.
35
+
36
+ ```bash
37
+ csvstat records.csv
38
+ ```
39
+ One-shot column-by-column summary: type, count, null %, min/max/mean. Drop-in EDA.
40
+
41
+ ```bash
42
+ csvgrep -c status -m active records.csv
43
+ ```
44
+ Row filter where column `status` matches literal `active`.
45
+
46
+ ```bash
47
+ csvjoin -c id a.csv b.csv
48
+ ```
49
+ Join two CSVs on column `id` (inner join by default; `--left` / `--outer` available).
50
+
51
+ ```bash
52
+ csvsql --query 'SELECT name FROM data WHERE active = 1' data.csv
53
+ ```
54
+ Run SQL directly against a CSV using an in-memory SQLite — no schema file required.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Files larger than ~1M rows:** csvkit is Python-startup-heavy; `hatch3r-cli-duckdb` (tier 2) loads and queries the same file in a fraction of the time.
59
+ - **Production SQL workloads:** csvsql is convenient but evaluates against in-memory SQLite — use a real database for anything served.
60
+ - **Single-column slice or count under a few hundred MB:** `hatch3r-cli-xsv` (tier 2) is faster with lower memory pressure.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-duckdb` (tier 2) | Large files, analytical SQL, Parquet, multi-file joins |
67
+ | `hatch3r-cli-xsv` (tier 2) | Fast column slicing, sampling, deduping |
68
+ | `hatch3r-cli-miller` (tier 3) | Streaming put/filter DSL, format conversion |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v csvlook
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # pipx
81
+ pipx install csvkit
82
+ ```
83
+
84
+ Homepage: https://csvkit.readthedocs.io/
@@ -0,0 +1,86 @@
1
+ ---
2
+ id: hatch3r-cli-delta
3
+ description: "Syntax-highlighting git diff pager. Use when viewing unified git diffs with side-by-side syntax colourised hunks; invoke `delta`. Replaces the legacy `less`-based diff renderer with terminal-native ANSI colour blocks."
4
+ tags: ["cli-tools", "git", "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: delta
10
+ bin: delta
11
+ tier: 1
12
+ category: git
13
+ homepage: https://github.com/dandavison/delta
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # delta
17
+
18
+ Syntax-highlighting git diff pager
19
+
20
+ ## When to Use
21
+
22
+ Reach for `delta` when the task is in the **git** 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
+ git config --global core.pager delta
33
+ git config --global interactive.diffFilter 'delta --color-only'
34
+ ```
35
+ Enables delta as the diff pager for `git diff`, `git log -p`, and interactive add/stash.
36
+
37
+ ```ini
38
+ # ~/.gitconfig
39
+ [delta]
40
+ side-by-side = true
41
+ line-numbers = true
42
+ syntax-theme = Monokai Extended
43
+ navigate = true
44
+ ```
45
+ Side-by-side panes with line numbers and `n`/`N` hunk navigation — the high-signal review layout.
46
+
47
+ ```bash
48
+ git diff HEAD~5..HEAD -- 'src/**/*.ts' | delta --features=side-by-side
49
+ ```
50
+ Pipe a constrained diff range into delta directly when the pager is not globally configured.
51
+
52
+ ```bash
53
+ delta --list-syntax-themes | rg -i 'mono\|gruv\|night'
54
+ ```
55
+ Inventory available syntax themes — use the output to set `syntax-theme` in `~/.gitconfig`.
56
+
57
+ ## Wrong Choice When
58
+
59
+ - Don't pipe `delta` output into another script — it injects ANSI escape sequences that break downstream parsing. Reach for plain `diff -u` or `git diff --no-color` for machine consumers.
60
+ - Don't use `delta` to review semantic refactors (renames across files, signature reshapes); line-by-line color highlight misses tree-level moves. Reach for `difftastic` (`hatch3r-cli-difftastic`).
61
+ - Don't expect `delta` to fix the diff itself — it is a pager, not a merge tool. Reach for `git mergetool` or your editor's diff view.
62
+
63
+ ## Alternatives
64
+
65
+ | Tool | When to prefer |
66
+ |------|----------------|
67
+ | `difftastic` (`hatch3r-cli-difftastic`) | Tree-aware diff that understands renames and reshaped expressions. |
68
+ | `diff -u` | Scripted consumers needing plain unified text without ANSI. |
69
+ | GitHub web UI / `gh pr diff 123` | Review on the forge with inline comments. |
70
+ | `git diff --word-diff=color` | Quick word-granularity diff without a separate binary. |
71
+
72
+ ## Detection / Install
73
+
74
+ Verify with:
75
+ ```bash
76
+ command -v delta
77
+ ```
78
+
79
+ Install (mac):
80
+
81
+ ```bash
82
+ # brew
83
+ brew install git-delta
84
+ ```
85
+
86
+ Homepage: https://github.com/dandavison/delta
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-difftastic
3
+ description: "Structural diff that understands syntax. Use when syntax-aware diffing that reports semantic edits instead of textual lines; invoke `difft`. Skips whitespace and reordering noise by computing edits over parsed syntax trees."
4
+ tags: ["cli-tools", "git"]
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: difftastic
10
+ bin: difft
11
+ tier: 2
12
+ category: git
13
+ homepage: https://difftastic.wilfred.me.uk/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # difftastic
17
+
18
+ Structural diff that understands syntax
19
+
20
+ ## When to Use
21
+
22
+ Reach for `difft` when the task is in the **git** 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
+ difft a.ts b.ts
33
+ ```
34
+ Compare two files using a syntax-aware tree diff; rename-of-block does not show as wholesale rewrite.
35
+
36
+ ```bash
37
+ git -c diff.external=difft diff HEAD~1 HEAD
38
+ ```
39
+ One-shot syntactic git diff for the last commit without mutating global config.
40
+
41
+ ```bash
42
+ git config --global diff.external difft
43
+ ```
44
+ Wire `difft` as the default git external diff (human setup; agents should prefer the `-c` form above for transparency).
45
+
46
+ ```bash
47
+ difft --background light a.ts b.ts
48
+ ```
49
+ Render with a light-background palette — pick to match the terminal theme.
50
+
51
+ ```bash
52
+ difft --display side-by-side a.py b.py
53
+ ```
54
+ Side-by-side layout for review; fall back to the default inline mode for narrow terminals.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - A script needs stable, parseable diff output — `diff -u` or `git diff --no-color` produce deterministic POSIX output; `difft` is for human reading.
59
+ - You only need a prettier pager for unified diffs — `delta` (Tier 1) renders standard git output with syntax highlighting and is faster.
60
+ - The languages involved are unsupported by tree-sitter parsers `difft` ships — fall back to `diff -u`.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `delta` | Want syntax-highlighted unified diff for git output. |
67
+ | `diff -u` | Script consumes the output; need POSIX stability. |
68
+ | `git diff --word-diff` | Care about prose changes; line-noise from refactors is acceptable. |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v difft
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install difftastic
82
+ ```
83
+
84
+ Homepage: https://difftastic.wilfred.me.uk/