hatch3r 1.8.0 → 1.9.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 (276) hide show
  1. package/README.md +36 -55
  2. package/dist/cli/index.js +13073 -14671
  3. package/dist/cli/index.js.map +1 -1
  4. package/{agents → dist/content/agents}/hatch3r-a11y-auditor.md +2 -2
  5. package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +2 -2
  6. package/{agents → dist/content/agents}/hatch3r-context-rules.md +5 -5
  7. package/{agents → dist/content/agents}/hatch3r-creator.md +15 -15
  8. package/{agents → dist/content/agents}/hatch3r-dependency-auditor.md +1 -1
  9. package/{agents → dist/content/agents}/hatch3r-devops.md +3 -3
  10. package/{agents → dist/content/agents}/hatch3r-fixer.md +2 -2
  11. package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +11 -11
  12. package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +7 -7
  13. package/{agents → dist/content/agents}/hatch3r-implementer.md +2 -2
  14. package/{agents → dist/content/agents}/hatch3r-learnings-loader.md +11 -11
  15. package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +2 -2
  16. package/{agents → dist/content/agents}/hatch3r-researcher.md +3 -3
  17. package/{agents → dist/content/agents}/hatch3r-reviewer.md +4 -4
  18. package/{agents → dist/content/agents}/hatch3r-security-auditor.md +2 -2
  19. package/{agents → dist/content/agents}/hatch3r-test-writer.md +2 -2
  20. package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
  21. package/{agents → dist/content/agents}/shared/injection-patterns.md +1 -1
  22. package/{agents → dist/content/agents}/shared/quality-charter.md +31 -3
  23. package/{agents → dist/content/agents}/shared/user-content-templates.md +10 -10
  24. package/{agents → dist/content/agents}/shared/user-question-protocol.md +2 -0
  25. package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
  26. package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +4 -4
  27. package/{commands → dist/content/commands}/board/pickup-delegation.md +3 -3
  28. package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
  29. package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
  30. package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
  31. package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
  32. package/{commands → dist/content/commands}/board/shared-github.md +2 -2
  33. package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
  34. package/{commands → dist/content/commands}/hatch3r-api-spec.md +1 -1
  35. package/{commands → dist/content/commands}/hatch3r-benchmark.md +1 -1
  36. package/{commands → dist/content/commands}/hatch3r-board-fill.md +7 -7
  37. package/{commands → dist/content/commands}/hatch3r-board-pickup.md +6 -6
  38. package/{commands → dist/content/commands}/hatch3r-bug-plan.md +5 -5
  39. package/{commands → dist/content/commands}/hatch3r-codebase-map.md +2 -2
  40. package/{commands → dist/content/commands}/hatch3r-create.md +11 -11
  41. package/{commands → dist/content/commands}/hatch3r-debug.md +11 -11
  42. package/{commands → dist/content/commands}/hatch3r-feature-plan.md +5 -5
  43. package/{commands → dist/content/commands}/hatch3r-handoff.md +9 -9
  44. package/{commands → dist/content/commands}/hatch3r-healthcheck.md +1 -1
  45. package/{commands → dist/content/commands}/hatch3r-hooks.md +12 -12
  46. package/{commands → dist/content/commands}/hatch3r-learn.md +11 -11
  47. package/{commands → dist/content/commands}/hatch3r-migration-plan.md +2 -2
  48. package/{commands → dist/content/commands}/hatch3r-onboard.md +7 -7
  49. package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +8 -8
  50. package/{commands → dist/content/commands}/hatch3r-project-spec.md +3 -3
  51. package/{commands → dist/content/commands}/hatch3r-quick-change.md +7 -7
  52. package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +4 -4
  53. package/{commands → dist/content/commands}/hatch3r-report.md +1 -1
  54. package/{commands → dist/content/commands}/hatch3r-revision.md +7 -7
  55. package/{commands → dist/content/commands}/hatch3r-roadmap.md +2 -2
  56. package/{commands → dist/content/commands}/hatch3r-security-audit.md +2 -2
  57. package/{commands → dist/content/commands}/hatch3r-test-plan.md +5 -5
  58. package/{commands → dist/content/commands}/hatch3r-workflow.md +9 -9
  59. package/{commands → dist/content/commands}/revision/revision-delegation.md +2 -2
  60. package/{commands → dist/content/commands}/revision/revision-quality.md +2 -2
  61. package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +1 -1
  62. package/{github-agents → dist/content/github-agents}/hatch3r-lint-agent.md +1 -1
  63. package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +1 -1
  64. package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +1 -1
  65. package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
  66. package/{hooks → dist/content/hooks}/hatch3r-file-save.md +3 -3
  67. package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
  68. package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
  69. package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +3 -3
  70. package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
  71. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +2 -1
  72. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +1 -0
  73. package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.md +2 -2
  74. package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.mdc +1 -1
  75. package/{rules → dist/content/rules}/hatch3r-agent-orchestration.md +2 -2
  76. package/{rules → dist/content/rules}/hatch3r-agent-orchestration.mdc +1 -1
  77. package/{rules → dist/content/rules}/hatch3r-ai-evals.md +2 -1
  78. package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +2 -1
  79. package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +1 -1
  80. package/{rules → dist/content/rules}/hatch3r-api-versioning.md +1 -0
  81. package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
  82. package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +2 -1
  83. package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +1 -0
  84. package/{rules → dist/content/rules}/hatch3r-browser-verification.md +6 -10
  85. package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +6 -10
  86. package/{rules → dist/content/rules}/hatch3r-ci-cd.md +1 -0
  87. package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +1 -0
  88. package/{rules → dist/content/rules}/hatch3r-code-standards.md +1 -1
  89. package/{rules → dist/content/rules}/hatch3r-component-conventions.md +1 -1
  90. package/{rules → dist/content/rules}/hatch3r-container-hardening.md +2 -1
  91. package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +1 -0
  92. package/{rules → dist/content/rules}/hatch3r-contract-testing.md +1 -0
  93. package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
  94. package/{rules → dist/content/rules}/hatch3r-data-classification.md +2 -1
  95. package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +1 -0
  96. package/{rules → dist/content/rules}/hatch3r-deep-context.md +1 -1
  97. package/{rules → dist/content/rules}/hatch3r-dependency-management.md +2 -1
  98. package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +1 -0
  99. package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +2 -1
  100. package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
  101. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +1 -0
  102. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
  103. package/{rules → dist/content/rules}/hatch3r-git-conventions.md +1 -1
  104. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +4 -4
  105. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +3 -3
  106. package/{rules → dist/content/rules}/hatch3r-i18n.md +1 -1
  107. package/{rules → dist/content/rules}/hatch3r-iteration-summary.md +1 -1
  108. package/{rules → dist/content/rules}/hatch3r-learning-consult.md +7 -7
  109. package/{rules → dist/content/rules}/hatch3r-learning-consult.mdc +6 -6
  110. package/{rules → dist/content/rules}/hatch3r-migrations.md +2 -1
  111. package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
  112. package/{rules → dist/content/rules}/hatch3r-observability-logging.md +1 -0
  113. package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
  114. package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +1 -0
  115. package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
  116. package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +1 -0
  117. package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +1 -0
  118. package/{rules → dist/content/rules}/hatch3r-operability.md +1 -0
  119. package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
  120. package/{rules → dist/content/rules}/hatch3r-passkey-server.md +2 -1
  121. package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
  122. package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +1 -1
  123. package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +1 -1
  124. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +1 -0
  125. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
  126. package/{rules → dist/content/rules}/hatch3r-secrets-management.md +2 -1
  127. package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +1 -0
  128. package/{rules → dist/content/rules}/hatch3r-security-patterns.md +2 -1
  129. package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +1 -0
  130. package/{rules → dist/content/rules}/hatch3r-testing.md +2 -1
  131. package/{rules → dist/content/rules}/hatch3r-testing.mdc +1 -0
  132. package/{rules → dist/content/rules}/hatch3r-theming.md +1 -1
  133. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +4 -4
  134. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +3 -3
  135. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +2 -1
  136. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +1 -0
  137. package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +1 -1
  138. package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +1 -1
  139. package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +5 -18
  140. package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +17 -30
  141. package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +5 -18
  142. package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +7 -14
  143. package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +1 -1
  144. package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +1 -1
  145. package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +1 -1
  146. package/{skills → dist/content/skills}/hatch3r-cli-gh/SKILL.md +4 -4
  147. package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +3 -3
  148. package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +3 -3
  149. package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +269 -0
  150. package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +18 -2
  151. package/{skills → dist/content/skills}/hatch3r-cost-tracking/SKILL.md +59 -7
  152. package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +5 -6
  153. package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +6 -2
  154. package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +1 -1
  155. package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +1 -1
  156. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +4 -4
  157. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
  158. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
  159. package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +9 -9
  160. package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +2 -2
  161. package/{skills → dist/content/skills}/hatch3r-incident-response/SKILL.md +2 -2
  162. package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +4 -4
  163. package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +1 -1
  164. package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +0 -1
  165. package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +1 -1
  166. package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +4 -4
  167. package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +2 -2
  168. package/{skills → dist/content/skills}/hatch3r-recipe/SKILL.md +82 -2
  169. package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +1 -1
  170. package/{skills → dist/content/skills}/hatch3r-release/SKILL.md +35 -2
  171. package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +1 -1
  172. package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +1 -1
  173. package/package.json +6 -18
  174. package/commands/hatch3r-agent-customize.md +0 -201
  175. package/commands/hatch3r-command-customize.md +0 -113
  176. package/commands/hatch3r-context-health.md +0 -147
  177. package/commands/hatch3r-cost-tracking.md +0 -163
  178. package/commands/hatch3r-dep-audit.md +0 -188
  179. package/commands/hatch3r-recipe.md +0 -194
  180. package/commands/hatch3r-release.md +0 -350
  181. package/commands/hatch3r-rule-customize.md +0 -133
  182. package/commands/hatch3r-skill-customize.md +0 -112
  183. package/prompts/hatch3r-bug-triage.md +0 -158
  184. package/prompts/hatch3r-code-review.md +0 -134
  185. package/prompts/hatch3r-pr-description.md +0 -176
  186. package/rules/hatch3r-observability-tracing-detail.md +0 -20
  187. package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
  188. package/rules/hatch3r-observability.md +0 -20
  189. package/rules/hatch3r-observability.mdc +0 -14
  190. package/skills/hatch3r-agent-customize/SKILL.md +0 -23
  191. package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
  192. package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
  193. package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
  194. package/skills/hatch3r-cli-bat/SKILL.md +0 -85
  195. package/skills/hatch3r-cli-comby/SKILL.md +0 -85
  196. package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
  197. package/skills/hatch3r-cli-delta/SKILL.md +0 -86
  198. package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
  199. package/skills/hatch3r-cli-docker/SKILL.md +0 -89
  200. package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
  201. package/skills/hatch3r-cli-glab/SKILL.md +0 -89
  202. package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
  203. package/skills/hatch3r-cli-llm/SKILL.md +0 -84
  204. package/skills/hatch3r-cli-miller/SKILL.md +0 -84
  205. package/skills/hatch3r-cli-mods/SKILL.md +0 -84
  206. package/skills/hatch3r-cli-overview/SKILL.md +0 -60
  207. package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
  208. package/skills/hatch3r-cli-podman/SKILL.md +0 -84
  209. package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
  210. package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
  211. package/skills/hatch3r-cli-sd/SKILL.md +0 -85
  212. package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
  213. package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
  214. package/skills/hatch3r-cli-yq/SKILL.md +0 -85
  215. package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
  216. package/skills/hatch3r-command-customize/SKILL.md +0 -23
  217. package/skills/hatch3r-rule-customize/SKILL.md +0 -23
  218. package/skills/hatch3r-skill-customize/SKILL.md +0 -23
  219. /package/{agents → dist/content/agents}/hatch3r-architect.md +0 -0
  220. /package/{agents → dist/content/agents}/hatch3r-docs-writer.md +0 -0
  221. /package/{agents → dist/content/agents}/hatch3r-perf-profiler.md +0 -0
  222. /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
  223. /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
  224. /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
  225. /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
  226. /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
  227. /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
  228. /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
  229. /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
  230. /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
  231. /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
  232. /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
  233. /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
  234. /package/{agents → dist/content/agents}/modes/regression.md +0 -0
  235. /package/{agents → dist/content/agents}/modes/requirements-elicitation.md +0 -0
  236. /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
  237. /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
  238. /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
  239. /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
  240. /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
  241. /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
  242. /package/{agents → dist/content/agents}/modes/user-flows.md +0 -0
  243. /package/{agents → dist/content/agents}/shared/efficiency-patterns.md +0 -0
  244. /package/{agents → dist/content/agents}/shared/prompt-structure.md +0 -0
  245. /package/{checks → dist/content/checks}/README.md +0 -0
  246. /package/{checks → dist/content/checks}/accessibility.md +0 -0
  247. /package/{checks → dist/content/checks}/code-quality.md +0 -0
  248. /package/{checks → dist/content/checks}/performance.md +0 -0
  249. /package/{checks → dist/content/checks}/security.md +0 -0
  250. /package/{checks → dist/content/checks}/testing.md +0 -0
  251. /package/{commands → dist/content/commands}/board/pickup-modes.md +0 -0
  252. /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
  253. /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
  254. /package/{commands → dist/content/commands}/revision/revision-modes.md +0 -0
  255. /package/{mcp → dist/content/mcp}/mcp.json +0 -0
  256. /package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +0 -0
  257. /package/{rules → dist/content/rules}/hatch3r-api-design.md +0 -0
  258. /package/{rules → dist/content/rules}/hatch3r-api-design.mdc +0 -0
  259. /package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +0 -0
  260. /package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +0 -0
  261. /package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +0 -0
  262. /package/{rules → dist/content/rules}/hatch3r-feature-flags.md +0 -0
  263. /package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +0 -0
  264. /package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +0 -0
  265. /package/{rules → dist/content/rules}/hatch3r-i18n.mdc +0 -0
  266. /package/{rules → dist/content/rules}/hatch3r-iteration-summary.mdc +0 -0
  267. /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +0 -0
  268. /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +0 -0
  269. /package/{rules → dist/content/rules}/hatch3r-theming.mdc +0 -0
  270. /package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +0 -0
  271. /package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +0 -0
  272. /package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +0 -0
  273. /package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +0 -0
  274. /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
  275. /package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +0 -0
  276. /package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +0 -0
