pr-review-comments について
pr-review-comments は、JSON のレビュー指摘を GitHub の Pull Request に行内コメントとして投稿するスキルです。PR の差分でファイルと行番号を検証し、認証済み gh CLI を使ってレビューをまとめて投稿するか、個別コメントを作成します。
主な機能
- 01PR 差分に照らした行の検証
- 02レビュー一括投稿と個別コメント
- 03JSON フィールドからコメント本文を作成
- 04dry-run による投稿内容の確認
- 05gh 認証の利用とリポジトリ検出
活用シーン
- 01Pull Request へのコードレビュー指摘の投稿
- 02投稿前の古い行番号の確認
- 03指摘のレビュー一括投稿や個別スレッド化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ giuseppe-trisciuoglio/ developer-kit --skill pr-review-commentsインストール後、Claude Code で/pr-review-commentsを入力して読み込まれたか確認します。
同梱ファイルreferences/json-schema.mdscripts/post_pr_comments.py
詳細
PR レビューコメント
GitHub Pull Request に、各ファイルと行に紐付けたレビュー指摘の JSON 配列をインラインコメントとして投稿します。
認証済みの gh CLI を使って GitHub API を呼び出すため、トークンを扱う必要はありません。
前提条件
ghCLI がインストールされ、認証済みであること(gh auth status)。スクリプトはgh repo viewでリポジトリを自動検出します。上書きするには--repo OWNER/REPOを渡してください。- コメントを投稿する PR 番号。
- JSON ファイル:オブジェクトの配列。各オブジェクトに必須のキーは
file、lineです。 メッセージはsummaryとfailure_scenario(本文にまとめて記載)、または明示的なbodyから取得します。完全なスキーマとサンプルについては、references/json-schema.md を参照してください。
主な制約:コメントできるのは差分の行のみ
GitHub がインラインコメントを受け付けるのは、対象行が PR の差分に含まれている場合だけです。
line は新しいファイルの行番号です(削除された行には side: "LEFT" を使用してください)。
スクリプトは PR の差分を取得し、すべての指摘を実際のハンクと照合して検証します。差分の範囲外にあるものはスキップし、何も通知されずに失われることがないよう、最後に報告します。変更されておらず、差分に含まれない行に行コメントを付ける方法はありません。
ワークフロー
- JSON のパスと PR 番号を確認します。リポジトリが明らかでない場合は、
gh repo viewを実行します。 - 何が投稿され、何がスキップされるかを確認するため、まずドライランを実行します。
scripts/post_pr_comments.py --pr <N> --json <path> --dry-run - 「Postable」/「Skipped」の件数をユーザーと確認します。差分の移動が原因で行がスキップされた場合は、JSON の行番号が古くなっている可能性があるため、投稿前に調整してください。
- モードを選んで実際に投稿します(以下を参照)。
# Grouped (default): one PR review bundling all comments scripts/post_pr_comments.py --pr <N> --json <path> --event COMMENT # Individual: one separate inline comment per finding scripts/post_pr_comments.py --pr <N> --json <path> --mode individual - 作成されたレビュー/コメントの URL と、スキップされた指摘があればその一覧を報告します。
モードの選択
| モード | エンドポイント | 使用する状況 |
|---|---|---|
grouped(デフォルト) | POST /pulls/{n}/reviews | 複数の指摘を 1 つのレビューとして投稿する場合。通知は 1 件です。--event APPROVE | REQUEST_CHANGES | COMMENT を設定できます。 |
individual | POST /pulls/{n}/comments | 個別のコメントを段階的に追加する場合、または各指摘を個別のスレッド/通知にする場合。 |
ユーザーが判定や個別のスレッドを希望しない限り、--event COMMENT を指定して grouped をデフォルトとして使用します。
オプションのリファレンス
--pr N PR number (required)
--json PATH JSON array of findings (required)
--repo OWNER/REPO Override auto-detected repo
--mode grouped|individual Default: grouped
--event COMMENT|APPROVE|REQUEST_CHANGES Grouped-mode verdict (default COMMENT)
--review-body TEXT Top-level summary body for the grouped review
--commit SHA Commit to anchor to (default: PR head SHA)
--dry-run Validate and print payloads without posting
注意事項
- 複数行範囲のコメント:JSON オブジェクトで
lineとあわせてstart_line(および任意のstart_side)を指定すると、スクリプトがそのまま渡します。 - 見慣れない PR に実際に投稿する前には、必ず
--dry-runを実行してください。行番号が古いことが最もよくある失敗で、ドライランなら副作用なく「skipped」として検出できます。 - スクリプトを確実な方法として使用してください。この用途で
gh apiの呼び出しを手作業で組み立てないでください。差分の検証、リポジトリ/コミットの検出、本文の一貫した組み立てを処理します。
コメント
Markdown 対応