con un clic
pr-review
Fetch unresolved PR review comments and display analysis
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ú
Fetch unresolved PR review comments and display analysis
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
Create a Claude Code rule, skill, or agent — global (~/.claude) or project-local (.claude)
Code review using OpenAI Codex CLI with project context (rules, diff, conventions)
Multi-perspective code review from base branch with 3 independent reviewer agents
Analyze working tree changes, map to existing commits, and create fixup commits for autosquash
Analyze working tree changes, plan logically minimal NEW atomic commits per hunk (no fixup), and execute them
Review every commit message since base branch and add reword fixups where the message needs improvement (non-interactive)
| name | pr-review |
| allowed-tools | Bash(git branch:*), Bash(gh pr:*), Bash(gh api:*), Bash(gh repo:*), Bash(jq:*), Read, Glob, Grep |
| argument-hint | [PR_NUMBER] Optional PR number to review |
| description | Fetch unresolved PR review comments and display analysis |
!git branch --show-current
!gh repo view --json nameWithOwner --jq '.nameWithOwner'
!gh pr view --json number --jq '.number' 2>/dev/null || echo 'NO_PR'
Use the values already resolved in Context section above. Split nameWithOwner by "/" to get OWNER and REPO. If argument was provided, use that as PR_NUMBER instead.
Build the query by replacing OWNER, REPO, PR_NUMBER with actual values. Embed values directly in the query. Do NOT use GraphQL variables.
gh api graphql -f query='{ repository(owner: "OWNER", name: "REPO") { pullRequest(number: PR_NUMBER) { reviewThreads(first: 100) { nodes { id isResolved comments(first: 10) { nodes { id body author { login } path line startLine diffHunk } } } } } } }'
Pipe the result to filter unresolved threads:
| jq '[.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved == false)]'
Read the relevant source files for each comment to understand the full context before analyzing.
Display unresolved comments as a numbered list. Each finding uses the following structure:
Severity levels (exactly 3 characters using filled and empty stars):
(★★★)(★★☆)(★☆☆)(☆☆☆)Format (follow exactly):
## 未解決のレビューコメント (N件)
---
### 1. 指摘のタイトル (`path/to/file:line`) (★★☆)
> 指摘事項の要約をここに記述する。何が指摘されているのかを簡潔にまとめる。
指摘に対してどう考えるか。対応するべきか、対応不要か、その理由を述べる。
対応する場合は対応方法の概要を簡潔に記述する。
**返信内容** (@reviewer_name へ、レビュワーの言語で):
> Reply content in the reviewer's language here.
> This should be the actual message you would post as a thread reply.
---
### 2. ...
Notes:
Execute the workflow above. Start from Step 1.