Update the Go version in go.mod (and related config files) to the latest stable release. Fetches the current latest version from the web, updates all relevant files, runs go mod tidy, and commits.
80
76%
Does it follow best practices?
Impact
87%
1.07xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/dev-workflows/skills/update-go-version/SKILL.mdUpdate all Go module files and CI configuration to the latest stable Go release.
Fetch the current release list from the official Go downloads API:
https://go.dev/dl/?mode=jsonParse the JSON to find the latest stable release — the entry with "stable": true and the highest version number. Extract the version string (e.g. 1.24.1). Also note the minor-only form (e.g. 1.24) for use in go.mod.
Find all Go modules and config files in the repo:
find . -name go.mod -not -path '*/vendor/*'
find . -name '.github' -type d
find . -name '*.yml' -path '*/.github/workflows/*'
find . -name '.nvmrc' # unrelated — skipFiles that typically contain the Go version:
go.mod — go X.Y directive (use minor version, e.g. go 1.24).github/workflows/*.yml — go-version: fields (use full patch version, e.g. 1.24.1)Makefile — GO_VERSION ?= X.Y.Z or similar variablesDockerfile / docker-compose.yml — FROM golang:X.Y.Z.tool-versions (asdf) — golang X.Y.Ztoolchain directive in go.mod — toolchain goX.Y.ZFor each go.mod, read the current go directive. If it is already at the latest version, log that fact for this module and continue to the next module (nothing to do for this one).
For each file identified above, update the Go version string using precise string replacements. Be careful to:
go.mod: update only the go directive line (e.g. go 1.23 → go 1.24). Also update the toolchain directive if present (e.g. toolchain go1.23.5 → toolchain go1.24.1).go-version: value. Match both quoted and unquoted forms.golang: image tag.For each updated go.mod:
cd into the module directory.go mod tidy to update go.sum for the new toolchain.vendor/ directory exists, run go mod vendor.go build ./... to confirm nothing broke.go test ./... — note any failures and whether they are pre-existing.go.mod, go.sum, vendor/ (if present), and any updated config files.chore(go): update Go version to X.Y.Zhttps://go.dev/dl/?mode=json — do not hard-code a version.1.24) in go.mod and the full patch version (1.24.1) everywhere else, unless the existing file already uses a different precision.go.mod to a version lower than the current one.toolchain directive, update both go and toolchain.349d5ed
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.