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.

73

Quality

92%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a high-quality skill that provides comprehensive, actionable guidance on Go struct and interface design patterns. Its strengths are excellent code examples showing both good and bad patterns, clear decision tables, and well-organized progressive disclosure with cross-references. The main weakness is moderate verbosity — some explanations of concepts Claude already knows (like what composition means, what DI achieves) and reference tables for standard library interfaces could be trimmed to save tokens.

DimensionReasoningScore

Conciseness

The skill is generally well-written but includes some unnecessary explanations Claude would already know (e.g., explaining what composition vs inheritance means, explaining what dependency injection achieves). The standard library interfaces table and some of the tag directive tables add bulk that Claude already knows. However, most content earns its place with concrete patterns and anti-patterns.

2 / 3

Actionability

Every section includes concrete, executable Go code examples showing both good and bad patterns. The code is copy-paste ready with real types, proper signatures, and practical use cases like the optional Flusher pattern, compile-time interface checks, and struct field tags with multiple serialization formats.

3 / 3

Workflow Clarity

This is a design patterns/conventions skill rather than a multi-step workflow skill. The single-task guidance for each pattern is unambiguous — clear rules (MUST/SHOULD/NEVER), decision tables for when to embed vs use named fields and pointer vs value receivers, and a comprehensive common mistakes table that serves as a validation checklist.

3 / 3

Progressive Disclosure

The skill is well-organized with clear section headers, uses cross-references to related skills (naming, design patterns, DI, code style) at the end, and keeps each section focused. References are one level deep and clearly signaled with arrow notation. Content is appropriately scoped without needing separate files for this level of detail.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is an excellent skill description that thoroughly covers specific Go struct and interface design patterns with rich trigger terms. It clearly separates the 'what' and 'when' with explicit trigger guidance, and its domain is narrow enough to avoid conflicts with other skills. The description uses proper third-person voice and avoids vague language or buzzwords.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and patterns: composition, embedding, type assertions, type switches, interface segregation, dependency injection via interfaces, struct field tags, pointer vs value receivers. These are all concrete, well-defined Go concepts.

3 / 3

Completeness

Clearly answers both 'what' (Golang struct and interface design patterns with a detailed list) and 'when' (explicit 'Use this skill when...' clause with multiple specific trigger scenarios, plus an 'Also use when...' clause for additional triggers).

3 / 3

Trigger Term Quality

Excellent coverage of natural terms a Go developer would use: 'Go types', 'interfaces', 'embedding structs', 'type assertions', 'type switches', 'struct field tags', 'JSON/YAML/DB serialization', 'pointer and value receivers', 'accept interfaces, return structs', 'compile-time interface checks'. These are all terms users would naturally say.

3 / 3

Distinctiveness Conflict Risk

Highly specific to Go struct and interface design patterns, which is a clear niche. The mention of Go-specific concepts like 'embedding', 'value receivers', 'accept interfaces, return structs', and 'compile-time interface checks' makes it very unlikely to conflict with other skills, even other Go-related skills.

3 / 3

Total

12

/

12

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

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.