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
89%
Does it follow best practices?
Impact
86%
1.34xAverage score across 3 eval scenarios
Passed
No findings from the security scan
Go naming convention audit and correction
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
No Struct suffix
100%
100%
No Data suffix
100%
100%
No Object suffix
100%
100%
Constants use MixedCaps
100%
100%
Constants named by role
100%
100%
No function stutter
80%
100%
No identifier underscores
100%
100%
Output file named correctly
100%
100%
CHANGES.md present
100%
100%
Package unchanged
100%
100%
Functional options naming in Go package
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
Options struct name
0%
0%
Function type is singular
100%
100%
With* prefix on all option constructors
100%
100%
Default factory function
0%
0%
Constructor named New()
100%
100%
Strategy constants use MixedCaps
100%
100%
Strategy constants type-prefixed
100%
100%
Strategy enum zero sentinel
0%
100%
No anti-stutter in With* names
100%
100%
Receiver abbreviation
100%
100%
Go test naming conventions for table-driven tests
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
These are not visible to scoring or included in the download.
/home/agent/go/pkg/mod/cache/lock
Input field named input
0%
100%
Expected prefix on output fields
0%
66%
Expected prefix on error field
0%
0%
No want/got field prefixes
0%
100%
Subtest names fully lowercase
0%
100%
Acronyms lowercase in subtests
0%
100%
Must prefix on test helpers
100%
100%
TestParse function name
100%
100%
Underscore subcase convention
100%
100%
No ALL_CAPS struct fields
100%
100%
19a0626
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.