pr-review-panel
Skill2 starsChanged 5 months agoMITView on GitHub
Run a two-model code review panel over a pull request — a Fable subagent and a codex gpt-5.6-sol reviewer at xhigh reasoning — save each verdict to a scratch file, consolidate them into one review, and post it to the PR only after the operator has approved the text. Use when asked to "review this PR", "get a second opinion on the PR", "run the review panel", or to review a branch before merge.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- chrisleekr/skillstheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- chrisleekr/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- automation-hitlistSkill
- build-websiteSkill
- call-external-aiSkill
- create-locked-down-skillSkill
- deploy-websiteSkill
- extract-scriptsSkill
- plan-websiteSkill
- retroSkill
- review-context-hubSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 9 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
If the operator is unavailable, save the consolidation and stop.
- Distinctive: line 31
Read the linked issue and its comments, in date order.
- Distinctive: line 45
Run it backgrounded — xhigh is slow.
- Distinctive: line 51
Check the tests actually pin the behaviour — would they fail if the fix were reverted?
- Distinctive: line 56
Do not restate the diff back.
- Distinctive: line 86
Use the verdict the operator chose, not the one you recommended.
- Distinctive: line 91
Never file follow-on issues from a review.
- Distinctive: line 92
Never edit the PR, its branch, or its description as part of reviewing it.
- Distinctive: line 93
If a reviewer fails or returns nothing, say so — do not silently ship a one-model review as a panel.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PR Review Panel
Two independent reviewers, different models, no shared context. Their outputs are saved, consolidated, shown to the operator, and only then posted.
The panel exists to disagree with itself. Two models that saw the same summary produce the same blind spots, so each reviewer reads the diff itself and neither sees the other's output until consolidation.
Non-negotiable: nothing reaches GitHub without operator approval
Never post, comment on, approve, or request changes on a PR until the operator has read the consolidated review and said to post it. Show them the full text, in the conversation, and wait.
This is a hard gate, not a nicety: a review posted under the operator's account is them speaking to a colleague. Two models agreeing is not evidence — they can be confidently wrong together, and a wrong "request changes" costs someone real time.
If the operator is unavailable, save the consolidation and stop.
1. Gather the PR once
gh pr view <PR> --json number,title,body,headRefName,baseRefName,additions,deletions
gh pr diff <PR> > <scratch>/pr-<PR>.diff
gh pr view <PR> --comments
gh issue view <linked-issue> # scope often lives here, and movesScratch dir: use the session scratchpad if one exists, else /tmp/pr-review-<PR>/. Never write review artefacts into the repo — they are not repo content.
Read the linked issue and its comments, in date order. Scope gets revised in comments without the body being updated; a reviewer working from a stale body reports the wrong things.
2. Run both reviewers in parallel
Both get: the diff path, the PR body, the issue and its comments, and the repo path. Neither gets the other's output.
Reviewer A — Fable subagent. Spawn via the Agent tool with model: "fable".
Reviewer B — codex gpt-5.6-sol at xhigh.
codex exec -m gpt-5.6-sol -c model_reasoning_effort=xhigh "<prompt>" > <scratch>/review-codex.md 2>&1Run it backgrounded — xhigh is slow.
Give both the same brief:
- Judge correctness first: does it do what the ticket asks, and does it break anything else?
- Trace surrounding code, not just changed lines. A diff that reads fine can still be wrong in context.
- Check the tests actually pin the behaviour — would they fail if the fix were reverted? A test that passes either way is a finding.
- Flag anything security-, data-integrity-, or migration-shaped explicitly.
- Cite
file:linefor every finding. A finding without a location is not actionable. - Rank by severity: blocking / high / medium / low.
- Say plainly when something looks right. A review that only lists problems is not a review.
- Do not restate the diff back.
Save each raw verdict: <scratch>/review-fable.md, <scratch>/review-codex.md. Keep them — the operator may want to see who said what.
3. Consolidate
Merge into one review. This is judgement work, not concatenation:
- Both flagged it → lead with it, note the agreement.
- One flagged it → keep it if the code supports it. Check the claim against the file yourself before promoting it.
- They disagree → say so explicitly and give your own read, with the evidence. Do not average two positions into mush.
- Either is wrong → drop it and say you dropped it. Passing on a bogus finding wastes the author's time and costs you credibility on the real ones.
Deduplicate hard: the same defect described twice is one finding.
Output: a short summary line, findings by severity with file:line, what looks good, and a recommendation — approve / comment / request changes.
4. Operator gate
Show the operator the consolidated text and the recommendation. Say which findings each reviewer contributed, and name anything you dropped and why.
Then stop and wait.
5. Post, once told to
gh pr review <PR> --comment --body-file <scratch>/review-final.md
# or --request-changes / --approve, per the operator's instructionUse the verdict the operator chose, not the one you recommended. Report the URL.
Rules
- Never post before the gate, even when both reviewers agree and the finding looks obvious.
- Never file follow-on issues from a review. Findings go in the review; the author decides what becomes a ticket.
- Never edit the PR, its branch, or its description as part of reviewing it.
- If a reviewer fails or returns nothing, say so — do not silently ship a one-model review as a panel.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

