
Go Naming
Handles all Go identifier naming: packages, types, functions, variables, constants, receivers. Pulls from Google and Uber style guides. Ships with a script that scans for common anti-patterns like SCREAMING_SNAKE_CASE constants, Get-prefixed getters, and receivers named "this". The flow chart alone is worth having around. It covers the scope-based variable length thing that trips people up (single letter for tiny scopes, descriptive for package-level), the MixedCaps-never-underscores rule, and why widget.NewWidget() is redundant. Honest take: naming is still subjective, but this at least keeps you from the obvious mistakes that make code feel un-Go-like.
- skills.sh installs
- 1.3K
- GitHub stars
- 193
- last updated
- Aug 21, 2026
Install
$ npx -y skills add cxuu/golang-skills --skill go-naming --agent claude-codeInstalls into .claude/skills of the current project.
Files
Go Naming Conventions
Resource Routing
scripts/check-naming.sh- Run when checking SCREAMING_SNAKE_CASE constants, Get-prefixed getters, generic package names, or receivers namedthis/self.references/IDENTIFIERS.md- Read when choosing names for initialisms, exported identifiers, or package-level symbols.references/REPETITION.md- Read when names repeat package, receiver, type, or local context.references/VARIABLES.md- Read when choosing local variable names, receiver names, or loop identifiers.
Core Principle
Names should:
- Not feel repetitive when used
- Take context into consideration
- Not repeat concepts that are already clear
Naming is more art than science—Go names tend to be shorter than in other languages.
Naming Decision Flow
Sponsors
Details
- Repository
- github.com/cxuu/golang-skills
- Categories
- Code Review & Quality, Go
- First seen
- May 16, 2026
More from cxuu/golang-skills
All 20- Go Defensive1.3K
- Go Packages1.3K
- Go Data Structures1.3K
- Go Functional Options1.3K
- Go Control Flow1.3K
- Go Logging1.1K
- Go Functions1.1K
- Go Generics1.1K
- Go Declarations1.1K
- Go Code Review1.8K
- Go Testing1.4K
- Go Error Handling1.3K
- Go Linting1.3K
- Go Concurrency1.3K
- Go Interfaces1.3K
- Go Documentation1.3K
- Go Style Core1.3K
- Go Performance1.3K
- Go Context1.3K