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.

설치로 이동

소스 정보

저장소
fleetdm/fleet
최근 소스 활동
2026년 5월 18일 17:46
감지된 SKILL.md 언어
영어
스타
6,865
포크
1,019

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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.
GitHub에서 보기