agentsclimarketplace

Pr review

Skill JasonWarrenUK/goblin-mode/skills/pr-review

{{ 𝛀𝛀𝛀 }} Review a pull requestFrom its SKILL.md

Install
npx -y skills add JasonWarrenUK/goblin-mode --skill pr-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.8 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

PR Review

Canonical review methodology. Produces structured findings only; never posts to GitHub. pr-review-comment loads this skill and handles posting β€” keep all methodology here to avoid divergence.

<pull-request-review>
  <task>Review the pull request identified by `$ARGUMENTS` and produce structured findings. Do not post anything to GitHub.</task>
  <steps>
    <step num="1">Run `gh pr view $ARGUMENTS` to get PR title, description, and metadata</step>
    <step num="2">Run `gh pr diff $ARGUMENTS` to get the full diff β€” always PR vs `origin/main`, regardless of the local branch checked out</step>
    <step num="3">Research project conventions stored in `CLAUDE.md`, `.claude/**/*` and `docs/*`. Before critiquing implementation, check whether the dev is following established project practice</step>
    <step num="4">Classify every finding by <taxonomy/> type and by scope (line / file / cross-file)</step>
    <step num="5">Where a line-scoped πŸ”΄/🟠/🟑 finding has a concrete fix, write it as a committable ```suggestion block per <suggestions/></step>
    <step num="6">Write every comment body **and the `summary`** (including the follow-up delta, when in that mode) per the writing-style skill's anti-slop rules (no em dashes, no contrastive couplets, no parade-of-examples, lead with specifics). This isn't just style guidance here β€” when this skill's output feeds `pr-review-comment`, its `partition-findings.mjs` hard-fails the post on any em-dash/en-dash in the summary or a comment body. Get it right here, upstream, rather than relying on that gate to catch it</step>
    <step num="7">Emit findings using <output/>. This is the full deliverable β€” stop here, nothing gets posted</step>
  </steps>
  <foci>
    <focus>Correctness β€” will this break anything?</focus>
    <focus>Security β€” any obvious vulnerabilities?</focus>
    <focus>Glaring convention violations</focus>
    <focus>Reinforcement β€” genuine strengths worth calling out, not token praise</focus>
  </foci>
  <taxonomy>
    <!-- Replaces any older 🟣/πŸ”΄/🟑/πŸ”΅ four-colour key. This is the only taxonomy. -->
    <row emoji="πŸ”΄" type="major changes" ceiling="Request Changes">Blocking β€” must fix before merge</row>
    <row emoji="🟠" type="minor changes" ceiling="Comment">Should fix, won't block. Same ceiling and treatment as nits</row>
    <row emoji="🟑" type="nits" ceiling="Comment">Nice to have</row>
    <row emoji="🟣" type="admiration" ceiling="Approve">Accolade β€” only when genuinely warranted</row>
  </taxonomy>
  <matrix>
    <!-- Type x Scope -> where the comment anchors + suggestion eligibility -->
    <row type="major/minor changes, nits" scope="line" anchor="line highlight (inline diff comment)" suggestion="yes, if a concrete fix exists" />
    <row type="major/minor changes, nits" scope="file" anchor="file-level comment" suggestion="no" />
    <row type="major/minor changes, nits" scope="cross-file" anchor="top-level review comment" suggestion="no" />
    <row type="admiration" scope="line" anchor="file-level comment β€” admiration never uses a line highlight, even when the praise is line-scoped" suggestion="no" />
    <row type="admiration" scope="file" anchor="file-level comment" suggestion="no" />
    <row type="admiration" scope="cross-file" anchor="top-level review comment" suggestion="no" />
  </matrix>
  <suggestions>
    <guide>Emit a ```suggestion block only for line-scoped πŸ”΄/🟠/🟑 findings with a concrete, single-location fix.</guide>
    <guide>Skip suggestions where the fix spans multiple non-contiguous lines, requires judgement calls, or isn't safely committable as-is.</guide>
    <guide>Never emit suggestions for admiration β€” there's nothing to commit.</guide>
  </suggestions>
  <verdict>
    <guide>Derive one overall verdict from the highest ceiling present across all findings (highest-ceiling-wins):</guide>
    <rule>Any πŸ”΄ present β†’ Request Changes</rule>
    <rule>Else any 🟠 or 🟑 present β†’ Comment</rule>
    <rule>Else only 🟣 present (or no findings) β†’ Approve</rule>
  </verdict>
  <guides>
    <guide>Keep it concise. Flag only the most important issues β€” skip minor style nits unless they're genuinely worth a 🟑.</guide>
    <guide>Before critiquing implementation, check whether the dev is following established project practice.</guide>
    <guide>Omit any type that has no entries. Only include 🟣 findings if there's something genuinely worth praising β€” token praise is worse than none.</guide>
  </guides>
  <output type="structured">
    For each finding:
    - `type`: πŸ”΄ | 🟠 | 🟑 | 🟣
    - `scope`: line | file | cross-file
    - `file`: path (omit for cross-file)
    - `line` or `range`: omit for file/cross-file scope
    - `body`: the comment text (writing-style rules applied)
    - `suggestion`: optional ```suggestion block (line-scoped changes/nits only)

    Plus:
    - `summary`: overall review body (top-level comment content). When run in follow-up mode (see `pr-review-comment`'s `<follow-up-mode/>`), the leading "Since my last review" delta uses only βšͺ fixed / ⚫ still open / 🟒 new β€” never πŸ†• (renders as a GitHub `:new:` badge) or βœ…/⚠️ (superseded, off-palette)
    - `verdict`: Request Changes | Comment | Approve, derived per <verdict/>
  </output>
</pull-request-review>

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.