PR QA review from one link
One pull request URL in, a per-criterion verdict table with evidence paths out. You confirm nothing gets posted.
Video recording in progress
The PR QA review skill is on a branch, not on the skills repo's main branch. This page describes
the flow as built so you know what is coming; there is no install command here yet, because one
that does not resolve is worse than none. V4's recipe-cook is
merged and available today — the review flow is one of its modes.
The flow
-
One URL, matched to your checkout
Exactly one pull request from
metamask-mobileormetamask-extension. A URL for the other client is rejected before any checkout or runtime work — the review runs against a real build, so it has to be the right one. Given no URL, it reads the current branch's pull request. -
Criteria are extracted, then frozen
Supply criteria and they are preserved verbatim, never merged with or overwritten by the pull request body. Supply none and they are extracted from it. Either way they are frozen before any runtime work starts, so the thing being proven cannot drift to match what turned out to be provable.
Missing criteria are a finding, not a gap to fillA pull request with nothing to extract produces a hygiene finding. The skill does not invent criteria to have something to test.
-
Proof runs on a real device
The branch is checked out, the app launched under harness control, and each criterion exercised against the running build. Evidence lands in a bundle you can open — the same structure V2 walks.
-
A verdict table you post yourself
Output is a QA report plus a proposed review reply, per criterion, with evidence paths.
It never posts. The reply comes back for you to read, edit, and submit. A machine-generated review that appears on a colleague's pull request without a human deciding to send it is not review — it is noise with your name on it.
The verdict that matters most is the honest one: a criterion the surface genuinely cannot demonstrate is reported as needing a human, not quietly passed. A gesture-driven interaction with no automatable surface is the standard example — it gets classified, not faked.