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.
85
86%
Does it follow best practices?
Impact
75%
1.00xAverage score across 3 eval scenarios
Passed
No findings from the security scan
Functional options pattern naming in Go
With* option functions
100%
100%
Singular option function type
100%
100%
Plural options struct
70%
0%
Default factory function
50%
30%
New() constructor
0%
0%
No stutter in constructor
100%
100%
Boolean field is/has prefix
100%
33%
MixedCaps identifiers
100%
100%
Go naming conventions refactor
MAX_RETRIES fixed
100%
100%
DEFAULT_TIMEOUT fixed
100%
100%
PORT_8080 role-named
0%
0%
API_VERSION fixed
100%
100%
No ALL_CAPS constants
100%
100%
Enum zero sentinel
0%
0%
Enum type prefix
0%
0%
ConfigData renamed
100%
100%
LoaderObject renamed
100%
100%
Constructor anti-stutter
100%
100%
Package declaration preserved
100%
100%
Go test naming conventions
input field name
0%
100%
expected field prefix
0%
100%
t.Run names fully lowercase
100%
100%
Acronyms lowercase in t.Run
100%
100%
must-prefix on helper
100%
100%
helper is unexported
100%
100%
Test function name
100%
100%
Underscore for subcases
100%
100%
MixedCaps identifiers
100%
100%
No type in variable names
100%
100%
4158351
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.