CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-naming

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

1.18x
Quality

88%

Does it follow best practices?

Impact

89%

1.18x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

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 — the Quick Reference table, code examples, and Common Mistakes table provide immediately usable guidance. The main weakness is redundancy: several conventions are explained in the Quick Reference, then again in 'Frequently Missed Conventions', and again in 'Common Mistakes', inflating token usage. The progressive disclosure structure is well-designed with clear references to sub-files, though the main file carries more detail than a pure overview should.

Suggestions

Consolidate redundant content: the 'Frequently Missed Conventions' explanations largely duplicate what's in the Quick Reference table and Common Mistakes table — merge these into one authoritative location (likely the reference files) and keep only brief reminders in SKILL.md.

Trim the Common Mistakes table to only the top 8-10 most impactful mistakes rather than 20+, moving the rest to a reference file to reduce the main file's token footprint.

DimensionReasoningScore

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 code examples throughout. The Quick Reference table, inline code examples, and Common Mistakes table with fixes give Claude immediately actionable guidance for any naming decision. No pseudocode — all examples are real Go identifiers and patterns.

3 / 3

Workflow Clarity

This is a convention/reference skill rather than a multi-step process skill. For its purpose, the workflow is clear: consult the quick reference table, apply the conventions, check against common mistakes. The single-task nature (naming decisions) is unambiguous, and the linter enforcement section provides a validation checkpoint.

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 links — good structure. However, no bundle files were provided, so we can't verify these references exist. Additionally, the SKILL.md itself is quite long with substantial inline detail that could arguably be pushed to the reference files, making the overview heavier than ideal.

2 / 3

Total

10

/

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 what the skill does (Go naming conventions across many specific areas), when to use it (with explicit trigger scenarios and natural user phrases), and when NOT to use it. The inclusion of concrete naming examples as trigger terms and the explicit exclusion boundary make it both highly discoverable and unlikely to conflict with other skills.

DimensionReasoningScore

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 an 'Also trigger when...' clause and a 'Do NOT use' exclusion boundary).

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, with explicit exclusion of general Go implementation questions. The specific naming examples and anti-patterns make it very unlikely to conflict with general Go coding skills or other language naming 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.