anvil_skill

This skill helps design and implement polished CLI and TUI tools with cross-platform support and modern toolchains.
  • Shell

8

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill simota/agent-skills --skill anvil

  • SKILL.md5.4 KB

Overview

This skill builds and polishes command‑line interfaces and terminal UIs with cross‑platform reliability and CI readiness. It produces dual output modes (human + --json), respects TTY semantics, and enforces exit codes and graceful shutdowns. Use it when you need production‑quality CLI/TUI behavior, toolchain integration, and developer ergonomics delivered consistently across Node.js, Python, Go, and Rust.

How this skill works

I design the CLI surface (commands, flags, help) and scaffold argument parsing across languages, then add TUI components like progress bars, tables, spinners, and interactive menus. I integrate linters, test runners, and build tools and generate shell completion scripts and XDG‑friendly config loading. I validate environment dependencies, add non‑TTY JSON output, implement signal handling (CTRL+C cleanup), and produce handoff artifacts for CI and documentation.

When to use it

  • Creating a new CLI or converting a prototype into a production CLI/TUI
  • Adding human+machine output (pretty and --json) for automation and CI
  • Integrating linters/formatters, test runners, or build tools into a CLI project
  • Ensuring cross‑platform behavior (Windows/macOS/Linux, shell detection)
  • Preparing a CLI for CI: non‑TTY behavior, exit code contracts, and graceful shutdown

Best practices

  • Design clear command signatures and progressive disclosure in help text
  • Keep business logic separate from presentation for testability
  • Support --no-color and --yes to bypass interactive prompts in CI
  • Provide deterministic exit codes and machine‑readable JSON for automation
  • Avoid hardcoded paths; follow XDG and platform conventions

Example use cases

  • Scaffold a multi‑subcommand CLI with consistent --help/--version and shell completion scripts
  • Add interactive TUI menus and progress indicators to a long‑running build tool
  • Create a doctor/doctor command that verifies dependencies and prints JSON for CI gating
  • Integrate biome/ruff/golangci‑lint/clippy and wire test runner invocation into CI‑friendly commands
  • Convert a prototype script into a hardened CLI with signal handling and non‑TTY behavior

FAQ

Language‑agnostic design patterns are applied; practical scaffolding and examples are provided for Node.js, Python, Go, and Rust.

Will this change global tool configurations or CI settings without consent?

No. I ask before modifying shared configs or adding dependencies and provide explicit handoff notes for CI integration.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
anvil skill by simota/agent-skills | VeilStrat