con un clic
oh-review
Review a PR against its linked issue requirements, post structured feedback
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Review a PR against its linked issue requirements, post structured feedback
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Do the work. Pre-flight, build, detect drift, salvage if needed. Use when you have a clear aim and are ready to implement.
Resolve multi-dependency fan-in by merging dependency PRs into a common base and updating issue dependencies
Review and merge open PRs for GitHub issues as a cohesive batch
Claim a GitHub issue, create its branch and draft PR before implementation, execute the work in isolation, and hand the completed draft to RNA's full ship gate.
Check work and detect drift before committing. A second opinion that catches misalignment early. Use at natural pause points, before PRs, or when something feels off.
Agent-led PR/working-tree review triage. Start from the diff, add RNA graph/business context only where it changes review decisions, and state when raw git diff is enough.
| name | oh-review |
| description | Review a PR against its linked issue requirements, post structured feedback |
Review a PR, check it against the linked issue's requirements, and post structured feedback as a GitHub review. Read-only except for the review comment itself — no code changes, no commits.
/oh-review <pr-number>
<pr-number> - the pull request number to reviewgh must be authenticatedLoad project background from AGENTS.md and relevant .oh/ artifacts. Use RNA repo_map and search first for repository exploration. If RNA is empty or incomplete, broaden queries and remove filters; before any Read/Grep/Bash fallback, document the reason and record a friction event in the repository session context.
Fetch PR metadata:
gh pr view <pr-number> --json title,body,headRefName,baseRefName,additions,deletions,changedFiles,state,mergeable
Abort if PR is not open.
Read the linked issue (CRITICAL) — the issue is the source of truth for requirements:
gh issue view <N> --json title,bodyFetch the PR diff:
gh pr diff <pr-number>
Review the diff against:
Write a structured review to a temp file:
## Review: PR #<number> — <title>
### Requirements Check (from #<issue>)
- [ ] <acceptance criterion 1> — met/not met/partially met
- [ ] <acceptance criterion 2> — met/not met/partially met
### Blockers (P0-P1)
- <issue with explanation and suggested fix>
### Improvements (P2-P3)
- <issue with explanation>
### Clean
- <what looks good>
### Follow-up Work
- <concrete items that should be separate issues/PRs>
Post the review on the PR:
If blockers found or requirements not met:
gh pr review <pr-number> --request-changes --body-file /tmp/review-<pr-number>.md
If no blockers and requirements met:
gh pr review <pr-number> --approve --body-file /tmp/review-<pr-number>.md
Signal completion:
signal_completion(status: "blocked", blocker: "PR has N blockers — see review comment")signal_completion(status: "success", message: "Approved — N improvements noted")signal_completion(status: "error", error: "<reason>")CRITICAL: You MUST signal completion when done. Call the signal_completion tool as your FINAL action.
Signal based on outcome:
| Outcome | Call |
|---|---|
| Review posted, PR approved | signal_completion(status: "success", message: "Approved — N improvements noted") |
| Review posted, changes requested | signal_completion(status: "blocked", blocker: "PR has N blockers — see review comment") |
| Unrecoverable failure | signal_completion(status: "error", error: "<reason>") |
If you do not signal, the orchestrator will not know you are done and the session becomes orphaned.
Fallback: If the signal_completion tool is not available, output your completion status as your final message in the format: COMPLETION: status=<status> message=<msg> or COMPLETION: status=<status> error=<reason>.
$ /oh-review 99
Fetching PR #99...
PR: "Fix validation bug in auth module"
State: open, +147 -23, 4 files changed
Parsing linked issue...
Found: Closes #42
Fetching issue #42...
Issue: "Fix validation bug in auth module"
Acceptance criteria:
1. Empty string validation returns error
2. Tests cover edge cases
3. No changes to public API
Fetching PR diff...
Reviewing diff against requirements...
Posting review...
gh pr review 99 --approve --body-file /tmp/review.md
Review posted:
Requirements: 3/3 met
Blockers: 0
Improvements: 2
Follow-ups: 1
signal_completion(status: "success", message: "Approved — 2 improvements noted")
Done.
ARGUMENTS: