who-blocks-this-pr

star 6.5k

Analyze a PR to determine which files still need approval and from whom, based on CODEOWNERS and website/config/custom.js. Use when the user asks "who needs to approve", "why is the PR blocked", "who blocks this PR", or similar.

fleetdm By fleetdm schedule Updated 5/18/2026

name: who-blocks-this-pr description: Analyze a PR to determine which files still need approval and from whom, based on CODEOWNERS and website/config/custom.js. Use when the user asks "who needs to approve", "why is the PR blocked", "who blocks this PR", or similar.

PR Approvals

Quickly determine which reviewers are still needed for a PR and which files they own.

Step 1: Get the blocking info from GitHub

Run these in parallel:

  • gh pr view <number> --json mergeStateStatus,mergeable,reviewDecision to check if it's actually blocked
  • gh api repos/<owner>/<repo>/pulls/<number> --jq '.requested_reviewers[].login' to get who GitHub is still waiting on
  • gh pr view <number> --json reviews --jq '.reviews[] | select(.state == "APPROVED") | .author.login' to see who already approved
  • gh pr view <number> --json files --jq '.files[].path' to get changed files

If the PR is not blocked, just report that and stop.

Step 2: Map requested reviewers to files

IMPORTANT: Distinguish between blocking and non-blocking reviewers.

  • CODEOWNERS (repo root) creates required/blocking reviews. GitHub's branch protection enforces these. Last matching pattern wins.
  • website/config/custom.js githubRepoDRIByPath and githubRepoMaintainersByPath auto-request reviewers but do NOT block merges. These are courtesy requests.

For each still-requested reviewer, check whether they are required by a CODEOWNERS pattern that matches a changed file. If they only appear in custom.js, they are requested but not blocking.

Step 3: Report concisely

Output two sections:

Blocking (CODEOWNERS-required):

  • Who is still needed, and which files/patterns require their approval

Requested but not blocking (custom.js DRI):

  • Who was auto-requested, and for which files -- note these don't block the merge

Also note who has already approved and what they covered.

Do NOT give a full breakdown of every file's ownership. Only show what's relevant to the still-requested reviewers.

Install via CLI
npx skills add https://github.com/fleetdm/fleet --skill who-blocks-this-pr
Repository Details
star Stars 6,489
call_split Forks 914
navigation Branch main
article Path SKILL.md
More from Creator