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-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-xsv` (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-xsv` (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
@@ -0,0 +1,60 @@
1
+ ---
2
+ id: hatch3r-cli-overview
3
+ description: "Catalog of all hatch3r-recommended CLI tools — discovery entry with tier tables and decision tree."
4
+ tags: ["cli-tools", "core", "reference"]
5
+ quality_charter: agents/shared/quality-charter.md
6
+ efficiency_patterns: agents/shared/efficiency-patterns.md
7
+ cache_friendly: true
8
+ ---
9
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
10
+ # CLI Tool Catalog
11
+
12
+ hatch3r recommends a small set of terminal-native CLI tools agents can call instead of MCP servers or wrapped APIs. Each tool listed below has its own skill file with recipes, anti-patterns, and per-OS install instructions. Run `npx hatch3r cli-tools` to (de)select tools, or `npx hatch3r cli-tools detect` for a read-only install report.
13
+
14
+ ## Tier 1 — default-on
15
+
16
+ | Tool | Skill ID | Use for |
17
+ |------|----------|---------|
18
+ | `ast-grep` | `hatch3r-cli-ast-grep` | Structural search and rewrite for code via AST patterns |
19
+ | `bat` | `hatch3r-cli-bat` | cat clone with syntax highlighting and git integration |
20
+ | `delta` | `hatch3r-cli-delta` | Syntax-highlighting git diff pager |
21
+ | `fd` | `hatch3r-cli-fd` | User-friendly find replacement, gitignore-aware |
22
+ | `gh` | `hatch3r-cli-gh` | GitHub CLI — repos, issues, PRs, releases, gists |
23
+ | `jq` | `hatch3r-cli-jq` | JSON processor and query language |
24
+ | `ripgrep` | `hatch3r-cli-ripgrep` | Fast recursive grep with sane defaults and gitignore awareness |
25
+ | `sd` | `hatch3r-cli-sd` | Intuitive sed replacement with literal string patterns |
26
+ | `yq` | `hatch3r-cli-yq` | YAML processor (mikefarah Go implementation) |
27
+ | `zstd` | `hatch3r-cli-zstd` | Fast lossless compression with high ratio |
28
+
29
+ ## Tier 2 — conditional (offered on project signal)
30
+
31
+ | Tool | Skill ID | Use for |
32
+ |------|----------|---------|
33
+ | `az-devops` | `hatch3r-cli-az-devops` | Azure DevOps work items, repos, pipelines via az CLI extension |
34
+ | `difftastic` | `hatch3r-cli-difftastic` | Structural diff that understands syntax |
35
+ | `docker` | `hatch3r-cli-docker` | Container runtime and CLI |
36
+ | `duckdb` | `hatch3r-cli-duckdb` | Embedded analytical database with first-class CSV/Parquet support |
37
+ | `fzf` | `hatch3r-cli-fzf` | Interactive fuzzy finder for TTY pickers |
38
+ | `glab` | `hatch3r-cli-glab` | GitLab CLI — merge requests, issues, pipelines |
39
+ | `lazygit` | `hatch3r-cli-lazygit` | Terminal UI for git with keyboard-driven workflows |
40
+ | `llm` | `hatch3r-cli-llm` | simonw/llm — invoke LLMs from the command line with prompt templates |
41
+ | `playwright` | `hatch3r-cli-playwright` | Browser automation, web testing, and UI interaction |
42
+ | `taplo` | `hatch3r-cli-taplo` | TOML toolkit (format, lint, query) for pyproject.toml / Cargo.toml |
43
+ | `xsv` | `hatch3r-cli-xsv` | Fast CSV toolkit (slice, search, join, stats) |
44
+
45
+ ## Tier 3 — opt-in advanced
46
+
47
+ | Tool | Skill ID | Use for |
48
+ |------|----------|---------|
49
+ | `aichat` | `hatch3r-cli-aichat` | Multi-provider LLM chat CLI with RAG and session memory |
50
+ | `comby` | `hatch3r-cli-comby` | Structural search and replace across languages with declarative patterns |
51
+ | `csvkit` | `hatch3r-cli-csvkit` | csvkit — Python CSV toolkit (csvlook, csvsql, csvjoin, csvstat) |
52
+ | `miller` | `hatch3r-cli-miller` | awk/sed/cut/join for CSV/TSV/JSON/Parquet streams |
53
+ | `mods` | `hatch3r-cli-mods` | Charm mods — Unix-friendly LLM pipeline tool |
54
+ | `podman` | `hatch3r-cli-podman` | Daemonless container engine, rootless by default (Docker alternative) |
55
+ | `rtk` | `hatch3r-cli-rtk` | CLI output-compression proxy (see ⚠ caveat) |
56
+ | `stagehand` | `hatch3r-cli-stagehand` | Browserbase Stagehand — AI-driven browser automation |
57
+
58
+ ## Decision Tree
59
+
60
+ Need text search → `rg`. Structural → `ast-grep`. Files → `fd`. JSON → `jq`. YAML → `yq`. Replace → `sd`. Git/forge → `gh` / `glab` / `az-devops`. Browser → `playwright`. View → `bat`. Diff → `delta`. Archive → `zstd`.
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: hatch3r-cli-playwright
3
+ description: "Browser automation, web testing, and UI interaction. Use when end-to-end browser test execution capturing screenshots and traces; invoke `playwright`. Built around test runners (`@playwright/test`) with deterministic locators and waits."
4
+ tags: ["cli-tools", "browser"]
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: playwright
10
+ bin: playwright
11
+ tier: 2
12
+ category: browser
13
+ homepage: https://playwright.dev/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # playwright
17
+
18
+ Browser automation, web testing, and UI interaction
19
+
20
+ ## When to Use
21
+
22
+ Reach for `playwright` 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 playwright test
33
+ ```
34
+ Run the full suite; non-zero exit on first failing spec.
35
+
36
+ ```bash
37
+ npx playwright test --grep '@smoke' --workers=1
38
+ ```
39
+ Filter by tag and serialize workers — stable output for agent log scraping.
40
+
41
+ ```bash
42
+ npx playwright test tests/login.spec.ts --reporter=line
43
+ ```
44
+ Single-file run with one-line-per-test reporter — fits in <1KB stdout.
45
+
46
+ ```bash
47
+ npx playwright codegen https://example.com
48
+ ```
49
+ Record interactions into a generated spec — human-in-the-loop authoring; not for autonomous runs.
50
+
51
+ ```bash
52
+ npx playwright test --update-snapshots
53
+ ```
54
+ Refresh visual/text snapshots after intentional UI changes; review the diff before committing.
55
+
56
+ ```bash
57
+ npx playwright show-report
58
+ ```
59
+ Open the HTML report locally — human triage step; agents should parse `test-results/results.json` instead.
60
+
61
+ ## Wrong Choice When
62
+
63
+ - The system under test exposes only an HTTP API and no rendered UI — use `curl` + `jq` (Tier 1) for ~50x faster runs.
64
+ - The task is autonomous natural-language browsing (navigate, read, decide) rather than scripted assertions — Stagehand is built for that loop.
65
+ - You only need a one-off page snapshot or screenshot from a script — a headless `curl` plus a server-side renderer is cheaper than the full Playwright install.
66
+
67
+ ## Alternatives
68
+
69
+ | Tool | When to prefer |
70
+ |------|----------------|
71
+ | `curl` + `jq` | API-only tests; no DOM involved. |
72
+ | Stagehand | Agent drives the browser with natural language rather than fixed scripts. |
73
+ | Cypress | Existing Cypress suite or component-test workflow; otherwise prefer Playwright for multi-browser support. |
74
+
75
+ ## Detection / Install
76
+
77
+ Verify with:
78
+ ```bash
79
+ command -v playwright
80
+ ```
81
+
82
+ Install (mac):
83
+
84
+ ```bash
85
+ # npm
86
+ npm install -D @playwright/test && npx playwright install
87
+ ```
88
+
89
+ Homepage: https://playwright.dev/
@@ -0,0 +1,84 @@
1
+ ---
2
+ id: hatch3r-cli-podman
3
+ description: "Daemonless container engine, rootless by default (Docker alternative). Use when rootless OCI-image execution without a privileged daemon; invoke `podman`. Forks per-pod processes directly under the invoking user; ideal for hardened CI workers."
4
+ tags: ["cli-tools", "container", "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: podman
10
+ bin: podman
11
+ tier: 3
12
+ category: container
13
+ homepage: https://podman.io/
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # podman
17
+
18
+ Daemonless container engine, rootless by default (Docker alternative)
19
+
20
+ ## When to Use
21
+
22
+ Reach for `podman` when the task is in the **container** 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
+ podman build -t myapp:dev .
33
+ ```
34
+ Build an image from the local Dockerfile — same CLI surface as docker build.
35
+
36
+ ```bash
37
+ podman run --rm -v "$PWD:/app:Z" -w /app node:22 npm test
38
+ ```
39
+ Run a one-shot container with the working directory bind-mounted; the `:Z` suffix triggers SELinux relabel on Fedora/RHEL hosts.
40
+
41
+ ```bash
42
+ podman compose up
43
+ ```
44
+ Run a `compose.yaml` workflow under podman — uses the podman-compose plugin or docker-compose adapter.
45
+
46
+ ```bash
47
+ podman run --userns=keep-id -v "$PWD:/work" myapp
48
+ ```
49
+ Preserve the host UID inside the rootless container so written files do not end up owned by a high-mapped UID.
50
+
51
+ ```bash
52
+ podman system service --time=0 &
53
+ ```
54
+ Expose a docker-API-compatible socket so docker-only tooling (e.g. testcontainers) can talk to podman unchanged.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - **Enterprise compose / swarm orchestration:** `hatch3r-cli-docker` (tier 2) is the established path for Swarm and Docker Desktop integration; podman's swarm support is minimal.
59
+ - **macOS developer experience parity:** docker desktop has native macOS VM tuning; podman runs in a QEMU machine with extra overhead and bind-mount caveats.
60
+ - **Tooling that hard-codes `/var/run/docker.sock`:** unless you start `podman system service`, those tools fail.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `hatch3r-cli-docker` (tier 2) | Mainstream CI, Docker Desktop, Swarm, broad ecosystem assumptions |
67
+ | nerdctl + containerd | Kubernetes-aligned runtime, OCI-faithful CLI |
68
+ | buildah | Image builds without a full container runtime (rootless, scriptable) |
69
+
70
+ ## Detection / Install
71
+
72
+ Verify with:
73
+ ```bash
74
+ command -v podman
75
+ ```
76
+
77
+ Install (mac):
78
+
79
+ ```bash
80
+ # brew
81
+ brew install podman
82
+ ```
83
+
84
+ Homepage: https://podman.io/
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: hatch3r-cli-ripgrep
3
+ description: "Fast recursive grep with sane defaults and gitignore awareness. Use when regex content searches across large source trees with gitignore filtering; invoke `rg`. Outputs newline-separated hit records; bound results with `-c` or `--max-count`."
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: ripgrep
10
+ bin: rg
11
+ tier: 1
12
+ category: search
13
+ homepage: https://github.com/BurntSushi/ripgrep
14
+ ---
15
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
+ # ripgrep
17
+
18
+ Fast recursive grep with sane defaults and gitignore awareness
19
+
20
+ ## When to Use
21
+
22
+ Reach for `rg` 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
+ rg --json -tts 'createServer\(' src/
33
+ ```
34
+ Structured JSON output scoped to TypeScript — parse hits with `jq` instead of re-reading files.
35
+
36
+ ```bash
37
+ rg -c 'TODO' --type ts
38
+ ```
39
+ Per-file match counts for `.ts` files; cheap stand-in for issue-debt triage.
40
+
41
+ ```bash
42
+ rg -B 2 -A 4 'BREAKING' --max-count 50 CHANGELOG.md
43
+ ```
44
+ Context windows around BREAKING entries, capped at 50 hits to bound output size.
45
+
46
+ ```bash
47
+ rg --hidden --no-ignore 'API_KEY' .
48
+ ```
49
+ Pierces both dotfiles and `.gitignore` rules — use when scanning for accidentally-committed secrets.
50
+
51
+ ```bash
52
+ rg --files-with-matches 'deprecated' src/ | xargs -I{} rg -n 'deprecated' {}
53
+ ```
54
+ Two-phase: file list first, then ranged scan — keeps stdout small when match density is uneven.
55
+
56
+ ## Wrong Choice When
57
+
58
+ - Don't use `rg` to match by code structure (function calls, type signatures, JSX shape); literal regex misses renames and whitespace variants. Reach for `ast-grep` (`hatch3r-cli-ast-grep`).
59
+ - Don't run `rg` against binary blobs (`.zst`, `.png`, lockfile snapshots); it skips them silently by default but explicit `-a` mode wastes CPU. Reach for category-specific tools (`zstd -d` then `rg`, or `xxd | rg` for hex).
60
+ - Don't use `rg` to search a specific git revision or stash — it only sees the working tree. Reach for `git grep <rev>`.
61
+
62
+ ## Alternatives
63
+
64
+ | Tool | When to prefer |
65
+ |------|----------------|
66
+ | `ast-grep` (`hatch3r-cli-ast-grep`) | Structural code patterns: matchers like `console.log($MSG)` that survive whitespace and identifier renames. |
67
+ | `git grep` | Search at a specific revision, tag, or stash — `rg` only reads the working tree. |
68
+ | `fd` (`hatch3r-cli-fd`) piped into `rg` | Filename pre-filter when scoping by extension/age is faster than `rg --type`. |
69
+ | `grep -RIn` | POSIX-only environment where ripgrep is not on PATH and install is blocked. |
70
+
71
+ ## Detection / Install
72
+
73
+ Verify with:
74
+ ```bash
75
+ command -v rg
76
+ ```
77
+
78
+ Install (mac):
79
+
80
+ ```bash
81
+ # brew
82
+ brew install ripgrep
83
+ ```
84
+
85
+ Homepage: https://github.com/BurntSushi/ripgrep
@@ -0,0 +1,91 @@
1
+ ---
2
+ id: hatch3r-cli-rtk
3
+ description: "CLI output-compression proxy (see ⚠ caveat). Use when compressing oversize tool output payloads before they enter an LLM prompt; invoke `rtk`. Streams tokens to stdout so downstream `grep`/`tee` consumers see partial results."
4
+ tags: ["cli-tools", "ai", "opt-in", "caveat"]
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: rtk
10
+ bin: rtk
11
+ tier: 3
12
+ category: ai
13
+ homepage: https://github.com/rtk-ai/rtk
14
+ caveat: pipe-output-corruption
15
+ ---
16
+ <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
17
+ # rtk
18
+
19
+ CLI output-compression proxy (see ⚠ caveat)
20
+
21
+ ## ⚠ Critical: pipe-output corruption (issue #1282)
22
+
23
+ rtk silently rewrites piped stdout which breaks downstream tooling.
24
+ Mitigation: `export RTK_DISABLE_PIPE_REWRITE=1` or invoke with `rtk --raw-output`.
25
+ Track upstream: https://github.com/rtk-ai/rtk/issues/1282
26
+
27
+ ## When to Use
28
+
29
+ Reach for `rtk` when the task is in the **ai** category and the agent would otherwise call an MCP tool or read large outputs into context.
30
+
31
+ ## Token Cost
32
+
33
+ CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
34
+ Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
35
+
36
+ ## Recipes
37
+
38
+ ```bash
39
+ export RTK_DISABLE_PIPE_REWRITE=1
40
+ ```
41
+ Disable pipe-output rewriting before any pipeline use. Required for safe interop with jq/grep/awk.
42
+
43
+ ```bash
44
+ rtk run npm test
45
+ ```
46
+ Run the package's test suite under rtk to compress vitest/jest output before it reaches the agent's context.
47
+
48
+ ```bash
49
+ rtk run pytest -x
50
+ ```
51
+ Compress pytest output and stop on first failure — fits a multi-thousand-line traceback into a few KB.
52
+
53
+ ```bash
54
+ rtk eval 'function foo() { return 42 }'
55
+ ```
56
+ Sandboxed JavaScript eval — returns just the value, no surrounding noise.
57
+
58
+ ```bash
59
+ rtk --raw-output run go test ./...
60
+ ```
61
+ Per-invocation override of the pipe rewrite when piping output into a downstream parser (`| jq`, `| grep`).
62
+
63
+ ## Wrong Choice When
64
+
65
+ - **Piping to `jq` / `grep` / `awk` without `RTK_DISABLE_PIPE_REWRITE=1` set:** the rewrite mangles JSON byte boundaries (issue #1282) — corruption is silent. Reach for plain shell + `tee` or `hatch3r-cli-jq` directly on raw command output.
66
+ - **Safety-critical CI where masked failures matter:** rtk's compression can elide stack frames a downstream check needs. Run the underlying test command directly and capture full output to a file.
67
+ - **One-shot small commands under ~100 lines:** the compression overhead exceeds the saved context — invoke the underlying tool directly.
68
+
69
+ ## Alternatives
70
+
71
+ | Tool | When to prefer |
72
+ |------|----------------|
73
+ | Plain shell + `tee output.log` | When you need a verbatim log file for forensics or CI artifacts |
74
+ | `hatch3r-cli-jq` (tier 1) on raw output | When the upstream command already emits JSON and you want a deterministic projection |
75
+ | Direct `npm test` / `pytest -x` with `--reporter` flags | When the test runner has a built-in compact reporter (jest `--silent`, pytest `-q`) |
76
+
77
+ ## Detection / Install
78
+
79
+ Verify with:
80
+ ```bash
81
+ command -v rtk
82
+ ```
83
+
84
+ Install (mac):
85
+
86
+ ```bash
87
+ # brew
88
+ brew install rtk-ai/tap/rtk
89
+ ```
90
+
91
+ Homepage: https://github.com/rtk-ai/rtk