What problem does it solve?
Inconsistent Go naming conventions reduce code readability, introduce stutter between package and symbol names, and create technical debt that slows team collaboration and code maintenance.
Core Features & Use Cases
- Comprehensive rule enforcement: Covers 13 symbol-level naming rules (acronym casing, no stutter, short receivers, verb-first functions, etc.) and 8 package-level naming rules (no grab-bag packages, no stutter, correct casing) aligned with Effective Go and Google Go Style Guide.
- Safe two-phase workflow: First generates a full report of all violations, only applies renames after explicit per-batch user approval, defaulting to dry-run to prevent unintended changes.
- Accurate rename execution: Uses gopls as the sole renaming mechanism to respect Go scope, cross-package references, and interface satisfaction, avoiding broken textual replacements that break builds.
- Automatic exclusion of unsafe code: Skips generated files, vendored code, mocks, and external dependencies to avoid modifying code that should not be changed.
- Use case: Go development teams can use this skill to quickly audit large codebases for naming inconsistencies, safely refactor symbol and package names, and enforce team-wide naming standards without risking broken imports or interface mismatches.
Quick Start
Use the golang-naming skill to review all naming conventions in the current Go module and propose safe renames for any violations.