CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-samber-do

Dependency injection in Golang using samber/do — service containers, lifecycle management, scopes, health checks, graceful shutdown, and module organization. Apply when using or adopting samber/do, when the codebase imports github.com/samber/do or github.com/samber/do/v2, or when refactoring manual constructor injection into a DI container.

69

Quality

86%

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, actionable skill body with executable examples, useful quick-reference tables, and clean progressive disclosure into real reference files. The main weaknesses are a misleading eager-registration example and minor verbosity in a couple of explanatory passages.

Suggestions

Fix the eager-service example: do.ProvideValue registers a pre-created value, not an eagerly-instantiated service — use the correct eager registration API or relabel the example to avoid conveying wrong behavior.

Tighten the MustInvoke explanation in section 2 and best-practice item 6, which repeat the same recover-safety rationale; consolidate to one concise statement.

Remove or repurpose the redundant 'Type-safe dependency injection toolkit for Go based on Go 1.18+ generics' line, which restates information already implied by the title and frontmatter.

DimensionReasoningScore

Conciseness

Largely lean and code-driven with minimal padding, but a few spots could be trimmed, such as the restated 'Type-safe dependency injection toolkit for Go based on Go 1.18+ generics' line and the lengthy MustInvoke safety paragraph.

4 / 5

Actionability

Provides abundant copy-paste-ready code and a thorough quick-reference table, but the 'eager service' example registers via do.ProvideValue with a comment claiming eager creation, which is inaccurate since ProvideValue is not eager.

4 / 5

Workflow Clarity

Numbered steps (1-5) plus a full application setup give a clear sequence, and the operation is constructive rather than destructive so the missing validation checkpoint is acceptable, though no build/run verification is offered.

4 / 5

Progressive Disclosure

The body is a well-organized overview that links one level deep to real, clearly-signaled references (./references/advanced.md and ./references/testing.md), both of which exist, keeping navigation easy.

5 / 5

Total

17

/

20

Passed

Description

95%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, well-targeted description that names a precise library niche, enumerates concrete capabilities, and provides explicit, multi-signal usage triggers. The only minor weakness is that capabilities are stated as feature areas rather than performable actions.

DimensionReasoningScore

Specificity

Lists several concrete, library-scoped capability areas ('service containers, lifecycle management, scopes, health checks, graceful shutdown, and module organization'), but these are feature names rather than the concrete verb-actions the anchor-5 example uses.

4 / 5

Completeness

Explicitly answers both what (DI in Golang via samber/do with enumerated capabilities) and when ('Apply when using or adopting samber/do ... or when refactoring manual constructor injection into a DI container') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive trigger coverage including the natural phrase 'dependency injection', the library name 'samber/do', the import path 'github.com/samber/do/v2', and the refactoring scenario, giving users multiple natural entry points.

5 / 5

Distinctiveness Conflict Risk

A clear niche (one specific DI library) with distinct triggers keyed on the library name and import path, making conflict with unrelated skills minimal.

5 / 5

Total

19

/

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.

Validation13 / 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

relative_links

Relative link issues: 9 missing

Warning

Total

13

/

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.