Borrowing it
Nothing to install: this file belongs to xsovad06/sova. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/xsovad06/sova/main/.claude/commands/review-pr.mdgit clone --depth 1 https://github.com/xsovad06/sovaWrote 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.
[](https://agentmods.dev/commands/xsovad06/sova/review-pr)<a href="https://agentmods.dev/commands/xsovad06/sova/review-pr"><img src="https://agentmods.dev/badge/commands/xsovad06/sova/review-pr/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.
<a href="https://agentmods.dev/commands/xsovad06/sova/review-pr"><img src="https://agentmods.dev/badge/commands/xsovad06/sova/review-pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.05469 |
| Opus 5.5 | $0.00000 | $0.02188 |
| Sonnet 5.5 | $0.00000 | $0.01094 |
| Haiku 4.5 | $0.00000 | $0.00547 |
Grade A, and why
review-pr 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 14d 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.
How it starts
The opening of the file, as written. The whole thing — 375 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review PR
Act as a senior engineer reviewing a teammate's pull request. Provide a thorough, honest, constructive review that catches real problems and acknowledges good work. You are a domain expert in the project's tech stack and patterns (see AGENTS.md).
CRITICAL: Complete ALL Steps. You MUST execute through Step 7 (posting the review on GitHub) before producing any final summary. Post the review directly via the GitHub API. Do NOT ask for confirmation or approval before posting. A text-only response (without a tool call) may cause the process to exit, so always post first, then summarize.
PR: $ARGUMENTS
1. Fetch PR State
Gather all PR data in parallel:
# Metadata (captures headRefOid, the commit this review is anchored to)
gh pr view <PR_NUMBER> --json title,body,author,state,additions,deletions,files,commits,reviewRequests,labels,baseRefName,headRefName,headRefOid,statusCheckRollup
# Fill in HEAD_SHA from the headRefOid field above.
HEAD_SHA="<headRefOid from the metadata just fetched>"
# Run-unique artifact prefix inside a fresh private temp directory. Several
# reviews of the same PR can overlap on one machine (a manual review racing an
# autonomous reviewer, or two retries), and a fixed path keyed only by PR
# number lets one run's diff/findings/payload overwrite another's mid-flight.
# mktemp -d creates a directory no other run shares.
ARTIFACT_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sova-review-<PR_NUMBER>-XXXXXX")
ARTIFACT_PREFIX="$ARTIFACT_DIR/review"
echo "ARTIFACT_PREFIX=$ARTIFACT_PREFIX"
# Full diff (also saved: Step 7 needs it to place inline comments).
gh pr diff <PR_NUMBER> | tee "${ARTIFACT_PREFIX}-diff.txt"
# Commits
gh api repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/commits --jq '.[] | "\(.sha) \(.commit.message)"'
# Top-level comments
gh pr view <PR_NUMBER> --json comments --jq '.comments[] | "---\n\(.author.login) (\(.createdAt)):\n\(.body)\n"'
# Inline review comments
gh api repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/comments --jq '.[] | "---\n\(.user.login) on \(.path):\(.line // .original_line) (\(.created_at)):\n\(.body)\n"'
# Reviews
gh api repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/reviews --jq '.[] | "\(.user.login) (\(.submitted_at)): \(.state)\n\(.body)\n"'
# CI checks
gh pr checks <PR_NUMBER>
# Re-check headRefOid immediately after the diff fetch: the two are separate
# requests, so a push landing between them means the saved diff no longer
# matches the SHA captured above.
CURRENT_SHA=$(gh pr view <PR_NUMBER> --json headRefOid --jq '.headRefOid')
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.
- 14d ago Changed · +2 lines 2e9975d4238b
- 16d ago Changed · -28 lines · -25 tokens per session f37057cdee87
- 19d ago Changed · +38 lines 5bf19a3c4650
- 21d ago Changed 07e773b6195f
- 23d ago Changed · +76 lines c675c48c9e35
- 1mo ago Changed · +4 lines f6b6c0bcdc03
- 1mo ago Changed · +34 lines e9ea0e7e8e76
- 1mo ago Changed · +44 lines cd18309d4ccc
- 1mo ago Changed · +2 lines ff1a59fd45ab
- 1mo ago First seen · 203 lines · 25 tokens per session scan A d1d38405f02d
review-pr is a command published in the GitHub repository xsovad06/sova (2 stars, last pushed yesterday), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 5,469 tokens. 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-08-31.
Other commands, from other repositories
greptile-review
Execute the full Greptile review cycle on a PR, looping until score meets threshold or circuit breaker triggers.
review-branch
Review the current branch's diff against base by dispatching atomic-reviewer. No orchestration loop, no spec required — pre-flight before /commit pr or /commit merge.
review
Review current changes for correctness, style, and potential issues.
advanced-code-review-context
Advanced Code Review Phase 2: Context Analysis - load previous reviews, PR history, declined items.
code-review-give
Give mode for code-review: Review someone else's code with multi-pass analysis and structured recommendations.
mach12:issue-review
Read a GitHub issue and all comments, review the implementation plan, and present findings.