CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-spf13-viper

Golang configuration library using spf13/viper — layered precedence (flag > env > file > KV > default), BindPFlag/BindPFlags, SetEnvPrefix + SetEnvKeyReplacer + AutomaticEnv, ReadInConfig + ConfigFileNotFoundError, Unmarshal + mapstructure struct tags, Sub for sub-trees, WatchConfig + OnConfigChange for hot reload, viper.New() for test isolation, and remote KV integration. Apply when using or adopting spf13/viper, or when the codebase imports `github.com/spf13/viper`. For CLI command structure alongside viper, see the `samber/cc-skills-golang@golang-spf13-cobra` skill. For general CLI architecture, see `samber/cc-skills-golang@golang-cli`.

74

Quality

93%

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

86%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, highly actionable reference: executable code throughout, a fixed-precedence mental model, and clean one-level-deep progressive disclosure to verified bundle files. The only nit is mild redundancy where the precedence rule and the env-replacer caveat are restated across sections.

Suggestions

Collapse the restatements of the precedence ordering and the SetEnvKeyReplacer caveat into their canonical sections, trusting the Best Practices and Common Mistakes tables to re-surface them.

Consider a short numbered 'adopting viper in a new project' checklist (SetDefault → ReadInConfig → env wiring → flag binding) to make the recommended sequencing an explicit workflow with checkpoints.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's Go competence — executable code plus one-line rationale per section with little padding — but the precedence ordering and the env-replacer caveat are each restated a couple of times across the prose, Best Practices, and the Common Mistakes table, leaving minor trim opportunities.

4 / 5

Actionability

Every section ships complete, executable Go code (errors.As on ConfigFileNotFoundError, SetEnvPrefix+SetEnvKeyReplacer+AutomaticEnv, BindPFlag, Unmarshal with mapstructure tags, WatchConfig, viper.New()), and concrete fixes are tabulated in Common Mistakes — copy-paste ready and covering the common cases.

5 / 5

Workflow Clarity

Content is sequenced around the fixed precedence pipeline with validation guidance woven through (graceful ConfigFileNotFoundError handling, nil-checking Sub, fsnotify atomic-rename caveat) and reinforced by the Common Mistakes/Best Practices checkpoints, though it is topical rather than a single numbered workflow with explicit validate-fix-retry loops.

4 / 5

Progressive Disclosure

SKILL.md is an overview that delegates detail to one-level-deep references (sources-and-formats, binding-and-env, unmarshal, watch-and-reload, testing-and-isolation), all verified to exist, each signaled inline with a short description and re-listed in a Further Reading index for easy navigation.

5 / 5

Total

18

/

20

Passed

Description

100%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 high-quality description: it states concrete capabilities, an explicit trigger condition tied to the import path, and clear cross-references to adjacent skills. Third-person voice is maintained and it is comprehensive without padding.

DimensionReasoningScore

Specificity

Enumerates concrete viper APIs and behaviors (BindPFlag/BindPFlags, SetEnvPrefix+SetEnvKeyReplacer+AutomaticEnv, ReadInConfig+ConfigFileNotFoundError, Unmarshal+mapstructure, Sub, WatchConfig+OnConfigChange, viper.New()), giving comprehensive coverage of the library's surface rather than vague capability claims.

5 / 5

Completeness

Explicitly answers both 'what' (detailed API enumeration with the layered-precedence framing) and 'when' via the concrete 'Apply when using or adopting spf13/viper, or when the codebase imports...' clause.

5 / 5

Trigger Term Quality

Includes natural user phrases ('using or adopting spf13/viper', 'the codebase imports `github.com/spf13/viper`') alongside the canonical import path, covering synonyms and the exact trigger condition a user would describe.

5 / 5

Distinctiveness Conflict Risk

Pinned to a specific library and import path, and disambiguated from sibling skills (cobra, cli) via cross-references, leaving minimal risk of triggering for the wrong skill.

5 / 5

Total

20

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository
samber/cc-skills-golang
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.