Skip to main content

who-blocks-this-pr

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.

Zur Installation springen

Quellinformationen

Repository
fleetdm/fleet
Letzte Quellaktivität
18. Mai 2026 um 17:46
Erkannte Sprache von SKILL.md
Englisch
Sterne
6.894
Forks
1.024

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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.
Auf GitHub ansehen