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.
- package/README.md +36 -55
- package/dist/cli/index.js +13073 -14671
- package/dist/cli/index.js.map +1 -1
- package/{agents → dist/content/agents}/hatch3r-a11y-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-context-rules.md +5 -5
- package/{agents → dist/content/agents}/hatch3r-creator.md +15 -15
- package/{agents → dist/content/agents}/hatch3r-dependency-auditor.md +1 -1
- package/{agents → dist/content/agents}/hatch3r-devops.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +11 -11
- package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +7 -7
- package/{agents → dist/content/agents}/hatch3r-implementer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-learnings-loader.md +11 -11
- package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-researcher.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-reviewer.md +4 -4
- package/{agents → dist/content/agents}/hatch3r-security-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-test-writer.md +2 -2
- package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
- package/{agents → dist/content/agents}/shared/injection-patterns.md +1 -1
- package/{agents → dist/content/agents}/shared/quality-charter.md +31 -3
- package/{agents → dist/content/agents}/shared/user-content-templates.md +10 -10
- package/{agents → dist/content/agents}/shared/user-question-protocol.md +2 -0
- package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +4 -4
- package/{commands → dist/content/commands}/board/pickup-delegation.md +3 -3
- package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
- package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/shared-github.md +2 -2
- package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-api-spec.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-benchmark.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-board-fill.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-board-pickup.md +6 -6
- package/{commands → dist/content/commands}/hatch3r-bug-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-codebase-map.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-create.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-debug.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-feature-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-handoff.md +9 -9
- package/{commands → dist/content/commands}/hatch3r-healthcheck.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-hooks.md +12 -12
- package/{commands → dist/content/commands}/hatch3r-learn.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-migration-plan.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-onboard.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +8 -8
- package/{commands → dist/content/commands}/hatch3r-project-spec.md +3 -3
- package/{commands → dist/content/commands}/hatch3r-quick-change.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +4 -4
- package/{commands → dist/content/commands}/hatch3r-report.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-revision.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-roadmap.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-security-audit.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-test-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-workflow.md +9 -9
- package/{commands → dist/content/commands}/revision/revision-delegation.md +2 -2
- package/{commands → dist/content/commands}/revision/revision-quality.md +2 -2
- package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-lint-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-file-save.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.md +2 -2
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.md +2 -2
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-ai-evals.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-api-versioning.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-browser-verification.md +6 -10
- package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +6 -10
- package/{rules → dist/content/rules}/hatch3r-ci-cd.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-code-standards.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-component-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-data-classification.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-deep-context.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-git-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-i18n.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-iteration-summary.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-learning-consult.md +7 -7
- package/{rules → dist/content/rules}/hatch3r-learning-consult.mdc +6 -6
- package/{rules → dist/content/rules}/hatch3r-migrations.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-operability.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-passkey-server.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-secrets-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-security-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-testing.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-theming.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +1 -0
- package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +1 -1
- package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +5 -18
- package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +17 -30
- package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +5 -18
- package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +7 -14
- package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-gh/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +3 -3
- package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +3 -3
- package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +269 -0
- package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +18 -2
- package/{skills → dist/content/skills}/hatch3r-cost-tracking/SKILL.md +59 -7
- package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +5 -6
- package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +6 -2
- package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +9 -9
- package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-incident-response/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +0 -1
- package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-recipe/SKILL.md +82 -2
- package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-release/SKILL.md +35 -2
- package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +1 -1
- package/package.json +6 -18
- package/commands/hatch3r-agent-customize.md +0 -201
- package/commands/hatch3r-command-customize.md +0 -113
- package/commands/hatch3r-context-health.md +0 -147
- package/commands/hatch3r-cost-tracking.md +0 -163
- package/commands/hatch3r-dep-audit.md +0 -188
- package/commands/hatch3r-recipe.md +0 -194
- package/commands/hatch3r-release.md +0 -350
- package/commands/hatch3r-rule-customize.md +0 -133
- package/commands/hatch3r-skill-customize.md +0 -112
- package/prompts/hatch3r-bug-triage.md +0 -158
- package/prompts/hatch3r-code-review.md +0 -134
- package/prompts/hatch3r-pr-description.md +0 -176
- package/rules/hatch3r-observability-tracing-detail.md +0 -20
- package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
- package/rules/hatch3r-observability.md +0 -20
- package/rules/hatch3r-observability.mdc +0 -14
- package/skills/hatch3r-agent-customize/SKILL.md +0 -23
- package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
- package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
- package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
- package/skills/hatch3r-cli-bat/SKILL.md +0 -85
- package/skills/hatch3r-cli-comby/SKILL.md +0 -85
- package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
- package/skills/hatch3r-cli-delta/SKILL.md +0 -86
- package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
- package/skills/hatch3r-cli-docker/SKILL.md +0 -89
- package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
- package/skills/hatch3r-cli-glab/SKILL.md +0 -89
- package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
- package/skills/hatch3r-cli-llm/SKILL.md +0 -84
- package/skills/hatch3r-cli-miller/SKILL.md +0 -84
- package/skills/hatch3r-cli-mods/SKILL.md +0 -84
- package/skills/hatch3r-cli-overview/SKILL.md +0 -60
- package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
- package/skills/hatch3r-cli-podman/SKILL.md +0 -84
- package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
- package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
- package/skills/hatch3r-cli-sd/SKILL.md +0 -85
- package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
- package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
- package/skills/hatch3r-cli-yq/SKILL.md +0 -85
- package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
- package/skills/hatch3r-command-customize/SKILL.md +0 -23
- package/skills/hatch3r-rule-customize/SKILL.md +0 -23
- package/skills/hatch3r-skill-customize/SKILL.md +0 -23
- /package/{agents → dist/content/agents}/hatch3r-architect.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-docs-writer.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-perf-profiler.md +0 -0
- /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
- /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
- /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
- /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
- /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
- /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
- /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
- /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
- /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
- /package/{agents → dist/content/agents}/modes/regression.md +0 -0
- /package/{agents → dist/content/agents}/modes/requirements-elicitation.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
- /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
- /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
- /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
- /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
- /package/{agents → dist/content/agents}/modes/user-flows.md +0 -0
- /package/{agents → dist/content/agents}/shared/efficiency-patterns.md +0 -0
- /package/{agents → dist/content/agents}/shared/prompt-structure.md +0 -0
- /package/{checks → dist/content/checks}/README.md +0 -0
- /package/{checks → dist/content/checks}/accessibility.md +0 -0
- /package/{checks → dist/content/checks}/code-quality.md +0 -0
- /package/{checks → dist/content/checks}/performance.md +0 -0
- /package/{checks → dist/content/checks}/security.md +0 -0
- /package/{checks → dist/content/checks}/testing.md +0 -0
- /package/{commands → dist/content/commands}/board/pickup-modes.md +0 -0
- /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-modes.md +0 -0
- /package/{mcp → dist/content/mcp}/mcp.json +0 -0
- /package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-i18n.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-iteration-summary.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-theming.mdc +0 -0
- /package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +0 -0
|
@@ -1,84 +0,0 @@
|
|
|
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/
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-cli-qsv
|
|
3
|
-
description: "Fast CSV toolkit (slice, search, join, stats, 80+ commands) — actively-maintained xsv successor. Use when slicing huge CSV documents by row range or column without materialising the dataset; invoke `qsv`. 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: qsv
|
|
10
|
-
bin: qsv
|
|
11
|
-
tier: 2
|
|
12
|
-
category: data
|
|
13
|
-
homepage: https://github.com/jqnatividad/qsv
|
|
14
|
-
---
|
|
15
|
-
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
-
# qsv
|
|
17
|
-
|
|
18
|
-
Fast CSV toolkit (slice, search, join, stats, 80+ commands) — actively-maintained xsv successor
|
|
19
|
-
|
|
20
|
-
## When to Use
|
|
21
|
-
|
|
22
|
-
Reach for `qsv` 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
|
-
`qsv` is a drop-in superset of `xsv` — every `xsv` sub-command name and flag works under `qsv`, plus 50+ additional commands (`apply`, `fetch`, `validate`, `tojsonl`, `sqlp`, etc.). The upstream `BurntSushi/xsv` repository was archived on 2025-04-24; `jqnatividad/qsv` is the active fork with regular releases.
|
|
25
|
-
|
|
26
|
-
## Token Cost
|
|
27
|
-
|
|
28
|
-
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
29
|
-
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
30
|
-
|
|
31
|
-
## Recipes
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
qsv stats huge.csv
|
|
35
|
-
```
|
|
36
|
-
Per-column min/max/mean/stddev/cardinality — single streaming pass over the file.
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
qsv select name,email,active records.csv
|
|
40
|
-
```
|
|
41
|
-
Project a subset of columns without rewriting; output stays CSV for downstream tools.
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
qsv sort -s amount records.csv | qsv slice -e 100
|
|
45
|
-
```
|
|
46
|
-
Sort by `amount` then take the first 100 rows — composable pipe; both stages stream.
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
qsv frequency -s status events.csv
|
|
50
|
-
```
|
|
51
|
-
Tabulate value counts for a column; output is itself CSV, parsable by the next step.
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
qsv search -s email '@example\.com$' users.csv
|
|
55
|
-
```
|
|
56
|
-
Regex-filter a column — much cheaper than loading the whole file into a SQL engine.
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
qsv join id orders.csv id customers.csv > joined.csv
|
|
60
|
-
```
|
|
61
|
-
Hash join two CSVs on a common column without spinning up DuckDB.
|
|
62
|
-
|
|
63
|
-
## Wrong Choice When
|
|
64
|
-
|
|
65
|
-
- The query needs aggregation across millions of rows or multiple files — DuckDB (Tier 2 sibling) is built for that scan plan.
|
|
66
|
-
- You need a multi-way join with type coercion or window functions — `qsv join` is hash-only and untyped; use DuckDB.
|
|
67
|
-
- The data is JSON or Parquet, not CSV — pipe through `jq`/DuckDB instead of CSV-converting first.
|
|
68
|
-
|
|
69
|
-
## Alternatives
|
|
70
|
-
|
|
71
|
-
| Tool | When to prefer |
|
|
72
|
-
|------|----------------|
|
|
73
|
-
| DuckDB | Aggregations, joins, or non-CSV inputs (Parquet/JSON). |
|
|
74
|
-
| Miller (`mlr`) | Need TSV/JSON-Lines support or per-record transforms in the same tool. |
|
|
75
|
-
| csvkit | Want CSV-to-SQL or CSV-to-JSON conversions out of the box. |
|
|
76
|
-
|
|
77
|
-
## Detection / Install
|
|
78
|
-
|
|
79
|
-
Verify with:
|
|
80
|
-
```bash
|
|
81
|
-
command -v qsv
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Install (mac):
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
# brew
|
|
88
|
-
brew install qsv
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Homepage: https://github.com/jqnatividad/qsv
|
|
@@ -1,91 +0,0 @@
|
|
|
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
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-cli-sd
|
|
3
|
-
description: "Intuitive sed replacement with literal string patterns. Use when literal-string stream substitution with no regex foot-guns; invoke `sd`. Operates byte-by-byte; safe for fixed-string edits where regex would over-match."
|
|
4
|
-
tags: ["cli-tools", "edit", "core"]
|
|
5
|
-
quality_charter: agents/shared/quality-charter.md
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
cli_tool:
|
|
9
|
-
id: sd
|
|
10
|
-
bin: sd
|
|
11
|
-
tier: 1
|
|
12
|
-
category: edit
|
|
13
|
-
homepage: https://github.com/chmln/sd
|
|
14
|
-
---
|
|
15
|
-
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
-
# sd
|
|
17
|
-
|
|
18
|
-
Intuitive sed replacement with literal string patterns
|
|
19
|
-
|
|
20
|
-
## When to Use
|
|
21
|
-
|
|
22
|
-
Reach for `sd` when the task is in the **edit** category and the agent would otherwise call an MCP tool or read large outputs into context.
|
|
23
|
-
|
|
24
|
-
## Token Cost
|
|
25
|
-
|
|
26
|
-
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
27
|
-
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
28
|
-
|
|
29
|
-
## Recipes
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
sd 'foo\(' 'bar(' src/lib/util.ts
|
|
33
|
-
```
|
|
34
|
-
Single-file substitution — sd defaults to regex, no escaping for forward slashes or `&`.
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
sd -p 'oldName' 'newName' src/main.ts
|
|
38
|
-
```
|
|
39
|
-
`-p` (preview) prints the diff without writing — safer than running sed and re-reading.
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
sd '\bAPI_KEY\b' 'GH_TOKEN' .env
|
|
43
|
-
```
|
|
44
|
-
Word-boundary anchors catch the symbol without rewriting `API_KEY_BACKUP` or similar.
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
rg --files-with-matches 'oldName' -tts | xargs sd 'oldName' 'newName'
|
|
48
|
-
```
|
|
49
|
-
Two-phase rewrite: `rg` finds candidate files, `sd` applies the substitution per file in parallel.
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
sd -s 'literal string with $special chars' 'replacement' README.md
|
|
53
|
-
```
|
|
54
|
-
`-s` switches to literal-string mode — no regex interpretation, useful when the pattern contains `.`, `*`, `(`.
|
|
55
|
-
|
|
56
|
-
## Wrong Choice When
|
|
57
|
-
|
|
58
|
-
- Don't use `sd` for multi-step stream transforms (insert, delete, swap lines in one pass). Reach for `sed -e ... -e ...`, awk, or a real script.
|
|
59
|
-
- Don't use `sd` to refactor identifiers that need type awareness — it cannot tell `count` (the variable) from `count` (the field name). Reach for `ast-grep` (`hatch3r-cli-ast-grep`).
|
|
60
|
-
- Don't reach for `sd` to rewrite extremely large files (>1 GB); it buffers the file in memory. Reach for streaming tools like `sed`.
|
|
61
|
-
|
|
62
|
-
## Alternatives
|
|
63
|
-
|
|
64
|
-
| Tool | When to prefer |
|
|
65
|
-
|------|----------------|
|
|
66
|
-
| `sed` (POSIX) | Multi-step transforms, ed-style addressing, or any place sd's flag surface is too thin. |
|
|
67
|
-
| `ast-grep` (`hatch3r-cli-ast-grep`) | Identifier-aware rewrites that must respect language structure. |
|
|
68
|
-
| `perl -pi -e` | Backreferences and lookaround in mature scripts where Perl is already a dependency. |
|
|
69
|
-
| Editor's "rename symbol" (LSP) | Authoritative rename across modules with type information. |
|
|
70
|
-
|
|
71
|
-
## Detection / Install
|
|
72
|
-
|
|
73
|
-
Verify with:
|
|
74
|
-
```bash
|
|
75
|
-
command -v sd
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Install (mac):
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# brew
|
|
82
|
-
brew install sd
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Homepage: https://github.com/chmln/sd
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-cli-stagehand
|
|
3
|
-
description: "Browserbase Stagehand — AI-driven browser automation. Use when natural-language browser steering with on-the-fly DOM reasoning; invoke `stagehand`. Wraps Browserbase Stagehand so prompts decide which DOM nodes to inspect or click."
|
|
4
|
-
tags: ["cli-tools", "browser", "opt-in"]
|
|
5
|
-
quality_charter: agents/shared/quality-charter.md
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
cli_tool:
|
|
9
|
-
id: stagehand
|
|
10
|
-
bin: stagehand
|
|
11
|
-
tier: 3
|
|
12
|
-
category: browser
|
|
13
|
-
homepage: https://github.com/browserbase/stagehand
|
|
14
|
-
---
|
|
15
|
-
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
-
# stagehand
|
|
17
|
-
|
|
18
|
-
Browserbase Stagehand — AI-driven browser automation
|
|
19
|
-
|
|
20
|
-
## When to Use
|
|
21
|
-
|
|
22
|
-
Reach for `stagehand` when the task is in the **browser** category and the agent would otherwise call an MCP tool or read large outputs into context. v3 (released 2025-10-29) operates directly on the Chrome DevTools Protocol — choose Stagehand when the target page changes shape often enough that hand-written selectors break, or when a prompt is the most compact spec of intent.
|
|
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
|
-
## v3 Driver Model
|
|
30
|
-
|
|
31
|
-
v3 dropped the hard Playwright dependency and exposes a modular driver layer. Pick the driver that matches the host environment:
|
|
32
|
-
|
|
33
|
-
- **CDP-native (default):** Stagehand talks Chrome DevTools Protocol directly — no test-runner dependency, smallest install, Bun-compatible.
|
|
34
|
-
- **Playwright peer:** install `playwright-core` alongside Stagehand to reuse existing Playwright fixtures, traces, or `@playwright/test` reporters.
|
|
35
|
-
- **Puppeteer peer:** install `puppeteer-core` to share a launcher with existing Puppeteer scripts.
|
|
36
|
-
- **Patchright peer:** install `patchright-core` for stealth-patched CDP profiles.
|
|
37
|
-
|
|
38
|
-
`playwright-core`, `puppeteer-core`, and `patchright-core` are peer dependencies in v3 — install only the driver you use.
|
|
39
|
-
|
|
40
|
-
## Recipes
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npx create-browser-app
|
|
44
|
-
```
|
|
45
|
-
Scaffold a v3 Stagehand project with TypeScript wiring, a `stagehand.config.ts`, and an example `act`/`extract`/`observe` script. Replaces the v2 `npx stagehand init` workflow.
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
node scripts/login.ts
|
|
49
|
-
```
|
|
50
|
-
Execute an AI-driven action script. The script imports `Stagehand` from `@browserbasehq/stagehand`, calls `stagehand.act("click the login button")`, and Stagehand resolves the action at runtime via CDP — no test runner required.
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npx browse get markdown https://example.com
|
|
54
|
-
```
|
|
55
|
-
One-shot page extraction via `browse-cli` (v0.6+). Returns structured Markdown the agent can consume directly; cheaper than spawning a full Stagehand session for a single read.
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
npx browse cdp wss://browser.example.com
|
|
59
|
-
```
|
|
60
|
-
Attach to an existing CDP endpoint (Browserbase managed session, local Chrome, or a custom launcher). Useful when the script delegates browser lifecycle to another supervisor.
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
// scripts/observe.ts — observe primitive returns actions without executing
|
|
64
|
-
import { Stagehand } from "@browserbasehq/stagehand";
|
|
65
|
-
const stagehand = new Stagehand({ env: "LOCAL" });
|
|
66
|
-
await stagehand.init();
|
|
67
|
-
const actions = await stagehand.observe("find the login form");
|
|
68
|
-
console.log(JSON.stringify(actions, null, 2));
|
|
69
|
-
await stagehand.close();
|
|
70
|
-
```
|
|
71
|
-
Dry-run agent loop: `observe` returns the candidate action set without performing it, so a caller can route the decision (execute, ask the user, or reject).
|
|
72
|
-
|
|
73
|
-
## Wrong Choice When
|
|
74
|
-
|
|
75
|
-
- **High-volume scraping at scale:** Stagehand's per-action LLM round-trip is cost-prohibitive past a few hundred pages — use the Browserbase managed-browser product, raw CDP with cached locators (v3's `deepLocator`), or Stagehand's action cache once a workflow is recorded as a deterministic script.
|
|
76
|
-
- **Headless CI in air-gapped environments:** Stagehand requires outbound LLM API access for selector resolution; offline environments fail the `act`/`extract`/`observe` calls. Pre-record actions with v3's automatic action cache, then replay the cached deterministic script in the air-gapped runner.
|
|
77
|
-
- **Workflows already covered by a stable test suite:** if Playwright tests with hand-tuned locators already pass green, Stagehand adds an LLM round-trip per step with no behavioural gain. Use `hatch3r-cli-playwright` (tier 2) for the test surface; reserve Stagehand for the agent-driven exploratory flows.
|
|
78
|
-
|
|
79
|
-
## Alternatives
|
|
80
|
-
|
|
81
|
-
| Tool | When to prefer |
|
|
82
|
-
|------|----------------|
|
|
83
|
-
| `hatch3r-cli-playwright` (tier 2) | Existing test fixtures, deterministic CI, no LLM round-trips needed |
|
|
84
|
-
| Browserbase managed browsers | Production scale, session recording, anti-bot evasion, CAPTCHA solving |
|
|
85
|
-
| Stagehand action cache (built into v3) | Same workflow re-run many times — record once, replay deterministically |
|
|
86
|
-
| Skyvern / Browser-Use | Workflow-style automation with embedded LLM agents and built-in task loops |
|
|
87
|
-
|
|
88
|
-
## Detection / Install
|
|
89
|
-
|
|
90
|
-
Verify with:
|
|
91
|
-
```bash
|
|
92
|
-
command -v stagehand
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Install (mac):
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
# npm — v3 (Oct 29 2025); drivers are peer deps, install only what you use
|
|
99
|
-
npm install -g @browserbasehq/stagehand
|
|
100
|
-
# Add a driver only if you need Playwright/Puppeteer/Patchright interop:
|
|
101
|
-
# npm install -g playwright-core # OR
|
|
102
|
-
# npm install -g puppeteer-core # OR
|
|
103
|
-
# npm install -g patchright-core
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
References:
|
|
107
|
-
- v3 release announcement (2025-10-29): https://www.browserbase.com/blog/stagehand-v3
|
|
108
|
-
- Latest npm releases: https://github.com/browserbase/stagehand/releases
|
|
109
|
-
- v3 docs: https://docs.stagehand.dev/v3/get_started/introduction
|
|
110
|
-
|
|
111
|
-
Homepage: https://github.com/browserbase/stagehand
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-cli-taplo
|
|
3
|
-
description: "TOML toolkit (format, lint, query) for pyproject.toml / Cargo.toml. Use when formatting and linting pyproject.toml or Cargo.toml manifests; invoke `taplo`. Preserves YAML anchors, comments, and ordering when editing in place."
|
|
4
|
-
tags: ["cli-tools", "yaml"]
|
|
5
|
-
quality_charter: agents/shared/quality-charter.md
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
cli_tool:
|
|
9
|
-
id: taplo
|
|
10
|
-
bin: taplo
|
|
11
|
-
tier: 2
|
|
12
|
-
category: yaml
|
|
13
|
-
homepage: https://taplo.tamasfe.dev/
|
|
14
|
-
---
|
|
15
|
-
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
-
# taplo
|
|
17
|
-
|
|
18
|
-
TOML toolkit (format, lint, query) for pyproject.toml / Cargo.toml
|
|
19
|
-
|
|
20
|
-
## When to Use
|
|
21
|
-
|
|
22
|
-
Reach for `taplo` when the task is in the **yaml** category and the agent would otherwise call an MCP tool or read large outputs into context.
|
|
23
|
-
|
|
24
|
-
## Token Cost
|
|
25
|
-
|
|
26
|
-
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
27
|
-
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
28
|
-
|
|
29
|
-
## Recipes
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
taplo fmt
|
|
33
|
-
```
|
|
34
|
-
Format every TOML file under the cwd in-place; idempotent — safe to run in pre-commit.
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
taplo fmt --check
|
|
38
|
-
```
|
|
39
|
-
Exit non-zero if any TOML file would change; CI-friendly drift detector.
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
taplo lint
|
|
43
|
-
```
|
|
44
|
-
Surface syntax and schema-violation diagnostics; works with bundled schemas for `Cargo.toml`, `pyproject.toml`.
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
taplo get -f Cargo.toml package.version
|
|
48
|
-
```
|
|
49
|
-
Extract a single TOML value as plain stdout — replaces a multi-line `grep`/`sed` recipe.
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
taplo get -f pyproject.toml -o json 'project.dependencies'
|
|
53
|
-
```
|
|
54
|
-
Emit the value as JSON for piping into `jq` — keeps quoting unambiguous.
|
|
55
|
-
|
|
56
|
-
## Wrong Choice When
|
|
57
|
-
|
|
58
|
-
- The project has no TOML files (pure YAML/JSON config) — skip entirely; use `yq` for YAML, `jq` for JSON.
|
|
59
|
-
- You are converting TOML to YAML/JSON as the goal — `yq` or `dasel` handle multi-format conversion in one binary.
|
|
60
|
-
- The TOML lives inside a templating system (Jinja/Handlebars) — render the template first, then run `taplo` on the output.
|
|
61
|
-
|
|
62
|
-
## Alternatives
|
|
63
|
-
|
|
64
|
-
| Tool | When to prefer |
|
|
65
|
-
|------|----------------|
|
|
66
|
-
| `yq` | Mixed YAML/TOML/JSON; want a single multi-format query tool. |
|
|
67
|
-
| `dasel` | Same as `yq` plus XML; cross-format updates. |
|
|
68
|
-
| `grep` + `sed` | A single value lookup in a script with no `taplo` dependency available. |
|
|
69
|
-
|
|
70
|
-
## Detection / Install
|
|
71
|
-
|
|
72
|
-
Verify with:
|
|
73
|
-
```bash
|
|
74
|
-
command -v taplo
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Install (mac):
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
# brew
|
|
81
|
-
brew install taplo
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Homepage: https://taplo.tamasfe.dev/
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-cli-yq
|
|
3
|
-
description: "YAML processor (mikefarah Go implementation). Use when editing Kubernetes manifests, Helm values, or GitHub-Actions workflows in place; invoke `yq`. Preserves YAML anchors, comments, and ordering when editing in place."
|
|
4
|
-
tags: ["cli-tools", "yaml", "core"]
|
|
5
|
-
quality_charter: agents/shared/quality-charter.md
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
cli_tool:
|
|
9
|
-
id: yq
|
|
10
|
-
bin: yq
|
|
11
|
-
tier: 1
|
|
12
|
-
category: yaml
|
|
13
|
-
homepage: https://github.com/mikefarah/yq
|
|
14
|
-
---
|
|
15
|
-
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
-
# yq
|
|
17
|
-
|
|
18
|
-
YAML processor (mikefarah Go implementation)
|
|
19
|
-
|
|
20
|
-
## When to Use
|
|
21
|
-
|
|
22
|
-
Reach for `yq` when the task is in the **yaml** category and the agent would otherwise call an MCP tool or read large outputs into context.
|
|
23
|
-
|
|
24
|
-
## Token Cost
|
|
25
|
-
|
|
26
|
-
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
27
|
-
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
28
|
-
|
|
29
|
-
## Recipes
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
yq '.spec.containers[].image' k8s/deployment.yml
|
|
33
|
-
```
|
|
34
|
-
Project every container image across multi-doc Kubernetes manifests — same path syntax as `jq`.
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
yq -i '.version = "1.7.5"' .agents/hatch.json
|
|
38
|
-
```
|
|
39
|
-
In-place edit (`-i`) — single-shot version bumps without shelling out to a templating step.
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
yq -o=json '.' config.yml | jq '.servers | length'
|
|
43
|
-
```
|
|
44
|
-
Convert YAML to JSON on the wire so `jq` can take over for richer querying.
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
yq eval-all '. as $i ireduce ({}; . * $i)' base.yml override.yml
|
|
48
|
-
```
|
|
49
|
-
Deep-merge multiple YAML documents into one — pattern for layered config (base + env override).
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
yq -P -i '.tags |= sort | .' content.yml
|
|
53
|
-
```
|
|
54
|
-
Pretty-print preservation (`-P`) keeps comments/anchors stable while sorting the `tags` array in place.
|
|
55
|
-
|
|
56
|
-
## Wrong Choice When
|
|
57
|
-
|
|
58
|
-
- Don't assume `yq` flags work when the binary is actually the Python `kislyuk/yq` wrapper around jq — flags and filter dialect differ. Confirm `yq --version` reports `mikefarah` first; otherwise reach for `python-yq` documentation or install the Go build.
|
|
59
|
-
- Don't expect round-trip comment preservation without the `-P` (pretty) output mode; default JSON-style output drops comments. Reach for `yq -P` or `taplo` for TOML.
|
|
60
|
-
- Don't use `yq` on Kubernetes manifests when you actually need schema-aware validation. Reach for `kubectl explain` / `kubeconform` and use `yq` only for projection.
|
|
61
|
-
|
|
62
|
-
## Alternatives
|
|
63
|
-
|
|
64
|
-
| Tool | When to prefer |
|
|
65
|
-
|------|----------------|
|
|
66
|
-
| `jq` (`hatch3r-cli-jq`) | JSON input, or YAML converted via `yq -o=json` — jq's filter language has more rebuild idioms. |
|
|
67
|
-
| `dasel` | Multi-format (JSON/YAML/TOML/XML) single-binary path queries in CI. |
|
|
68
|
-
| `taplo` | TOML-specific formatting and schema validation (`pyproject.toml`, `Cargo.toml`). |
|
|
69
|
-
| `kubectl explain` | Kubernetes-resource schema lookup — `yq` projects, kubectl explains. |
|
|
70
|
-
|
|
71
|
-
## Detection / Install
|
|
72
|
-
|
|
73
|
-
Verify with:
|
|
74
|
-
```bash
|
|
75
|
-
command -v yq
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Install (mac):
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# brew
|
|
82
|
-
brew install yq
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Homepage: https://github.com/mikefarah/yq
|