Golang Refactoring
samber/cc-skills-golangGolang refactoring — the safe, at-scale process for restructuring existing Go code: a coverage-adaptive safety net, tool-driven behavior-preserving transforms (gopls Rename/Inline/Extract, `gofmt -r`, `eg`, `gopatch`, `go/analysis` fixers), the Fowler catalog mapped to Go, breaking import cycles, moving types across packages, and a human-in-the-loop workflow of small stacked PRs on a refactoring branch. Apply when code is hard to maintain, a function/type has grown too large, a code smell needs fixing, adding a feature is blocked by the current structure, or the user asks to clean up, refactor...
At a glance
git clone --depth 1 https://github.com/samber/cc-skills-golang
cp -r cc-skills-golang/skills/golang-refactoring ~/.claude/skills/golang-refactoring
Setup, runtime and requirements describe samber/cc-skills-golang, the repo this skill ships in.
Also in samber/cc-skills-golang
View the repoGolang benchmarking, profiling, and performance measurement. Use when writing, running, or comparing Go benchmarks, profiling hot paths with...
Golang CLI application development. Use when building, modifying, or reviewing a Go CLI tool — especially for command structure, flag handli...
Golang code style conventions — line length and breaking, variable declarations, control flow clarity, when comments help vs hurt. Use when...
Golang concurrency patterns. Use when writing or reviewing concurrent Go code involving goroutines, channels, select, locks, sync primitives...
Idiomatic context.Context usage in Golang — propagation through API boundaries, cancellation, timeouts and deadlines, request-scoped values,...
CI/CD pipeline configuration using GitHub Actions for Golang projects — testing, linting, SAST, security scanning, code coverage, Dependabot...
Comprehensive guide for Go database access — parameterized queries, struct scanning, NULLable columns, transactions, isolation levels, SELEC...
Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), a...
Comprehensive guide for dependency injection (DI) in Golang. Covers why DI matters (testability, loose coupling, separation of concerns, lif...
Dependency management strategies for Golang projects — go.mod management, installing/upgrading packages, Minimal Version Selection, vulnerab...
Idiomatic Golang design patterns — functional options, constructors, error flow and cascading, resource management and lifecycle, graceful s...
Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example test...