Design 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.
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/16/2026
What it changes
Passed 20 of 22 test cases with the skill, and 19 of 22 without it.
Without skill86%
With skill91%
Checks it passed that the model alone missed
Directs requested help output to stdout
Validates parameter combinations before executing command logic
2 fixed18 passed either way1 still failing1 broke
Pass-rate lift
+5 pp
Tokens
+18%
Agent turns
0%
Response time
-10%
Model gemini-3.6-flashMeasured 8/16/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 2
Prompt
I need a comprehensive command design document for a Go file-hashing CLI utility. The doc should outline the CLI interface details, such as flag usage, error reporting boundaries, exit codes, dependency injection for streams, and pipeline compatibility rules.
What was checked, without and with the skill
Checked
Without skill
With skill
Directs requested help output to stdout
Missed
Passed
Directs diagnostic error messages to stderr
Passed
Passed
Restricts os.Exit calls exclusively to the outer main process boundary
Passed
Passed
case-01 · gemini-3.6-flash · 8/16/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md54 linessingle file
Go CLI Command Design
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.
Design and review maintainable Go CLI application boundaries, package layout, dependency direction, command factories, configuration ownership, adapters, services, storage, and composition roots. Use when starting a multi-command CLI, extracting business logic from Cobra, untangling globals, adding external dependencies, or deciding what belongs under cmd, internal, or reusable packages.
Design, implement, and review secure Go CLI release automation with versioned tags, GoReleaser, GitHub Actions, checksums, signing, provenance, changelogs, Homebrew distribution, least-privilege credentials, verification, and recovery. Use when publishing CLI artifacts, configuring release CI, adding package-manager delivery, or diagnosing a partial or failed release.