hatch3r 1.7.0 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -12
- package/agents/hatch3r-a11y-auditor.md +4 -0
- package/agents/hatch3r-architect.md +5 -1
- package/agents/hatch3r-ci-watcher.md +4 -0
- package/agents/hatch3r-context-rules.md +4 -0
- package/agents/hatch3r-creator.md +4 -0
- package/agents/hatch3r-dependency-auditor.md +4 -0
- package/agents/hatch3r-devops.md +4 -0
- package/agents/hatch3r-docs-writer.md +4 -0
- package/agents/hatch3r-fixer.md +5 -1
- package/agents/hatch3r-handoff-loader.md +243 -0
- package/agents/hatch3r-handoff-preparer.md +134 -0
- package/agents/hatch3r-implementer.md +5 -1
- package/agents/hatch3r-learnings-loader.md +4 -0
- package/agents/hatch3r-lint-fixer.md +4 -0
- package/agents/hatch3r-perf-profiler.md +8 -0
- package/agents/hatch3r-researcher.md +5 -1
- package/agents/hatch3r-reviewer.md +92 -0
- package/agents/hatch3r-security-auditor.md +24 -0
- package/agents/hatch3r-test-writer.md +4 -0
- package/agents/modes/requirements-elicitation.md +5 -1
- package/agents/modes/similar-implementation.md +6 -0
- package/agents/modes/user-flows.md +76 -0
- package/agents/shared/quality-charter.md +129 -0
- package/agents/shared/user-question-protocol.md +95 -0
- package/commands/board/shared-azure-devops.md +2 -0
- package/commands/board/shared-github.md +17 -0
- package/commands/board/shared-gitlab.md +4 -0
- package/commands/hatch3r-board-fill.md +2 -1
- package/commands/hatch3r-board-pickup.md +1 -1
- package/commands/hatch3r-board-shared.md +21 -0
- package/commands/hatch3r-create.md +2 -0
- package/commands/hatch3r-handoff.md +126 -0
- package/commands/hatch3r-pr-resolve.md +672 -0
- package/commands/hatch3r-quick-change.md +5 -3
- package/commands/hatch3r-report.md +167 -0
- package/commands/hatch3r-revision.md +1 -1
- package/commands/hatch3r-workflow.md +3 -1
- package/dist/cli/index.js +3144 -979
- package/dist/cli/index.js.map +1 -1
- package/package.json +4 -2
- package/rules/hatch3r-accessibility-standards.md +21 -0
- package/rules/hatch3r-accessibility-standards.mdc +21 -0
- package/rules/hatch3r-agent-orchestration.md +32 -1
- package/rules/hatch3r-agent-orchestration.mdc +32 -1
- package/rules/hatch3r-ai-evals.md +158 -0
- package/rules/hatch3r-ai-evals.mdc +154 -0
- package/rules/hatch3r-ai-ux-patterns.md +131 -0
- package/rules/hatch3r-ai-ux-patterns.mdc +127 -0
- package/rules/hatch3r-api-design.md +67 -9
- package/rules/hatch3r-api-design.mdc +67 -9
- package/rules/hatch3r-api-versioning.md +119 -0
- package/rules/hatch3r-api-versioning.mdc +115 -0
- package/rules/hatch3r-auth-patterns.md +170 -0
- package/rules/hatch3r-auth-patterns.mdc +166 -0
- package/rules/hatch3r-component-conventions.md +30 -0
- package/rules/hatch3r-component-conventions.mdc +30 -0
- package/rules/hatch3r-container-hardening.md +131 -0
- package/rules/hatch3r-container-hardening.mdc +127 -0
- package/rules/hatch3r-contract-testing.md +117 -0
- package/rules/hatch3r-contract-testing.mdc +113 -0
- package/rules/hatch3r-deep-context.md +3 -1
- package/rules/hatch3r-deep-context.mdc +3 -1
- package/rules/hatch3r-dependency-management.md +73 -1
- package/rules/hatch3r-dependency-management.mdc +72 -0
- package/rules/hatch3r-design-system-detection.md +142 -0
- package/rules/hatch3r-design-system-detection.mdc +138 -0
- package/rules/hatch3r-event-schema-evolution.md +90 -0
- package/rules/hatch3r-event-schema-evolution.mdc +86 -0
- package/rules/hatch3r-handoff-readiness.md +45 -0
- package/rules/hatch3r-handoff-readiness.mdc +40 -0
- package/rules/hatch3r-i18n.md +13 -0
- package/rules/hatch3r-i18n.mdc +13 -0
- package/rules/hatch3r-iteration-summary.md +2 -0
- package/rules/hatch3r-iteration-summary.mdc +2 -0
- package/rules/hatch3r-migrations.md +61 -16
- package/rules/hatch3r-migrations.mdc +61 -16
- package/rules/hatch3r-observability-logging.md +1 -1
- package/rules/hatch3r-observability-logging.mdc +1 -1
- package/rules/hatch3r-observability-metrics.md +1 -1
- package/rules/hatch3r-observability-metrics.mdc +1 -1
- package/rules/hatch3r-observability-tracing-detail.md +1 -1
- package/rules/hatch3r-observability-tracing-detail.mdc +1 -1
- package/rules/hatch3r-observability-tracing.md +1 -1
- package/rules/hatch3r-observability-tracing.mdc +1 -1
- package/rules/hatch3r-observability.md +1 -0
- package/rules/hatch3r-observability.mdc +1 -0
- package/rules/hatch3r-operability.md +149 -0
- package/rules/hatch3r-operability.mdc +145 -0
- package/rules/hatch3r-passkey-server.md +181 -0
- package/rules/hatch3r-passkey-server.mdc +177 -0
- package/rules/hatch3r-progressive-delivery.md +120 -0
- package/rules/hatch3r-progressive-delivery.mdc +116 -0
- package/rules/hatch3r-resilience-patterns.md +154 -0
- package/rules/hatch3r-resilience-patterns.mdc +150 -0
- package/rules/hatch3r-secrets-management.md +29 -0
- package/rules/hatch3r-secrets-management.mdc +29 -0
- package/rules/hatch3r-testing.md +139 -43
- package/rules/hatch3r-testing.mdc +139 -43
- package/rules/hatch3r-ux-states-and-flows.md +149 -0
- package/rules/hatch3r-ux-states-and-flows.mdc +145 -0
- package/skills/hatch3r-a11y-audit/SKILL.md +14 -0
- package/skills/hatch3r-ai-feature/SKILL.md +134 -0
- package/skills/hatch3r-api-spec/SKILL.md +5 -0
- package/skills/hatch3r-architecture-review/SKILL.md +14 -0
- package/skills/hatch3r-bug-fix/SKILL.md +5 -0
- package/skills/hatch3r-ci-pipeline/SKILL.md +14 -0
- package/skills/hatch3r-cli-aichat/SKILL.md +84 -0
- package/skills/hatch3r-cli-ast-grep/SKILL.md +85 -0
- package/skills/hatch3r-cli-az-devops/SKILL.md +89 -0
- package/skills/hatch3r-cli-bat/SKILL.md +85 -0
- package/skills/hatch3r-cli-comby/SKILL.md +85 -0
- package/skills/hatch3r-cli-csvkit/SKILL.md +84 -0
- package/skills/hatch3r-cli-delta/SKILL.md +86 -0
- package/skills/hatch3r-cli-difftastic/SKILL.md +84 -0
- package/skills/hatch3r-cli-docker/SKILL.md +89 -0
- package/skills/hatch3r-cli-duckdb/SKILL.md +84 -0
- package/skills/hatch3r-cli-fd/SKILL.md +85 -0
- package/skills/hatch3r-cli-fzf/SKILL.md +84 -0
- package/skills/hatch3r-cli-gh/SKILL.md +90 -0
- package/skills/hatch3r-cli-glab/SKILL.md +89 -0
- package/skills/hatch3r-cli-jq/SKILL.md +85 -0
- package/skills/hatch3r-cli-lazygit/SKILL.md +78 -0
- package/skills/hatch3r-cli-llm/SKILL.md +84 -0
- package/skills/hatch3r-cli-miller/SKILL.md +84 -0
- package/skills/hatch3r-cli-mods/SKILL.md +84 -0
- package/skills/hatch3r-cli-overview/SKILL.md +60 -0
- package/skills/hatch3r-cli-playwright/SKILL.md +89 -0
- package/skills/hatch3r-cli-podman/SKILL.md +84 -0
- package/skills/hatch3r-cli-ripgrep/SKILL.md +85 -0
- package/skills/hatch3r-cli-rtk/SKILL.md +91 -0
- package/skills/hatch3r-cli-sd/SKILL.md +85 -0
- package/skills/hatch3r-cli-stagehand/SKILL.md +79 -0
- package/skills/hatch3r-cli-taplo/SKILL.md +84 -0
- package/skills/hatch3r-cli-xsv/SKILL.md +89 -0
- package/skills/hatch3r-cli-yq/SKILL.md +85 -0
- package/skills/hatch3r-cli-zstd/SKILL.md +85 -0
- package/skills/hatch3r-context-health/SKILL.md +14 -0
- package/skills/hatch3r-cost-tracking/SKILL.md +14 -0
- package/skills/hatch3r-customize/SKILL.md +14 -0
- package/skills/hatch3r-dep-audit/SKILL.md +14 -0
- package/skills/hatch3r-design-system-detect/SKILL.md +162 -0
- package/skills/hatch3r-feature/SKILL.md +2 -0
- package/skills/hatch3r-gh-agentic-workflows/SKILL.md +13 -0
- package/skills/hatch3r-handoff-prepare/SKILL.md +160 -0
- package/skills/hatch3r-handoff-resume/SKILL.md +171 -0
- package/skills/hatch3r-incident-response/SKILL.md +14 -0
- package/skills/hatch3r-issue-workflow/SKILL.md +5 -0
- package/skills/hatch3r-logical-refactor/SKILL.md +14 -0
- package/skills/hatch3r-migration/SKILL.md +14 -0
- package/skills/hatch3r-observability-verify/SKILL.md +133 -0
- package/skills/hatch3r-perf-audit/SKILL.md +14 -0
- package/skills/hatch3r-pr-creation/SKILL.md +14 -0
- package/skills/hatch3r-qa-validation/SKILL.md +18 -0
- package/skills/hatch3r-recipe/SKILL.md +14 -0
- package/skills/hatch3r-refactor/SKILL.md +14 -0
- package/skills/hatch3r-release/SKILL.md +14 -0
- package/skills/hatch3r-reliability-verify/SKILL.md +144 -0
- package/skills/hatch3r-ui-ux-verify/SKILL.md +136 -0
- package/skills/hatch3r-visual-refactor/SKILL.md +15 -1
|
@@ -0,0 +1,85 @@
|
|
|
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
|
|
@@ -0,0 +1,79 @@
|
|
|
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.
|
|
23
|
+
|
|
24
|
+
## Token Cost
|
|
25
|
+
|
|
26
|
+
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
27
|
+
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
28
|
+
|
|
29
|
+
## Recipes
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx stagehand init
|
|
33
|
+
```
|
|
34
|
+
Scaffold a Stagehand project with sample TypeScript actions and a `stagehand.config.ts`.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx stagehand run scripts/login.ts
|
|
38
|
+
```
|
|
39
|
+
Execute an AI-driven action script — Stagehand resolves selectors from natural-language intent at runtime.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx stagehand record --selector-mode=ai
|
|
43
|
+
```
|
|
44
|
+
Record an interactive session, capturing AI-resolved selectors for replay.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx stagehand observe https://example.com 'find the login form'
|
|
48
|
+
```
|
|
49
|
+
One-shot observation — returns the structured action(s) without executing them. Useful for dry-run agent loops.
|
|
50
|
+
|
|
51
|
+
## Wrong Choice When
|
|
52
|
+
|
|
53
|
+
- **Deterministic E2E test flow with stable selectors:** the AI resolution adds latency and flakiness for selectors you already control. Use `hatch3r-cli-playwright` (tier 2) instead.
|
|
54
|
+
- **High-volume scraping at scale:** Stagehand's per-action LLM round-trip is cost-prohibitive past a few hundred pages — use the Browserbase remote-browser product or raw Playwright with explicit selectors.
|
|
55
|
+
- **Headless CI in air-gapped environments:** Stagehand requires outbound LLM API access for selector resolution; offline environments fail open-loop.
|
|
56
|
+
|
|
57
|
+
## Alternatives
|
|
58
|
+
|
|
59
|
+
| Tool | When to prefer |
|
|
60
|
+
|------|----------------|
|
|
61
|
+
| `hatch3r-cli-playwright` (tier 2) | Stable selectors, deterministic CI, no LLM round-trips needed |
|
|
62
|
+
| Browserbase managed browsers | Production scale, session recording, anti-bot evasion |
|
|
63
|
+
| Skyvern / Browser-Use | Workflow-style automation with embedded LLM agents |
|
|
64
|
+
|
|
65
|
+
## Detection / Install
|
|
66
|
+
|
|
67
|
+
Verify with:
|
|
68
|
+
```bash
|
|
69
|
+
command -v stagehand
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Install (mac):
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# npm
|
|
76
|
+
npm install -g @browserbasehq/stagehand
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Homepage: https://github.com/browserbase/stagehand
|
|
@@ -0,0 +1,84 @@
|
|
|
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/
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: hatch3r-cli-xsv
|
|
3
|
+
description: "Fast CSV toolkit (slice, search, join, stats). Use when slicing huge CSV documents by row range or column without materialising the dataset; invoke `xsv`. 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: xsv
|
|
10
|
+
bin: xsv
|
|
11
|
+
tier: 2
|
|
12
|
+
category: data
|
|
13
|
+
homepage: https://github.com/BurntSushi/xsv
|
|
14
|
+
---
|
|
15
|
+
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
+
# xsv
|
|
17
|
+
|
|
18
|
+
Fast CSV toolkit (slice, search, join, stats)
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
Reach for `xsv` when the task is in the **data** category and the agent would otherwise call an MCP tool or read large outputs into context.
|
|
23
|
+
|
|
24
|
+
## Token Cost
|
|
25
|
+
|
|
26
|
+
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB.
|
|
27
|
+
Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
|
|
28
|
+
|
|
29
|
+
## Recipes
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
xsv stats huge.csv
|
|
33
|
+
```
|
|
34
|
+
Per-column min/max/mean/stddev/cardinality — single streaming pass over the file.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
xsv select name,email,active records.csv
|
|
38
|
+
```
|
|
39
|
+
Project a subset of columns without rewriting; output stays CSV for downstream tools.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
xsv sort -s amount records.csv | xsv slice -e 100
|
|
43
|
+
```
|
|
44
|
+
Sort by `amount` then take the first 100 rows — composable pipe; both stages stream.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
xsv frequency -s status events.csv
|
|
48
|
+
```
|
|
49
|
+
Tabulate value counts for a column; output is itself CSV, parsable by the next step.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
xsv search -s email '@example\.com$' users.csv
|
|
53
|
+
```
|
|
54
|
+
Regex-filter a column — much cheaper than loading the whole file into a SQL engine.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
xsv join id orders.csv id customers.csv > joined.csv
|
|
58
|
+
```
|
|
59
|
+
Hash join two CSVs on a common column without spinning up DuckDB.
|
|
60
|
+
|
|
61
|
+
## Wrong Choice When
|
|
62
|
+
|
|
63
|
+
- The query needs aggregation across millions of rows or multiple files — DuckDB (Tier 2 sibling) is built for that scan plan.
|
|
64
|
+
- You need a multi-way join with type coercion or window functions — `xsv join` is hash-only and untyped; use DuckDB.
|
|
65
|
+
- The data is JSON or Parquet, not CSV — pipe through `jq`/DuckDB instead of CSV-converting first.
|
|
66
|
+
|
|
67
|
+
## Alternatives
|
|
68
|
+
|
|
69
|
+
| Tool | When to prefer |
|
|
70
|
+
|------|----------------|
|
|
71
|
+
| DuckDB | Aggregations, joins, or non-CSV inputs (Parquet/JSON). |
|
|
72
|
+
| Miller (`mlr`) | Need TSV/JSON-Lines support or per-record transforms in the same tool. |
|
|
73
|
+
| csvkit | Want CSV-to-SQL or CSV-to-JSON conversions out of the box. |
|
|
74
|
+
|
|
75
|
+
## Detection / Install
|
|
76
|
+
|
|
77
|
+
Verify with:
|
|
78
|
+
```bash
|
|
79
|
+
command -v xsv
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Install (mac):
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# brew
|
|
86
|
+
brew install xsv
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Homepage: https://github.com/BurntSushi/xsv
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: hatch3r-cli-zstd
|
|
3
|
+
description: "Fast lossless compression with high ratio. Use when high-ratio compression with single-digit-millisecond decompress speeds; invoke `zstd`. Designed for cold-storage payloads and CI artifact upload/download steps."
|
|
4
|
+
tags: ["cli-tools", "archive", "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: zstd
|
|
10
|
+
bin: zstd
|
|
11
|
+
tier: 1
|
|
12
|
+
category: archive
|
|
13
|
+
homepage: https://github.com/facebook/zstd
|
|
14
|
+
---
|
|
15
|
+
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
|
|
16
|
+
# zstd
|
|
17
|
+
|
|
18
|
+
Fast lossless compression with high ratio
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
Reach for `zstd` when the task is in the **archive** 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
|
+
tar --zstd -cf bundle.tar.zst dist/ governance/
|
|
33
|
+
```
|
|
34
|
+
Stream `tar` through zstd in one shot — default level (~3) gives high-ratio archives an order of magnitude faster than gzip.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
tar --zstd -xf bundle.tar.zst -C /tmp/restore/
|
|
38
|
+
```
|
|
39
|
+
Extract a zstd-compressed tarball to a target directory — paired with the previous recipe for round-trip backup.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
zstd -19 -T0 huge.csv
|
|
43
|
+
```
|
|
44
|
+
Level 19 (near-max ratio) with `-T0` (all CPU threads) — appropriate for archival snapshots where compression time is fine.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pzstd --keep -d findings.tar.zst
|
|
48
|
+
```
|
|
49
|
+
Parallel decompression preserving the input (`--keep`) — fastest restore path for large `.zst` archives on multi-core hosts.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
zstd --train datasets/*.json -o dict.zstd && zstd -D dict.zstd payload.json
|
|
53
|
+
```
|
|
54
|
+
Train a dictionary from a sample corpus then compress with `-D dict.zstd` — wins when payloads share schema (logs, structured events).
|
|
55
|
+
|
|
56
|
+
## Wrong Choice When
|
|
57
|
+
|
|
58
|
+
- Don't use `zstd` for distribution where every byte of size matters and decompression speed does not. Reach for `xz` (`xz -9e`) — slower but tighter ratios for immutable releases.
|
|
59
|
+
- Don't ship a zstd archive to legacy Windows recipients without a bundled decoder; native support landed in Windows 11 but earlier hosts need 7-Zip 21.07+. Reach for `zip` for broadest compatibility.
|
|
60
|
+
- Don't reach for `zstd` to compress already-compressed payloads (JPEGs, MP4s, existing zips); ratios approach 1.0 and the CPU spend is wasted. Skip compression or use `tar -cf` with no codec.
|
|
61
|
+
|
|
62
|
+
## Alternatives
|
|
63
|
+
|
|
64
|
+
| Tool | When to prefer |
|
|
65
|
+
|------|----------------|
|
|
66
|
+
| `xz` | Immutable release artifacts where size is the dominant cost. |
|
|
67
|
+
| `gzip` | Universal compatibility — every UNIX-like system since 1992. |
|
|
68
|
+
| `zip` | Windows recipients without native `.zst` support; flat distribution archives. |
|
|
69
|
+
| `7z` | Heterogeneous payloads where xz-style LZMA2 plus per-file streaming beats both zstd and gzip. |
|
|
70
|
+
|
|
71
|
+
## Detection / Install
|
|
72
|
+
|
|
73
|
+
Verify with:
|
|
74
|
+
```bash
|
|
75
|
+
command -v zstd
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Install (mac):
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# brew
|
|
82
|
+
brew install zstd
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Homepage: https://github.com/facebook/zstd
|
|
@@ -12,12 +12,26 @@ cache_friendly: true
|
|
|
12
12
|
|
|
13
13
|
```
|
|
14
14
|
Task Progress:
|
|
15
|
+
- [ ] Step 0: Detect ambiguity (P8 B1)
|
|
15
16
|
- [ ] Step 1: Assess current context health
|
|
16
17
|
- [ ] Step 2: Identify degradation signals
|
|
17
18
|
- [ ] Step 3: Apply corrective action
|
|
18
19
|
- [ ] Step 4: Verify health improvement
|
|
19
20
|
```
|
|
20
21
|
|
|
22
|
+
## Step 0 — Detect Ambiguity (P8 B1)
|
|
23
|
+
|
|
24
|
+
Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md`. Do not proceed under silent assumption. Default path, not an exception. Triggers for THIS skill: original task recall, corrective action authority at Orange/Red (delegate vs checkpoint-and-stop), scope of files to re-read, whether to post progress to platform on Red, and irreversible stop (discard unsaved work) vs preserve.
|
|
25
|
+
|
|
26
|
+
## Fan-out Discipline (P8 B2)
|
|
27
|
+
|
|
28
|
+
This skill delegates per task size:
|
|
29
|
+
- Tier 1 (trivial single-file): inline execution acceptable.
|
|
30
|
+
- Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
|
|
31
|
+
- Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
|
|
32
|
+
|
|
33
|
+
Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
|
|
34
|
+
|
|
21
35
|
## Step 1: Assess Context Health
|
|
22
36
|
|
|
23
37
|
Run through the self-assessment checklist:
|
|
@@ -12,12 +12,26 @@ cache_friendly: true
|
|
|
12
12
|
|
|
13
13
|
```
|
|
14
14
|
Task Progress:
|
|
15
|
+
- [ ] Step 0: Detect ambiguity (P8 B1)
|
|
15
16
|
- [ ] Step 1: Review cost tracking configuration
|
|
16
17
|
- [ ] Step 2: Estimate current session token usage
|
|
17
18
|
- [ ] Step 3: Identify cost optimization opportunities
|
|
18
19
|
- [ ] Step 4: Generate cost report
|
|
19
20
|
```
|
|
20
21
|
|
|
22
|
+
## Step 0 — Detect Ambiguity (P8 B1)
|
|
23
|
+
|
|
24
|
+
Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md`. Do not proceed under silent assumption. Default path, not an exception. Triggers for THIS skill: tracking scope (session vs issue vs epic), budget values when missing from hatch.json, hardStop authority (block vs warn), report format target, and whether to defer non-critical work over budget.
|
|
25
|
+
|
|
26
|
+
## Fan-out Discipline (P8 B2)
|
|
27
|
+
|
|
28
|
+
This skill delegates per task size:
|
|
29
|
+
- Tier 1 (trivial single-file): inline execution acceptable.
|
|
30
|
+
- Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
|
|
31
|
+
- Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
|
|
32
|
+
|
|
33
|
+
Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
|
|
34
|
+
|
|
21
35
|
## Step 1: Review Configuration
|
|
22
36
|
|
|
23
37
|
1. Check `hatch.json` for a `costTracking` section.
|
|
@@ -12,6 +12,7 @@ cache_friendly: true
|
|
|
12
12
|
|
|
13
13
|
```
|
|
14
14
|
Task Progress:
|
|
15
|
+
- [ ] Step 0: Detect ambiguity (P8 B1)
|
|
15
16
|
- [ ] Step 1: Identify what to customize (and why)
|
|
16
17
|
- [ ] Step 2: Determine customization needs
|
|
17
18
|
- [ ] Step 3: Multi-stakeholder review
|
|
@@ -20,6 +21,19 @@ Task Progress:
|
|
|
20
21
|
- [ ] Step 6: Verify the customized output
|
|
21
22
|
```
|
|
22
23
|
|
|
24
|
+
## Step 0 — Detect Ambiguity (P8 B1)
|
|
25
|
+
|
|
26
|
+
Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md`. Do not proceed under silent assumption. Default path, not an exception. Triggers for THIS skill: artifact type (agent vs command vs rule vs skill), target artifact id, whether disabling breaks a command pipeline dependency, scope narrowing for rules (and excluded glob patterns), and whether this customization should be an upstream contribution instead.
|
|
27
|
+
|
|
28
|
+
## Fan-out Discipline (P8 B2)
|
|
29
|
+
|
|
30
|
+
This skill delegates per task size:
|
|
31
|
+
- Tier 1 (trivial single-file): inline execution acceptable.
|
|
32
|
+
- Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
|
|
33
|
+
- Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
|
|
34
|
+
|
|
35
|
+
Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
|
|
36
|
+
|
|
23
37
|
## Artifact Types
|
|
24
38
|
|
|
25
39
|
This skill handles customization for all artifact types. The `type` parameter determines file locations, available YAML fields, and verification steps.
|
|
@@ -14,6 +14,7 @@ cache_friendly: true
|
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
Task Progress:
|
|
17
|
+
- [ ] Step 0: Detect ambiguity (P8 B1)
|
|
17
18
|
- [ ] Step 1: Run npm audit + npm outdated, categorize findings
|
|
18
19
|
- [ ] Step 2: Research CVEs via web search for critical/high
|
|
19
20
|
- [ ] Step 3: Plan upgrades (breaking vs non-breaking, bundle impact)
|
|
@@ -22,6 +23,19 @@ Task Progress:
|
|
|
22
23
|
- [ ] Step 6: Open PR with upgrade rationale
|
|
23
24
|
```
|
|
24
25
|
|
|
26
|
+
## Step 0 — Detect Ambiguity (P8 B1)
|
|
27
|
+
|
|
28
|
+
Before any work, scan the invocation for unresolved questions in scope, intent, acceptance criteria, target environment, or irreversibility. If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md`. Do not proceed under silent assumption. Default path, not an exception. Triggers for THIS skill: scope (critical/high only vs all), major-version-bump authority, bundle-size budget, deferral policy when no fix is available, and whether to also remove unused deps in the same pass.
|
|
29
|
+
|
|
30
|
+
## Fan-out Discipline (P8 B2)
|
|
31
|
+
|
|
32
|
+
This skill delegates per task size:
|
|
33
|
+
- Tier 1 (trivial single-file): inline execution acceptable.
|
|
34
|
+
- Tier 2 (multi-file or multi-concern): spawn parallel sub-agents per concern via the Task tool.
|
|
35
|
+
- Tier 3 (multi-module / high-risk): one fresh sub-agent per independent module or gate; orchestrator integrates only.
|
|
36
|
+
|
|
37
|
+
Never under-fan-out to save tokens. Token cost is dominated by quality and completeness gains. Emit `sub_agents_spawned: { count, rationale }` in your output.
|
|
38
|
+
|
|
25
39
|
## Step 1: Gather Findings
|
|
26
40
|
|
|
27
41
|
- Run `npm audit` and capture output. Categorize by severity: critical, high, moderate, low.
|