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
آخر نشاط في المصدر
١٨ مايو ٢٠٢٦ في ١٧:٤٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٬٨٦٥
التفرعات
١٬٠١٩

خيارات التثبيت

يُحدَّد 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