What problem does it solve? Go codebases often accumulate inconsistent or non-idiomatic names — stuttering constructors like NewClient, ALL_CAPS constants, Get-prefixed getters, or generic util packages — that hurt readability and violate community conventions. This Skill provides the complete set of Go naming rules so new code, reviews, and refactors follow idiomatic MixedCaps conventions consistently. ## Core Features & Use Cases - Comprehensive naming rules: Covers packages, files, constructors, structs, interfaces, constants, enums, errors, booleans, receivers, getters/setters, functional options, acronyms, and test names with correct and incorrect examples. - Frequently missed conventions: Highlights subtle rules like New() vs NewTypeName(), is/has prefixes on boolean fields, fully lowercase error strings including acronyms, and zero-value Unknown sentinels for iota enums. - Common mistakes table: Maps over 20 anti-patterns (snake_case, type-in-name variables, import alias abuse, inconsistent concept names) to their idiomatic fixes. - Use Case: When writing a new Go package like dbpool, use this Skill to name the constructor New() instead of NewPool(), define StatusUnknown at iota 0, and write sentinel errors as "dbpool: pool exhausted". ## Quick Start Ask the agent to review the naming in your Go file or generate a new package following Go naming conventions.