Go (Golang) naming conventions — covers packages, constructors, structs, interfaces, constants, enums, errors, booleans, receivers, getters/setters, functional options, acronyms, test functions, and subtest names. Use this skill when writing new Go code, reviewing or refactoring, choosing between naming alternatives (New vs NewTypeName, isConnected vs connected, ErrNotFound vs NotFoundError, StatusReady vs StatusUnknown at iota 0), debating Go package names (utils/helpers anti-patterns), or asking about Go naming best practices. Also trigger when the user mentions MixedCaps vs snake_case, ALL_CAPS constants, Get-prefix on getters, or error string casing. Do NOT use for general Go implementation questions that don't involve naming decisions.
89
88%
Does it follow best practices?
Impact
90%
1.34xAverage score across 3 eval scenarios
Passed
No known issues
Quality
Discovery
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 what the skill does (Go naming conventions across many specific areas), when to use it (with rich trigger terms and concrete naming dilemma examples), and when NOT to use it. The description is comprehensive yet focused, with natural keywords that developers would actually use when seeking naming guidance. It serves as a near-ideal example of a well-crafted skill description.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists numerous specific concrete areas covered: packages, constructors, structs, interfaces, constants, enums, errors, booleans, receivers, getters/setters, functional options, acronyms, test functions, and subtest names. Also provides concrete naming examples like 'New vs NewTypeName', 'ErrNotFound vs NotFoundError'. | 3 / 3 |
Completeness | Clearly answers both 'what' (Go naming conventions covering a comprehensive list of areas) and 'when' (explicit 'Use this skill when...' clause with multiple trigger scenarios). Also includes a 'Do NOT use' boundary condition, which further strengthens completeness. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Go naming best practices', 'MixedCaps vs snake_case', 'ALL_CAPS constants', 'Get-prefix on getters', 'error string casing', 'utils/helpers anti-patterns', and specific naming alternatives like 'isConnected vs connected'. These are highly natural phrases a developer would use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — narrowly scoped to Go naming conventions specifically, not general Go programming. The explicit 'Do NOT use for general Go implementation questions that don't involve naming decisions' boundary further reduces conflict risk with other Go-related skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, well-structured Go naming conventions skill with excellent actionability — concrete examples, clear good/bad patterns, and specific rules. Its main weakness is redundancy between sections (Quick Reference, Frequently Missed Conventions, and Common Mistakes overlap substantially), which inflates token usage. The progressive disclosure structure is well-designed with references to detailed files, but the main file retains too much detail that could be delegated to those references.
Suggestions
Reduce redundancy by removing entries from the Common Mistakes table that are already covered in detail in 'Frequently Missed Conventions' or the Quick Reference (e.g., ALL_CAPS, stuttering, boolean fields, error strings, enum zero values).
Move the extensive Common Mistakes table to a reference file (e.g., ./references/common-mistakes.md) and keep only the top 5 most critical mistakes inline to improve conciseness.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is generally well-organized and avoids explaining basic Go concepts, but it's quite long with some redundancy — the 'Common Mistakes' table repeats information already covered in earlier sections (e.g., stuttering, ALL_CAPS, boolean fields, error strings). The Quick Reference table and the detailed sections overlap significantly. | 2 / 3 |
Actionability | The skill provides concrete, specific naming patterns with clear good/bad examples throughout. The Quick Reference table, code blocks, and Common Mistakes table all give copy-paste-ready patterns and exact naming conventions that Claude can directly apply when writing or reviewing Go code. | 3 / 3 |
Workflow Clarity | This is primarily a reference/convention skill rather than a multi-step workflow, so the single-task clarity standard applies. The content is clearly sequenced from quick reference → key rules → detailed categories → common mistakes → enforcement, which is logical and unambiguous for a naming conventions guide. | 3 / 3 |
Progressive Disclosure | The skill references five detailed category files under './references/' and cross-references other skills, which is good structure. However, no bundle files were provided, so the referenced files don't actually exist in the bundle. Additionally, the SKILL.md itself is quite long — some of the detailed content (like the extensive Common Mistakes table) could have been pushed to the reference files to keep the overview leaner. | 2 / 3 |
Total | 10 / 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 |
|---|---|---|
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 | |
e9761db
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.