CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

golang-cli

Golang CLI application development. Use when building, modifying, or reviewing a Go CLI tool — especially for command structure, flag handling, configuration layering, version embedding, exit codes, I/O patterns, signal handling, shell completion, argument validation, and CLI unit testing. Also triggers when code uses cobra, viper, or urfave/cli. For cobra-specific APIs → See `samber/cc-skills-golang@golang-spf13-cobra` skill; for viper configuration layering → See `samber/cc-skills-golang@golang-spf13-viper` skill.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, mostly lean overview that delegates executable detail to a real, verified set of example files and gives concrete API-level guidance with clear Build/Extend/Review modes. Weak spots are minor: some re-explanation of Unix conventions Claude already knows, no explicit test/verify checkpoint wired into the Build workflow, and an import-path inconsistency in the exit-codes example.

Suggestions

Trim the standard Unix exit-code table (0/1/2/126/127/128+N are well known) to just the project-specific convention (e.g., usage errors → 2, BSD sysexits range), keeping tokens for content Claude doesn't already know.

Wire an explicit validation step into Build mode (e.g., 'after wiring flags, run the CLI unit tests per the Testing section') so the workflow has a checkpoint like the Review mode's checklist.

Fix the 'github.com/you/myapp/cmd' import in assets/examples/exit_codes.go to match the documented cmd/myapp package-main layout so the referenced example is copy-paste consistent.

DimensionReasoningScore

Conciseness

The body is efficient — compact tables, terse key points ('SilenceUsage: true MUST be set'), and detail delegated to asset files rather than inlined — matching anchor 4 ('efficient; minor instances of over-explanation'). It is not 5 because some content assumes too little Claude knowledge, e.g., the exit-code table explaining standard Unix codes (0 Success, 127 Command not found) and the 'Persistent vs Local' flags concept explanation, and not 3 because padding is minor rather than a pattern.

4 / 5

Actionability

Concrete guidance throughout: exact APIs ('MarkFlagRequired', 'MarkFlagsMutuallyExclusive', 'signal.NotifyContext', 'cmd.OutOrStdout()', 'viper.BindPFlag'), a validator table, and per-topic pointers to real, executable asset files (verified: root.go, exit_codes.go contain complete working Go), matching anchor 4. It is not 5 because the body itself carries almost no copy-paste code — execution depends on opening referenced files — and exit_codes.go's 'github.com/you/myapp/cmd' import is inconsistent with the documented cmd/myapp layout, a minor gap.

4 / 5

Workflow Clarity

The Modes section gives clear sequences ('Build — ... follow the project structure, root command setup, flag binding, and version embedding sections sequentially'; 'Review — check the Common Mistakes table, verify SilenceUsage/SilenceErrors...'), and the Testing CLI Commands section plus Common Mistakes table supply validation checkpoints — anchor 4 ('clear sequence with most checkpoints present; minor validation gaps'). It is not 5 because the Build workflow never explicitly wires in a test/verify step or error-recovery loop, and not 3 because sequences and checkpoints are present, not merely implicit.

4 / 5

Progressive Disclosure

The body is a clean overview where every topic section signals a one-level-deep reference — e.g., 'See [assets/examples/flags.go](assets/examples/flags.go) for all flag patterns' — and all 12 referenced asset files exist in assets/examples/ with substantive content, while appropriately compact tables (Quick Reference, Common Mistakes) stay inline. This matches anchor 5 ('clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation').

5 / 5

Total

17

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that explicitly covers both what the skill does and when to use it, with concrete trigger phrases and library names. Trigger term coverage is good though it misses a few natural phrasings like 'command line' or 'subcommand'. The explicit delegation to sibling cobra/viper skills effectively manages conflict risk.

Suggestions

Add natural trigger variations such as 'command line', 'subcommand', or 'CLI app' to broaden the phrases users would naturally say.

Consider naming the concrete deliverables (e.g., 'scaffold cmd/ structure, bind flags to config, embed version via ldflags') so the action list is as concrete as the topic list.

DimensionReasoningScore

Specificity

Quotes like 'building, modifying, or reviewing a Go CLI tool — especially for command structure, flag handling, configuration layering, version embedding, exit codes, I/O patterns, signal handling, shell completion, argument validation, and CLI unit testing' enumerate ten concrete concern areas, matching anchor 4 ('several specific actions; minor gaps'). It is not 5 because the action verbs themselves (building, modifying, reviewing) are generic compared to anchor 5's concrete action list, and not 3 because coverage goes well beyond 1-2 actions.

4 / 5

Completeness

'Golang CLI application development' explicitly states the what, and 'Use when building, modifying, or reviewing a Go CLI tool' plus 'Also triggers when code uses cobra, viper, or urfave/cli' give explicit, concrete when-triggers — a clear anchor 5 match. Neighboring anchor 4 would require the 'when' to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

'Go CLI tool', 'cobra', 'viper', 'urfave/cli', 'flag handling', 'shell completion', 'exit codes', 'argument validation' give good keyword coverage, and 'Also triggers when code uses cobra, viper, or urfave/cli' captures library-based triggers, matching anchor 4. It is not 5 because common natural variations like 'command line', 'subcommand', or 'CLI app' phrasings are absent.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear Go CLI niche with distinct triggers (cobra, viper, urfave/cli, CLI-specific concerns) and proactively reduces overlap by delegating: 'For cobra-specific APIs → See samber/cc-skills-golang@golang-spf13-cobra skill; for viper configuration layering → See samber/cc-skills-golang@golang-spf13-viper skill.' This matches anchor 5 (clear niche with distinct triggers; minimal conflict risk).

5 / 5

Total

18

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 12 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 24 deeper-than-1-level

Warning

Total

13

/

16

Passed

Repository

samber/cc-skills-golang

Path

skills/golang-cli/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.