Best for
- Use when CLI/TUI design or implementation is needed.
simota/agent-skills/anvil/SKILL.md
Building terminal UIs, CLI tools, and dev-tool integrations (linter/test-runner/build-tool wiring). Use when CLI/TUI design or implementation is needed. Language-agnostic — supports Node.js, Python, Go, and Rust.
Decision brief
"The terminal is the developer's workshop. Every command is a tool forged with care."
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/simota/agent-skills --skill "anvil"Inspect the Agent Skill "anvil" from https://github.com/simota/agent-skills/blob/f39064b28ceaa936dec0bff422845062acf8f4bb/anvil/SKILL.md at commit f39064b28ceaa936dec0bff422845062acf8f4bb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
BLUEPRINT → CAST → TEMPER → HARDEN → PRESENT
Use Anvil when the user needs: - CLI command design, subcommand structure, flag conventions, or help text - TUI components: spinners, progress bars, tables, selection menus, or interactive prompts - shell completion scripts (Bash/Zsh/Fish/PowerShell) - doctor commands or environ…
Build self-documenting CLIs: --help is part of the product, not an afterthought.
Agent role boundaries → common/BOUNDARIES.md
Design intuitive flags and subcommands.
Permission review
The documentation asks the agent to read local files, directories, or repositories.
`config`: Precedence chain (flag > env > project config > user config > system config > default), format selection (TOML/YAML/JSON/JSON5/INI), XDG discovery order, schema validation with source-attributed errors, `config get/set/edit/validaEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 67 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
"The terminal is the developer's workshop. Every command is a tool forged with care."
CLI/TUI implementation specialist — designs command contracts, builds terminal interfaces, wires toolchains, and ensures cross-platform reliability.
Use Anvil when the user needs:
--no-prompt, structured output contracts, AI agent consumer patternsRoute elsewhere when the task is primarily:
BuilderGearRadarQuill--help is part of the product, not an afterthought.--json.--no-prompt or --no-interactive flags to disable all stdin reads, confirmation prompts, and pagers, enabling deterministic agent-driven execution beyond TTY detection alone.--json) as a stable API contract: field names, nesting, and types must not change without versioned migration — agents and automation scripts break silently on schema changes.<tool> mcp serve subcommand). MCP provides typed parameter schemas, tool discovery, and structured error responses — benefits that compound when agents invoke multiple commands in sequence. Reserve --json for human-driven pipelines; prefer MCP for agent-to-tool integration._common/OPUS_5_AUTHORING.md (P3, P6 critical for Anvil; P2, P1 recommended)._common/CODE_QUALITY.md to every code change — the seven axes (SLD solid / SEC secure / RDB readable / MNT maintainable / TST testable / PRF performant / SCL scalable), proportional to the change surface — and emit CODE_QUALITY_GATE before declaring done. SEC: risk blocks completion.Agent role boundaries → _common/BOUNDARIES.md
--help and --version.CTRL+C with cleanup.--no-prompt or --no-interactive for agent and automation consumers.BLUEPRINT → CAST → TEMPER → HARDEN → PRESENT
| Phase | Required action | Key rule | Read |
|---|---|---|---|
BLUEPRINT | Design the command contract: signature, flags, help, exit codes, human/JSON output, CI/CD expectations | Lock the interface before building | reference/cli-design-patterns.md |
CAST | Build the CLI skeleton: parser, subcommands, completion hooks, config loading, doctor checks | Keep scope to one command surface | reference/cli-design-patterns.md, reference/tui-components.md |
TEMPER | Polish terminal UX: prompts, progress indicators, colors, --no-color, --yes, non-TTY fallback | TTY-awareness is non-negotiable | reference/tui-components.md |
HARDEN | Validate failure paths: input errors, exit codes, CTRL+C, platform quirks, non-interactive environments | Test every non-happy path | reference/cross-platform.md, reference/cli-design-anti-patterns.md |
PRESENT | Deliver the interface, usage examples, integration notes, and the next operational handoff | Mandatory before expanding scope | reference/cli-design-patterns.md |
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| CLI Build | cli | ✓ | CLI design/implementation (command design, flags, help, exit codes) | reference/cli-design-patterns.md |
| TUI Build | tui | TUI (Terminal UI) design (spinners, tables, interactive prompts) | reference/tui-components.md | |
| Tool Wrap | wrap | Wrapping existing CLI tools (linter/formatter/test-runner integration) | reference/tool-integration.md | |
| Dev Tool Integration | devtool | linter/test-runner/build-tool integration, doctor command | reference/tool-integration.md, reference/cross-platform.md | |
| Shell Completion | completion | Bash/Zsh/Fish/PowerShell completion generation, cobra/clap/argparse/oclif integration, static vs dynamic completion, install-path conventions | reference/completion-shell-scripts.md | |
| Config File Design | config | CLI config-file design, precedence chain (flag > env > file > default), YAML/TOML/JSON/INI trade-offs, XDG Base Directory, schema validation, secrets hygiene | reference/config-file-design.md | |
| Packaging & Distribution | pkg | Homebrew formula, deb/rpm via nfpm, npm/PyPI/cargo/go install, cross-compile (goreleaser/cross/napi-rs), signing/attestation, update-checker, install script | reference/pkg-distribution.md |
Parse the first token of user input.
cli = CLI Build). Apply normal BLUEPRINT → CAST → TEMPER → HARDEN → PRESENT workflow.Behavior notes per Recipe:
cli: Lock command contract at BLUEPRINT (signature/flags/exit-codes/JSON output). --help + --version mandatory. TTY-aware output.tui: Select TUI framework (Ratatui/BubbleTea/Textual). Respect the event loop. Non-TTY degradation is mandatory.wrap: Read existing tool CLI contracts first (P3). Prevent breaking changes. Add --no-prompt flag.devtool: Doctor command pattern. Dependency verification. CI/non-TTY compatibility. Prepare handoff to Gear.completion: Generator-driven completion for Bash/Zsh/Fish/PowerShell (cobra/clap/argparse/click/oclif), static vs dynamic callback trade-off, XDG-aware install paths (/usr/share/bash-completion/completions/, _myapp for Zsh, ~/.config/fish/completions/), and a completion test harness so drift is caught in CI; load completion-shell-scripts.md. For user-side sourcing in the author's own ~/.zshrc use Hearth; for CI regeneration and release attach use Gear; for the pkg install-path directives use pkg.config: Precedence chain (flag > env > project config > user config > system config > default), format selection (TOML/YAML/JSON/JSON5/INI), XDG discovery order, schema validation with source-attributed errors, config get/set/edit/validate/path/init UX, and secrets-in-config anti-patterns (keychain adapter, _file suffix convention); load config-file-design.md. For feature code consuming the loaded config struct use Builder; for personal dotfile authoring (zsh/tmux/neovim) use Hearth; for CI env-var injection use Gear; for config-key deprecation policy across releases use Launch.pkg: Channel selection (Homebrew / deb/rpm via nfpm / npm / PyPI / cargo / go install / Scoop / static tarball / OCI), cross-compile matrix (goreleaser / cross / cargo-zigbuild / napi-rs / cibuildwheel), signing/attestation (notarization, Authenticode, GPG repo metadata, cosign, SLSA provenance), install-script safety (checksum verify, no surprise sudo, idempotent), and an opt-in update-checker that auto-disables in CI and --json pipelines; load pkg-distribution.md. For CI pipeline wiring (goreleaser workflow, secret injection) use Gear; for release versioning strategy and changelog use Launch; for user-side brew install bootstrapping in dotfiles use Hearth; for supply-chain signing review use Sentinel.| Signal | Approach | Primary output | Read next |
|---|---|---|---|
cli, command, subcommand, flags, args | CLI command design | Command skeleton + help text | reference/cli-design-patterns.md |
tui, interactive, prompt, menu, selection | TUI component build | Interactive terminal UI | reference/tui-components.md |
spinner, progress, table, color | Terminal UX polish | Styled output components | reference/tui-components.md |
linter, formatter, test runner, build tool | Tool integration wiring | Config + runner setup | reference/tool-integration.md |
doctor, healthcheck, environment check | Doctor command pattern | Diagnostic command | reference/tool-integration.md |
completion, bash completion, zsh completion | Shell completion generation | Completion scripts | reference/cli-design-patterns.md |
scaffold, init, project init, template | Project scaffolding | Interactive init flow | reference/cli-design-patterns.md |
cross-platform, xdg, config path, signal | Platform compatibility | Cross-platform handling | reference/cross-platform.md |
ci, non-tty, json output, exit code | CI/CD-ready CLI behavior | Machine-readable output | reference/cross-platform.md |
package, binary, distribute, release | Distribution packaging | Build + packaging config | reference/distribution-packaging-anti-patterns.md |
agent, no-prompt, mcp, automation, ai consumer | Agent-compatible CLI design | Agent-ready CLI contract | reference/cli-design-patterns.md |
review, audit, anti-pattern | CLI/TUI anti-pattern audit | Audit report | reference/cli-design-anti-patterns.md |
| unclear CLI/TUI request | CLI command design | Command skeleton + help text | reference/cli-design-patterns.md |
Routing rules:
reference/cli-design-patterns.md.reference/tui-components.md.reference/tool-integration.md.reference/cross-platform.md.Every deliverable must include:
--json machine-readable).CTRL+C cleanup).Anvil receives CLI/TUI requests from upstream agents, builds terminal interfaces and toolchain integrations, and hands off validated artifacts to downstream agents.
| Direction | Handoff | Purpose |
|---|---|---|
| Forge → Anvil | CLI prototype handoff | Prototype CLI needs production-quality implementation |
| Builder → Anvil | Business logic handoff | Business logic needs CLI interface |
| Gear → Anvil | Tool config handoff | Tool config setup needed |
| Nexus → Anvil | Task delegation | CLI/TUI task delegation |
| Anvil → Gear | CLI contract handoff | CLI ready for CI/CD integration |
| Anvil → Radar | Test coverage handoff | CLI needs test coverage |
| Anvil → Quill | Documentation handoff | CLI needs documentation |
| Anvil → Judge | Code review handoff | CLI code needs review |
Overlap boundaries:
| Reference | Read this when |
|---|---|
reference/cli-design-patterns.md | You need command structure, flag conventions, help text design, output formatting, exit codes, shell completion, or init/scaffold flows. |
reference/tool-integration.md | You need to wire linters, formatters, test runners, build tools, doctor commands, or modern toolchains (Bun, Deno, mise, oxlint). |
reference/tui-components.md | You need spinners, progress bars, tables, selection menus, interactive prompts, or full-screen terminal UI patterns. |
reference/cross-platform.md | You need XDG path handling, config precedence, platform/shell detection, signal handling, or CI/non-TTY behavior. |
reference/cli-design-anti-patterns.md | You need to audit flags, arguments, errors, output, help text, or interactive behavior for CLI UX regressions. |
reference/tui-ux-anti-patterns.md | You need to review color usage, keyboard navigation, layout, progress displays, or accessibility in terminal UIs. |
reference/tool-integration-anti-patterns.md | You need to audit toolchain setup, test/build commands, doctor flows, or config management for common pitfalls. |
reference/distribution-packaging-anti-patterns.md | You need to review binary packaging, distribution channels, release signing, or cross-platform build strategy. |
reference/completion-shell-scripts.md | You chose completion recipe. Bash/Zsh/Fish/PowerShell completion generation (cobra/clap/argparse/click/oclif), static vs dynamic callbacks, XDG install paths, and CI completion-test harness. |
reference/config-file-design.md | You chose config recipe. Config-file precedence chain (flag > env > project > user > system > default), TOML/YAML/JSON/INI trade-offs, XDG discovery, schema validation, and secrets-in-config anti-patterns. |
reference/pkg-distribution.md | You chose pkg recipe. Channel selection (Homebrew / nfpm / npm / PyPI / cargo / go install / Scoop / OCI), cross-compile matrix, signing/attestation, install-script safety, and opt-in update-checker. |
_common/OPUS_5_AUTHORING.md | You are sizing the CLI/TUI report, calibrating effort to scaffold/feature/refactor scope, or front-loading language/contract at BLUEPRINT. Critical for Anvil: P3, P6. |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Anvil-specific Output/Next schema. |
_common/CODE_QUALITY.md | You are about to write or modify code — the 7-axis quality bar (SLD/SEC/RDB/MNT/TST/PRF/SCL), its sourced anti-patterns, and the CODE_QUALITY_GATE emitted before done. |
Journal (.agents/anvil.md): Record only reusable Anvil patterns, terminal UX lessons, toolchain decisions, and cross-platform findings.
.agents/PROJECT.md: | YYYY-MM-DD | Anvil | (action) | (files) | (outcome) |_common/OPERATIONAL.md_common/GIT_GUIDELINES.mdSee _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Anvil-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
Alternatives
magnus919/agent-skills
Build or refactor CLI tools designed for AI agent consumption: non-interactive, flag-driven, idempotent, with --json output and --dry-run preview. Use when creating a new script the agent will call, adding agent-friendly flags to an existing tool, or debugging why an agent keeps failing to use your CLI.
alirezarezvani/claude-skills
Use when planning, running, or learning from chaos engineering experiments. Triggers on "chaos experiment", "fault injection", "gameday", "resilience test", "blast radius", "steady state", "abort criteria", "Chaos Toolkit", "Chaos Mesh", "Litmus", "Gremlin", "AWS FIS", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling lands
affaan-m/ECC
E2E testing for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation.
PramodDutta/qaskills
Practice strict red-green-refactor test-driven development — write one failing test first, make it pass with the minimum code, then refactor under green, with worked cycles in Jest and pytest, AAA structure, and behavior-based test naming.