← ClaudeAtlas

golang-modernizelisted

Modernize Go code for a chosen compatibility target using supported language, standard-library, module, test, and tooling features. Use for Go version upgrades, deprecation cleanup, old-idiom replacement, or a scoped modernization review.
reagin/agent-skills · ★ 0 · Code & Development · score 63
Install: claude install-skill reagin/agent-skills
# Go Modernization Modernize toward the project's intended compatibility target, not automatically toward the newest syntax. Preserve behavior unless the user explicitly includes a behavioral change. ## Establish the Target Before proposing changes: 1. Read `go.mod`, any `go.work`, CI configuration, release files, and supported-platform documentation. 2. Distinguish the module's `go` directive from the locally selected toolchain. Do not assume either one expresses the user's desired support policy. 3. If changing the supported Go version is in scope, confirm the target and compatibility consequences. Otherwise, stay within the existing directive. 4. Read the official release notes for every version crossed by the upgrade. Use [references/versions.md](references/versions.md) to evaluate candidates without relying on a stale feature catalog. 5. Inspect nearby conventions and existing migration decisions before introducing a new idiom. If the target version or downstream compatibility requirement is materially ambiguous, report the ambiguity before editing version-sensitive code. ## Choose Changes by Evidence Prioritize candidates in this order: 1. Removed, deprecated, or behavior-changing APIs that affect correctness or supportability. 2. Security and resource-safety improvements supported by the target version. 3. Standard-library replacements that remove a dependency or a meaningful amount of custom code. 4. Language and testing features that materially simplify the i