Borrowing it
Nothing to install: this file belongs to shaun0927/opensafari. 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/shaun0927/opensafari/main/.claude/commands/pr-review-os.mdgit clone --depth 1 https://github.com/shaun0927/opensafariWrote 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/shaun0927/opensafari/pr-review-os)<a href="https://agentmods.dev/commands/shaun0927/opensafari/pr-review-os"><img src="https://agentmods.dev/badge/commands/shaun0927/opensafari/pr-review-os/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/shaun0927/opensafari/pr-review-os"><img src="https://agentmods.dev/badge/commands/shaun0927/opensafari/pr-review-os.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.00016 | $0.01537 |
| Opus 5 | $0.00008 | $0.00768 |
| Sonnet 5 | $0.00003 | $0.00307 |
| Haiku 4.5 | $0.00002 | $0.00154 |
Grade A, and why
pr-review-os 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 9d 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 — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenSafari PR Review
Target: $ARGUMENTS
- No argument → review ALL open PRs (
gh pr list --state open) - PR number → review that PR
- "latest" → most recent open PR
STEP 1: Gather Context
For EACH PR, run:
gh pr view <N> --json title,body,additions,deletions,files,commits,headRefName,baseRefName
gh pr diff <N>
Read every changed file in full. Do NOT review from the diff alone.
STEP 2: Find Issues
Check the diff against these 6 areas. For EACH issue found, classify as P0/P1/P2.
| Area | What to Check |
|---|---|
| WebKit Protocol | Correct domain usage (Page for cookies, not Network), Page.snapshotRect not captureScreenshot, Runtime.awaitPromise separate from evaluate, emulateUserGesture: true on interaction evals |
| iOS Safari Compatibility | document.createTouch() not new Touch(), document.createTouchList() for TouchEvent, no hover-dependent interactions, font-size >= 16px for inputs |
| Simulator | simctl commands exist and are correct, no simctl snapshot save/restore (doesn't exist), ports per-device (not hardcoded 9222), simctl status_bar override for deterministic screenshots |
| MCP Protocol | No console.log() in src/ (breaks stdio), tools/list response valid, serverInfo.version matches package.json, no oneOf/anyOf in inputSchema properties |
| Architecture | No puppeteer/CDP/Chrome dependencies, BrowserBackend interface respected, typed (no any), dead code removed |
| Reliability | Error handling (no swallowed promises), resource cleanup (simulators shutdown), timeout enforcement, crash recovery paths tested |
STEP 3: Classify Each Issue
| Priority | Definition | Merge Gate |
|---|---|---|
| P0 | Blocker — security hole, MCP protocol corruption, wrong WebKit Protocol method, Chrome/puppeteer dependency leaked, silent auth bypass | Must fix before merge |
| P1 | Must fix — simulator crash not handled, resource leak, wrong simctl command, missing error handling, iOS Safari API incompatibility | Should fix in this PR |
| P2 | Improve — code style, docs, minor perf, unlikely edge cases | Can be follow-up |
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.
- 9d ago First seen · 135 lines · 16 tokens per session scan A dd719ba669d8
pr-review-os is a command published in the GitHub repository shaun0927/opensafari (15 stars, last pushed 1mo ago), licensed MIT. It adds 16 tokens to every session and 1,537 once invoked, about $0.0001 per session on Opus 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-08-30.
Other commands, from other repositories
sdd-init
Initialize SDD context — detects project stack and bootstraps persistence backend.
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.
init
Install the formatters this repository needs, with every command visible before it runs.
merge-conflict-analysis
You are analyzing merge conflicts for PR #${{ pr-number }}.
repo-audit
Audit a codebase (local or remote GitHub/GitLab) against architecture principles and requirements, surfacing drift, risk, and missing decisions.
argos
A command for checking whether an implementation matches its design deliverables. Its Korean description compares the work to the design as part of a completion inspection.