CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-google-wire

Compile-time dependency injection in Golang using google/wire — wire.NewSet, wire.Build, wire.Bind (interface→concrete), wire.Struct, wire.Value, wire.InterfaceValue, wire.FieldsOf, cleanup functions, //go:build wireinject injector files, and generated wire_gen.go. Apply when using or adopting google/wire, when the codebase imports `github.com/google/wire`, or when wiring an application graph at compile time via `wire.Build`. For runtime DI with reflection, see `samber/cc-skills-golang@golang-uber-dig` 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.

A well-structured, highly actionable body with executable Go examples and clean progressive disclosure to three real reference files. Minor conciseness costs from light over-explanation and an undated-context note, and the codegen workflow lacks an explicit failure-recovery loop.

Suggestions

Add a short validate→fix→retry loop to the Codegen Workflow (e.g. 'if `wire ./...` fails, read the missing-provider error, add the provider or binding, then re-run') to lift workflow_clarity to 5.

Move or frame the 'archived in August 2025' note under a clearly labeled status/deprecation note so the time-sensitive date does not count against conciseness.

Trim definitional prose like 'A provider is any Go function — inputs are dependencies, outputs are provided types' since Claude already knows provider semantics; let the code examples carry the intent.

DimensionReasoningScore

Conciseness

Mostly lean and reference-like with dense code examples and tables, but contains some explanatory prose (e.g. 'A provider is any Go function — inputs are dependencies, outputs are provided types') and a specific date note ('archived in August 2025') not placed in a deprecated/old-patterns section, which the guideline flags as a conciseness cost. Not a 5 because of these minor padding/time-sensitive instances.

4 / 5

Actionability

Provides fully executable, copy-paste-ready code (providers, sets, injector with //go:build wireinject, struct/value/fieldsof usage) and concrete commands (`wire ./...`, `wire check ./...`) covering the common cases — matching the score-5 anchor.

5 / 5

Workflow Clarity

The Codegen Workflow section sequences wire/check/commit with a validation checkpoint (`wire check ./...`) and the Common Mistakes table reinforces re-running after changes. Not a 5 because there is no explicit validate→fix→retry feedback loop in the main body for codegen failures, only the fast-check step.

4 / 5

Progressive Disclosure

SKILL.md is a clear overview with well-signaled one-level-deep references to real bundle files ([advanced.md](references/advanced.md), [recipes.md](references/recipes.md), [testing.md](references/testing.md)), all of which exist; content is appropriately split with easy navigation via inline links and a Further Reading section.

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.

A dense, specific description that clearly states capabilities and an explicit 'Apply when' trigger, with strong disambiguation from sibling DI skills. Slightly technical in its trigger phrasing but highly actionable.

DimensionReasoningScore

Specificity

Enumerates many concrete capabilities (wire.NewSet, wire.Build, wire.Bind interface→concrete, wire.Struct, wire.Value, wire.InterfaceValue, wire.FieldsOf, cleanup functions, //go:build wireinject injector files, generated wire_gen.go) — comprehensive coverage matching the score-5 anchor.

5 / 5

Completeness

Explicitly answers what (compile-time DI with the listed wire APIs) and when ('Apply when using or adopting google/wire, when the codebase imports…') with concrete trigger phrases, matching the score-5 anchor.

5 / 5

Trigger Term Quality

Includes natural triggers a user would say ('using or adopting google/wire', 'wiring an application graph at compile time') plus the import path `github.com/google/wire`; slightly jargon-heavy with API names, missing a few plain synonyms. Not a 5 because it leans on technical symbols rather than exhaustive natural phrasing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (compile-time DI via google/wire) and explicitly disambiguates from runtime DI by pointing to the samber/cc-skills-golang@golang-uber-dig skill; minimal conflict risk.

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.

Validation14 / 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.