posting-a-pr-review

posting-a-pr-review is a skill for Claude Code from juanmhidalgo/claude-plugins. It costs 118 tokens per session (1,107 once invoked), scanned A, original, MIT.

A workflow for posting an already completed review to a GitHub pull request. A pull request is a proposed code change, and the workflow adds one review with optional comments tied to changed lines.

In plain words
What is it for?
Use it when explicitly asked to request changes on a GitHub pull request and include inline comments on specific lines.
Why use it?
It avoids re-reviewing the code and avoids sending the author a separate notification for every finding.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the code-review plugin — 6 skills, 14 commands, 14 agents shipped together

Good fit Use it when explicitly asked to request changes on a GitHub pull request and include inline comments on specific lines.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/juanmhidalgo/claude-plugins/posting-a-pr-review
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add juanmhidalgo/claude-plugins --skill posting-a-pr-review
Clone the repo
git clone --depth 1 https://github.com/juanmhidalgo/claude-plugins

Made for: Claude Code.

Or install code-review, the plugin that ships this one along with the rest of its 6 skills, 14 commands, 14 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for posting-a-pr-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/juanmhidalgo/claude-plugins/posting-a-pr-review/github.svg)](https://agentmods.dev/skills/juanmhidalgo/claude-plugins/posting-a-pr-review)
Your own site
<a href="https://agentmods.dev/skills/juanmhidalgo/claude-plugins/posting-a-pr-review"><img src="https://agentmods.dev/badge/skills/juanmhidalgo/claude-plugins/posting-a-pr-review/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for posting-a-pr-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/juanmhidalgo/claude-plugins/posting-a-pr-review"><img src="https://agentmods.dev/badge/skills/juanmhidalgo/claude-plugins/posting-a-pr-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 118 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,107 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00118 $0.01107
Opus 5.5 $0.00047 $0.00443
Sonnet 5.5 $0.00024 $0.00221
Haiku 4.5 $0.00012 $0.00111

Measured 23d ago against content hash f4817a4ab8d8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

posting-a-pr-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 23d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

code-review/skills/posting-a-pr-review/SKILL.md · 115 lines

How it starts

The opening of the file, as written. The whole thing — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Posting a PR review

Reviewing never posts. This skill runs only when the user asks for it, on findings that already exist — it does not re-review anything.

One call, not N

Post the review and every inline comment in a single request. The alternative — a loop of gh pr review --comment or gh api .../comments — sends the author one notification per finding, and that alone is what makes an automated reviewer feel insufferable regardless of how the comments are written.

# review.json — build the file, do not inline the JSON as -f flags:
# bodies contain newlines, backticks and quotes that argv mangles.
gh api repos/{owner}/{repo}/pulls/{number}/reviews --method POST --input review.json
{
  "event": "REQUEST_CHANGES",
  "body": "3 blocking. 2 more in-session, not worth a line comment: …",
  "comments": [
    { "path": "src/a.py", "line": 42, "side": "RIGHT", "body": "…" },
    { "path": "src/b.py", "start_line": 10, "line": 14, "side": "RIGHT", "body": "…" }
  ]
}

line is the line in the file's post-merge state; use side: "LEFT" to comment on a deleted line. start_line + line spans a range.

What goes where

Finding Destination
CONFIRMED, requires a change, anchors to a changed line inline comment
CONFIRMED but minor, or PLAUSIBLE, or pre-existing one short line in the review body
REFUTED, or anything you could not verify nowhere — it stays in the session

The split is the whole point: inline interrupts the author line by line, so it is reserved for what blocks the merge. Everything else still reaches them, in one place, without a thread each.

If nothing blocks, do not post a review at all. Say so in the session. An automated REQUEST_CHANGES over two nitpicks trains the author to dismiss the next one.

Writing the comments

  • One comment per change needed, not per observation. Two findings on the same line are one comment.
  • Lead with the defect. The author can read their own diff; they do not need a paragraph restating it before the point.
  • Name what breaks and on what input. "Raises on an empty items" beats "this could be problematic".
  • No praise, no preamble, no hedged suggestions. "Consider maybe possibly" is either a finding or it is not.
  • Claims you did not verify are hypotheses, and say so in the first sentence — not in a trailing caveat. The reviewer reads the first line and acts on it.
  • Keep an inline comment to the defect and its trigger; anything longer belongs in the review body.
  • Use a suggestion block when the fix is a literal replacement — the author clicks Apply instead of reading prose:

Read the full file on GitHub · 115 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 23d ago Changed f4817a4ab8d8
  2. 29d ago First seen · 115 lines · 118 tokens per session scan A 5f8fc4f44d11

Subscribe to this mod's changes

posting-a-pr-review is a skill published in the GitHub repository juanmhidalgo/claude-plugins (8 stars, last pushed 2d ago), licensed MIT. It adds 118 tokens to every session and 1,107 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-18.

Related

Other skills, from other repositories

review-implement-phase

Implements triaged review actions, commits focused fixes, and posts Done plus resolves threads. Use when the user wants only the implementation phase of the review-framework workflow.

prisma/orm · 38 tokens

pr

Draft a PR body from OMC's paper trail — the smallest visual that proves the change, evidence consumed from the verify protocol (never re-collected), reversibility from the ADR test on the diff, glossary language throughout.

Yeachan-Heo/oh-my-claudecode · 47 tokens

otto-pr-review-loop

Run Polly and OCR on a PR until all findings settle.

omnigent-ai/omnigent · 17 tokens

engram-branch-pr

PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.

Gentleman-Programming/engram · 37 tokens

verify-behavior

Verify or reproduce visible product behavior by driving the real UI with pi-computer-use's checked tools, requiring verified expect postconditions and durable state evidence for meaningful UI flows. Use when triage needs visual reproduction, implementation needs behavioral proof, review needs interactive confirmation…

nicknisi/dotfiles · 68 tokens

github-contributor

A step-by-step guide for contributing code, tests, documentation, or build changes to open-source projects you do not maintain. It explains how to prepare a pull request that follows the project’s rules and is easier for maintainers to review.

daymade/claude-code-skills · 105 tokens