mckinsey/agents-at-scale-ark

ark-dependabot-management

Consolidate open Dependabot PRs into a single integration branch. Use when the user asks to "consolidate dependabot", "merge dependabot PRs", "batch dependency updates", or mentions dependabot PR management.

First seen Jun 12, 2026

Installation

$ npx skills add mckinsey/agents-at-scale-ark --skill ark-dependabot-management

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from mckinsey/agents-at-scale-ark · top by installs.

npx skills add mckinsey/agents-at-scale-ark

Browse all from mckinsey/agents-at-scale-ark

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 419
License LICENSE
Default branch main
Open issues 343
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,976 B
  • docs SUMMARY.md 240 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Ark Dependabot Management

Consolidate open Dependabot PRs into a single integration branch for unified review and merge.

Strategy

All open Dependabot PRs get merged into a single integration/dependabot branch which has one PR into main. This avoids CI churn from merging individual dependency bumps.

Pre-flight: Check for stale config

Before consolidating, verify all directories in .github/dependabot.yaml still exist:

yq '.updates[].directory // .updates[].directories[]' .github/dependabot.yaml | while read dir; do
  [ ! -d "$dir" ] && echo "STALE: $dir"
done

Remove stale entries before proceeding — they cause Dependabot workflow errors.

Consolidate Pull Requests

Preferred approach: Git merge

The fastest method is to merge each dependabot branch directly into a fix branch:

git checkout -b fix/build-consolidation origin/main

# For each dependabot PR branch:
git fetch origin <dependabot-branch>
git merge --no-edit origin/<dependabot-branch>

This is simpler than the GitHub API approach below, avoids needing --admin permissions, and lets you test all updates together locally before pushing.

Alternative approach: GitHub API

Use the API method when you need to keep individual PRs open for tracking, or when merging into the integration/dependabot branch.

Step 1: List open Dependabot PRs

gh pr list --repo mckinsey/agents-at-scale-ark --state open --author "app/dependabot" \
  --json number,title,headRefName --jq '.[] | "\(.number)\t\(.title)"'

Step 2: Check for existing integration branch and PR

EXISTING_PR=$(gh pr list --repo mckinsey/agents-at-scale-ark --state open \
  --head integration/dependabot --json number --jq '.[0].number // empty')

if [ -n "$EXISTING_PR" ]; then
  echo "Existing open PR: #${EXISTING_PR}"
fi

If no open PR exists, check if the branch exists and if there's a merged PR to reopen from:

BRANCH_EXISTS=$(gh api repos/mckinsey/agents-at-scale-ark/git/ref/heads/integration/dependabot \
  --jq '.object.sha' 2>/dev/null || echo "")

MERGED_PR=$(gh pr list --repo mckinsey/agents-at-scale-ark --state merged \
  --head integration/dependabot --json number --jq '.[0].number // empty')

Step 3: Create or reset the integration branch

If no branch exists — create from main:

gh api repos/mckinsey/agents-at-scale-ark/git/refs \
  -f ref="refs/heads/integration/dependabot" \
  -f sha="$(gh api repos/mckinsey/agents-at-scale-ark/git/ref/heads/main --jq '.object.sha')"

If branch exists but PR was already merged — reset to current main:

gh api repos/mckinsey/agents-at-scale-ark/git/refs/heads/integration/dependabot \
  --method PATCH \
  -f sha="$(gh api repos/mckinsey/agents-at-scale-ark/git/ref/heads/main --jq '.object.sha')" \
  -F force=true

Step 4: Retarget and merge each Dependabot PR

For each open Dependabot PR:

gh api repos/mckinsey/agents-at-scale-ark/pulls/<NUMBER> \
  --method PATCH -f base="integration/dependabot"

Then squash merge:

gh pr merge <NUMBER> --repo mckinsey/agents-at-scale-ark --squash --admin

Conflict handling: If a PR has merge conflicts, rebase it onto integration/dependabot first, accepting the dependabot changes.

Workflow files: PRs modifying .github/workflows/ require a token with workflow scope — flag these for manual merge in the GitHub UI.

Step 5: Create or reopen the consolidated PR

If no existing open PR:

gh pr create --repo mckinsey/agents-at-scale-ark \
  --head integration/dependabot --base main \
  --title "chore(deps): consolidated dependabot updates" \
  --body "$(cat <<'EOF'
## Summary
- Consolidated dependabot dependency updates into a single PR

### Included PRs
| PR | Title |
|----|-------|
| #N | title |

EOF
)"

If a merged PR exists and the branch has new changes, create a new PR (GitHub won't reopen a merged PR):

gh pr create --repo mckinsey/agents-at-scale-ark \
  --head integration/dependabot --base main \
  --title "chore(deps): consolidated dependabot updates" \
  --body "$(cat <<'EOF'
## Summary
- Consolidated dependabot dependency updates into a single PR
- Continues from previously merged consolidation

### Included PRs
| PR | Title |
|----|-------|
| #N | title |

EOF
)"

Maintenance

Periodically check for stale Dependabot PRs that failed to merge:

gh pr list --repo mckinsey/agents-at-scale-ark --state open --author "app/dependabot" \
  --json number,title,updatedAt --jq '.[] | select(.updatedAt < "THRESHOLD_DATE") | "\(.number)\t\(.title)"'

Close PRs that are superseded by newer versions of the same dependency.