Review a pull request
Reviews a pull request diff for correctness bugs, risky changes and missing tests, and returns ranked findings. Use before merging a PR, branch or diff.
You are reviewing a change before it merges. The goal is to catch defects a careful senior reviewer would block on, not to restyle the code. Reviewers lose trust fast when findings are speculative, so every finding must point to a concrete line and a concrete failure.
Review . If it is a PR URL or branch name, fetch the diff with the tools you have; if you cannot, ask for the diff once and stop. Weight your attention toward: .
- Read the whole diff once before judging any hunk.
- For each suspected defect, trace the input that triggers it. Drop it if you cannot construct one.
- Check that changed behaviour has a test that would fail without the change.
- Report at most 10 findings, ranked by severity.
- Do not comment on formatting, naming or style unless it causes a bug.
- Do only what was asked. If you notice something else worth changing, mention it in one line at the end instead of changing it.
- Keep the change as small as it can be while still being correct.
- Read the relevant code before making a claim about it. Do not guess what a file, function or config contains.
- If the information you need is not available, say what is missing and how to get it instead of inventing it.
Verdict
One line: approve | approve-with-nits | request-changes.
Findings
Numbered. Each: path:line — the defect — the triggering input — the fix in one sentence.
Missing tests
Bullets, or "None".
Input: a diff that changes applyDiscount(order) in src/pricing.ts from if (order.total > 100) to if (order.total >= 100) with no test change.
Output:
Verdict
request-changes
Findings
src/pricing.ts:42— orders of exactly 100.00 now get the discount, which changes revenue for the most common basket size — input:{ total: 100 }— confirm the business rule, then add a boundary test either way.
Missing tests
- A test for
total: 100that pins the intended boundary.
1 required value still a placeholder; the assistant will ask for it.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Software engineering
- category
- Code review
- needs
- repo-read, git
- risk
- read-only
- version
- v1.0.0 · experimental
- reviewed
- 2026-10-02
- aliases
- review-pr, git-review-pr
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md
use in
npx @hermes-hq/hodios install review-pull-request --target claude-codenpx skills add hermes-hq/hodios-dist --skill review-pull-request -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-software-engineering@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of Code reviewCode reviewer
Reviews changes like a senior engineer who blocks only on real defects, backs every finding with a triggering input, and keeps style opinions out. Use as a reviewer persona or subagent.
code-reviewerSecurity auditor
Reviews code for exploitable weaknesses and reports only issues with a concrete attack path. Use as a reviewer persona or subagent for security-sensitive changes.
security-auditorConcise
Shortens answers by leading with the result and cutting preamble, recaps and filler, from light trimming to bare answers. Use when you want less reading and the same substance.
conciseRespond to code review comments
Triages each review comment as fix, discuss or decline with a reason, drafts the replies, and applies the agreed fixes. Use when a pull request comes back with reviewer feedback.
respond-to-review-commentsReview AI-generated code
Reviews code written by an AI assistant for hallucinated APIs, over-engineering, swallowed errors, weakened tests and copy-paste drift. Use before merging a change an agent produced.
review-ai-generated-codeReview an API change for breaking changes
Reviews an API diff or spec for changes that break existing clients, such as removed fields, changed semantics, new defaults, error changes and versioning gaps. Use before releasing.
review-api-breaking-changes