agentleFS
lucastosettolucastosetto/dev-skills/skills/pr-review/SKILL.md

pr-review

Skill0 starsChanged 26 days agoMITView on GitHub

Review someone else's pull/merge request (GitHub, Bitbucket, GitLab) for what matters only: bugs, bad edge-case handling, security, performance regressions, missing tests for risky paths. Checks the linked ticket's requirements. re-review mode checks a follow-up round: were the requested changes addressed. Drafts comments; posts only what the user approves. Use on "review PR <n>", "/pr-review <url>", "re-review", "check if they addressed my comments".

195 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use oss-pr, pr-automation and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CES-LtdSkill

    oss-pr

    Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.

    Also in 3 projects that use this

  • CES-LtdSkill

    pr-automation

    PR Automation Orchestrator: poll open PRs, check CI, run review, fix, and merge eligible PRs. Use when: (1) Invoked by daemon via scripts/pr-automation.sh, (2) User says "/pr-automation".

    Also in 3 projects that use this

  • jtenniswoodSkill

    expert-reset

    Reimagine this repository from first principles using the current product and user experience as the target. Use when the user says "/expert-reset", asks how the project should be rebuilt if starting again, wants bold architecture or component-structure recommendations, or wants a research-only reset plan unconstrained by current implementation details.

    Also in 3 projects that use this

  • jtenniswoodSkill

    updates

    Summarize user-facing project updates from the last 7 days, ordered by importance and written as one-sentence "Feature: description" entries. Use when the user says "/updates", asks what changed recently, or wants a concise list of recent features, device support, fixes that users will notice, or other product value.

    Also in 3 projects that use this

  • openchamberSkill

    clack-cli-patterns

    Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, `--quiet`, or `--json` behavior.

    Also in 3 projects that use this

  • openchamberSkill

    drag-to-reorder

    Use when implementing or modifying OpenChamber sortable or drag-to-reorder behavior, especially `@dnd-kit`, touch/mobile interactions, variable-width items, or wrapping layouts.

    Also in 3 projects that use this

  • +6 more from openchamber

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 179 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Follow ../../shared/policy.md.

    line 14
  2. Distinctive:

    Do a full pass again only if the new changes are large (rewrote the approach, many new files) or touch a critical path.

    line 31
  3. Distinctive:

    No scenario, no finding.

    line 38
  4. Distinctive:

    Test the PR description's stated assumptions against the code.

    line 39
  5. Distinctive:

    Check acceptance criteria from the ticket: any not implemented or implemented differently?

    line 40
  6. Distinctive:

    Do not report: style, naming, refactors, polish, test nits, speculative micro-optimizations, things the author called out as deliberate …

    line 50
  7. Distinctive:

    No findings: one line saying so.

    line 61
  8. Very specific:

    When the verdict is approve and you are confident: no findings, requirements met, every risky path traced and tested, nothing you could not …

    line 64
  9. Distinctive:

    If you recommend approval but something is tricky (a risky area, an assumption you could not verify, a judgment call, a behavior change …

    line 70

“Common” is measured: kept by at least 6 in 10 of the 179 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

PR review

Follow ../../shared/policy.md. Run dev-skills:project-profile first. Host commands: ../../shared/references/pr-hosts.md.

1. Fetch

  • PR metadata, diff, target branch (may be a stacked branch, not the default branch).
  • git fetch origin <head> <base>; read full files with git show "origin/<head>:<path>" (quote the ref). Never review from the diff alone.
  • Project rules: repo CLAUDE.md, CONTRIBUTING, .claude/rules/, and the profile's ### pr-review notes.
  • Requirements: find ticket keys in the title, branch, description and commits. If found, run dev-skills:gather-context on the ticket; if none, review against the PR description alone.

2. Mode

  • review (default): full pass, steps 3-4.
  • re-review (or the user already reviewed this PR): fetch your earlier review threads and the commits pushed after your last review. No new commits and no new replies on your threads: say No new commits or replies since your review on <date>. and stop. For each of your threads: addressed / partly / not addressed / answered with a reason (judge whether the reason holds). Then review only the new diff. Do a full pass again only if the new changes are large (rewrote the approach, many new files) or touch a critical path; say which you did.

3. Verify, don't guess

  • Trace every changed function's callers and the data flowing in: filters already applied upstream, callbacks/validations that normalize values, other paths that bypass the change.
  • A finding needs a concrete failure scenario: inputs/state → wrong result, crash, or slowdown. No scenario, no finding.
  • Test the PR description's stated assumptions against the code.
  • Check acceptance criteria from the ticket: any not implemented or implemented differently?

4. Filter hard

Report only:

  • Correctness bugs, data loss/corruption, race conditions, broken edge cases.
  • Security/authz holes (tenant scoping, IDOR, injection, secrets).
  • Requirements not met, or features that silently don't work in a reachable case.
  • Performance regressions on real paths (N+1, unbounded loads, missing index for a new query, extra calls per request/loop, quadratic work on growing data), with likely scale and a cheaper alternative.
  • Missing tests for a risky path the PR changes. Do not report: style, naming, refactors, polish, test nits, speculative micro-optimizations, things the author called out as deliberate limits, or a "checked and fine" list.

Output

PR <link> — <title> → <target> · Requirements: <ticket link | PR description only>
Re-review: <thread — addressed/partly/not addressed/answered> (re-review only)
Findings:
1. `file:line` — <claim>. Scenario: <...>. Fix: <...>. Test: <missing test, if relevant>
Verdict: approve | approve with nits skipped | request changes

No findings: one line saying so.

Approve without asking

When the verdict is approve and you are confident: no findings, requirements met, every risky path traced and tested, nothing you could not verify. Submit the approval yourself with no confirmation (this is the user's standing permission, so it overrides the confirmation rules in the policy for approvals only) and reply with one line: Approved <PR link>. No report, no draft comments. A failed submit: say so and stop, no retry with another tool.

If you recommend approval but something is tricky (a risky area, an assumption you could not verify, a judgment call, a behavior change worth a human look): do not approve. Reply with the verdict and only the points to check, then ask whether to approve.

Other verdicts

Then the confirmation list: one draft inline comment per finding, shown exactly as it will be posted (problem, one scenario, the fix; no preamble), on the most relevant line of the new file version, plus the review verdict (request changes) when the user wants it submitted. Follow project PR-comment rules from the profile if present. Post only approved items, one tool each, no retries with another tool.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.