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
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: hatch3r-cli-toolbox
|
|
3
|
+
description: "Category-indexed reference for 25 specialist CLI tools beyond the always-on five (ripgrep, jq, gh, fd, fzf). Use to pick the right tool for ai-chat, structural-search, sed-style edits, data ops, browser automation, container ops, and more."
|
|
4
|
+
tags: [cli-tools, reference, orchestration, maintenance]
|
|
5
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
|
+
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
+
cache_friendly: true
|
|
8
|
+
---
|
|
9
|
+
# CLI Toolbox
|
|
10
|
+
|
|
11
|
+
Compact decision reference for 25 specialist CLI tools agents may reach for in addition to the five always-on skills (`hatch3r-cli-ripgrep`, `hatch3r-cli-jq`, `hatch3r-cli-gh`, `hatch3r-cli-fd`, `hatch3r-cli-fzf`).
|
|
12
|
+
|
|
13
|
+
Each entry below states a single discriminator ("When to use"), one representative recipe, and the better alternative ("Wrong choice when"). Tools are installed via `npx hatch3r cli-tools`; this skill governs *selection*, not installation.
|
|
14
|
+
|
|
15
|
+
## Category index
|
|
16
|
+
|
|
17
|
+
| Category | Tools |
|
|
18
|
+
|----------|-------|
|
|
19
|
+
| AI / LLM | `aichat`, `llm`, `mods`, `rtk` |
|
|
20
|
+
| Structural search & rewrite | `ast-grep`, `comby` |
|
|
21
|
+
| Sed-style literal edits | `sd` |
|
|
22
|
+
| Format converters / queriers | `yq`, `taplo` |
|
|
23
|
+
| Data ops (CSV / Parquet / JSON-Lines) | `csvkit`, `duckdb`, `miller`, `qsv` |
|
|
24
|
+
| Containers | `docker`, `podman` |
|
|
25
|
+
| Git TUI / diff viewers | `lazygit`, `delta`, `difftastic`, `bat` |
|
|
26
|
+
| Visualisation / view | `bat`, `overview` |
|
|
27
|
+
| Forges (non-GitHub) | `glab` (GitLab), `az-devops` (Azure DevOps) |
|
|
28
|
+
| Browser automation | `playwright`, `stagehand` |
|
|
29
|
+
| Compression | `zstd` |
|
|
30
|
+
| React state | `rtk` (caveat — see below) |
|
|
31
|
+
|
|
32
|
+
(Some tools appear in two cells when their best use spans categories.)
|
|
33
|
+
|
|
34
|
+
## Token-cost discipline
|
|
35
|
+
|
|
36
|
+
CLI tools return structured stdout that fits in <1 KB for typical queries; equivalent MCP calls regularly exceed 10 KB. Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction. Apply this same discipline across every tool below: prefer `--json`/`--output json`, scope with flags, cap with `--max-count` / `LIMIT`, project with `jq -r`.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## AI / LLM
|
|
41
|
+
|
|
42
|
+
### aichat
|
|
43
|
+
- **When to use:** RAG-enabled multi-provider conversational shell with saved session history; preferred for multi-turn refinement.
|
|
44
|
+
- **Recipe:** `aichat --rag mydocs 'how do we configure auth?'` — query a pre-built local RAG index.
|
|
45
|
+
- **Wrong choice when:** scripted Unix-pipeline transforms — use `mods`; plugin-rich CI workflows — use `llm`.
|
|
46
|
+
|
|
47
|
+
### llm
|
|
48
|
+
- **When to use:** model-agnostic shell prompting with prompt templates, embeddings, and a plugin ecosystem; preferred for CI batch jobs.
|
|
49
|
+
- **Recipe:** `llm -t code-review -m claude-3-5-sonnet < patch.diff`
|
|
50
|
+
- **Wrong choice when:** deterministic text rewrites — use `sd`/`comby`/`ast-grep`; multi-turn TTY chat — use `aichat`.
|
|
51
|
+
|
|
52
|
+
### mods
|
|
53
|
+
- **When to use:** Unix-pipeline LLM inference reading Markdown stdin and writing Markdown stdout; preferred for one-shot transforms.
|
|
54
|
+
- **Recipe:** `git diff | mods 'write a conventional-commits message for this diff'`
|
|
55
|
+
- **Wrong choice when:** plugin/template needs — use `llm`; multi-turn session — use `aichat`.
|
|
56
|
+
|
|
57
|
+
### rtk
|
|
58
|
+
- **When to use:** compressing oversize tool output payloads before they enter an LLM prompt (test-runner output, traces).
|
|
59
|
+
- **Caveat (issue #1282):** rtk's compressed output corrupts downstream consumers when stdout is piped/redirected. Wrap any piped invocation as `rtk proxy <cmd>` — `proxy` is a documented raw-passthrough subcommand. Track: https://github.com/rtk-ai/rtk/issues/1282
|
|
60
|
+
- **Recipe:** `rtk run pytest -x`
|
|
61
|
+
- **Wrong choice when:** piping to `jq`/`grep`/`awk` without `rtk proxy` — use plain shell + `tee`; safety-critical CI — run the test directly.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Structural search & rewrite
|
|
66
|
+
|
|
67
|
+
### ast-grep
|
|
68
|
+
- **When to use:** Tree-sitter AST pattern matches and rewrites scoped to a single grammar (TS, Python, Rust, Go).
|
|
69
|
+
- **Recipe:** `sg run -p 'await $FN()' -r 'await ($FN()).catch(e => log(e))' --update-all src/`
|
|
70
|
+
- **Wrong choice when:** plain literal text — use `hatch3r-cli-ripgrep`; multi-language SAST rule packs — use `semgrep`.
|
|
71
|
+
|
|
72
|
+
### comby
|
|
73
|
+
- **When to use:** declarative `:[hole]` pattern match-and-rewrite spanning mixed-language repositories — single template, 30+ grammars.
|
|
74
|
+
- **Recipe:** `comby 'console.log(:[arg])' 'logger.info(:[arg])' -i src/`
|
|
75
|
+
- **Wrong choice when:** language-precise type-aware refactor — use `ast-grep`; plain text — use `sd`.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Sed-style literal edits
|
|
80
|
+
|
|
81
|
+
### sd
|
|
82
|
+
- **When to use:** literal-string stream substitution with no regex foot-guns — defaults to regex but `-s` switches to literal mode.
|
|
83
|
+
- **Recipe:** `rg --files-with-matches 'oldName' -tts | xargs sd 'oldName' 'newName'`
|
|
84
|
+
- **Wrong choice when:** identifier-aware rename — use `ast-grep`; multi-step transforms — use `sed -e`.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Format converters & queriers
|
|
89
|
+
|
|
90
|
+
### yq
|
|
91
|
+
- **When to use:** editing Kubernetes manifests, Helm values, or GitHub-Actions workflows in place — preserves comments/anchors with `-P`.
|
|
92
|
+
- **Recipe:** `yq -i '.version = "1.7.5"' .hatch3r/hatch.json`
|
|
93
|
+
- **Wrong choice when:** JSON input — use `hatch3r-cli-jq`; TOML — use `taplo`.
|
|
94
|
+
|
|
95
|
+
### taplo
|
|
96
|
+
- **When to use:** formatting, linting, and querying TOML (`pyproject.toml`, `Cargo.toml`); bundled schemas for both.
|
|
97
|
+
- **Recipe:** `taplo get -f Cargo.toml package.version`
|
|
98
|
+
- **Wrong choice when:** YAML/JSON — use `yq`/`jq`; cross-format conversion — use `dasel`.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Data ops (CSV / Parquet / JSON-Lines)
|
|
103
|
+
|
|
104
|
+
### csvkit
|
|
105
|
+
- **When to use:** Python-powered CSV toolkit covering `csvlook`, `csvsql`, `csvjoin`, `csvstat` — best for ad-hoc EDA and SQL-over-CSV.
|
|
106
|
+
- **Recipe:** `csvsql --query 'SELECT name FROM data WHERE active = 1' data.csv`
|
|
107
|
+
- **Wrong choice when:** files >1M rows — use `duckdb`; single-column slice — use `qsv`.
|
|
108
|
+
|
|
109
|
+
### duckdb
|
|
110
|
+
- **When to use:** ad-hoc analytical SQL over local Parquet, CSV, JSON; streams reads so memory stays bounded.
|
|
111
|
+
- **Recipe:** `duckdb -c "SELECT count(*) FROM 'data/*.parquet'"`
|
|
112
|
+
- **Wrong choice when:** <10k rows and column slice only — use `qsv`; transactional writes — use SQLite/Postgres.
|
|
113
|
+
|
|
114
|
+
### miller
|
|
115
|
+
- **When to use:** `awk`-like record processing across CSV/TSV/JSON-Lines streams with the `put`/`filter` DSL.
|
|
116
|
+
- **Recipe:** `mlr --icsv --ojson put '$tax = $amount * 0.07' transactions.csv`
|
|
117
|
+
- **Wrong choice when:** multi-GB analytical joins — use `duckdb`; trivial slicing — use `qsv`.
|
|
118
|
+
|
|
119
|
+
### qsv
|
|
120
|
+
- **When to use:** fast CSV toolkit (slice, search, join, stats, 80+ commands) — actively-maintained `xsv` successor (`BurntSushi/xsv` archived 2025-04-24, `jqnatividad/qsv` is the active fork).
|
|
121
|
+
- **Recipe:** `qsv search -s email '@example\.com$' users.csv`
|
|
122
|
+
- **Wrong choice when:** Parquet/JSON or window functions — use `duckdb`; per-record DSL transforms — use `miller`.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Containers
|
|
127
|
+
|
|
128
|
+
### docker
|
|
129
|
+
- **When to use:** image build, container run, exec inspection, registry push against a running Docker Engine daemon.
|
|
130
|
+
- **Recipe:** `docker run --rm -v "$PWD":/app -w /app node:22 npm test`
|
|
131
|
+
- **Wrong choice when:** rootless / daemonless required — use `podman`; Kubernetes deploy — use `kubectl`/`helm`.
|
|
132
|
+
|
|
133
|
+
### podman
|
|
134
|
+
- **When to use:** rootless OCI-image execution without a privileged daemon — ideal for hardened CI workers.
|
|
135
|
+
- **Recipe:** `podman run --rm -v "$PWD:/app:Z" -w /app node:22 npm test` (`:Z` triggers SELinux relabel on Fedora/RHEL).
|
|
136
|
+
- **Wrong choice when:** Swarm / Docker-Desktop integration — use `docker`; tools that hard-code `/var/run/docker.sock` (unless `podman system service` is running).
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Git TUI / diff viewers
|
|
141
|
+
|
|
142
|
+
### lazygit
|
|
143
|
+
- **When to use:** keyboard-driven terminal UI for staging, rebasing, branch switching — humans only; agents should call plain `git`.
|
|
144
|
+
- **Recipe:** `lazygit -p path/to/repo` (TTY required; hangs in non-TTY).
|
|
145
|
+
- **Wrong choice when:** autonomous agent or CI — use plain `git status`/`add`/`commit` for parseable stdout.
|
|
146
|
+
|
|
147
|
+
### delta
|
|
148
|
+
- **When to use:** viewing unified git diffs with side-by-side syntax-coloured hunks (ANSI pager).
|
|
149
|
+
- **Recipe:** `git config --global core.pager delta` then `git config --global interactive.diffFilter 'delta --color-only'`.
|
|
150
|
+
- **Wrong choice when:** scripted consumers — ANSI breaks parsers; semantic refactor review — use `difftastic`.
|
|
151
|
+
|
|
152
|
+
### difftastic
|
|
153
|
+
- **When to use:** syntax-aware diffing that reports semantic edits (rename of block does not show as wholesale rewrite).
|
|
154
|
+
- **Recipe:** `git -c diff.external=difft diff HEAD~1 HEAD`
|
|
155
|
+
- **Wrong choice when:** stable POSIX diff output for scripts — use `diff -u`; quick unified-diff pager — use `delta`.
|
|
156
|
+
|
|
157
|
+
### bat
|
|
158
|
+
- **When to use:** scrolling one source file with syntax colours, line numbers, git modification markers.
|
|
159
|
+
- **Recipe:** `bat --plain --line-range 50:100 src/adapters/cursor.ts`
|
|
160
|
+
- **Wrong choice when:** binary files (use `xxd | bat --language=hex`); strict POSIX pipelines (use `cat`); two-file compare (use `delta`).
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Visualisation
|
|
165
|
+
|
|
166
|
+
### overview
|
|
167
|
+
- **When to use:** legacy umbrella catalog of all CLI tools — this `hatch3r-cli-toolbox` skill replaces it. Retained as a category cell for back-references in user content; if you see hatch3r-cli-overview mentioned anywhere (un-backticked here to keep the cross-reference scanner clean), treat it as a synonym for this toolbox.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Forges (non-GitHub)
|
|
172
|
+
|
|
173
|
+
### glab
|
|
174
|
+
- **When to use:** GitLab merge-request review, pipeline retries, issue triage with native PAT/OAuth auth.
|
|
175
|
+
- **Recipe:** `glab mr list --assignee=@me --output json | jq '.[] | {iid, title, web_url}'`
|
|
176
|
+
- **Wrong choice when:** GitHub-hosted — use `hatch3r-cli-gh`; Azure Repos — use `az-devops`.
|
|
177
|
+
|
|
178
|
+
### az-devops
|
|
179
|
+
- **When to use:** Azure DevOps work-item edits, repo pushes, pipeline runs via the `az` CLI extension.
|
|
180
|
+
- **Recipe:** `az repos pr list --status active --query '[].pullRequestId' --output tsv`
|
|
181
|
+
- **Wrong choice when:** GitHub — use `hatch3r-cli-gh`; GitLab — use `glab`.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Browser automation
|
|
186
|
+
|
|
187
|
+
### playwright
|
|
188
|
+
- **When to use:** end-to-end browser test execution capturing screenshots and traces; deterministic locators, multi-browser.
|
|
189
|
+
- **Recipe:** `npx playwright test --grep '@smoke' --workers=1 --reporter=line`
|
|
190
|
+
- **Wrong choice when:** API-only system — use `curl` + `jq`; agent-driven natural-language browsing — use `stagehand`.
|
|
191
|
+
|
|
192
|
+
### stagehand
|
|
193
|
+
- **When to use:** natural-language browser steering with on-the-fly DOM reasoning; v3 (2025-10-29) talks Chrome DevTools Protocol directly. Drivers (`playwright-core`, `puppeteer-core`, `patchright-core`) are peer deps — install only the one you need.
|
|
194
|
+
- **Recipe:** `npx create-browser-app` scaffolds a v3 project; runtime: `stagehand.act("click the login button")`.
|
|
195
|
+
- **Wrong choice when:** high-volume scraping — use Browserbase managed browsers or v3 action cache; air-gapped CI — pre-record then replay; existing stable Playwright suite — keep it.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Compression
|
|
200
|
+
|
|
201
|
+
### zstd
|
|
202
|
+
- **When to use:** high-ratio compression with single-digit-millisecond decompress speeds — cold-storage payloads, CI artifact upload.
|
|
203
|
+
- **Recipe:** `tar --zstd -cf bundle.tar.zst dist/ governance/`
|
|
204
|
+
- **Wrong choice when:** distribution where every byte counts and decompress speed is irrelevant — use `xz -9e`; legacy Windows recipients — use `zip`; already-compressed payloads — skip compression.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Detection & install
|
|
209
|
+
|
|
210
|
+
Verify each tool with `command -v <bin>`. Install commands:
|
|
211
|
+
|
|
212
|
+
| Tool | mac (`brew`) | linux (`apt` / `pip` / other) |
|
|
213
|
+
|------|--------------|--------------------------------|
|
|
214
|
+
| `aichat` | `brew install aichat` | `cargo install aichat` |
|
|
215
|
+
| `ast-grep` | `brew install ast-grep` | `cargo install ast-grep --locked` |
|
|
216
|
+
| `az-devops` | `brew install azure-cli && az extension add --name azure-devops` | `apt install azure-cli && az extension add --name azure-devops` |
|
|
217
|
+
| `bat` | `brew install bat` | `apt install bat` (binary may be `batcat`) |
|
|
218
|
+
| `comby` | `brew install comby` | `bash <(curl -sL get.comby.dev)` |
|
|
219
|
+
| `csvkit` | `pipx install csvkit` | `pipx install csvkit` |
|
|
220
|
+
| `delta` | `brew install git-delta` | `apt install git-delta` (or download release) |
|
|
221
|
+
| `difftastic` | `brew install difftastic` | `cargo install difftastic` |
|
|
222
|
+
| `docker` | `brew install --cask docker` | `apt install docker.io` |
|
|
223
|
+
| `duckdb` | `brew install duckdb` | download from https://duckdb.org/ |
|
|
224
|
+
| `glab` | `brew install glab` | `apt install glab` (or GitLab release) |
|
|
225
|
+
| `lazygit` | `brew install lazygit` | `apt install lazygit` |
|
|
226
|
+
| `llm` | `brew install llm` | `pipx install llm` |
|
|
227
|
+
| `miller` | `brew install miller` | `apt install miller` |
|
|
228
|
+
| `mods` | `brew install charmbracelet/tap/mods` | `apt install mods` (Charm repo) |
|
|
229
|
+
| `playwright` | `npm install -D @playwright/test && npx playwright install` | same |
|
|
230
|
+
| `podman` | `brew install podman` | `apt install podman` |
|
|
231
|
+
| `qsv` | `brew install qsv` | `cargo install qsv` |
|
|
232
|
+
| `rtk` | `brew install rtk-ai/tap/rtk` | check upstream release |
|
|
233
|
+
| `sd` | `brew install sd` | `cargo install sd` |
|
|
234
|
+
| `stagehand` | `npm install -g @browserbasehq/stagehand` | same |
|
|
235
|
+
| `taplo` | `brew install taplo` | `cargo install taplo-cli --locked` |
|
|
236
|
+
| `yq` | `brew install yq` | `apt install yq` (verify mikefarah Go build, not python wrapper) |
|
|
237
|
+
| `zstd` | `brew install zstd` | `apt install zstd` |
|
|
238
|
+
|
|
239
|
+
## References
|
|
240
|
+
|
|
241
|
+
This skill synthesizes 25 pre-existing in-repo per-tool skills (collapsed in v1.9.0 per the Decision #14 toolbox criterion in `.claude/rules/content-authoring.md`). The original source files (now removed) lived at the following paths (IDs intentionally un-backticked here so the cross-reference scanner does not treat removed standalone skills as broken canonical IDs):
|
|
242
|
+
|
|
243
|
+
- skills/hatch3r-cli-aichat/SKILL.md
|
|
244
|
+
- skills/hatch3r-cli-ast-grep/SKILL.md
|
|
245
|
+
- skills/hatch3r-cli-az-devops/SKILL.md
|
|
246
|
+
- skills/hatch3r-cli-bat/SKILL.md
|
|
247
|
+
- skills/hatch3r-cli-comby/SKILL.md
|
|
248
|
+
- skills/hatch3r-cli-csvkit/SKILL.md
|
|
249
|
+
- skills/hatch3r-cli-delta/SKILL.md
|
|
250
|
+
- skills/hatch3r-cli-difftastic/SKILL.md
|
|
251
|
+
- skills/hatch3r-cli-docker/SKILL.md
|
|
252
|
+
- skills/hatch3r-cli-duckdb/SKILL.md
|
|
253
|
+
- skills/hatch3r-cli-glab/SKILL.md
|
|
254
|
+
- skills/hatch3r-cli-lazygit/SKILL.md
|
|
255
|
+
- skills/hatch3r-cli-llm/SKILL.md
|
|
256
|
+
- skills/hatch3r-cli-miller/SKILL.md
|
|
257
|
+
- skills/hatch3r-cli-mods/SKILL.md
|
|
258
|
+
- skills/hatch3r-cli-overview/SKILL.md
|
|
259
|
+
- skills/hatch3r-cli-playwright/SKILL.md
|
|
260
|
+
- skills/hatch3r-cli-podman/SKILL.md
|
|
261
|
+
- skills/hatch3r-cli-qsv/SKILL.md
|
|
262
|
+
- skills/hatch3r-cli-rtk/SKILL.md
|
|
263
|
+
- skills/hatch3r-cli-sd/SKILL.md
|
|
264
|
+
- skills/hatch3r-cli-stagehand/SKILL.md
|
|
265
|
+
- skills/hatch3r-cli-taplo/SKILL.md
|
|
266
|
+
- skills/hatch3r-cli-yq/SKILL.md
|
|
267
|
+
- skills/hatch3r-cli-zstd/SKILL.md
|
|
268
|
+
|
|
269
|
+
Per `governance/audit/domains/D16-compound-system.md` SA 16.3, the rejected merge alternative (keep every tool as a standalone skill) was rejected because the 25 collapsed entries averaged 75 lines each (1.9k lines total) with >70% structural duplication of the same "When to Use / Token Cost / Recipes / Wrong Choice / Alternatives / Install" frame — collapse into a single category-indexed reference cuts the surface to ~250 lines while preserving the discriminator that picks one tool over another.
|
|
@@ -42,6 +42,19 @@ Run through the self-assessment checklist:
|
|
|
42
42
|
4. **File currency**: List files you've modified — when did you last read each one?
|
|
43
43
|
5. **Scope check**: Compare your current work to the original issue description.
|
|
44
44
|
|
|
45
|
+
### Model-Aware Threshold Profiles
|
|
46
|
+
|
|
47
|
+
Default thresholds assume a large-context model. When the active model is known, apply the matching profile to adjust thresholds:
|
|
48
|
+
|
|
49
|
+
| Model Tier | Context Window | Token Warning | Turn Limit | File Staleness |
|
|
50
|
+
|-----------|---------------|---------------|------------|----------------|
|
|
51
|
+
| Small (< 32K) | ~32K tokens | > 60% of window | > 15 turns | > 10 turns |
|
|
52
|
+
| Medium (32K--128K) | ~128K tokens | > 70% of window | > 25 turns | > 15 turns |
|
|
53
|
+
| Large (128K--200K) | ~200K tokens | > 80% of window | > 30 turns | > 20 turns |
|
|
54
|
+
| Extended (> 200K) | 200K+ tokens | > 85% of window | > 40 turns | > 25 turns |
|
|
55
|
+
|
|
56
|
+
Profile resolution: read `models` in `.hatch3r/hatch.json`; default to **Large** if unset. A `contextHealth` section in `hatch.json` with explicit thresholds overrides the profile. Log the active profile at the start of each check: `"Context health using <tier> profile (<window_size> tokens)"`.
|
|
57
|
+
|
|
45
58
|
## Step 2: Identify Degradation
|
|
46
59
|
|
|
47
60
|
| Check | Healthy | Degraded |
|
|
@@ -71,7 +84,7 @@ Run through the self-assessment checklist:
|
|
|
71
84
|
### If 5 checks degraded (Red): Checkpoint and Stop
|
|
72
85
|
1. Save all progress (files changed, tests written)
|
|
73
86
|
2. Document remaining work and blockers
|
|
74
|
-
3. Post progress on the issue/work item (GitHub Issue, ADO Work Item, or GitLab Issue — check `platform` in `.
|
|
87
|
+
3. Post progress on the issue/work item (GitHub Issue, ADO Work Item, or GitLab Issue — check `platform` in `.hatch3r/hatch.json`)
|
|
75
88
|
4. Recommend fresh conversation
|
|
76
89
|
|
|
77
90
|
## Step 4: Verify Improvement
|
|
@@ -108,7 +121,10 @@ Context poisoning is more dangerous than missing context because it leads to con
|
|
|
108
121
|
- [ ] Appropriate corrective action taken
|
|
109
122
|
- [ ] Health verified at Green or Yellow after correction
|
|
110
123
|
|
|
124
|
+
## Board Pickup Integration
|
|
125
|
+
|
|
126
|
+
When `board-pickup` operates in auto-advance mode, context health is checked between issues. Orange completes the current issue then a fresh agent handles the next; Red mid-issue marks the issue PARTIAL and moves it back to Ready.
|
|
127
|
+
|
|
111
128
|
## Related Skills & Agents
|
|
112
129
|
|
|
113
|
-
- **Command**: `hatch3r-context-health` -- full monitoring protocol with integration points
|
|
114
130
|
- **Command**: `hatch3r-board-pickup` -- auto-advance mode uses context health for session management
|
|
@@ -53,7 +53,34 @@ Estimate tokens for the current session using these rules:
|
|
|
53
53
|
|
|
54
54
|
**Subagent cost multiplier.** Each subagent spawn carries a base cost for the agent protocol, included rules, and context. A pipeline with 8 subagents (researcher + implementer + reviewer + fixer + 4 Phase 4 specialists) has significant overhead from context re-transmission. Factor this into budget estimates.
|
|
55
55
|
|
|
56
|
-
Calculate estimated cost using
|
|
56
|
+
Calculate estimated cost using these model tier rates (reference rates — update based on actual provider pricing):
|
|
57
|
+
|
|
58
|
+
| Model Tier | Input (per 1M tokens) | Output (per 1M tokens) |
|
|
59
|
+
|-----------|----------------------|----------------------|
|
|
60
|
+
| Fast | $0.25 | $1.00 |
|
|
61
|
+
| Standard | $3.00 | $15.00 |
|
|
62
|
+
| Premium | $15.00 | $75.00 |
|
|
63
|
+
|
|
64
|
+
### Default Budgets
|
|
65
|
+
|
|
66
|
+
When `hatch.json` has no `costTracking` section, apply these defaults (report-only — no hard stop unless `hardStop: true`):
|
|
67
|
+
|
|
68
|
+
| Budget Type | Default |
|
|
69
|
+
|------------|---------|
|
|
70
|
+
| `sessionBudget` | $10.00 |
|
|
71
|
+
| `issueBudget` | $5.00 |
|
|
72
|
+
| `epicBudget` | $25.00 |
|
|
73
|
+
| `warningThresholds` | [0.5, 0.75, 0.9] |
|
|
74
|
+
| `hardStop` | false |
|
|
75
|
+
|
|
76
|
+
### Enforcement
|
|
77
|
+
|
|
78
|
+
| Threshold | Action |
|
|
79
|
+
|-----------|--------|
|
|
80
|
+
| 50% | Log warning, continue |
|
|
81
|
+
| 75% | Alert user, suggest optimization |
|
|
82
|
+
| 90% | Strong warning, recommend delegation or checkpoint |
|
|
83
|
+
| 100% | Stop (if `hardStop: true`) or alert and continue |
|
|
57
84
|
|
|
58
85
|
## Step 3: Identify Optimizations
|
|
59
86
|
|
|
@@ -67,11 +94,37 @@ Review usage patterns for savings:
|
|
|
67
94
|
|
|
68
95
|
## Step 4: Generate Report
|
|
69
96
|
|
|
70
|
-
Produce a cost report
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
97
|
+
Produce a cost report in this format:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
## Cost Report: {scope}
|
|
101
|
+
|
|
102
|
+
**Period:** {session/issue/sprint}
|
|
103
|
+
|
|
104
|
+
**Token Usage:**
|
|
105
|
+
- Input tokens: ~{n}
|
|
106
|
+
- Output tokens: ~{n}
|
|
107
|
+
- Total tokens: ~{n}
|
|
108
|
+
|
|
109
|
+
**Estimated Cost:** ${amount}
|
|
110
|
+
|
|
111
|
+
**Budget Status:** {amount} / {budget} ({percentage}%)
|
|
112
|
+
|
|
113
|
+
**Breakdown:**
|
|
114
|
+
|
|
115
|
+
| Phase | Tokens | Cost | % of Total |
|
|
116
|
+
|-------|--------|------|-----------|
|
|
117
|
+
| Planning | ~{n} | ${x} | {%} |
|
|
118
|
+
| Implementation | ~{n} | ${x} | {%} |
|
|
119
|
+
| Testing | ~{n} | ${x} | {%} |
|
|
120
|
+
| Review | ~{n} | ${x} | {%} |
|
|
121
|
+
| Sub-agents | ~{n} | ${x} | {%} |
|
|
122
|
+
|
|
123
|
+
**Optimization Opportunities:**
|
|
124
|
+
- {suggestions based on usage patterns}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Include total estimated tokens (input + output), estimated cost at current model tier, budget status (if configured), and top optimization opportunities. Always present estimated values with the `~` prefix. Never suppress threshold alerts.
|
|
75
128
|
|
|
76
129
|
## Error Handling
|
|
77
130
|
|
|
@@ -88,5 +141,4 @@ Produce a cost report using the output format from the `hatch3r-cost-tracking` c
|
|
|
88
141
|
|
|
89
142
|
## Related Skills & Agents
|
|
90
143
|
|
|
91
|
-
- **Command**: `hatch3r-cost-tracking` — full cost tracking protocol with guardrails and budget enforcement
|
|
92
144
|
- **Skill**: `hatch3r-context-health` — context health monitoring complements cost tracking for session management
|
|
@@ -5,11 +5,10 @@ tags: [customize]
|
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
8
|
-
canonical_for: [hatch3r-agent-customize, hatch3r-command-customize, hatch3r-rule-customize, hatch3r-skill-customize]
|
|
9
8
|
---
|
|
10
9
|
# Artifact Customization Management
|
|
11
10
|
|
|
12
|
-
> **Canonical entry point.**
|
|
11
|
+
> **Canonical entry point.** This is the single skill for all per-artifact customization (agents, commands, rules, skills). The four prior type-specific skill stubs were removed in v1.9.0 per the Decision #13 Command-vs-Skill criterion; `governance/audit/domains/D16-compound-system.md` SA 16.3 documents the rejected-merge alternative.
|
|
13
12
|
|
|
14
13
|
## Quick Start
|
|
15
14
|
|
|
@@ -43,10 +42,10 @@ This skill handles customization for all artifact types. The `type` parameter de
|
|
|
43
42
|
|
|
44
43
|
| Type | Source Directory | Customization Directory | YAML Fields |
|
|
45
44
|
|------|-----------------|------------------------|-------------|
|
|
46
|
-
| `agent` |
|
|
47
|
-
| `command` |
|
|
48
|
-
| `rule` |
|
|
49
|
-
| `skill` |
|
|
45
|
+
| `agent` | `agents/` | `.hatch3r/agents/` | `model`, `description`, `enabled` |
|
|
46
|
+
| `command` | `commands/` | `.hatch3r/commands/` | `description`, `enabled` |
|
|
47
|
+
| `rule` | `rules/` | `.hatch3r/rules/` | `scope`, `description`, `enabled` |
|
|
48
|
+
| `skill` | `skills/` | `.hatch3r/skills/` | `description`, `enabled` |
|
|
50
49
|
|
|
51
50
|
**Protected agents:** Some agents have `protected: true` in their canonical frontmatter. For these agents, `description` and `enabled` overrides are ignored — only `model` and markdown instructions can be customized.
|
|
52
51
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-dep-audit
|
|
3
3
|
description: Audit and update npm dependencies for security, freshness, and bundle impact. Use when auditing dependencies, responding to CVEs, or upgrading packages.
|
|
4
|
-
tags: [maintenance, security]
|
|
4
|
+
tags: [maintenance, floor:security]
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
@@ -48,7 +48,7 @@ Never under-fan-out to save tokens. Token cost is dominated by quality and compl
|
|
|
48
48
|
For critical and high vulnerabilities:
|
|
49
49
|
|
|
50
50
|
- Use **web search** to look up each CVE: exploitability, affected versions, fix version, workarounds.
|
|
51
|
-
- Check npm advisories and platform-specific security tools for official guidance (check `platform` in `.
|
|
51
|
+
- Check npm advisories and platform-specific security tools for official guidance (check `platform` in `.hatch3r/hatch.json`):
|
|
52
52
|
- **GitHub:** GitHub Security Advisories (`gh api /repos/{owner}/{repo}/security-advisories`)
|
|
53
53
|
- **Azure DevOps:** Azure Artifacts security scanning and Azure Boards advisory tracking
|
|
54
54
|
- **GitLab:** GitLab Dependency Scanning (Security & Compliance → Vulnerability Report)
|
|
@@ -99,6 +99,10 @@ Use the project's PR template. Include:
|
|
|
99
99
|
- **Major version upgrade breaks tests**: Roll back the upgrade, document the breaking changes encountered, and create a dedicated migration issue with the specific test failures and required code changes.
|
|
100
100
|
- **Lockfile conflicts after upgrade**: Regenerate the lockfile from scratch (`rm package-lock.json && npm install`), verify all tests pass, and commit the clean lockfile.
|
|
101
101
|
|
|
102
|
+
## Tracking Issues for Deferred Items
|
|
103
|
+
|
|
104
|
+
For CVEs or outdated packages not addressed in this session, create a tracking issue on the project's platform (GitHub Issues, ADO Work Item, or GitLab Issue per `platform` in `.hatch3r/hatch.json`). Use severity-based priority labels: Critical/High → `priority:p0`/`priority:p1`; Medium/Low → `priority:p2`; Major outdated → `priority:p2`; Minor/patch → `priority:p3`. Include package name, current version, target version, severity, CVE ID (if applicable), and migration notes. Never close out a critical/high CVE without either a fix or a tracking issue.
|
|
105
|
+
|
|
102
106
|
## Definition of Done
|
|
103
107
|
|
|
104
108
|
- [ ] No critical or high CVEs remaining
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
id: hatch3r-design-system-detect
|
|
3
3
|
type: skill
|
|
4
4
|
description: Detect existing design tokens, component library, and theming convention in a project before authoring new UI primitives — output a concise inventory for downstream implementers
|
|
5
|
-
tags: [ui, design-system, frontend]
|
|
5
|
+
tags: [implementation, floor:ui-ux, ui, design-system, frontend]
|
|
6
6
|
quality_charter: agents/shared/quality-charter.md
|
|
7
7
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
8
8
|
cache_friendly: true
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-feature
|
|
3
3
|
description: End-to-end feature implementation workflow. Covers data model, domain logic, API, and UI as a vertical slice. Use when implementing new features or working on feature request issues.
|
|
4
|
-
tags: [
|
|
4
|
+
tags: [implementation, orchestration]
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-gh-agentic-workflows
|
|
3
3
|
description: Set up CI/CD agentic workflows for continuous AI-powered repository automation (GitHub Actions, Azure Pipelines, GitLab CI)
|
|
4
|
-
tags: [devops, team]
|
|
4
|
+
tags: [devops, ctx:team-only]
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
8
8
|
---
|
|
9
9
|
# CI/CD Agentic Workflows Integration
|
|
10
10
|
|
|
11
|
-
> **Platform detection:** Check `platform` in `.
|
|
11
|
+
> **Platform detection:** Check `platform` in `.hatch3r/hatch.json` to determine which CI/CD system to use. Defaults to `"github"`.
|
|
12
12
|
|
|
13
13
|
This skill guides setup for AI-powered CI/CD automation in hatch3r-managed projects. The core SKILL covers GitHub Actions (the default); non-GitHub platforms load on demand from `references/`.
|
|
14
14
|
|
|
@@ -33,7 +33,7 @@ Never under-fan-out to save tokens. Token cost is dominated by quality and compl
|
|
|
33
33
|
| Azure DevOps Pipelines | `references/azure-devops.md` |
|
|
34
34
|
| GitLab CI/CD | `references/gitlab-ci.md` |
|
|
35
35
|
|
|
36
|
-
Load only the references file that matches `platform` in `.
|
|
36
|
+
Load only the references file that matches `platform` in `.hatch3r/hatch.json`. Do not eagerly load all three.
|
|
37
37
|
|
|
38
38
|
## Overview (GitHub Actions)
|
|
39
39
|
|
|
@@ -100,7 +100,7 @@ permissions:
|
|
|
100
100
|
---
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
Replace `{defaultBranch}` with `board.defaultBranch` from `.
|
|
103
|
+
Replace `{defaultBranch}` with `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
104
104
|
|
|
105
105
|
After a PR is merged, check if documentation needs updating and open a follow-up PR.
|
|
106
106
|
|
package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Azure DevOps Pipelines — Agentic Workflow Patterns
|
|
2
2
|
|
|
3
|
-
Loaded on demand when `platform: azure-devops` in `.
|
|
3
|
+
Loaded on demand when `platform: azure-devops` in `.hatch3r/hatch.json` or when user is setting up Azure DevOps CI.
|
|
4
4
|
|
|
5
5
|
Azure Pipelines use YAML files in the repo (typically `azure-pipelines.yml` or files under `.azuredevops/`) to define CI/CD jobs. Use the `az pipelines` CLI for management and monitoring.
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ steps:
|
|
|
24
24
|
displayName: 'AI-assisted test improvement'
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Replace `{defaultBranch}` with `board.defaultBranch` from `.
|
|
27
|
+
Replace `{defaultBranch}` with `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
28
28
|
|
|
29
29
|
## 2. Continuous Triage (ADO)
|
|
30
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GitLab CI/CD — Agentic Workflow Patterns
|
|
2
2
|
|
|
3
|
-
Loaded on demand when `platform: gitlab` in `.
|
|
3
|
+
Loaded on demand when `platform: gitlab` in `.hatch3r/hatch.json` or when user is setting up GitLab CI.
|
|
4
4
|
|
|
5
5
|
GitLab CI uses `.gitlab-ci.yml` at the repo root to define pipelines. Use the `glab ci` CLI for management and monitoring.
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-handoff-prepare
|
|
3
|
-
description: Capture mid-work session state into a canonical handoff document at .
|
|
4
|
-
tags: [
|
|
3
|
+
description: Capture mid-work session state into a canonical handoff document at .hatch3r/handoffs/active/. Use when ending a session mid-work, switching tools, or after context-health Orange/Red.
|
|
4
|
+
tags: [orchestration, maintenance]
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
@@ -17,7 +17,7 @@ Task Progress:
|
|
|
17
17
|
- [ ] Step 1: Gather session state (git_ref, files, tests, work_item)
|
|
18
18
|
- [ ] Step 2: Compose body (8 required sections + user-tier markers)
|
|
19
19
|
- [ ] Step 3: Validate against readiness rule
|
|
20
|
-
- [ ] Step 4: Write atomically to .
|
|
20
|
+
- [ ] Step 4: Write atomically to .hatch3r/handoffs/active/<id>.md
|
|
21
21
|
- [ ] Step 5: Confirm with path, summary, and Iteration Summary
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -36,13 +36,13 @@ Never under-fan-out to save tokens. Token cost is dominated by quality and compl
|
|
|
36
36
|
|
|
37
37
|
## Step 1: Gather State
|
|
38
38
|
|
|
39
|
-
Collect the inputs required by the handoff schema (see `.
|
|
39
|
+
Collect the inputs required by the handoff schema (see `.hatch3r/handoffs/README.md` for the canonical schema):
|
|
40
40
|
|
|
41
41
|
1. **git_ref** — run `git branch --show-current` and `git rev-parse --short HEAD`. Compose as `branch@sha7` (e.g., `feat/cache-refactor@a3f2c1d`).
|
|
42
42
|
2. **branch** — same value as the branch component above.
|
|
43
43
|
3. **Modified files** — run `git status --porcelain`; pair each path with its change type for the `File Manifest` table.
|
|
44
44
|
4. **Build & Test Status** — from session memory, recover the most recent results of `npm test`, `npm run lint`, and `npx tsc --noEmit`. If none ran this session, re-run them.
|
|
45
|
-
5. **work_item (optional)** — read `platform` from `.
|
|
45
|
+
5. **work_item (optional)** — read `platform` from `.hatch3r/hatch.json` (`github | azure-devops | gitlab`) plus active issue from the current branch name or recent board state. Compose as `gh:owner/repo#42`, `ado:org/project:work-item/123`, or `gl:owner/repo!42`.
|
|
46
46
|
6. **compaction_count (optional)** — increment from a parent handoff's value if resuming; else omit.
|
|
47
47
|
7. **target_agent** — explicit named agent (`hatch3r-implementer`, `hatch3r-reviewer`, etc.) or `any` only when the user opts in.
|
|
48
48
|
|
|
@@ -108,7 +108,7 @@ A failed Required criterion is `errors[]` — refuse the write. A failed Recomme
|
|
|
108
108
|
|
|
109
109
|
1. Generate the id: `<YYYY-MM-DD>_T<HHmm>_<5hex>_<kebab-slug>` (e.g., `2026-05-17_T1430_a3f2c_issue-42-cache-refactor`). The 5-char hex segment is a random suffix that prevents accidental same-id overwrites within the same minute.
|
|
110
110
|
2. Call `writeHandoff(agentsDir, handoff)` from `src/content/handoffs/index.ts`. The function performs an atomic temp+rename per the `safeWrite.ts` pattern under `HATCH3R_LOCK=1`.
|
|
111
|
-
3. The handoff lands at `.
|
|
111
|
+
3. The handoff lands at `.hatch3r/handoffs/active/<id>.md`.
|
|
112
112
|
|
|
113
113
|
**Status default:** `in-progress`. Use `open` if the work has not been started, or `handed-off` if explicitly transferring to another developer or agent.
|
|
114
114
|
|
|
@@ -119,7 +119,7 @@ A failed Required criterion is `errors[]` — refuse the write. A failed Recomme
|
|
|
119
119
|
Report:
|
|
120
120
|
|
|
121
121
|
```
|
|
122
|
-
Handoff written: .
|
|
122
|
+
Handoff written: .hatch3r/handoffs/active/<id>.md
|
|
123
123
|
Summary: {summary}
|
|
124
124
|
Warnings: {list or "none"}
|
|
125
125
|
```
|
|
@@ -130,7 +130,7 @@ Then emit the canonical Iteration Summary block per `rules/hatch3r-iteration-sum
|
|
|
130
130
|
|
|
131
131
|
- **Always:** validate before write (readiness rule criteria 1-7), compute integrity hash, wrap body in user-tier markers, default `target_agent` to an explicit value, preserve `git_ref` accuracy at write time.
|
|
132
132
|
- **Ask first:** before overwriting an existing active handoff for the same `work_item` (only allowed when existing is older than 24 hours), before setting `target_agent: any`.
|
|
133
|
-
- **Never:** include full conversation transcripts, include secrets/credentials/tokens, write directly to `.
|
|
133
|
+
- **Never:** include full conversation transcripts, include secrets/credentials/tokens, write directly to `.hatch3r/handoffs/archived/`, paraphrase content from the Iteration Summary block.
|
|
134
134
|
|
|
135
135
|
## Error Handling
|
|
136
136
|
|
|
@@ -148,7 +148,7 @@ Then emit the canonical Iteration Summary block per `rules/hatch3r-iteration-sum
|
|
|
148
148
|
- [ ] Step 1 state gathered (git_ref, files, tests, optional work_item)
|
|
149
149
|
- [ ] Step 2 body composed with 8 sections and user-tier markers
|
|
150
150
|
- [ ] Step 3 readiness rule passed (criteria 1-7) with warnings surfaced
|
|
151
|
-
- [ ] Step 4 file written to `.
|
|
151
|
+
- [ ] Step 4 file written to `.hatch3r/handoffs/active/<id>.md`
|
|
152
152
|
- [ ] Step 5 confirmation reported + Iteration Summary block emitted
|
|
153
153
|
|
|
154
154
|
## Related Skills & Agents
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-handoff-resume
|
|
3
|
-
description: Load and resume a handoff document from .
|
|
4
|
-
tags: [
|
|
3
|
+
description: Load and resume a handoff document from .hatch3r/handoffs/active/. Validates schema, integrity, expiry, and git_ref drift before surfacing content as user-tier context.
|
|
4
|
+
tags: [orchestration, maintenance]
|
|
5
5
|
quality_charter: agents/shared/quality-charter.md
|
|
6
6
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
7
|
cache_friendly: true
|
|
@@ -43,7 +43,7 @@ Never under-fan-out to save tokens. Token cost is dominated by quality and compl
|
|
|
43
43
|
| P2 | Partial degradation, limited impact | Single flow broken, slow performance |
|
|
44
44
|
| P3 | Minor issue, workaround available | Cosmetic bug, edge case |
|
|
45
45
|
|
|
46
|
-
- Check for related issues or prior incidents using the platform tools (check `platform` in `.
|
|
46
|
+
- Check for related issues or prior incidents using the platform tools (check `platform` in `.hatch3r/hatch.json`):
|
|
47
47
|
- **GitHub:** Use **GitHub MCP** (`issue_read`, `search_issues`) or `gh issue list --search "..."`
|
|
48
48
|
- **Azure DevOps:** `az boards query --wiql "SELECT [System.Id] FROM WorkItems WHERE [System.Title] CONTAINS '...'"` or `az boards work-item show --id N`
|
|
49
49
|
- **GitLab:** `glab issue list --search "..."` or `glab issue view N`
|
|
@@ -86,7 +86,7 @@ Store in project incident docs or as an issue/wiki page on the platform. Follow
|
|
|
86
86
|
|
|
87
87
|
## Step 6: Follow-Up Issues
|
|
88
88
|
|
|
89
|
-
- Create follow-up issues/work items for each action item from the post-mortem (check `platform` in `.
|
|
89
|
+
- Create follow-up issues/work items for each action item from the post-mortem (check `platform` in `.hatch3r/hatch.json`):
|
|
90
90
|
- **GitHub:** `gh issue create --title "..." --body "..." --label "incident-follow-up"` (or use **GitHub MCP** `issue_create`)
|
|
91
91
|
- **Azure DevOps:** `az boards work-item create --type "Bug" --title "..." --description "..." --fields "System.Tags=incident-follow-up"`
|
|
92
92
|
- **GitLab:** `glab issue create --title "..." --description "..." --label "incident-follow-up"`
|