一键导入
update-versions
Check for and update hard-coded tool and chart versions that dependabot does not cover
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Check for and update hard-coded tool and chart versions that dependabot does not cover
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | update-versions |
| description | Check for and update hard-coded tool and chart versions that dependabot does not cover |
| disable-model-invocation | true |
Find hard-coded version pins in the repository that are not managed by dependabot, check whether newer versions are available, and (with user approval) update them consistently across all locations.
Dependabot already manages Go module dependencies (go.mod files), GitHub
Actions versions, Docker base image tags, and npm/UI dependencies. Some tool
versions in hack/tools.mk are read from hack/tools/go.mod at make-time
(via $(shell grep ...)); those are also covered. This skill targets
everything else.
Do NOT touch: **/go.mod, **/go.sum, **/package.json, Docker FROM
lines, or GitHub Actions workflow versions.
Search for version pins using the patterns below. Do NOT assume a fixed list of files or tools -- new pins may be introduced over time.
Search Makefile and hack/**/*.mk for variable assignments whose values are
literal version strings:
<NAME>_VERSION := v1.2.3
<NAME>_CHART_VERSION := 1.2.3
Skip any line whose right-hand side contains $(shell -- those pull from
go.mod and are managed by dependabot.
Search hack/**/*.sh for assignments like:
<name>_version=1.2.3
<name>_chart_version=1.2.3
These are typically duplicates of Makefile variables and must stay in sync.
Search all non-vendored, non-generated files for URLs embedding a version:
github.com/<owner>/<repo>/releases/download/v<version>/
Search Dockerfile* for ARG <NAME>_VERSION=<value> and inline assignments
like <NAME>_VERSION=v<value>. Skip ARG VERSION (the project's own build-
time version) and skip base image tags (FROM ...) which dependabot handles.
Search Makefile, hack/**/*.mk, and hack/**/*.sh for --version flags
used with helm install or helm upgrade. Cross-reference with the chart
version variables found in Patterns A and B to build a complete mapping of
chart name, Helm repo URL, and all files where the version appears.
For each discovered pin, determine the latest stable release. Skip pre-release, alpha, beta, and RC versions.
Map each tool to its GitHub repo by inspecting install functions in
hack/tools.mk -- the download URLs or go install paths reveal the
<owner>/<repo>. Then:
gh api repos/<owner>/<repo>/releases/latest --jq '.tag_name'
For each chart, use the repo URL found near helm install commands:
helm repo add <temp-name> <repo-url> --force-update 2>/dev/null
helm search repo <temp-name>/<chart-name> --versions -o json
Use the newest non-pre-release entry.
Present a table:
| Tool/Chart | Current | Latest | Status | Files |
|------------------|---------|---------|----------|---------------------------------------|
| protoc | v25.3 | v28.1 | outdated | hack/tools.mk |
| argo-cd (chart) | 8.1.4 | 8.2.0 | outdated | Makefile, install.sh, kind.sh, k3d.sh |
| kind | v0.31.0 | v0.31.0 | current | hack/tools.mk |
Flag any major version bumps prominently -- these may require build or configuration changes.
Do not proceed to updates until the user reviews this table and confirms which items to update.
For each version the user approves:
v prefix vs bare number (if current is 8.1.4, new should be 8.2.0,
not v8.2.0)UPPER_SNAKE_CASE in Makefiles, lower_snake_case in shell scripts