@@ -1,84 +0,0 @@
1
- ---
2
- id: hatch3r-cli-duckdb
3
- description: "Embedded analytical database with first-class CSV/Parquet support. Use when ad-hoc analytical SQL over local Parquet, CSV, and JSON files; invoke `duckdb`. Streams records lazily; works on datasets that exceed available RAM."
4
- tags: ["cli-tools", "data"]
5
- quality_charter: agents/shared/quality-charter.md
6
- efficiency_patterns: agents/shared/efficiency-patterns.md
7
- cache_friendly: true
8
- cli_tool:
9
- id: duckdb
10
- bin: duckdb
11
- tier: 2
12
- category: data
13
- homepage: https://duckdb.org/
14
- ---
15
- <!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
16
- # duckdb
17
-
18
- Embedded analytical database with first-class CSV/Parquet support
19
-
20
- ## When to Use
21
-
22
- Reach for `duckdb` 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
- duckdb -c "SELECT count(*) FROM 'data/*.parquet'"
33
- ```
34
- Count rows across a Parquet glob — no schema declaration, no import step.
35
-
36
- ```bash
37
- duckdb -c "COPY (SELECT * FROM 'in.csv' WHERE active) TO 'out.parquet' (FORMAT PARQUET)"
38
- ```
39
- Filter a CSV and emit columnar Parquet in one pass; ideal for downstream `qsv`/`jq` chains.
40
-
41
- ```bash
42
- duckdb -c "ATTACH 'app.sqlite' AS sqlite; SELECT * FROM sqlite.users LIMIT 10"
43
- ```
44
- Query a SQLite file without conversion — useful for app debugging from the terminal.
45
-
46
- ```bash
47
- duckdb -json -c "DESCRIBE 'data.parquet'"
48
- ```
49
- Emit JSON schema rows for column inspection; pipe to `jq` to extract specific column types.
50
-
51
- ```bash
52
- duckdb -c "SELECT date_trunc('day', ts) AS d, count(*) FROM 'events/*.csv' GROUP BY 1 ORDER BY 1"
53
- ```
54
- Aggregate over a CSV directory; DuckDB streams the read so memory stays bounded.
55
-
56
- ## Wrong Choice When
57
-
58
- - The CSV has <10k rows and you only need to slice/select columns — `qsv` (Tier 2 sibling) starts faster and has no install dependency in many environments.
59
- - The workload is transactional (writes from multiple clients, ACID across rows) — use SQLite or Postgres; DuckDB is read-optimized OLAP.
60
- - A single `jq` filter would do the job (the data is already JSON, the operation is field extraction) — skip the SQL detour.
61
-
62
- ## Alternatives
63
-
64
- | Tool | When to prefer |
65
- |------|----------------|
66
- | `qsv` | Single CSV file, <100MB, just need slice/select/sort. |
67
- | `sqlite3` | Need OLTP writes or row-level updates rather than analytics. |
68
- | `python -m pandas` | Already in a Python script and the data fits in memory. |
69
-
70
- ## Detection / Install
71
-
72
- Verify with:
73
- ```bash
74
- command -v duckdb
75
- ```
76
-
77
- Install (mac):
78
-
79
- ```bash
80
- # brew
81
- brew install duckdb
82
- ```
83
-
84
- Homepage: https://duckdb.org/
@@ -1,89 +0,0 @@
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
@@ -1,78 +0,0 @@
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
@@ -1,84 +0,0 @@
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/
@@ -1,84 +0,0 @@
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/
@@ -1,84 +0,0 @@
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
@@ -1,60 +0,0 @@
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
- | `qsv` | `hatch3r-cli-qsv` | Fast CSV toolkit (slice, search, join, stats, 80+ commands) — actively-maintained xsv successor |
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`.
@@ -1,89 +0,0 @@
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/