Provides Go patterns for type-first development with custom types, interfaces, functional options, and error handling. Must use when reading or writing Go files.
76
66%
Does it follow best practices?
Impact
91%
1.10xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./data/skills-md/0xbigboss/claude-code/go-best-practices/SKILL.mdQuality
Discovery
67%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 has a clear structure with both a 'what' and 'when' clause, which is good. However, the capabilities listed are more like topic categories than concrete actions, and the trigger is overly broad ('Must use when reading or writing Go files') which could cause conflicts with other Go-related skills. Adding 'golang' as a trigger term and narrowing the scope or listing more specific actions would improve it.
Suggestions
Add common trigger term variations like 'golang', '.go files', 'Go code' to improve discoverability.
Narrow the 'when' clause to be more specific about the type of Go work this applies to (e.g., 'Use when designing Go types, defining interfaces, implementing functional options patterns, or structuring error handling') rather than claiming all Go file interactions.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Go development) and lists some specific concepts (custom types, interfaces, functional options, error handling), but these are more like topic areas than concrete actions. It says 'provides patterns' which is somewhat vague about what it actually does. | 2 / 3 |
Completeness | Clearly answers both what ('Provides Go patterns for type-first development with custom types, interfaces, functional options, and error handling') and when ('Must use when reading or writing Go files'), with an explicit trigger clause. | 3 / 3 |
Trigger Term Quality | Includes 'Go files' and 'Go' as natural keywords, but misses common variations like '.go files', 'golang', 'Go code', 'Go programming'. The specific concepts listed (functional options, type-first development) are more niche terms than what users would naturally say. | 2 / 3 |
Distinctiveness Conflict Risk | The trigger 'reading or writing Go files' is very broad and could conflict with other Go-related skills (e.g., Go testing, Go project setup). The 'Must use' qualifier makes it overly aggressive—it claims all Go file interactions, which increases conflict risk with any other Go skill. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable Go best practices skill with excellent concrete code examples covering key patterns (custom types, functional options, error handling, config). Its main weaknesses are moderate verbosity with some redundant examples and explanatory text Claude doesn't need, and a lack of explicit validation/verification steps in the workflow. The document would benefit from trimming duplicated patterns and either adding verification checkpoints or splitting detailed reference material into linked files.
Suggestions
Remove redundant examples (e.g., exhaustive switch appears in both the Type-First section and Examples section) and trim explanatory phrases after Instructions bullets that state things Claude already knows.
Add explicit verification steps to the workflow, such as 'Run `go vet ./...` and `go test ./...` after implementing to validate correctness' to strengthen the development workflow.
Consider splitting detailed pattern references (functional options, enums, configuration) into separate linked files to keep SKILL.md as a concise overview with progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly comprehensive but includes some redundancy—patterns like exhaustive switch with default error appear twice (once in the Type-First section and again in Examples). Some explanatory sentences after bullet points in Instructions ('This preserves the error chain for debugging', 'Panics crash the program') explain things Claude already knows. The code examples are mostly lean but the overall document could be tightened. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste-ready Go code examples throughout—custom types, functional options, error wrapping, config loading, enums with iota, and more. Every pattern is demonstrated with concrete, compilable code rather than pseudocode or vague descriptions. | 3 / 3 |
Workflow Clarity | The type-first development workflow has a clear 4-step sequence at the top, which is good. However, there are no validation checkpoints or feedback loops—for instance, no mention of running `go vet`, `go build`, or tests as verification steps between stages. The Instructions section is a flat list of rules rather than a sequenced workflow. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and logical sections, but it's a monolithic document (~200 lines) with no references to external files for deeper topics. The configuration section and detailed enum/functional options patterns could be split into separate reference files to keep the main skill leaner. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
e437c3c
Table of Contents
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.