| name | pr-review |
| version | 3.5 |
| last_updated | 2026-08-08 |
| id | pr-review |
| one_line_purpose | Run human-decides, agent-lands backlog review one card at a time. |
| entry_point | docs/skills/pr-review/SKILL.md |
| category | ci-ops |
| mcp_compliance_level | partial |
| optimization_status | draft |
| status | active |
| dependencies | [] |
| tags | ["review","merge","triage","backlog"] |
| description | Human-decides, agent-lands PR and issue backlog review. Present one card at a time, take the human verdict, execute it immediately, then advance. Use when reviewing the PR queue or triaging the issue backlog. |
| metadata | {"type":"procedure","context7-sources":["/websites/github_en_actions"]} |
Backlog Review — Human Decides, Agent Lands
The agent assembles facts and executes commands. The human makes every
approval, merge, close, and label decision. No exceptions.
When to Use
- Reviewing the open PR queue.
- Triaging the open issue backlog.
- A maintainer asks to "work through the backlog."
When NOT to Use
- Reviewing a single PR you were directly asked about — just review it.
- Any repository outside
projectbluefin/*. Never for ublue-os/*.
- Automated/unattended review. This skill requires a human in the loop by
design; if no human is present, stop rather than substituting your judgment.
Core Process
The loop: dossier → verdict → land.
0 — Sources (queue sweep)
For "let's review PRs" the agent assembles the list from three
sources, in this order:
-
Queue feed (cheap first pass, non-authoritative):
curl --fail --silent --show-error --location --max-time 20 \
https://projectbluefin.github.io/review/queue.json |
jq -r '.items[] | select(.repository == "projectbluefin/<repo>") |
[.recommended_action, .number, .title] | @tsv'
ready-for-human-merge items go first. Verify every fact live — the feed
is a snapshot, not authority. See queue-feed.md.
-
Auto-merge-armed scan — PRs a human already queued with
gh pr merge --auto (or the Hive sweep label):
gh pr list --repo projectbluefin/<repo> \
--json number,title,autoMergeRequest \
--jq '.[] | select(.autoMergeRequest != null) | "\(.number)\t\(.title)"'
gh pr list --repo projectbluefin/<repo> --label lgtm \
--json number,title,mergeStateStatus
Armed/labelled PRs still show up in the review queue: the human verdict is
the only real gate (required approvals are 0 — see
references/merge-queue.md). For the Hive
sweep contract, see hive-automerge.md.
-
Live GitHub state — the dossier fetch below is the authority.
Cadence: stream, don't batch