CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-structs-interfaces

Golang struct and interface design patterns — composition, embedding, type assertions, type switches, interface segregation, dependency injection via interfaces, struct field tags, and pointer vs value receivers. Use this skill when designing Go types, defining or implementing interfaces, embedding structs or interfaces, writing type assertions or type switches, adding struct field tags for JSON/YAML/DB serialization, or choosing between pointer and value receivers. Also use when the user asks about "accept interfaces, return structs", compile-time interface checks, or composing small interfaces into larger ones.

72

Quality

91%

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, actionable Go type-design reference with executable examples, decision tables, and clean progressive disclosure into two real reference files. Minor conciseness and workflow-sequencing gains remain.

Suggestions

Trim the rationale paragraphs (e.g. the premature-interface and zero-value explanations) to one-line directives to push conciseness toward 5.

Add a short optional 'verify' step after the compile-time interface check and field-tag sections (e.g. run `go vet` / `go build ./...`) to give the design guidance an explicit feedback loop.

A few code snippets use `{ ... }` placeholders; making one or two of them complete and runnable would solidify the actionability score.

DimensionReasoningScore

Conciseness

Directive (MUST/SHOULD) and code-heavy with no basic-concept padding, but several rationale paragraphs (e.g. the premature-interface justification) are slightly more explanatory than a lean reference needs.

4 / 5

Actionability

Executable Go snippets, decision tables (embed vs named field, pointer vs value receivers), a Common Mistakes table with fixes, and concrete `go vet` diagnostics cover the common cases copy-paste ready.

5 / 5

Workflow Clarity

Clear validation hooks exist (compile-time interface check, `go vet ./...` copylocks), but as a design-patterns reference rather than a destructive/batch workflow it has no full sequenced feedback loop.

4 / 5

Progressive Disclosure

SKILL.md is a concise overview with two well-signaled one-level-deep references (type-assertions.md, struct-fields.md, both present), with deeper material such as the tag directive table and noCopy implementation appropriately split out.

5 / 5

Total

18

/

20

Passed

Description

96%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, specific description with explicit what/when guidance and natural trigger phrases. Only minor overlap risk with closely related sibling skills.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — composition, embedding, type assertions, type switches, interface segregation, dependency injection, struct field tags, and pointer vs value receivers — giving comprehensive coverage of the domain.

5 / 5

Completeness

Explicitly answers both what (the enumerated design patterns) and when ('Use this skill when designing Go types...' and 'Also use when the user asks about...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Covers natural user phrases including 'designing Go types', 'embedding structs or interfaces', 'adding struct field tags for JSON/YAML/DB serialization', plus the canonical 'accept interfaces, return structs' and 'compile-time interface checks'.

5 / 5

Distinctiveness Conflict Risk

A clear Go struct/interface niche with distinct triggers, but 'dependency injection via interfaces' overlaps a sibling DI skill, leaving minor conflict risk.

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

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 1 missing

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.