Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
50
40%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/golang-patterns/SKILL.mdQuality
Discovery
22%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 description reads more like a tagline than a functional skill description. It lacks concrete actions, explicit trigger conditions, and specific Go concepts that would help Claude distinguish this skill from other Go-related or general coding skills. The heavy reliance on buzzwords like 'robust, efficient, and maintainable' adds no discriminative value.
Suggestions
Add a 'Use when...' clause specifying trigger conditions, e.g., 'Use when the user asks for Go code review, idiomatic refactoring, or help with Go-specific patterns like error handling, interfaces, or concurrency.'
Replace vague terms with concrete actions, e.g., 'Reviews Go code for idiomatic style, suggests proper error handling patterns, applies Go naming conventions, structures packages following standard layout.'
Include natural trigger terms users would say, such as 'Golang', 'Go code', 'goroutines', 'channels', 'error wrapping', 'struct tags', '.go files'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description uses vague, abstract language like 'idiomatic patterns', 'best practices', and 'conventions' without listing any concrete actions. It doesn't specify what the skill actually does (e.g., 'reviews code for idiomatic style', 'refactors functions to use Go conventions', 'generates Go structs with proper tags'). | 1 / 3 |
Completeness | The description partially addresses 'what' (Go patterns and best practices) but in very vague terms, and completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the weak 'what' brings it down to 1. | 1 / 3 |
Trigger Term Quality | It includes 'Go' as a relevant keyword, and terms like 'patterns', 'best practices', and 'conventions' are somewhat natural. However, it misses common user trigger terms like 'Go code review', 'Golang', 'error handling', 'goroutines', 'interfaces', or specific Go constructs users would mention. | 2 / 3 |
Distinctiveness Conflict Risk | While 'Go' narrows the domain to a specific programming language, terms like 'best practices', 'patterns', and 'conventions' are generic enough to overlap with any Go-related skill. It doesn't carve out a clear niche distinct from general Go coding assistance. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides high-quality, actionable Go code examples with good/bad comparisons, but it's far too verbose for a SKILL.md file—most of these patterns are well-known Go idioms that Claude already understands. The content would benefit significantly from being restructured as a brief overview pointing to separate reference files, and trimmed to focus only on project-specific conventions or non-obvious patterns rather than standard Go best practices.
Suggestions
Split the monolithic content into separate files (e.g., ERROR_HANDLING.md, CONCURRENCY.md, INTERFACES.md) and make SKILL.md a concise overview with links to each topic.
Remove patterns Claude already knows well (basic error handling, interface composition, slice preallocation) and focus on project-specific conventions or non-obvious decisions.
Add a development workflow section with sequenced steps and validation checkpoints, e.g., 'When writing new Go code: 1. Create package structure → 2. Write code → 3. Run go vet → 4. Run tests with -race → 5. Run linter'.
Trim explanatory prose like 'Go favors simplicity over cleverness' and 'Errors are values' descriptions—these are well-known Go philosophies that don't need restating.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400 lines) and covers many patterns Claude already knows well as an LLM trained on extensive Go documentation. While the examples are good, much of this is standard Go knowledge (error handling, interfaces, package naming) that doesn't need to be spelled out. The quick reference table and some explanatory text like 'Go favors simplicity over cleverness' are unnecessary padding. | 2 / 3 |
Actionability | Nearly every pattern includes fully executable, copy-paste ready Go code examples with clear good/bad comparisons. The tooling section provides concrete commands, and the linter configuration is a complete, usable YAML file. The code examples are realistic and well-structured. | 3 / 3 |
Workflow Clarity | This is primarily a patterns/conventions reference rather than a multi-step workflow skill, so explicit sequencing is less critical. However, the 'When to Activate' section lists triggers without clear prioritization, and there's no guidance on how to apply these patterns in sequence when writing new code or refactoring. The tooling section lists commands but doesn't sequence them into a development workflow with validation checkpoints. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no references to external files. At ~400 lines covering error handling, concurrency, interfaces, package organization, struct design, performance, tooling, and anti-patterns, much of this content should be split into separate reference files with the SKILL.md serving as a concise overview with links. | 1 / 3 |
Total | 8 / 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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (675 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
79cc4e3
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.