xscode-reviewer

star 130

複数のAI(Claude/Codex/Gemini)でPRをレビューするスキル。GitHub PRの差分を取得し、各AIの視点を統合した詳細レビューを提供。「PRレビューして」「コードレビューして」「PR#123をチェック」で使用。

karaage0703 By karaage0703 schedule Updated 3/3/2026

name: xs:code-reviewer description: 複数のAI(Claude/Codex/Gemini)でPRをレビューするスキル。GitHub PRの差分を取得し、各AIの視点を統合した詳細レビューを提供。「PRレビューして」「コードレビューして」「PR#123をチェック」で使用。

プルリクエスト自動コードレビュー

概要

GitHub CLIを使用してプルリクエストを自動分析し、体系的なコードレビューを実行するスキル。PRテンプレートの観点に基づいて高品質なレビューコメントを効率的に提供する。

マルチエージェント機能: Codex CLI / Gemini CLI が利用可能な場合、作成したレビューコメントの妥当性を検証してもらい、より高品質で正確なレビューを実現します。

使用方法

PR#123をレビューしてください
owner/repo の PR#123 をレビューして

適用場面

  • プルリクエストの体系的なコードレビューが必要な場合
  • GitHub上で直接コメントを投稿したい場合
  • 複数ファイルにわたる変更を効率的にレビューしたい場合
  • チーム内でのレビュー品質を統一したい場合

重要:必ず最後までやること

チャットへの報告だけで終わらせない。必ずGitHubにコメントを投稿すること。

レビュー完了の定義(この順序で実行!)

  1. GitHubにコードの該当行へ個別コメントを投稿した ← 最優先!
    • gh api repos/.../pulls/.../comments を使う
    • 変更された各ファイルの該当行にコメント
  2. GitHubにサマリーを投稿した
    • gh pr review --comment を使う
  3. ユーザーに完了報告した

個別コメントなしでサマリーだけ投稿するのはNG!


マルチエージェントレビューフロー

Codex CLI / Gemini CLI が利用可能な場合、以下のフローでレビューを実行:

1. PR分析(Claude)
   ↓
2. レビューコメントドラフト作成(Claude)
   ↓
3. 並列検証(Codex: 設計/アーキテクチャ、Gemini: セキュリティ/品質)
   ↓
4. フィードバック統合(Claude)
   ↓
5. GitHubにコードの該当行へ個別コメント投稿(Claude)← 必須!
   ↓
6. GitHubにサマリー投稿(Claude)← 必須!

レビュー手順

1. PR情報の確認

まず以下のコマンドでPRの基本情報を収集:

# PRテンプレートの確認(レビュー観点の把握)
cat .github/pull_request_template.md

# PR詳細情報の確認
gh pr view <PR番号> --json title,body,headRefOid,baseRefName,headRefName,files,additions,deletions

# PR差分の全体確認
gh pr diff <PR番号>

# 変更されたファイル一覧
gh pr diff <PR番号> --name-only

2. ファイル別詳細分析

各変更ファイルについて以下を実行:

# 変更後のファイル全体の確認
cat <ファイルパス>

# 特定ファイルの差分詳細
gh pr diff <PR番号> -- <ファイルパス>

3. レビュー観点の適用

PRテンプレート(.github/pull_request_template.md)に記載された観点、または以下の標準観点でレビュー:

  • 機能性: 実装が要件を満たしているか
  • 可読性: コードが理解しやすいか、命名は適切か
  • 保守性: 将来の変更に対して柔軟性があるか
  • パフォーマンス: 効率的な実装になっているか
  • セキュリティ: セキュリティリスクはないか
  • テスト: 適切なテストが含まれているか
  • ドキュメント: 必要な文書化がされているか

4. レビュー内容のドラフト作成

問題を発見した箇所について、まずレビューコメントをドラフトとして準備:

重要度の判定基準:

  • 【必須】: セキュリティ、バグ、データ損失リスクなど即座の修正が必要
  • 【推奨】: パフォーマンス、保守性、可読性の大幅な改善が見込める
  • 【提案】: より良い実装方法の提案、将来的な改善案

5. マルチエージェント検証

レビューコメントを投稿する前に、Codex/Gemini で妥当性を検証します。

並列実行コマンド

# Codex(設計・アーキテクチャ観点)
codex exec "以下のコードレビューコメントの妥当性を検証してください:

【対象ファイル】<ファイルパス>
【変更内容】<該当する差分>
【レビューコメント案】<作成したレビューコメント>

【確認観点】
1. 指摘内容は技術的に正確か
2. 重要度の判定は適切か
3. 改善提案は実装可能で効果的か
4. 設計・アーキテクチャ上の追加指摘はないか

検証結果を回答してください:
- ✅ 妥当性: 高/中/低
- 📝 改善提案: (あれば)
- ⚠️ 追加指摘: (あれば)"

# Gemini(セキュリティ・品質観点)
gemini -p "以下のコードレビューコメントの妥当性を検証してください:

【対象ファイル】<ファイルパス>
【変更内容】<該当する差分>
【レビューコメント案】<作成したレビューコメント>

【確認観点】
1. セキュリティ上の見落としはないか
2. パフォーマンス上の問題はないか
3. ベストプラクティスに沿っているか

