pr-review
Installation
SKILL.md
${var} — Selects the branch and scopes it.
- Default (no
--survey) → per-PR deep review.${var}empty reviews every repo inmemory/watched-repos.md;${var}=owner/reposcopes to one repo;${var}=owner/repo#Nscopes to that exact PR.--survey(aliassurvey) → risk-tiered triage digest (the formerpr-merge). In this branch the remaining tokens follow pr-merge's grammar: passdry-runto skip notify (article + state still write), passowner/repoto override the target repo, combine with a space (--survey dry-run owner/repo). Empty target =aeonfun/aeon.Examples: `` (review every watched repo) ·
owner/repo(review one repo) ·owner/repo#42(review exactly PR 42) ·--survey(triage digest of aeonfun/aeon) ·--survey dry-run(refresh digest, no notify) ·--survey owner/repo(triage a specific repo).
Shared preamble (every run)
Read memory/MEMORY.md for high-level context. Scan the last ~3 days of memory/logs/ for recent activity and to avoid re-reporting the same signal.
Parse ${var} → branch: split ${var} on whitespace.
- If a
--surveyorsurveytoken is present → SURVEY branch (jump to "Survey branch"). Remove that token; the remaining tokens are parsed by the survey branch (dry-run,owner/repooverride, unknown → BAD_VAR). - Otherwise → REVIEW branch (default; continue below). The remaining
${var}is an optionalowner/repoorowner/repo#Nscope (empty = every watched repo).
The two branches never share mutation logic: the REVIEW branch posts PR comments/reviews via gh; the SURVEY branch writes the digest article + state file and (gated) notifies — neither performs an actual gh pr merge. Dispatch to exactly one branch per run.