Use when setting up linting for a Go project, configuring golangci-lint, or adding Go checks to a CI/CD pipeline. Also use when starting a new Go project and…
Go Linting
Core Principle
More important than any "blessed" set of linters: lint consistently across a codebase.
Consistent linting helps catch common issues and establishes a high bar for code quality without being unnecessarily prescriptive.
Setup Procedure
Create .golangci.yml using the configuration below
Run golangci-lint run ./...
If errors appear, fix them category by category (formatting first, then vet, then style)
Re-run until clean
related skills
semantically similar in the cross-vendor index
don't have the plugin yet? install it then click "run inline in claude" again.
+clear principle emphasizing consistency over dogmatism, grounded in practical code quality reasoning
+names the specific tool (golangci-lint) and provides concrete config file reference (.golangci.yml)
+categorizes fixes by type (formatting, vet, style) to reduce cognitive load during remediation
weaknesses
~procedure is skeletal: no actual .golangci.yml content provided, no example error output shown, no guidance on which linters to enable or disable for different project types
~missing failure modes: no discussion of ci/cd integration, conflicting team linter preferences, or how to onboard existing codebases with high lint debt
~vague on inputs and decision criteria: when should you skip a linter? how do you handle false positives? what counts as 'clean'?