googleapis/unblock-dep-update
Use this skill when a dependabot dependency update PR fails.
npx skills add https://github.com/googleapis/google-cloud-rust --skill unblock-dep-update
You need to help unblock a dependency update.
The user should give you a PR number.
PR_NUMBER=... # e.g. 6133
The first thing to do is to inspect the build failure.
You can determine the commit SHA with:
COMMIT_SHA=$(gh pr view "$PR_NUMBER" --json commits --jq '.commits[-1].oid')
You can enumerate the failed build IDs with:
FAILED_BUILDS=$(gcloud builds list \
--project=rust-sdk-testing \
--region=us-central1 \
--filter="status='FAILURE'" \
--limit=100 \
--format="json" | jq -r --arg SHA "$COMMIT_SHA" '.[] | select(.substitutions.COMMIT_SHA == $SHA) | .id')
You can look at the last lines of output with:
BUILD_ID=${FAILED_BUILDS[0]} # Typically one build is sufficient.
gcloud builds log "$BUILD_ID" --project=rust-sdk-testing --region=us-central1 | tail -n 200
In the output, identify the specific command that failed, and why. e.g. a
cargo test -p google-cloud-<package>.
gh pr checkout ${PR_NUMBER}
Reproduce the build failure locally. Then iteratively fix the error.
When the command succeeds, report success!
Explain the changes and show the diff to the user.
Determine a good commit message for the changes.
COMMIT_MSG=... # e.g. "update foo to be more like bar"
Determine the upstream branch we checked out.
BRANCH=$(git branch --show-current)
Suggest to the user how to commit the changes and push them upstream. e.g.:
> To commit these changes and push them to the dependabot branch, run:
>
> `
> git commit -m "${COMMIT_MSG}" .
> git push upstream HEAD:${BRANCH}
> `
Take googleapis/unblock-dep-update from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.