triage-dependency-bot-prslisted
Install: claude install-skill app-vitals/shipwright
# Triage All Dependency Bot PRs
Scan every repo in `repos/` for open PRs authored by Dependabot or Renovate, triage new ones, and post (or stage) comments for review.
## 1. Load state
Read `state/dependency-bot-reviews.json`. Create `[]` if missing.
## 2. Sync closed and merged PRs
For each entry with `status` of `staged` or `posted`:
```bash
gh pr view {pr} --repo {org}/{repo} --json state -q '.state'
```
- `MERGED` → set `status: "merged"`, `mergedAt: <now>`
- `CLOSED` → set `status: "closed"`
## 3. Discover open dependency-bot PRs
For each directory in `repos/`:
```bash
# Get owner/repo for this directory
git -C repos/{dirname} remote get-url origin
# Parse owner/repo from the URL (strip .git suffix, handle both https and ssh formats)
# List open PRs, once per bot author, then merge results
gh pr list --repo {owner}/{repo} --author "app/dependabot" --state open --json number,title,headRefName
gh pr list --repo {owner}/{repo} --author "app/renovate" --state open --json number,title,headRefName
```
Merge the two author-filtered lists, deduping by repo+PR number (a PR has exactly one author,
so the lists shouldn't overlap, but guard against double-counting regardless) — mirroring the
`check-dependency-bot-triage.ts` precheck script's own merge logic.
For each open PR not already present in state with a non-terminal status (`pending`, `staged`, `posted`):
- Add a new entry: `{ pr, repo, org, title, branch, status: "pending", bot: "dependabot" | "renovate", triaged