Safely updates Go module dependencies one-by-one with automated validation.
Install
mkdir -p .claude/skills/bump-go-dependencies && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3032" && unzip -o skill.zip -d .claude/skills/bump-go-dependencies && rm skill.zipInstalls to .claude/skills/bump-go-dependencies
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Update direct Go module dependencies one by one, validating each bump with tests and linter, committing individually, and producing a summary table for a PR descriptionKey capabilities
- →List outdated direct Go dependencies
- →Upgrade dependencies individually
- →Validate bumps with linting and tests
- →Generate Markdown summary tables
How it works
It iterates through outdated direct dependencies, applying updates one by one, verifying each with linting and tests, and committing successful changes individually.
Inputs & outputs
When to use bump-go-dependencies
- →Update all direct Go dependencies to latest versions
- →Validate dependency bumps with automated tests
- →Generate a dependency update summary for pull requests
About this skill
Bump Direct Go Dependencies
When asked to update or bump Go dependencies, follow this procedure.
1. List Outdated Direct Dependencies
Run the following to get a list of direct dependencies that have newer versions available:
go list -m -u -json all 2>/dev/null | jq -r 'select(.Indirect != true and .Update != null) | "\(.Path) \(.Version) \(.Update.Path) \(.Update.Version)"'
This produces lines of the form:
module/path current_version update_path new_version
If the command produces no output, all direct dependencies are already up to date. Inform the user and stop.
2. Update Each Dependency One by One
For each outdated dependency, perform the following steps in order:
a. Upgrade
go get <module_path>@<new_version>
b. Tidy
go mod tidy
c. Validate
Run the linter and the tests:
task lint
task test
d. Decide
-
If both pass: stage and commit the changes:
git add -A git commit -m "bump <module_path> from <old_version> to <new_version>" -m "" -m "Assisted-By: docker-agent"Record the dependency as bumped in your tracking table.
-
If either fails: revert all changes and move on:
git checkout -- .Record the dependency as skipped in your tracking table, noting the reason (lint failure, test failure, or both).
3. Produce a Summary Table
After processing every dependency, output a copy-pastable Markdown table inside a fenced code block. The table must list every dependency that was considered, with columns for the module path, old version, new version, and status. Don't use emojis, just plain markdown.
Example:
```markdown
| Module | From | To | Status |
|--------|------|----|--------|
| github.com/example/foo | v1.2.0 | v1.3.0 | bumped |
| github.com/example/bar | v0.4.1 | v0.5.0 | skipped — test failure |
| golang.org/x/text | v0.21.0 | v0.22.0 | bumped |
```
This table is meant to be pasted directly into a pull-request description.
When not to use it
- →When dependencies are already up to date
Prerequisites
Limitations
- →Requires manual intervention if tests or linting fail
How it compares
It automates the granular validation and reporting of dependency updates, ensuring each change is tested before being committed.
Compared to similar skills
bump-go-dependencies side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bump-go-dependencies (this skill) | 1 | 3mo | Review | Intermediate |
| upgrade-deps | 0 | 2mo | No flags | Advanced |
| release-sidecar | 1 | 6mo | Review | Advanced |
| github-actions-templates | 7 | 3mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by docker
View all by docker →You might also like
upgrade-deps
obot-platform
Upgrade dependencies and runtimes safely, run CI, and report higher-risk options.
release-sidecar
marcus
Release new versions of sidecar. Covers version tagging with semver, td dependency updates, go.mod validation, CHANGELOG updates, GoReleaser automation, Homebrew tap updates, and verification steps. Use when preparing or executing a release.
github-actions-templates
wshobson
Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications. Use when setting up CI/CD with GitHub Actions, automating development workflows, or creating reusable workflow templates.
toolhive-release
stacklok
Creates ToolHive release PRs by analyzing commits since the last release, categorizing changes, recommending semantic version bump type (major/minor/patch), and triggering the release workflow. Use when cutting a release, preparing a new version, checking what changed since last release, or when the user mentions "release", "version bump", or "cut a release".
golang-cli
VIethoangnguyenle
Golang CLI application development. Use when building, modifying, or reviewing a Go CLI tool — especially for command structure, flag handling, configuration layering, version embedding, exit codes, I/O patterns, signal handling, shell completion, argument validation, and CLI unit testing. Also trig
ci-cd-config-sync
mrcoffeex
Detect codebase changes and suggest GitHub Actions CI/CD config updates. Use when: adding dependencies (composer/npm), creating new Laravel features, changing environment variables, modifying Docker Compose, or adding tests. Analyzes changes and proposes workflow updates to keep CI/CD in sync with y