一键导入
pr-review
PR についたレビューコメントを取得し、修正・返信・Resolve し、必要なら再レビュー依頼して完了までループする。レビュアーは Copilot(既定)か Claude(`/pr-review claude`)。「PR コメント対応して」「レビュー対応」などのリクエストで使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
PR についたレビューコメントを取得し、修正・返信・Resolve し、必要なら再レビュー依頼して完了までループする。レビュアーは Copilot(既定)か Claude(`/pr-review claude`)。「PR コメント対応して」「レビュー対応」などのリクエストで使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
任意のプロジェクトに「@claude review で Claude が PR をレビューする」GitHub Actions を一式セットアップする。workflow 雛形の生成・Claude GitHub App 認可・CLAUDE_CODE_OAUTH_TOKEN secret 登録を案内する。「Claude レビュー CI を入れて」「PR レビュー workflow をセットアップ」などで使用。
プロジェクトに spec-do/spec-review/spec-update コマンドをセットアップする。「spec コマンドを入れて」「仕様駆動コマンドをセットアップ」などの依頼で使用。
PR についたレビューコメントを取得し、修正・返信・Resolve し、必要なら Copilot に再レビュー依頼して完了までループする。「PR コメント対応して」「レビュー対応」などのリクエストで使用。
Codex skills や Claude Code skills を点検し、役割の混線、危険な tool 許可、冗長な本文、トリガー説明の弱さを改善する。「skill 改善」「スキルを見直して」「SKILL.md を改善して」などの依頼で使用。
PR 作成を行う。「PR 出して」などのリクエストで使用。
コードレビューを行う。「レビューして」「コードレビュー」などのリクエストで使用。
基于 SOC 职业分类
| name | pr-review |
| description | PR についたレビューコメントを取得し、修正・返信・Resolve し、必要なら再レビュー依頼して完了までループする。レビュアーは Copilot(既定)か Claude(`/pr-review claude`)。「PR コメント対応して」「レビュー対応」などのリクエストで使用。 |
| allowed-tools | Read, Edit, Write, Grep, Glob, Bash(git log:*), Bash(git diff:*), Bash(git rev-parse HEAD:*), Bash(git rev-parse --short HEAD:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(gh --version:*), Bash(gh pr view:*), Bash(gh pr edit:*), Bash(python3 ~/.claude/skills/pr-review/scripts/wait-copilot-review.py:*), Bash(python3 ~/.claude/skills/pr-review/scripts/wait-claude-review.py:*), Bash(python3 ~/.claude/skills/pr-review/scripts/get-review-comments.py:*), Bash(python3 ~/.claude/skills/pr-review/scripts/reply-review-comment.py:*), Bash(python3 ~/.claude/skills/pr-review/scripts/resolve-review-threads.py:*), Bash(cargo:*), Bash(pnpm:*) |
PR レビューコメント取得、対応、返信、Resolve まで行う。修正を push したら再レビュー依頼し、 レビュアーが「指摘なし」を返すか、早期終了条件(後述)を満たすまで繰り返す。
claude がある(/pr-review claude)→ Claude backend: wait-claude-review.py を使う。
発火は @claude review コメント、投稿主体は claude[bot]。事前に対象リポへ
setup-pr-review-workflow スキルで CI を入れておくこと。wait-copilot-review.py を使う。両 backend で待ちスクリプトの exit code 契約は共通: 0 = 指摘なしで完了 / 20 = 対応すべき
コメントあり / 1 = タイムアウト。以下の手順の {waiter} は選んだ backend のスクリプトに読み替える。
PR 番号と repo はカレントブランチから取得する。指定があればそれを使う。
gh pr view --json number,url,headRefOid,reviewRequests,latestReviews
gh --version
Copilot 再レビュー依頼には gh >= 2.88.0 が必要。
レビュー取得前に必ず次を実行する。既存レビューがあればそれを使い、無ければ依頼して待つ。
必ず run_in_background: true で起動する。最大15分ポーリングして exit する。前景実行は
シェルタイムアウトで誤動作(途中で再実行・並列待ち)の原因になる。
# Copilot backend
python3 ~/.claude/skills/pr-review/scripts/wait-copilot-review.py {owner} {repo} {num}
# Claude backend(/pr-review claude)
python3 ~/.claude/skills/pr-review/scripts/wait-claude-review.py {owner} {repo} {num}
起動したらこのターンを終え、完了通知が来るまで待つ。ポーリングや並列の wait はしない。 完了したら stdout(JSON 1行)と exit code を確認: 0 なら指摘なし→完了。20 なら新規 コメントあり→手順 3。1 ならタイムアウト→状況確認(失効/未起動などを疑う)。
python3 ~/.claude/skills/pr-review/scripts/get-review-comments.py {owner} {repo} {num}
gh pr view {num} -R {owner}/{repo} --json reviews --jq '.reviews'
get-review-comments.py は投稿者非依存で inline コメントを返す(claude[bot] も含む)。
in_reply_to_id == null がスレッド起点。起点のうち自分の返信(in_reply_to_id == 起点 id)が
ないものを未対応とする。
各コメントを 本質 / 非本質 に分類する(後述の早期終了判定にも使う)。
対応方針:
git add し、git commit --no-gpg-sign -m "..."、必要なら git push。返信本文を /tmp/pr-review-reply.md に Write してから送る。$SHA=$(...) のような代入や
command substitution は使わず、必要なら git rev-parse HEAD を単独実行して結果を文字列で書く。
python3 ~/.claude/skills/pr-review/scripts/reply-review-comment.py {owner} {repo} {num} {comment_id} /tmp/pr-review-reply.md
全未解決を一括 Resolve せず、返信済みスレッドだけ Resolve する。
python3 ~/.claude/skills/pr-review/scripts/resolve-review-threads.py {owner} {repo} {num} {comment_id}...
このラウンドの新規コメントの分類(手順 5)をもとに、再レビューするか終了するかを決める:
終了する場合は、残った nit を対応 or「軽微につき今回は見送り」を返信して Resolve し、
再レビュー要求はしない。generated no comments を待たずこの規則で切り上げてよい。
修正を commit / push したら、再レビューを依頼して待つ。手順 2 と同様 必ず
run_in_background: true で起動し、完了通知まで待つ。ポーリング・並列待ちはしない。
# Copilot backend
python3 ~/.claude/skills/pr-review/scripts/wait-copilot-review.py {owner} {repo} {num} --request
# Claude backend
python3 ~/.claude/skills/pr-review/scripts/wait-claude-review.py {owner} {repo} {num} --request
完了したら exit code を確認: 0 なら完了。20 なら手順 3 に戻り、新規コメントを分類して 手順 8 の継続判定にかける。1 ならタイムアウト。
run_in_background: true で起動。完了通知まで待ち、ポーリングや並列の
wait 再起動はしない。レビューは数分〜十数分かかることがあり、前景実行はシェルタイムアウトで
誤動作の原因になる。setup-pr-review-workflow の CI が入っているか、Claude GitHub App が認可済みか、
CLAUDE_CODE_OAUTH_TOKEN が有効(未失効)かを確認する。wait-claude-review.py は投稿主体を claude[bot](Bot タイプ)に厳格一致で照合する
(なりすまし claude-* による偽マーカーでループを誤終了させないため)。実際の login が
異なる場合のみ --bot-login <login> で指定する。--request 無しの初回確認では、現在の
head コミットより古いレビューは stale として無視し新規レビューを依頼する。