CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-uber-dig

Implements dependency injection in Golang using uber-go/dig — reflection-based container, Provide/Invoke, dig.In/dig.Out parameter and result objects, named values, value groups, optional dependencies, scopes, and Decorate. Apply when using or adopting uber-go/dig, when the codebase imports `go.uber.org/dig`, or when wiring an application graph at startup. For higher-level lifecycle and modules, see `samber/cc-skills-golang@golang-uber-fx` skill.

72

Quality

89%

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.

The content is an efficient, highly actionable reference: executable Go examples for every primitive, a useful dig-vs-fx decision table, explicit validation guidance, and well-structured offloading of advanced/recipes/testing topics to real referenced files. Slight tightening of prose would push conciseness to a 5.

DimensionReasoningScore

Conciseness

The body is lean and dig-specific, assuming Go competence (e.g. tight Provide/Invoke snippets, the dig-vs-fx comparison table, numbered Best Practices), with only minor prose that could be trimmed; it sits just above the score-3 'mostly efficient' anchor but not at the fully lean score-5 anchor.

4 / 5

Actionability

Provides copy-paste-ready, executable Go throughout — dig.New(), Provide/Invoke, dig.In with optional/name/group tags, dig.Out, dig.Name, dig.As, value groups with flatten, and a full main() example — covering the common wiring cases, matching the fully-executable score-5 anchor.

5 / 5

Workflow Clarity

The Full Application Example and Best Practices give a clear create→provide→invoke sequence with an explicit validation checkpoint ('Validate the graph eagerly in tests ... DryRun(true)'), but the skill is reference-shaped rather than a single guarded multi-step process, so it lands at 'clear sequence with most checkpoints' rather than the score-5 feedback-loop anchor.

4 / 5

Progressive Disclosure

The body is an overview that pushes depth to one-level-deep, real bundle files (references/advanced.md, recipes.md, testing.md), each clearly signaled via inline links, a Further Reading list, and a Cross-References section, giving easy navigation that matches the score-5 anchor.

5 / 5

Total

18

/

20

Passed

Description

92%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.

The description is specific, complete, and distinctive: it names the library and its concrete primitives, gives explicit 'Apply when' triggers, and carves out a clear niche from the related fx skill. Minor improvement possible by adding common synonyms like 'DI' or 'Go DI container'.

DimensionReasoningScore

Specificity

Lists numerous concrete capabilities — 'reflection-based container, Provide/Invoke, dig.In/dig.Out parameter and result objects, named values, value groups, optional dependencies, scopes, and Decorate' — giving comprehensive coverage of the library's surface, matching the score-5 anchor for multiple specific concrete actions.

5 / 5

Completeness

Explicitly answers 'what' (Implements dependency injection in Golang using uber-go/dig with the listed primitives) and 'when' ('Apply when using or adopting uber-go/dig, when the codebase imports go.uber.org/dig, or when wiring an application graph at startup'), matching the score-5 anchor for both concrete what and when.

5 / 5

Trigger Term Quality

Includes natural developer phrases ('dependency injection in Golang', 'uber-go/dig', 'wiring an application graph at startup', 'go.uber.org/dig' import path), but misses some common synonyms/variants like 'DI', 'Go DI container', or '.go', so it falls just below the comprehensive score-5 anchor.

4 / 5

Distinctiveness Conflict Risk

The niche is sharply defined by the library import path `go.uber.org/dig` and 'wiring an application graph at startup', and it explicitly disambiguates from the sibling fx skill, leaving minimal conflict risk with other DI skills.

5 / 5

Total

19

/

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.