Go CLI Command Design
SkillMediaDesign and review predictable Go command-line interfaces with canonical names and flags; explicit inputs and precedence; human, plain, and structured output; safe prompting; stdout and stderr contracts; help; errors; exit codes; cancellation; dependency injection; and platform behavior. Use when creating a Go CLI, changing its public command contract, making command code testable, or reviewing compatibility for people, scripts, AI agents, and CI.
Use Go CLI Command Design in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Go CLI Command Design and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Go CLI Command Design skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/LVTD-LLC/skills/skills/go-cli-command-design/SKILL.md and read by ahel’s review.
Design the command as a public interface before treating it as an implementation. Keep results pipeable, failures diagnosable, and process-global state at the edge.
Core Workflow
- State the command purpose, invocation syntax, callers, and compatibility promises.
- Assign each input to a flag, operand, stdin, environment, or config source.
- Define precedence, validation, conflicts, defaults, and blocking behavior.
- Reserve stdout for results and requested help; use stderr for diagnostics, invalid-usage help, and progress.
- Return errors from command logic and map exit codes at the process boundary.
- Inject streams, configuration, and effects behind a small testable runner.
- Verify help, invalid usage, operational failures, and supported target behavior.
- Verify noninteractive, color-disabled, canceled, and short-reading pipe behavior.
Read Next
| Task | Load |
|---|---|
| Design or change a complete command contract | guidelines.md, workflows/design-command-interface.md |
| Implement flags, streams, environment, or errors | references/command-interface/rules.md, references/command-interface/examples.md |
| Understand the design rationale | references/command-interface/knowledge.md |
| Review an existing command | references/command-interface/checklist.md |
Guardrails
- Prefer a dedicated
flag.FlagSetover package-global flags in reusable code. - Do not read stdin unless the documented invocation requires it.
- Do not call
os.Exitbelow the outer process boundary. - Treat structured output, exact text, and exit codes as APIs when automation relies on them.
- Never prompt, animate, or emit ANSI sequences in structured or noninteractive mode.
- Treat closed downstream pipes as normal pipeline termination when appropriate.
- Cross-compilation does not replace target-level smoke testing.
Source Notes
Guidance is transformed and paraphrased from Ricardo Gerardi, Powerful Command-Line Applications in Go (Pragmatic Bookshelf, 2021), especially Chapters 1-2. Examples are original adaptations.
Modern interaction, cancellation, and output-mode guidance also incorporates transformed material from Marian Montagnino, Building Modern CLI Applications in Go (Packt, 2023), especially Chapters 1, 5, 8, and 10.
Book: https://pragprog.com/titles/rggo/powerful-command-line-applications-in-go/
Modern API details should be verified against https://pkg.go.dev/flag and the current Go documentation before implementation.
Parser grammar and validation guidance also incorporates transformed material from Inanc Gumus, Go by Example: Programmer's Guide to Idiomatic and Testable Programs (Manning, 2025), Chapter 4.
Signals
- GitHub stars
- 1k
- Forks
- 316
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
go-cli-command-design- Source
- github.com/hashgraph-online/awesome-codex-plugins
github.com/hashgraph-online/awesome-codex-plugins