Apply Renovate PRs Locally
Collects every open Renovate pull request from a GitHub repo and applies their diffs to your local working tree so the combined dependency upgrade can be built and tested at once.
Dev & CodingIntermediate★ 175⑂ 41AI score 9/10Last updated: Sep 3, 2026
What it does
- Uses the
ghCLI to discover all open Renovate PRs (with a fallback query for self-hosted or user-account Renovate bots; ignores the Dependency Dashboard issue). - Orders PRs to minimise conflicts (patch → minor → major, manifest-only before lockfile-heavy, grouped before single-dependency) and applies each one via
gh pr diff --patch+git apply --3way. - Resolves conflict markers with a "keep the higher version" rule; when a patch refuses to apply, it edits the manifest directly to the target version from the PR title.
- Regenerates lockfiles once at the end using the project's own tooling (
npm install --package-lock-only,pnpm install --lockfile-only,uv lock,go mod tidy, …). - Fixes the spots Renovate misses:
.sdkmanrcmaven/gradle pins and hardcoded image tags in Testcontainers config classes. - Runs the build/tests and produces a report table of applied / manually applied / skipped PRs plus undo instructions.
- Safety: never commits, pushes, merges, cherry-picks, or closes anything — read-only
ghcalls, changes are left uncommitted.
Who it's for
- Maintainers drowning in a backlog of Renovate/Dependabot dependency PRs.
- Teams that want to validate all upgrades together in one build instead of merging them one by one.
- Java/Spring Boot, Maven/Gradle and Testcontainers projects where versions are duplicated across several files.
Examples
- "Apply all open Renovate PRs and run
./mvnw verify" → applies each patch in order and reports the combined build result. - "Only apply the patch-level updates" → filters out minor/major bumps and states the filter used.
- "Apply the Gradle wrapper PR" → updates
gradle-wrapper.properties, pulls the binarygradle-wrapper.jarfrom the PR head, and syncs thegradle=line in.sdkmanrc.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/sivaprasadreddy/sivalabs-agent-skills/HEAD/skills/apply-renovate-prs/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/apply-renovate-prs folder from the GitHub repo sivaprasadreddy/sivalabs-agent-skills into my ~/.claude/skills/apply-renovate-prs/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/sivaprasadreddy/sivalabs-agent-skills.git /tmp/sivalabs-agent-skills && mkdir -p ~/.claude/skills && cp -r /tmp/sivalabs-agent-skills/skills/apply-renovate-prs ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Prerequisites: install the GitHub CLI (
gh) and rungh auth login;gitis also required. - Clone the skills repository:
git clone https://github.com/sivaprasadreddy/sivalabs-agent-skills.git - Copy the skill folder into your Claude skills directory:
mkdir -p ~/.claude/skills cp -r sivalabs-agent-skills/skills/apply-renovate-prs ~/.claude/skills/ - Restart Claude Code and confirm
apply-renovate-prsis listed. Because the skill setsdisable-model-invocation: true, you must invoke it by name. - From your target project directory, ask: "Use the apply-renovate-prs skill to apply all open Renovate PRs."
- Start from a clean working tree (or
git stashfirst) and note your current commit SHA so you can undo withgit checkout -- ..
View source on GitHub ↗License: MIT