dependabot-merge
Review and merge open dependency pull requests from Dependabot, Renovate and similar bots across the goreleaser organization and the caarlos0 user.
Skill by caarlos0
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/caarlos0-dependabot-merge
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dependabot-merge
What's inside
- Skill name
dependabot-merge- Description
- Review and merge open dependency pull requests from Dependabot, Renovate and similar bots across the goreleaser organization and the caarlos0 user. Use for dependency update triage, supply-chain checks on bumps, or bulk dependency merges.
- License
- MIT
- Instructions
- 484 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Dependabot Merge
Merge safe dependency updates. Stop and report the unsafe ones. Never merge a
pull request that you did not check in this run.
Use the `gh-cli` skill for queries, required-check watching, and failure logs.
In a batch, process other ready pull requests instead of waiting on one.
The checks are the same for every dependency bot. Only the discovery query and
the place that holds the update metadata change. See "Which bots".
## Scope
The scope is fixed: the **`goreleaser` organization** and the **`caarlos0`
user**. Do not ask which owners to process. Start the run immediately.
**Never widen the scope on your own.** The user belongs to many organizations
that they do not maintain. Merging there affects other people. Process another
owner only when the user names it in the argument, and process only that owner
in addition to the two above.
## Ledger
Keep a ledger, so that a second run does not check the same pull request again.
Create it once per run with the `sql` tool:
```sql
CREATE TABLE IF NOT EXISTS dependabot_prs (
url TEXT PRIMARY KEY,
repo TEXT, number INTEGER, title TEXT,
bot TEXT, -- dependabot | renovate | pre-commit-ci | ...
state TEXT, -- pending | merged | skipped | blocked | failed
reason TEXT,
checked_at TEXT
);
```
Write a row with `state='pending'` when you find a pull request. Update the row
immediately after each decision. Read the ledger before each step and process
only `pending` rows. Report the terminal rows again at the end, but do not
check them again.
## Which bots
Handle every dependency bot, not only Dependabot. They differ in three ways:
the author login, where the update metadata lives, and the branch prefix.
| Bot | Author login | Metadata lives in | Branch prefix |
| ----------- | ------------------- | ---------------------------- | ------------- |
| Dependabot | `dependabot[bot]` | `updated-dependencies:` block in the commit body | `dependabot/` |
| Renovate | `renovate[bot]` | a table in the **pull request body** | `renovate/` |
| Mend/self-hosted Renovate | a custom account, often `renovate-bot` | same as Renovate | `renovate/` |
| pre-commit.ci | `pre-commit-ci[bot]` | the pull request body; edits `.pre-commit-config.yaml` | `pre-commit-ci-update-config` |
**Renovate has no commit metadata block.** Its versions live in a markdown
table in the pull request body, next to a `<!--renovate-debug:...-->` comment:
```bash
gh pr view NUMBER -R REPO --json body -q .body
```
That table is generated at the same time as the diff, but it is still a
summary. The rule below does not change: **read the diff.**
Two Renovate-only things to watch:
- A pull request that edits `renovate.json`, `.github/renovate.json` or
`.renovate.json` is a **configuration** change, not a dependency bump. It is
outside the manifest/lockfile/workflow allowlist, so it is `blocked` for a
human.
- Renovate can run `postUpgradeTasks` and custom managers, so it can touch
files a version bump does not explain. Treat any such file as a block.
## Collect
`gh search prs` takes only one `--author`, and a second flag silently replaces
the first. Use the search API instead, where a repeated `author:` qualifier
means OR.
**Run one query for each owner.** `org:` covers an organization and `user:`
covers a personal account; they are not interchangeable, and a separate query
keeps the 100-item page limit and any error for each owner separate. These are
the discovery commands for this skill — run them as-is:
```bash
BOTS='is:pr is:open draft:false author:app/dependabot author:app/renovate author:app/pre-commit-ci'
gh api -X GET search/issues -f per_page=100 \
-f q="org:goreleaser $BOTS" \
--jq '.items[] | "\(.user.login)\t\(.html_url)\t\(.title)"'
gh api -X GET search/issues -f per_page=100 \
-f q="user:caarlos0 $BOTS" \
--jq '.items[] | "\(.user.login)\t\(.html_url)\t\(.title)"'
```
Collect both into `urls.txt` for the parallel fetch below:
```bash
for owner in org:goreleaser user:caarlos0; do
gh api -X GET search/issues -f per_page=100 \
-f q="$owner $BOTS" --jq '.items[].html_url'
done > urls.txt
```
Each query returns at most 100 items for each page. Compare the line count
with `total_count` and paginate with `-f page=2` when it is larger.
Keep the `q` value on one line. A newline inside it makes the search API reject
the whole query with `422 Validation Failed`.
Add a self-hosted bot with a plain `author:renovate-bot` (no `app/` prefix,
because it is a normal account).
**Do not trust `is_bot`.** In `gh search prs` output, `dependabot[bot]` reports
`is_bot: false`. Match on the login instead.
Insert the results into the ledger, recording which bot opened each one.From caarlos0/dotfiles, MIT.
More from caarlos0/dotfiles
- 0.794score
apple-developer
caarlos0
Build, debug, and review native macOS, iPadOS, and iOS apps.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
cli-design
caarlos0
Design and review command-line interfaces for usability, automation, safety, accessibility, and long-term compatibility.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
writing-tests
caarlos0
Write deterministic tests that fail for real product defects.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
dashboard
caarlos0
Design and review dashboards that are informative, honest, accessible, and visually polished, independent of any tool.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
gh-cli
caarlos0
Use GitHub CLI efficiently for pull requests, CI checks, workflow runs, logs, and merge status.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
gh-doc-author
caarlos0
Author and revise clear GitHub internal documentation, including design docs, proposals, decision records, runbooks, status updates, and handoffs.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
go-conventions
caarlos0
Carlos Becker's Go implementation and review conventions.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
tui-design
caarlos0
Design terminal user interfaces and interactive CLIs that stay usable, accessible, and scriptable.
SkillAFreshness: A★ 224Claude Code +9 - 0.788score
runtime-process-debugging
caarlos0
Debug cross-platform process, shell, sandbox, pipe, handle, startup, and shutdown behavior.
SkillAFreshness: A★ 224Claude Code +9 - 0.788score
rust-specialist
caarlos0
Rust specialist for implementation, review, refactoring, safety, cross-platform behavior, async/process lifecycles, and measured performance.
SkillAFreshness: A★ 224Claude Code +9 - 0.788score
code-simplifier
caarlos0
Final simplification pass over recently changed code without changing behavior.
SkillAFreshness: A★ 224Claude Code +9 - 0.788score
maintainer-briefing
caarlos0
Generate a prioritized maintainer briefing from current GitHub repository state, including issue/PR dependencies, CI, review blockers, regressions, and drift.
SkillAFreshness: A★ 224Claude Code +9
Signals
- Stars
- 224
- Forks
- 12
- Open issues
- 0
- Last commit (this folder)
- Sep 19, 2026 (1 month ago)
- Last release
- Oct 1, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/caarlos0/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from caarlos0
- 0.794score
apple-developer
caarlos0
Build, debug, and review native macOS, iPadOS, and iOS apps.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
cli-design
caarlos0
Design and review command-line interfaces for usability, automation, safety, accessibility, and long-term compatibility.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
gh-doc-author
caarlos0
Author and revise clear GitHub internal documentation, including design docs, proposals, decision records, runbooks, status updates, and handoffs.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
dashboard
caarlos0
Design and review dashboards that are informative, honest, accessible, and visually polished, independent of any tool.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
gh-cli
caarlos0
Use GitHub CLI efficiently for pull requests, CI checks, workflow runs, logs, and merge status.
SkillAFreshness: A★ 224Claude Code +9 - 0.792score
go-conventions
caarlos0
Carlos Becker's Go implementation and review conventions.
SkillAFreshness: A★ 224Claude Code +9
Cite this page
dependabot-merge skill. Agent Mart. https://agentmart.dev/skills/caarlos0-dependabot-merge (last updated 2026-10-24)