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.

Ir a la instalación

Datos de origen

Repositorio
fleetdm/fleet
Última actividad en el origen
18 de mayo de 2026 a las 17:46
Idioma detectado de SKILL.md
inglés
Estrellas
6865
Forks
1019

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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.
Ver en GitHub