triage-dependency-bot-prlisted
Install: claude install-skill app-vitals/shipwright
# Triage a Dependency Bot PR
Parse the invocation arguments: first token is the PR number. Optional `--repo owner/repo` specifies the repo — if not provided, detect from current directory.
## 1. Resolve repo
If `--repo` not in arguments:
```bash
gh repo view --json nameWithOwner -q '.nameWithOwner'
```
Set REPO (e.g. `my-org/my-repo`) and REPO_SLUG (replace `/` with `_`, e.g. `my-org_my-repo`).
## 2. Fetch PR context
```bash
gh pr view $PR --repo $REPO --json number,title,body,author,headRefName,headRefOid,baseRefName,files,labels,url
gh api "repos/$REPO/actions/runs?branch=$(gh pr view $PR --repo $REPO --json headRefName -q '.headRefName')&per_page=5" \
--jq '.workflow_runs[] | {name, status, conclusion}' 2>/dev/null || true
```
Extract:
- `title` — e.g. "Bump axios from 1.6.0 to 1.7.0"
- `body` — the bot's description (a single-package changelog snippet for Dependabot, or a
grouped markdown table for Renovate)
- `author.login` — drives which analysis path Step 4 uses
- `headRefName` — branch name
- `headRefOid` — current head commit SHA; embedded in the idempotency marker (Step 4.5) and
the comment footer (Step 5), and recorded as `triagedCommitSha` in state
- `labels` — checked in the Renovate path for a needs-human signal (see Step 4)
- `files` — changed files
- CI check statuses (from Actions API — PATs do not have Checks API access)
## 3. Fetch the diff
```bash
gh pr diff $PR --repo $REPO
```
Look at the actual version bumps — what changed and how many s