About rhdh-pr-review
A skill for reviewing GitHub pull requests through staged fetch, code analysis, and optional posting. It enforces review prerequisites, head-SHA verification, and a separate approval gate for external writes.
Key features
- 01Fetches PR context before analysis
- 02Routes review-only and posting workflows
- 03Requires /code-review and Adversarial review
- 04Pins posting targets to the head SHA
- 05Uses mutation-gate before external writes
- 06Carries structured results between stages
Use cases
- 01Reviewing a PR and posting verified findings
- 02Analyzing a PR without posting a review
- 03Checking findings against the reviewed head SHA
- 04Reporting review and write outcomes
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-pr-reviewAfter installing, type/rhdh-pr-reviewin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/review-perspectives.mdscripts/fetch_pr_context.pyworkflows/fetch-github.mdpost-to-github.mdreview-code.mdDetails
From the project READMERHDH Pull Request Review
Keep forge I/O at the edges: fetch produces the PR context, analysis works from that context and checked-out code alone, and posting sends only findings already verified against the head SHA.
Route by outcome
| Outcome | Workflow sequence |
|---|---|
| Code review and post | workflows/fetch-github.md → workflows/review-code.md → workflows/post-to-github.md |
| Analysis only | workflows/fetch-github.md → workflows/review-code.md; stop after the edited draft |
A bare PR URL or number defaults to code review and post.
Review invariants
/code-reviewis required on every draft-review path, including analysis-only. If it is missing, stop, say thatcode-reviewis missing, name/setup-rhdh-skills install, and do not substitute a local two-axis review.- Every
/code-reviewrun also dispatches Adversarial. Team, worktree, and draft steps live inworkflows/review-code.md. - Present the complete edited draft before stating any post operation. An explicit request to post is intent, not approval of the exact write.
Write gate
Fetch and analysis are read-only. Posting a GitHub review is an external write:
invoke the named skill mutation-gate and follow the gate it owns rather than
restating it here. Creating or removing a local git worktree is not that gate.
A review operation's target pins the head SHA. An earlier confirmation of findings approves no write. Report each outcome with the review URL, the verification done, and any recovery still owed.
What each stage carries forward
Every stage passes its result to the next in conversation. The field names are defined once, where they are produced:
| Stage | Result | Defined in |
|---|---|---|
| Fetch | PR context: repository, changeRequest, files, diff, linkedIssues, jiraKeys, existingComments, existingReviews, ciStatus, specSource | workflows/fetch-github.md |
| Analysis | Review draft: changeRequest, summary, verdict, findings, edited, worktreePath | workflows/review-code.md |
Completion
Complete when the report names the head SHA reviewed, has presented the
/code-review Standards and Spec reports, and presents the edited draft.
On the post route, also give the outcome of every approved write with its
target.