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
89%
1.18xAverage 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, when to use it, and when not to use it. It provides rich, specific trigger terms that match natural developer language, includes concrete naming examples that aid disambiguation, and clearly carves out a distinct niche within the Go ecosystem. The explicit exclusion clause is a particularly strong addition.
| 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, plus a 'Do NOT use' exclusion clause that further clarifies scope). | 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', plus specific naming alternatives users might debate. These are highly natural phrases a developer would use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — narrowly scoped to Go naming conventions specifically, with explicit exclusion of general Go implementation questions. The specific naming examples and the 'Do NOT use' clause make it very unlikely to conflict with a general Go programming skill. | 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 that provides highly actionable guidance with concrete examples and clear good/bad patterns. Its main weakness is redundancy — the Common Mistakes table and Frequently Missed Conventions section substantially overlap with the Quick Reference table and other sections, inflating token usage. The progressive disclosure structure is well-designed with clear references to sub-files, though the main file retains more detail than necessary given those references exist.
Suggestions
Consolidate the 'Common Mistakes' table with the 'Frequently Missed Conventions' section — much of the content is duplicated (stuttering, boolean fields, error strings, enum zero values, MixedCaps), which wastes tokens.
Move the detailed Common Mistakes table to a reference file (e.g., references/common-mistakes.md) and keep only the top 5-6 most critical mistakes inline, since the detailed categories already link to reference files covering these topics.
| 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, MixedCaps, boolean fields, error strings, enum zero values are all explained twice). The 'Frequently Missed Conventions' section also overlaps with the Quick Reference table. Could be tightened by consolidating. | 2 / 3 |
Actionability | The skill provides concrete, specific naming patterns with clear good/bad examples throughout. The Quick Reference table, code blocks with ✓/✗ annotations, and the Common Mistakes table with specific fixes all give Claude immediately actionable guidance for naming decisions. | 3 / 3 |
Workflow Clarity | This is primarily a reference/convention skill rather than a multi-step workflow skill. For its purpose, the structure is clear and unambiguous — the Quick Reference table provides fast lookup, sections are logically ordered from general rules to specific categories, and the Common Mistakes table serves as a validation checklist. No destructive or batch operations are involved. | 3 / 3 |
Progressive Disclosure | The skill references five detailed sub-files (packages-files.md, identifiers.md, functions-methods.md, types-errors.md, testing.md) with clear descriptions and one-level-deep navigation, which is good structure. However, no bundle files were provided, so these references cannot be verified. Additionally, the SKILL.md itself is quite long (~200+ lines) with substantial inline detail that could arguably be pushed to the reference files, particularly the large Common Mistakes table which largely duplicates earlier content. | 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 | |
8c7e016
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.