hatch3r 1.7.1 → 1.8.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 (189) hide show
  1. package/README.md +38 -12
  2. package/agents/hatch3r-a11y-auditor.md +4 -0
  3. package/agents/hatch3r-architect.md +4 -0
  4. package/agents/hatch3r-ci-watcher.md +4 -0
  5. package/agents/hatch3r-context-rules.md +26 -6
  6. package/agents/hatch3r-creator.md +6 -1
  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 +4 -0
  11. package/agents/hatch3r-handoff-loader.md +243 -0
  12. package/agents/hatch3r-handoff-preparer.md +134 -0
  13. package/agents/hatch3r-implementer.md +12 -0
  14. package/agents/hatch3r-learnings-loader.md +5 -1
  15. package/agents/hatch3r-lint-fixer.md +4 -0
  16. package/agents/hatch3r-perf-profiler.md +8 -0
  17. package/agents/hatch3r-researcher.md +4 -0
  18. package/agents/hatch3r-reviewer.md +94 -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 +4 -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 +128 -0
  25. package/agents/shared/user-content-templates.md +31 -1
  26. package/commands/hatch3r-agent-customize.md +4 -0
  27. package/commands/hatch3r-api-spec.md +7 -0
  28. package/commands/hatch3r-benchmark.md +7 -0
  29. package/commands/hatch3r-board-fill.md +8 -0
  30. package/commands/hatch3r-board-groom.md +4 -0
  31. package/commands/hatch3r-board-init.md +51 -0
  32. package/commands/hatch3r-board-pickup.md +8 -0
  33. package/commands/hatch3r-board-refresh.md +4 -0
  34. package/commands/hatch3r-board-shared.md +6 -6
  35. package/commands/hatch3r-bug-plan.md +7 -0
  36. package/commands/hatch3r-codebase-map.md +8 -0
  37. package/commands/hatch3r-command-customize.md +4 -0
  38. package/commands/hatch3r-context-health.md +5 -0
  39. package/commands/hatch3r-create.md +59 -4
  40. package/commands/hatch3r-debug.md +7 -0
  41. package/commands/hatch3r-dep-audit.md +4 -0
  42. package/commands/hatch3r-feature-plan.md +7 -0
  43. package/commands/hatch3r-handoff.md +133 -0
  44. package/commands/hatch3r-healthcheck.md +4 -0
  45. package/commands/hatch3r-hooks.md +4 -0
  46. package/commands/hatch3r-learn.md +16 -0
  47. package/commands/hatch3r-migration-plan.md +7 -0
  48. package/commands/hatch3r-onboard.md +7 -0
  49. package/commands/hatch3r-pr-resolve.md +12 -1
  50. package/commands/hatch3r-project-spec.md +8 -0
  51. package/commands/hatch3r-quick-change.md +11 -2
  52. package/commands/hatch3r-recipe.md +4 -0
  53. package/commands/hatch3r-refactor-plan.md +7 -0
  54. package/commands/hatch3r-release.md +5 -0
  55. package/commands/hatch3r-revision.md +7 -0
  56. package/commands/hatch3r-roadmap.md +8 -0
  57. package/commands/hatch3r-rule-customize.md +4 -0
  58. package/commands/hatch3r-security-audit.md +4 -0
  59. package/commands/hatch3r-skill-customize.md +4 -0
  60. package/commands/hatch3r-test-plan.md +7 -0
  61. package/commands/hatch3r-workflow.md +11 -1
  62. package/dist/cli/index.js +4814 -1130
  63. package/dist/cli/index.js.map +1 -1
  64. package/package.json +10 -5
  65. package/rules/hatch3r-accessibility-standards.md +21 -0
  66. package/rules/hatch3r-accessibility-standards.mdc +21 -0
  67. package/rules/hatch3r-agent-orchestration-detail.md +3 -0
  68. package/rules/hatch3r-agent-orchestration-detail.mdc +3 -0
  69. package/rules/hatch3r-agent-orchestration.md +34 -3
  70. package/rules/hatch3r-agent-orchestration.mdc +34 -3
  71. package/rules/hatch3r-ai-evals.md +158 -0
  72. package/rules/hatch3r-ai-evals.mdc +154 -0
  73. package/rules/hatch3r-ai-ux-patterns.md +131 -0
  74. package/rules/hatch3r-ai-ux-patterns.mdc +127 -0
  75. package/rules/hatch3r-api-design.md +67 -9
  76. package/rules/hatch3r-api-design.mdc +67 -9
  77. package/rules/hatch3r-api-versioning.md +119 -0
  78. package/rules/hatch3r-api-versioning.mdc +115 -0
  79. package/rules/hatch3r-auth-patterns.md +170 -0
  80. package/rules/hatch3r-auth-patterns.mdc +166 -0
  81. package/rules/hatch3r-component-conventions.md +30 -0
  82. package/rules/hatch3r-component-conventions.mdc +30 -0
  83. package/rules/hatch3r-container-hardening.md +131 -0
  84. package/rules/hatch3r-container-hardening.mdc +127 -0
  85. package/rules/hatch3r-contract-testing.md +117 -0
  86. package/rules/hatch3r-contract-testing.mdc +113 -0
  87. package/rules/hatch3r-deep-context.md +2 -0
  88. package/rules/hatch3r-deep-context.mdc +2 -0
  89. package/rules/hatch3r-dependency-management.md +73 -1
  90. package/rules/hatch3r-dependency-management.mdc +72 -0
  91. package/rules/hatch3r-design-system-detection.md +142 -0
  92. package/rules/hatch3r-design-system-detection.mdc +138 -0
  93. package/rules/hatch3r-event-schema-evolution.md +90 -0
  94. package/rules/hatch3r-event-schema-evolution.mdc +86 -0
  95. package/rules/hatch3r-handoff-readiness.md +45 -0
  96. package/rules/hatch3r-handoff-readiness.mdc +40 -0
  97. package/rules/hatch3r-i18n.md +13 -0
  98. package/rules/hatch3r-i18n.mdc +13 -0
  99. package/rules/hatch3r-iteration-summary.md +2 -0
  100. package/rules/hatch3r-iteration-summary.mdc +2 -0
  101. package/rules/hatch3r-migrations.md +61 -16
  102. package/rules/hatch3r-migrations.mdc +61 -16
  103. package/rules/hatch3r-observability-logging.md +1 -1
  104. package/rules/hatch3r-observability-logging.mdc +1 -1
  105. package/rules/hatch3r-observability-metrics.md +1 -1
  106. package/rules/hatch3r-observability-metrics.mdc +1 -1
  107. package/rules/hatch3r-observability-tracing-detail.md +8 -149
  108. package/rules/hatch3r-observability-tracing-detail.mdc +7 -149
  109. package/rules/hatch3r-observability-tracing.md +154 -6
  110. package/rules/hatch3r-observability-tracing.mdc +154 -6
  111. package/rules/hatch3r-observability.md +1 -0
  112. package/rules/hatch3r-observability.mdc +1 -0
  113. package/rules/hatch3r-operability.md +149 -0
  114. package/rules/hatch3r-operability.mdc +145 -0
  115. package/rules/hatch3r-passkey-server.md +181 -0
  116. package/rules/hatch3r-passkey-server.mdc +177 -0
  117. package/rules/hatch3r-progressive-delivery.md +120 -0
  118. package/rules/hatch3r-progressive-delivery.mdc +116 -0
  119. package/rules/hatch3r-resilience-patterns.md +154 -0
  120. package/rules/hatch3r-resilience-patterns.mdc +150 -0
  121. package/rules/hatch3r-secrets-management.md +29 -0
  122. package/rules/hatch3r-secrets-management.mdc +29 -0
  123. package/rules/hatch3r-testing.md +139 -43
  124. package/rules/hatch3r-testing.mdc +139 -43
  125. package/rules/hatch3r-ux-states-and-flows.md +149 -0
  126. package/rules/hatch3r-ux-states-and-flows.mdc +145 -0
  127. package/skills/hatch3r-a11y-audit/SKILL.md +14 -0
  128. package/skills/hatch3r-agent-customize/SKILL.md +10 -0
  129. package/skills/hatch3r-ai-feature/SKILL.md +136 -0
  130. package/skills/hatch3r-api-spec/SKILL.md +73 -0
  131. package/skills/hatch3r-architecture-review/SKILL.md +14 -0
  132. package/skills/hatch3r-bug-fix/SKILL.md +5 -0
  133. package/skills/hatch3r-ci-pipeline/SKILL.md +14 -0
  134. package/skills/hatch3r-cli-aichat/SKILL.md +84 -0
  135. package/skills/hatch3r-cli-ast-grep/SKILL.md +85 -0
  136. package/skills/hatch3r-cli-az-devops/SKILL.md +89 -0
  137. package/skills/hatch3r-cli-bat/SKILL.md +85 -0
  138. package/skills/hatch3r-cli-comby/SKILL.md +85 -0
  139. package/skills/hatch3r-cli-csvkit/SKILL.md +84 -0
  140. package/skills/hatch3r-cli-delta/SKILL.md +86 -0
  141. package/skills/hatch3r-cli-difftastic/SKILL.md +84 -0
  142. package/skills/hatch3r-cli-docker/SKILL.md +89 -0
  143. package/skills/hatch3r-cli-duckdb/SKILL.md +84 -0
  144. package/skills/hatch3r-cli-fd/SKILL.md +85 -0
  145. package/skills/hatch3r-cli-fzf/SKILL.md +84 -0
  146. package/skills/hatch3r-cli-gh/SKILL.md +90 -0
  147. package/skills/hatch3r-cli-glab/SKILL.md +89 -0
  148. package/skills/hatch3r-cli-jq/SKILL.md +89 -0
  149. package/skills/hatch3r-cli-lazygit/SKILL.md +78 -0
  150. package/skills/hatch3r-cli-llm/SKILL.md +84 -0
  151. package/skills/hatch3r-cli-miller/SKILL.md +84 -0
  152. package/skills/hatch3r-cli-mods/SKILL.md +84 -0
  153. package/skills/hatch3r-cli-overview/SKILL.md +60 -0
  154. package/skills/hatch3r-cli-playwright/SKILL.md +89 -0
  155. package/skills/hatch3r-cli-podman/SKILL.md +84 -0
  156. package/skills/hatch3r-cli-qsv/SKILL.md +91 -0
  157. package/skills/hatch3r-cli-ripgrep/SKILL.md +85 -0
  158. package/skills/hatch3r-cli-rtk/SKILL.md +91 -0
  159. package/skills/hatch3r-cli-sd/SKILL.md +85 -0
  160. package/skills/hatch3r-cli-stagehand/SKILL.md +111 -0
  161. package/skills/hatch3r-cli-taplo/SKILL.md +84 -0
  162. package/skills/hatch3r-cli-yq/SKILL.md +85 -0
  163. package/skills/hatch3r-cli-zstd/SKILL.md +85 -0
  164. package/skills/hatch3r-command-customize/SKILL.md +10 -0
  165. package/skills/hatch3r-context-health/SKILL.md +14 -0
  166. package/skills/hatch3r-cost-tracking/SKILL.md +14 -0
  167. package/skills/hatch3r-customize/SKILL.md +17 -0
  168. package/skills/hatch3r-dep-audit/SKILL.md +14 -0
  169. package/skills/hatch3r-design-system-detect/SKILL.md +164 -0
  170. package/skills/hatch3r-feature/SKILL.md +2 -0
  171. package/skills/hatch3r-gh-agentic-workflows/SKILL.md +13 -0
  172. package/skills/hatch3r-handoff-prepare/SKILL.md +160 -0
  173. package/skills/hatch3r-handoff-resume/SKILL.md +171 -0
  174. package/skills/hatch3r-incident-response/SKILL.md +14 -0
  175. package/skills/hatch3r-issue-workflow/SKILL.md +5 -0
  176. package/skills/hatch3r-logical-refactor/SKILL.md +14 -0
  177. package/skills/hatch3r-migration/SKILL.md +14 -0
  178. package/skills/hatch3r-observability-verify/SKILL.md +134 -0
  179. package/skills/hatch3r-perf-audit/SKILL.md +14 -0
  180. package/skills/hatch3r-pr-creation/SKILL.md +14 -0
  181. package/skills/hatch3r-qa-validation/SKILL.md +18 -0
  182. package/skills/hatch3r-recipe/SKILL.md +14 -0
  183. package/skills/hatch3r-refactor/SKILL.md +14 -0
  184. package/skills/hatch3r-release/SKILL.md +14 -0
  185. package/skills/hatch3r-reliability-verify/SKILL.md +146 -0
  186. package/skills/hatch3r-rule-customize/SKILL.md +10 -0
  187. package/skills/hatch3r-skill-customize/SKILL.md +10 -0
  188. package/skills/hatch3r-ui-ux-verify/SKILL.md +138 -0
  189. package/skills/hatch3r-visual-refactor/SKILL.md +15 -1
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-fzf
3
+ description: "Interactive fuzzy finder for TTY pickers. Use when ad-hoc interactive picker over piped stdin streams from another command; invoke `fzf`. Requires a TTY; degrade gracefully to non-interactive batch in CI."
4
+ tags: ["cli-tools", "interactive"]
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: fzf
10
+ bin: fzf
11
+ tier: 2
12
+ category: interactive
13
+ homepage: https://github.com/junegunn/fzf
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # fzf
17
+
18
+ Interactive fuzzy finder for TTY pickers
19
+
20
+ ## When to Use
21
+
22
+ Reach for `fzf` when the task is in the **interactive** 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
+ fzf --filter 'auth' < paths.txt
33
+ ```
34
+ Headless mode — ranks lines by fuzzy match score and prints them in order; no TTY needed. This is the agent-safe entrypoint.
35
+
36
+ ```bash
37
+ git branch --format='%(refname:short)' | fzf --filter main
38
+ ```
39
+ Score branch names against `main`; pipe to `head -1` to pick the best match deterministically.
40
+
41
+ ```bash
42
+ rg -l 'TODO' . | fzf --filter 'src/cli'
43
+ ```
44
+ Re-rank a `ripgrep` file list by proximity to a fuzzy hint; combine with `head` for a deterministic top pick.
45
+
46
+ ```bash
47
+ fzf --filter 'auth' --print0 < paths.txt | xargs -0 wc -l
48
+ ```
49
+ Stream NUL-delimited matches to a downstream pipeline — safe across filenames with spaces.
50
+
51
+ ```bash
52
+ fzf < paths.txt
53
+ ```
54
+ Interactive picker — only useful in a human TTY; do not call this form from an autonomous agent.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Running in a non-TTY context (CI, agent loop) — interactive `fzf` will hang on stdin; always use `--filter` headless mode.
59
+ - The ranking needs semantic understanding (synonyms, embeddings) — `fzf` is character-level fuzzy; reach for an embedding-based tool.
60
+ - A simple `grep -F` or `rg --files | head` would already return the right answer — no need to layer scoring on top.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `skim` (`sk`) | Need a Rust binary with similar fuzzy scoring and the same `--filter` headless mode. |
67
+ | `rg --files \| head` | Already filtered; want stable lexicographic order rather than fuzzy ranking. |
68
+ | `grep -F` | Exact substring match; no scoring needed. |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v fzf
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install fzf
82
+ ```
83
+
84
+ Homepage: https://github.com/junegunn/fzf
@@ -0,0 +1,90 @@
1
+ ---
2
+ id: hatch3r-cli-gh
3
+ description: "GitHub CLI — repos, issues, PRs, releases, gists. Use when drafting GitHub pull requests, issues, releases, gists, or workflow dispatches; invoke `gh`. Authenticates via the platform's native token mechanism (OAuth / PAT)."
4
+ tags: ["cli-tools", "forge", "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: gh
10
+ bin: gh
11
+ tier: 1
12
+ category: forge
13
+ homepage: https://cli.github.com/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # gh
17
+
18
+ GitHub CLI — repos, issues, PRs, releases, gists
19
+
20
+ ## When to Use
21
+
22
+ Reach for `gh` 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
+ gh pr view 123 --json title,state,body,reviewDecision
33
+ ```
34
+ Targeted JSON projection — pulls just the fields the agent needs, not the whole PR payload.
35
+
36
+ ```bash
37
+ gh issue list --label bug --json number,title,author --limit 50
38
+ ```
39
+ Label-filtered list with capped page size — avoids paginating the entire issue corpus into context.
40
+
41
+ ```bash
42
+ gh api repos/:owner/:repo/contents/path/to/file.ts --jq '.sha'
43
+ ```
44
+ Direct REST passthrough with built-in `--jq` filter — single round-trip, no jq install required at call site.
45
+
46
+ ```bash
47
+ gh run watch
48
+ ```
49
+ Blocks until the most recent CI run finishes — pairs with PR creation flows so the agent doesn't poll.
50
+
51
+ ```bash
52
+ gh release create v1.7.5 --notes-from-tag --target release/1.7.5
53
+ ```
54
+ Cuts a release using annotated-tag notes; deterministic input avoids hand-edited release bodies.
55
+
56
+ ```bash
57
+ gh pr checks 78 --watch
58
+ ```
59
+ Live-tail status checks for a PR — return value reflects the worst check state, scripts can branch on it.
60
+
61
+ ## Wrong Choice When
62
+
63
+ - Don't reach for `gh` against a GitLab or Azure DevOps remote. Reach for `glab` (`hatch3r-cli-glab`) or `az repos`/`az devops` (`hatch3r-cli-az-devops`).
64
+ - Don't use `gh auth login` flows when an audit trail of who authorized what is required; OAuth scopes granted to the CLI are user-bound. Reach for the GitHub web UI plus org-level SSO logs.
65
+ - Don't use `gh api` for high-volume bulk fetches (>10k records) — rate limits bite. Reach for the GraphQL endpoint via `gh api graphql -F query=@file.gql` with pagination, or a GitHub App token.
66
+
67
+ ## Alternatives
68
+
69
+ | Tool | When to prefer |
70
+ |------|----------------|
71
+ | `glab` (`hatch3r-cli-glab`) | GitLab forges — same operations, different vendor. |
72
+ | `az-devops` (`hatch3r-cli-az-devops`) | Azure DevOps forges. |
73
+ | `git` + `curl` against REST | Minimal environment (CI runner) where installing `gh` is blocked; trade convenience for raw HTTP. |
74
+ | GitHub web UI | Operations needing org-level approval flows or SAML re-auth that the CLI cannot proxy. |
75
+
76
+ ## Detection / Install
77
+
78
+ Verify with:
79
+ ```bash
80
+ command -v gh
81
+ ```
82
+
83
+ Install (mac):
84
+
85
+ ```bash
86
+ # brew
87
+ brew install gh
88
+ ```
89
+
90
+ Homepage: https://cli.github.com/
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: hatch3r-cli-glab
3
+ description: "GitLab CLI — merge requests, issues, pipelines. Use when GitLab merge-request review, pipeline retries, and issue triage; invoke `glab`. 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: glab
10
+ bin: glab
11
+ tier: 2
12
+ category: forge
13
+ homepage: https://gitlab.com/gitlab-org/cli
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # glab
17
+
18
+ GitLab CLI — merge requests, issues, pipelines
19
+
20
+ ## When to Use
21
+
22
+ Reach for `glab` 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
+ glab mr list --assignee=@me --output json | jq '.[] | {iid, title, web_url}'
33
+ ```
34
+ List merge requests assigned to the authenticated user; `--output json` keeps stdout structured.
35
+
36
+ ```bash
37
+ glab mr view 42 --output json
38
+ ```
39
+ Fetch a single MR's metadata as JSON — avoids the HTML-decorated default view.
40
+
41
+ ```bash
42
+ glab mr diff 42
43
+ ```
44
+ Print the unified diff for an MR to stdout; pipe to `delta` for review or `diff -u` parsing.
45
+
46
+ ```bash
47
+ glab issue create --title 'tracking-id mismatch on import' --label bug --label backend
48
+ ```
49
+ Open an issue from a script; the URL is printed on stdout for the agent to capture.
50
+
51
+ ```bash
52
+ glab ci view --branch main
53
+ ```
54
+ Show the pipeline status for `main`; agents should re-run with `--output json` for parseable output.
55
+
56
+ ```bash
57
+ glab api projects/:fullpath/jobs --paginate
58
+ ```
59
+ Raw API call with auto-pagination for endpoints the high-level commands do not cover.
60
+
61
+ ## Wrong Choice When
62
+
63
+ - The repo lives on GitHub, not GitLab — use `gh` (Tier 1) which has parity for issues/PRs/checks.
64
+ - The repo lives in Azure Repos — use `az devops` (Tier 2 sibling) with the same credential model.
65
+ - You only need to read a public file at a known URL — `curl` is one HTTP round-trip versus `glab`'s auth dance.
66
+
67
+ ## Alternatives
68
+
69
+ | Tool | When to prefer |
70
+ |------|----------------|
71
+ | `gh` | GitHub-hosted repository. |
72
+ | `az devops` | Azure DevOps / Azure Repos. |
73
+ | `curl` + `GITLAB_TOKEN` | Endpoint not exposed by `glab api`; need explicit retry/timeout control. |
74
+
75
+ ## Detection / Install
76
+
77
+ Verify with:
78
+ ```bash
79
+ command -v glab
80
+ ```
81
+
82
+ Install (mac):
83
+
84
+ ```bash
85
+ # brew
86
+ brew install glab
87
+ ```
88
+
89
+ Homepage: https://gitlab.com/gitlab-org/cli
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: hatch3r-cli-jq
3
+ description: "JSON processor and query language. Use when shaping JSON streams via jq-syntax filters and select expressions; invoke `jq`. Reads stdin and emits stdout; integrates seamlessly into shell pipelines."
4
+ tags: ["cli-tools", "json", "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: jq
10
+ bin: jq
11
+ tier: 1
12
+ category: json
13
+ homepage: https://github.com/jqlang/jq
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # jq
17
+
18
+ JSON processor and query language
19
+
20
+ ## When to Use
21
+
22
+ Reach for `jq` when the task is in the **json** 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
+ gh pr list --json number,title,isDraft | jq '.[] | select(.isDraft|not) | .number'
33
+ ```
34
+ Pipeline from `gh` JSON into a selector — emits only open non-draft PR numbers.
35
+
36
+ ```bash
37
+ jq -r '.[] | .name' inventory.json
38
+ ```
39
+ Raw string output (`-r`) drops the JSON quoting — feeds straight into `xargs` or shell loops.
40
+
41
+ ```bash
42
+ jq 'group_by(.category) | map({key: .[0].category, value: length}) | from_entries' findings.json
43
+ ```
44
+ Group-then-count idiom — produces a `{category: count}` object suitable for direct comparison against a baseline.
45
+
46
+ ```bash
47
+ jq --slurp 'add | unique_by(.id)' shard-*.json
48
+ ```
49
+ Slurp multiple files into a single array, concatenate, dedupe by `id` — the canonical merge pattern for sharded JSON output.
50
+
51
+ ```bash
52
+ jq -c '{id, title, severity}' findings.json
53
+ ```
54
+ Compact (`-c`) one-object-per-line projection — perfect input for `xargs -L1` or `grep`-style downstream tools.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't use `jq` for bidirectional grep on flattened paths; the inverse (`gron` outputs `obj.foo.bar = …` lines you can `rg` then translate back). Reach for `gron`.
59
+ - Don't use `jq` directly on multi-document YAML or front-matter Markdown. Reach for `yq` (`hatch3r-cli-yq`) and pipe `yq -o=json` into `jq` only if you need jq's filter language.
60
+ - Don't reach for `jq` when the file is a stream of newline-delimited JSON (`.ndjson`); use `jq -c` per line or `jaq`/`fx` for stream-friendly behavior — `jq` without `-c` slurps the whole file.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `yq` (`hatch3r-cli-yq`) | YAML, TOML, XML input — yq speaks them all, jq is JSON-only. |
67
+ | `gron` | Flatten JSON to `path = value` lines for grep-based exploration and reverse-translation. |
68
+ | `dasel` | Single binary across JSON/YAML/TOML/XML with a path-query DSL — handy in CI where you do not want jq+yq. |
69
+ | `fx` | Interactive JSON browsing in a TTY; jq is the right call in scripts. |
70
+
71
+ ## Known Issues
72
+
73
+ - **CVE-2026-32316 (active, no tagged fix as of 2026-05-18):** jq 1.8.1 ships with a heap buffer overflow in expression evaluation. Six additional CVEs were disclosed 2026-04-15; patches are committed on `jqlang/jq` `main` but no superseding tagged release exists yet. Do not invoke `jq` on JSON sourced from an untrusted producer (third-party API webhook, user-supplied upload) until a tagged release past 1.8.1 lands. Reference: https://github.com/jqlang/jq/security/advisories.
74
+
75
+ ## Detection / Install
76
+
77
+ Verify with:
78
+ ```bash
79
+ command -v jq
80
+ ```
81
+
82
+ Install (mac):
83
+
84
+ ```bash
85
+ # brew
86
+ brew install jq
87
+ ```
88
+
89
+ Homepage: https://github.com/jqlang/jq
@@ -0,0 +1,78 @@
1
+ ---
2
+ id: hatch3r-cli-lazygit
3
+ description: "Terminal UI for git with keyboard-driven workflows. Use when keyboard-driven terminal UI for staging, rebasing, branch switching; invoke `lazygit`. Reads `.git/objects` directly without invoking external services or remotes."
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: lazygit
10
+ bin: lazygit
11
+ tier: 2
12
+ category: git
13
+ homepage: https://github.com/jesseduffield/lazygit
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # lazygit
17
+
18
+ Terminal UI for git with keyboard-driven workflows
19
+
20
+ ## When to Use
21
+
22
+ Reach for `lazygit` 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
+ `lazygit` is a TUI for humans; agents should call plain `git` instead. The recipes below are key bindings inside the running TUI, not shell commands.
32
+
33
+ ```bash
34
+ lazygit
35
+ ```
36
+ Launch the TUI in the cwd repo — requires an interactive terminal; will hang in a non-TTY context.
37
+
38
+ ```bash
39
+ lazygit -p path/to/repo
40
+ ```
41
+ Open the TUI on a specific repo without changing directory first.
42
+
43
+ Key bindings inside the TUI (human reference):
44
+ - `a` — stage all changes in the focused file
45
+ - `c` — open the commit message editor
46
+ - `P` — push current branch
47
+ - `p` — pull current branch
48
+ - `?` — show the full keymap
49
+
50
+ ## Wrong Choice When
51
+
52
+ - The caller is an autonomous agent (no human at the terminal) — use plain `git status` / `git add` / `git commit` instead; they emit parseable stdout.
53
+ - The task is part of a CI script — `lazygit` cannot run headless; rely on `git` plumbing commands.
54
+ - You need a scriptable diff view — pair `git diff` with `delta` or `difftastic` rather than launching a TUI.
55
+
56
+ ## Alternatives
57
+
58
+ | Tool | When to prefer |
59
+ |------|----------------|
60
+ | `git` (plain) | Anything an agent or CI script runs. |
61
+ | `tig` | Prefer a different TUI keymap; broadly similar capability. |
62
+ | `gh` / `glab` | The operation is forge-side (PRs, issues), not local repo state. |
63
+
64
+ ## Detection / Install
65
+
66
+ Verify with:
67
+ ```bash
68
+ command -v lazygit
69
+ ```
70
+
71
+ Install (mac):
72
+
73
+ ```bash
74
+ # brew
75
+ brew install lazygit
76
+ ```
77
+
78
+ Homepage: https://github.com/jesseduffield/lazygit
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-llm
3
+ description: "simonw/llm — invoke LLMs from the command line with prompt templates. Use when model-agnostic shell prompting with template files and conversation memory; invoke `llm`. Streams tokens to stdout so downstream `grep`/`tee` consumers see partial results."
4
+ tags: ["cli-tools", "ai"]
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: llm
10
+ bin: llm
11
+ tier: 2
12
+ category: ai
13
+ homepage: https://llm.datasette.io/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # llm
17
+
18
+ simonw/llm — invoke LLMs from the command line with prompt templates
19
+
20
+ ## When to Use
21
+
22
+ Reach for `llm` 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
+ llm 'summarize this' < file.txt
33
+ ```
34
+ Pipe a file into the default model; output is plain text on stdout.
35
+
36
+ ```bash
37
+ llm -m claude-3-5-sonnet 'rewrite as bullet points' < draft.md > bullets.md
38
+ ```
39
+ Pick a model explicitly and redirect output — useful in batch scripts.
40
+
41
+ ```bash
42
+ llm -t code-review -m claude-3-5-sonnet < patch.diff
43
+ ```
44
+ Use a saved prompt template (`-t code-review`); template files live under `~/.config/io.datasette.llm/templates/`.
45
+
46
+ ```bash
47
+ llm logs --last 5 --json | jq '.[] | {model, prompt, response}'
48
+ ```
49
+ Inspect recent prompt/response pairs; the local SQLite log is queryable with standard SQL via `llm logs sql`.
50
+
51
+ ```bash
52
+ llm templates list
53
+ ```
54
+ List installed templates so the agent picks an existing one instead of writing a new prompt from scratch.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - You are already running inside an agent driven by an LLM (this assistant) — nesting another LLM call adds latency and cost without new capability.
59
+ - The task is deterministic text transformation (e.g., rename a variable across files) — use `sd`/`comby`/`ast-grep`, not an LLM.
60
+ - Working offline without a configured local backend — set up Ollama or `llm-local` first; `llm` with no provider errors out.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `aichat` | Want a richer multi-turn TTY chat experience. |
67
+ | `mods` | Bias toward shell-friendly piping, prompt-as-flag UX. |
68
+ | `curl` to provider API | Need explicit request shape, streaming, or headers `llm` does not expose. |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v llm
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install llm
82
+ ```
83
+
84
+ Homepage: https://llm.datasette.io/
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-miller
3
+ description: "awk/sed/cut/join for CSV/TSV/JSON/Parquet streams. Use when awk-like record processing across CSV, TSV, JSON line streams; invoke `mlr`. 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: miller
10
+ bin: mlr
11
+ tier: 3
12
+ category: data
13
+ homepage: https://miller.readthedocs.io/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # miller
17
+
18
+ awk/sed/cut/join for CSV/TSV/JSON/Parquet streams
19
+
20
+ ## When to Use
21
+
22
+ Reach for `mlr` 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
+ mlr --c2t cat data.csv
33
+ ```
34
+ Convert CSV to TSV on stdout — handy for piping into shell tools that prefer tab delimiters.
35
+
36
+ ```bash
37
+ mlr --csv stats1 -a mean,stddev -f price products.csv
38
+ ```
39
+ Compute mean and stddev of the `price` column.
40
+
41
+ ```bash
42
+ mlr --icsv --ojson put '$tax = $amount * 0.07' transactions.csv
43
+ ```
44
+ Read CSV, add a computed column, emit JSON — chained format conversion plus DSL transform.
45
+
46
+ ```bash
47
+ mlr --csv filter '$status == "active"' users.csv
48
+ ```
49
+ Row filter using the put/filter DSL — operates on streams of arbitrary size.
50
+
51
+ ```bash
52
+ mlr --csv join -j id -f orders.csv customers.csv
53
+ ```
54
+ SQL-style join on `id` between two CSVs, streamed.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Multi-gigabyte analytical queries with joins:** `hatch3r-cli-duckdb` (tier 2) has a query planner and parallel scan; mlr is streaming-single-thread.
59
+ - **One-column slice or count:** `hatch3r-cli-qsv` (tier 2) is faster for trivial slicing.
60
+ - **Production ETL with schema enforcement:** use a real database or dbt — mlr is a CLI-scratchpad tool.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-duckdb` (tier 2) | Multi-GB data, joins, analytical SQL, Parquet |
67
+ | `hatch3r-cli-qsv` (tier 2) | Single-column slice, count, sample on plain CSV |
68
+ | `hatch3r-cli-csvkit` (tier 3) | SQL-over-CSV with `csvsql`, Python integration |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v mlr
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install miller
82
+ ```
83
+
84
+ Homepage: https://miller.readthedocs.io/
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-mods
3
+ description: "Charm mods — Unix-friendly LLM pipeline tool. Use when Unix-pipeline LLM inference reading Markdown stdin and writing Markdown stdout; invoke `mods`. 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: mods
10
+ bin: mods
11
+ tier: 3
12
+ category: ai
13
+ homepage: https://github.com/charmbracelet/mods
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # mods
17
+
18
+ Charm mods — Unix-friendly LLM pipeline tool
19
+
20
+ ## When to Use
21
+
22
+ Reach for `mods` 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
+ cat README.md | mods 'summarize in 3 bullets'
33
+ ```
34
+ Pipe a file into mods with an inline instruction; output prints to stdout.
35
+
36
+ ```bash
37
+ git diff | mods 'write a conventional-commits message for this diff'
38
+ ```
39
+ Generate a commit message from staged changes — pairs well with `git commit -F -`.
40
+
41
+ ```bash
42
+ mods -m gpt-4o 'rewrite for clarity' < draft.md
43
+ ```
44
+ Override the default model per invocation.
45
+
46
+ ```bash
47
+ mods --no-cache 'fresh response please' < input.txt
48
+ ```
49
+ Bypass the on-disk response cache when you need a non-deterministic re-roll.
50
+
51
+ ```bash
52
+ mods -f json 'extract action items as a JSON array' < meeting-notes.md
53
+ ```
54
+ Force a structured-output format — pipes cleanly into `hatch3r-cli-jq`.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Plugin ecosystem needed (templates, embeddings, multi-step chains):** `hatch3r-cli-llm` (tier 2) covers these; mods is intentionally minimal.
59
+ - **Multi-turn conversational sessions:** mods is single-shot; use `hatch3r-cli-aichat` for persisted history.
60
+ - **Interactive prompt iteration with feedback:** mods has no TUI — `aichat` has REPL mode.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-llm` (tier 2) | Plugin ecosystem, templates, embeddings, CI workflows |
67
+ | `hatch3r-cli-aichat` (tier 3) | Multi-turn sessions, RAG mode, role library |
68
+ | Raw `curl` against provider API | Custom request shape, streaming, no client process |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v mods
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install charmbracelet/tap/mods
82
+ ```
83
+
84
+ Homepage: https://github.com/charmbracelet/mods