| name | pr-review |
| description | Review a GitHub pull request chunk-by-chunk with inference-driven findings (security, correctness, performance, etc.), persisted per review and browsable as a two-pane diff viewer on the mosaic dashboard. Use when asked to review a PR, generate a PR review, or check past PR review findings. |
| version | 3.0.0 |
| kind | hybrid |
| triggers | ["review this PR","review pull request","review <github-url>","pr review for <url>","next chunk","set verdict for <review>"] |
| intent | code-review |
| config_dir | ~/.config/skill-config/pr-review |
| created_at | 2026-05-30T00:00:00.000Z |
| updated_at | 2026-07-30T00:00:00.000Z |
| guardrails | ["Do not post, comment, or push the review anywhere — findings are persisted locally only, browsable on the mosaic dashboard","Do not reproduce secrets/tokens/credentials found in a diff inside a finding's comment — reference that one is present, don't repeat it","Every finding must carry a concrete side+line the diff renderer can place — never a free-text line range or description","Read-only against the reviewed repo/PR — never push, comment, or merge on GitHub"] |
| resources | ["<SKILL_PATH>/scripts/run.sh","<SKILL_PATH>/webapp/app.json","<SKILL_PATH>/references/schema.md","<SKILL_PATH>/references/review-criteria.md"] |
| tools | ["bash","jq","gh","awk"] |
PR review
Hybrid skill: scripts/run.sh handles every deterministic step — fetching a
PR via gh, chunking its diff, validating and persisting findings, rolling
up counts into the dashboard manifest. The only judgment call — reading a
diff chunk and writing findings — is the agent's. Diff parsing (unified diff
→ line-numbered two-pane rows) is likewise deterministic and lives entirely
in webapp/static/js/app.js, never in the agent's output.
Workflow
-
Fetch.
<SKILL_PATH>/scripts/run.sh fetch <PR_URL> [-s <story_file>]
Prints review_id, scratch_dir (holds chunk_N.diff files to read),
chunks (count), and the meta path. First run onboards the skill into
mosaic automatically (idempotent after).
-
Review each chunk (agent judgment). For chunk N:
-
Set the overall verdict once every chunk is persisted:
<SKILL_PATH>/scripts/run.sh set-verdict <review_id> <APPROVE|REQUEST_CHANGES|NEEDS_DISCUSSION>
Refuses if any chunk is still unreviewed.
-
Deliver. Tell the user to start mosaic if it isn't already running
($TOOLS_PATH/mosaic/quick-start.sh start) then open
http://localhost:<mosaic-port>/mosaic/apps/pr-review/ (default port
47500). There is no standalone file to hand over — the dashboard is the
only deliverable. A review's detail page is paginated one chunk per page
— each page lazily fetches only its own , never the whole
review at once, so a large PR never means loading its entire diff into
one view. writes every chunk's diff immediately (), so all pages are browsable right away; a page whose chunk
hasn't been reviewed yet still shows the diff, just with no findings and
a "not yet reviewed" banner.