arinhub-review-pr
Review PR
Orchestrate a comprehensive code review of a pull request by running multiple review strategies in parallel, merging and deduplicating findings into a log file, verifying implementation coverage against the linked issue, and submitting the review to the PR.
Input
- PR number or URL (required): Accepts
123,#123, or full URL.
Procedure
1. Resolve PR Identifier and Repository
Extract the PR number. Determine the repository name from git remote or the provided URL.
PR_NUMBER=<extracted number>
REPO_NAME=<repository name, e.g. "my-app">
LOG_FILE=~/.agents/logs/arinhub-pr-review-${REPO_NAME}-${PR_NUMBER}.md
Create ~/.agents/logs/ directory if it does not exist.
2. Initialize Log File
Create the log file with a header:
# PR Review: ${REPO_NAME} #${PR_NUMBER}
**Date:** <current date>
**PR:** <PR URL>
## Issues
<!-- Issues from parallel review agents merged below. No duplicates. -->
3. Launch Parallel Review Subagents
Spawn three subagents in parallel. Each agent performs an independent code review and returns a structured list of issues.
Spawn all three subagents in parallel (do not wait for one to finish before starting the next). Each subagent must return ONLY a structured list of issues using the format from the Issue Format Reference section below. No subagent may submit a review — they only return findings.
Subagent A: code-reviewer
Spawn a subagent to review PR ${PR_NUMBER} using the code-reviewer skill. Instruct it to return only the list of issues found — no review submission.
Subagent B: octocode-research
Spawn a subagent to review PR ${PR_NUMBER} using the octocode-research skill with the reviewPR prompt. Instruct it to return only the list of issues found — no review submission.
Subagent C: pr-review-toolkit
Spawn a subagent to review PR ${PR_NUMBER} using the pr-review-toolkit:review-pr command with all parallel mode. Instruct it to return only the list of issues found — no review submission.
4. Merge and Deduplicate Issues
Collect issues from all three subagents and deduplicate:
- Parse each subagent's response into individual issues.
- For each issue, create a fingerprint from:
file path+line number range+concern category. - Two issues are duplicates if they share the same file, overlapping line ranges (within ±5 lines), and address the same concern (use semantic comparison, not exact string matching).
- When duplicates are found, keep the most detailed/actionable version.
- Tag each kept issue with its source(s):
[code-reviewer],[octocode],[pr-review-toolkit], or combination if multiple agents found it.
5. Write Issues to Log File
Append deduplicated issues to the log file, grouped by severity:
### Critical
- **[source]** `path/to/file.ts:42` — Description of the issue.
> Suggested fix: ...
### Improvements
- **[source]** `path/to/file.ts:88-95` — Description of the issue.
### Nitpicks
- **[source]** `path/to/file.ts:12` — Description of the issue.
---
**Total issues:** N (X critical, Y improvements, Z nitpicks)
**Sources:** code-reviewer, octocode, pr-review-toolkit
6. Verify PR Implementation Coverage
After writing issues, spawn a subagent to verify PR ${PR_NUMBER} using the arinhub-verify-pr-implementation skill. The subagent must return the full PR Coverage report in markdown format.
Append the returned coverage report to the end of the log file under a new section:
## PR Coverage
<coverage report content from arinhub-verify-pr-implementation>
7. Submit PR Review
Spawn a subagent to submit the review for PR ${PR_NUMBER} using the arinhub-submit-pr-review skill. Pass the log file path (${LOG_FILE}) so the subagent reads issues from it. The subagent must follow the arinhub-submit-pr-review procedure for deduplication against existing PR comments before submission.
8. Report to User
Present a summary:
- Path to the log file
- Total issues found (by severity)
- PR coverage percentage
- Whether the review was submitted successfully
- The PR URL for reference
Issue Format Reference
Each issue in a subagent response must follow this structure:
- **Severity:** critical | improvement | nitpick
**File:** path/to/file.ts
**Line(s):** 42 (or 42-50)
**Description:** Clear explanation of the problem.
**Suggestion:** Optional concrete fix.
Important Notes
- All three review subagents run in parallel to minimize total review time.
- The log file is the single source of truth — all findings are merged there before submission.
- Deduplication uses semantic comparison: if two agents flag the same concern on the same code, only one entry is kept.
- The log file persists at
~/.agents/logs/for future reference and audit. - If a subagent fails or times out, proceed with results from the remaining agents and note the failure in the log file.
More from arinhubcom/arinhub
arinhub-submit-code-review
Use this skill to submit code review when using the "ah" prefix. Use when asked to "ah submit code review 123", or "ah submit code review to PR 123". Submit a completed code review with line-specific comments and suggestions to a GitHub PR.
12ah-create-pr
Use this skill to create or update a GitHub Pull Request when using the "ah" prefix. Use when asked to "ah create pr", "ah create pull request", or "ah pr". Analyzes the current branch, runs quality checks, generates a well-structured PR with summary, changes, tests, and linked issues. If an open PR already exists for the branch, updates it via `gh pr edit`; otherwise creates a new one via `gh pr create`.
9arinhub-submit-pr-review
Submit pull request (PR) review from chat session to PR conversations. Use when asked to "submit PR review" or "submit review to PR #123". Identifies issues in the current chat session, creates line-specific review comments, avoids duplication with existing comments, and submits the review via GitHub CLI.
9ah-resolve-pr-review
Use this skill to resolve unresolved PR conversations when using the "ah" prefix. Use when asked to "ah resolve pr review". Also use when the user mentions resolving, addressing, or fixing PR review feedback or unresolved threads.
5ah-fix-dom-flash
Use this skill to detect and debug DOM flash/flicker bugs using chrome-devtools CLI when using the 'ah' prefix. Use when asked to 'ah fix dom flash'. Also use when elements briefly appear in wrong positions, visual artifacts flash on screen after interactions (drag-drop, transitions, animations), or timing races between framework DOM cleanup and React/Vue re-renders cause ghost elements.
3