CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

91

1.34x
Quality

93%

Does it follow best practices?

Impact

86%

1.34x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured reference skill: overview table, core rules with counter-examples, and cleanly split one-level-deep reference files that all exist. Its only real weakness is redundancy — three overlapping lookup structures (Quick Reference, Frequently Missed, Common Mistakes) restate many of the same ~26 conventions — which costs tokens without adding new information.

DimensionReasoningScore

Conciseness

The body is dense and table-driven ('Quick Reference' with 24 convention rows, tight ✓/✗ code blocks), and rationale lines like 'This is load-bearing, not cosmetic' are brief and earned. However, the same conventions appear three times across the Quick Reference, 'Frequently Missed Conventions', and the 26-row Common Mistakes table (e.g. New/NewTypeName, isConnected, lowercase error strings each recur), so it sits at 'efficient with minor over-explanation that could be trimmed' rather than perfectly lean.

4 / 5

Actionability

Every rule is paired with exact, copy-ready identifiers: 'MaxPacketSize', 'parseHTTPResponse', 'mrand "math/rand"', mistake→fix pairs like '`GetName()` getter → Go omits `Get`', and concrete tooling handoffs ('revive, predeclared, misspell, errname', gopls rename). This fully matches the anchor 'fully executable; specific examples cover the common cases' for a convention-reference skill.

5 / 5

Workflow Clarity

As a lookup/reference skill the single action is unambiguous (check the table, apply the rule), and the risky batch operation it implies — renaming identifiers — is delegated with validation checkpoints ('refuses a rename that would break interface satisfaction', linter enforcement). It is not a 5 because the apply-fix path is delegated rather than sequenced in-skill, and there is no explicit validate-then-proceed loop inside this skill.

4 / 5

Progressive Disclosure

Clear overview (Quick Reference + core rules) with five well-signaled, one-level-deep references under 'Detailed Categories', each annotated with its topic ('Getter/setter patterns (Go omits `Get`...)', 'Interface naming (`Reader`, `Closer` suffix with `-er`)'). All five referenced files exist in ./references/ with no deeper nesting — an exact match to the anchor example structure.

5 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it states what the skill covers with concrete identifier-level examples, gives explicit positive and negative trigger clauses, includes natural user phrasings and synonyms, and stays in third person with no fluff. Nothing material is missing.

DimensionReasoningScore

Specificity

It enumerates the full concrete scope — 'packages, constructors, structs, interfaces, constants, enums, errors, booleans, receivers, getters/setters, functional options, acronyms, test functions, and subtest names' — and grounds the choices in exact identifiers ('New vs NewTypeName, isConnected vs connected, ErrNotFound vs NotFoundError'). This is comprehensive, concrete coverage, not vague claims.

5 / 5

Completeness

Both questions are answered explicitly: what ('Go naming conventions — covers packages, constructors...') and when ('Use this skill when writing new Go code, reviewing or refactoring... Also trigger when the user mentions MixedCaps vs snake_case'), with concrete trigger phrases throughout — a direct match to the score-5 exemplar pattern.

5 / 5

Trigger Term Quality

Excellent natural-term coverage with synonyms: 'Go (Golang)', 'writing new Go code, reviewing or refactoring', 'naming best practices', 'utils/helpers anti-patterns', plus the exact phrases a user would utter in a debate — 'MixedCaps vs snake_case, ALL_CAPS constants, Get-prefix on getters'. Matches the 'comprehensive coverage of natural terms including synonyms' anchor.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (naming decisions only) and closes the biggest overlap risk with an explicit negative trigger: 'Do NOT use for general Go implementation questions that don't involve naming decisions.' That boundary clause keeps it from firing on general Go coding, refactor-execution, or lint-config requests.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

samber/cc-skills-golang

Path

skills/golang-naming/SKILL.md

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.