検証結果を回答してください:
- ✅ 妥当性: 高/中/低
- 📝 改善提案: (あれば)
- ⚠️ 追加指摘: (あれば)"

フィードバック活用:

  • 妥当性が「低」: レビューコメントを修正または削除
  • 改善提案がある場合: コメント内容をブラッシュアップ
  • 追加指摘がある場合: 新たなレビューコメントとして追加
  • 技術的誤りの指摘: 必ず実装を再確認し、正確なレビューに修正

6. コードの該当行への個別コメント投稿(必須!最優先!)

この手順を絶対にスキップしない!サマリーより先にこれをやる!

検証を経て、変更されたコードの該当行に以下のコマンドでコメント投稿:

# 最新コミットIDの取得
COMMIT_ID=$(gh pr view <PR番号> --json headRefOid --jq .headRefOid)

# レビューコメントの投稿
gh api repos/<owner>/<repo>/pulls/<PR番号>/comments \
  -F body="【<重要度>】<問題の説明>

<改善提案>

<補足説明(必要に応じて)>

---
🤖 **Reviewed by Claude Code**
✅ **Validated by Codex/Gemini**" \
  -F commit_id="$COMMIT_ID" \
  -F path="<ファイルパス>" \
  -F position=<diff行番号>

パラメータの説明:

  • position: diffの行番号(新規ファイルの場合は1から開始)
  • commit_id: PRの最新のコミットIDを自動取得
  • 重要度: 【必須】【推奨】【提案】のいずれか

7. サマリーレビューの投稿(必須!)

注意: 個別コメント投稿後、必ず総括コメントも投稿すること。

全ファイルのレビュー完了後、総括コメントを投稿:

gh pr review <PR番号> --comment --body="## レビューサマリー

### 全体評価
- 変更ファイル数: <数>
- 重要な問題: <数>件
- 推奨改善: <数>件

### 主な指摘事項
1. [重要] <主要な問題1>
2. [推奨] <改善提案1>

### 良い点
- <評価できるポイント1>
- <評価できるポイント2>

### 次のステップ
<修正後の確認方法や追加で必要な作業>

---
🤖 **Reviewed by Claude Code**
✅ **Validated by Codex/Gemini**"

8. 完了報告

GitHubへの投稿完了後、ユーザーに報告:

✅ レビュー完了!

- GitHub個別コメント: 投稿済み
- GitHubサマリー: 投稿済み
- PR URL: https://github.com/<owner>/<repo>/pull/<PR番号>

チェックリスト(実行時に必ず確認)

レビュー完了前に以下を確認:

  • PR情報を取得したか
  • 差分を確認したか
  • Codex/Geminiで検証したか(利用可能な場合)
  • GitHubにコードの該当行へ個別コメントを投稿したか ← 最重要!先にやる!
  • GitHubにサマリーを投稿したか ← 個別コメントの後!
  • ユーザーに完了報告したか

全てにチェックが入るまでレビューは完了ではない。

自己チェック

サマリーを投稿する前に自問する:

「コードの該当行に gh api repos/.../pulls/.../comments で個別コメントを投稿したか?」

NO なら先に個別コメントを投稿!


レビューコメントの原則

コメントの構成

  1. 重要度ラベル: 【必須】【推奨】【提案】
  2. 問題の説明: 何が問題かを具体的に記述
  3. 改善提案: 具体的な修正方法を提示
  4. 補足説明: 必要に応じて理由や影響を説明

良いコメント例

【必須】SQLインジェクション脆弱性

ユーザー入力をそのままSQL文に埋め込んでいるため、SQLインジェクション攻撃を受ける可能性があります。

改善提案:
// 現在
query = "SELECT * FROM users WHERE id = " + userId;

// 推奨
query = "SELECT * FROM users WHERE id = ?";
stmt = connection.prepareStatement(query);
stmt.setInt(1, userId);

プリペアドステートメントを使用することで安全にクエリを実行できます。

---
🤖 **Reviewed by Claude Code**
✅ **Validated by Codex**

避けるべきコメント

  • 「良くない」「微妙」などの曖昧な表現
  • 個人的な好みに基づく指摘
  • 修正方法を提示しない批判のみのコメント
  • 攻撃的・否定的な表現

注意事項

  • GitHub CLI(gh)がインストール・認証済みであることを確認
  • PRテンプレートが存在しない場合は、標準的なレビュー観点を適用
  • 大量の変更がある場合は、重要度の高い問題から優先的にコメント
  • 建設的で具体的なフィードバックを心がける
  • 初学者でも分かるように、専門用語には補足を入れ、丁寧にコメントする
  • Codex/Geminiによる検証を経たコメントには ✅ Validated by Codex/Gemini を署名に追加すること
  • Codex/Geminiが利用できない場合は、Claude単独でレビューを実施

回答待ちルール

  • codex execgemini -p並列実行する
  • 両方の完了を待ってから結果統合
  • タイムアウト: 120秒
  • 片方が失敗しても、得られた結果で報告する
Install via CLI
npx skills add https://github.com/karaage0703/ai-assistant-workspace --skill xscode-reviewer
Repository Details
star Stars 130
call_split Forks 13
navigation Branch main
article Path SKILL.md
More from Creator