一键导入
copilot-review
Requests code review from GitHub Copilot CLI. Use for getting a second opinion on code changes, reviewing PRs, or analyzing specific files.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Requests code review from GitHub Copilot CLI. Use for getting a second opinion on code changes, reviewing PRs, or analyzing specific files.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | copilot-review |
| description | Requests code review from GitHub Copilot CLI. Use for getting a second opinion on code changes, reviewing PRs, or analyzing specific files. |
| allowed-tools | Bash(copilot *), Bash(git diff *), Bash(git log *), Bash(gh pr diff *), Bash(gh pr view *), Bash(test *) |
GitHub Copilot CLI (copilot) を使ってコードレビューを依頼するスキル。
allowed-tools の用途説明:
Bash(copilot *): Copilot CLI実行Bash(git diff *),Bash(git log *): Git差分・履歴取得Bash(gh pr diff *),Bash(gh pr view *): PR情報取得Bash(test *): ファイル存在・サイズ確認
このスキルを使用するには、以下の環境が必要です:
| 項目 | 要件 |
|---|---|
GitHub CLI (gh) | インストール済み・認証済み |
Copilot CLI (copilot) | インストール済み・PATH設定済み |
| GitHub認証 | gh auth login 完了 |
| 対象リポジトリ権限 | 読み取り権限(PRレビュー時) |
| ネットワーク | GitHub API・Copilot APIへのアクセス可能 |
| パーミッション設定 | ~/.claude/settings.json または各プロジェクトの .claude/settings.json の permissions.allow に Bash(copilot *) と Bash(test *) を含めること(確認ダイアログ抑止のため) |
前提条件の確認方法:
# Copilot CLIの確認
copilot --version
# GitHub認証状態の確認
gh auth status
スキル実行時は、まず以下を明確にすること:
| 種類 | 説明 | 必要な情報 |
|---|---|---|
| 未コミット変更 | ステージ前/後の変更 | なし(現在の状態を使用) |
| 特定ファイル | 指定したファイルの全体 | ファイルパス |
| 特定ディレクトリ | ディレクトリ内のファイル | ディレクトリパス |
| ブランチ差分 | 特定ブランチからの変更 | ベースブランチ名 |
| PR差分 | PRの変更内容 | PR番号、(任意)ベースブランチ名 |
| コミット範囲 | 特定コミット間の差分 | コミット範囲(例:HEAD~3..HEAD) |
重要: ブランチ差分やPRレビュー時は、必ずベースブランチを確認すること。
main を使わない - 実際のプロジェクトでは異なるブランチがベースになることが多いrelease-YYYYMMDD)がベースの場合も多い重要: レビュー指摘は「提案」であり「命令」ではない。
コードレビューを依頼する際は、必ず以下の設定を使用すること:
gpt-5.4(他のモデルを使用してはならない)-s -p(サイレント出力 + 非対話モード)GPT5.4 xhigh は応答に時間がかかるため、Bashツール使用時は timeout: 300000(5分)を指定すること。
応答が返らない場合は timeout: 600000(10分)まで延長可能。
copilot --model gpt-5.4 -s -p "レビュープロンプト"
# Bashツールのtimeoutパラメータに 300000 を指定すること
Claude Code の安全性チェックによる確認ダイアログを回避するため、以下のルールを厳守すること。
禁止パターン一覧:
| 禁止パターン | トリガーされる安全性チェック | 例 |
|---|---|---|
$() コマンド置換 | 「Command contains $() command substitution」 | $(pwd), $(dirname ...), $(cat ...) |
{ } ブレースとクォートの組み合わせ | 「Contains brace with quote character (expansion obfuscation)」 | { echo "..."; exit 1; } |
必須ルール:
--add-dir には親ディレクトリの絶対パスを直接記述する$(cat ...))は使用しない → --add-dir 方式を使用することtest と copilot は必ず別の Bash ツールコールとして実行する — 1つのコマンドに && や || で結合してはならない。{ } ブレース構文も使用しないcopilot コマンドを結合しない — FILE=... && copilot ... のようなパターンは禁止AskUserQuestion で確認| 状況 | アクション |
|---|---|
| ユーザーがベースブランチを明示的に指定 | そのまま実行 |
| PR番号が指定されている | gh pr view でベースブランチを自動取得 |
| ベースブランチ未指定 | AskUserQuestion で確認を促す |
PR情報の自動取得例:
# Step 1: PRのベースブランチを取得
gh pr view 123 --json baseRefName --jq '.baseRefName'
# Step 2: 取得したベースブランチ名をプロンプトに直接記述してレビュー
gh pr diff 123 | copilot --model gpt-5.4 -s -p "PR #123 (ベース: release-20260101) の変更をレビューしてください。"
AskUserQuestion での確認例(ベースブランチ未指定時):
main / develop / release-YYYYMMDD / その他(カスタム入力)タイムアウト設定: 以下の例を実行する際は、Bashツールの
timeoutパラメータに300000(5分)を指定すること。応答が返らない場合は600000(10分)まで延長可能。
# ステージされていない変更をレビュー
git diff | copilot --model gpt-5.4 -s -p "以下の変更をレビューしてください。問題点や改善提案があれば、理由や背景も含めて教えてください。"
# ステージされた変更をレビュー
git diff --cached | copilot --model gpt-5.4 -s -p "以下のステージされた変更をレビューしてください。問題点や改善提案があれば、理由や背景も含めて教えてください。"
# 特定のコミット範囲の差分をレビュー(HEAD~3からHEADまで)
git diff HEAD~3..HEAD | copilot --model gpt-5.4 -s -p "直近3コミットの変更をレビューしてください。問題点や改善提案があれば、理由や背景も含めて教えてください。"
重要: パイプ入力(cat file | copilot)は動作が不安定なため非推奨。--add-dir を使用すること。
# --add-dir で最小スコープのディレクトリアクセスを許可
# パスは絶対パスを直接記述すること($() コマンド置換は使用禁止)
# Step 1: ファイル存在確認
test -s /absolute/path/to/src/main.py
# Step 2: レビュー実行(--add-dir にはファイルの親ディレクトリの絶対パスを指定)
copilot --model gpt-5.4 --add-dir /absolute/path/to/src -s -p "/absolute/path/to/src/main.py をレビューしてください。
【重要な制約】
- レビュー対象は上記で指定されたファイルのみとすること
- 入力が見えない/空の場合は、推測で別のファイルをレビューせず『入力が確認できません』と回答すること
- コンテキスト理解のために他のファイルを参照することは許可
- まず対象ファイル名を復唱してからレビューを開始すること"
注意: ベースブランチは必ず確認すること。main とは限らない。
# ベースブランチを明示的に指定(推奨)
git diff release-20260101...HEAD | copilot --model gpt-5.4 -s -p "release-20260101 からの変更をレビューしてください。"
# PRの場合、まずベースブランチを確認
gh pr view 123 --json baseRefName
# 出力例: {"baseRefName":"release-20260101"}
# PRの差分をレビュー(ベースブランチ情報付き)
gh pr diff 123 | copilot --model gpt-5.4 -s -p "PR #123 (ベース: release-20260101) の変更をレビューしてください。"
# 現在のブランチと指定ベースブランチの差分をレビュー
git diff develop...HEAD | copilot --model gpt-5.4 -s -p "develop ブランチからの変更をレビューしてください。"
重要: パイプ入力(cat file | copilot)は動作が不安定なため非推奨。--add-dir を使用すること。
# --add-dir を最小スコープで使用 + CLIガード + 強化プロンプト
# パスは絶対パスを直接記述すること($() コマンド置換は使用禁止)
# Step 1: ファイル存在確認
test -s /absolute/path/to/implementation_plan.md
# Step 2: レビュー実行
copilot --model gpt-5.4 --add-dir /absolute/path/to -s -p "/absolute/path/to/implementation_plan.md をレビューしてください。抜け漏れや改善点があれば指摘してください。
【重要な制約】
- レビュー対象は上記で指定されたファイルのみとすること
- 入力が見えない/空の場合は、推測で別のファイルをレビューせず『入力が確認できません』と回答すること
- コンテキスト理解のために他のファイルを参照することは許可
- まず対象ファイル名を復唱してからレビューを開始すること"
レビュー依頼時は、以下の要素をプロンプトに含めることを推奨:
基本テンプレート:
git diff | copilot --model gpt-5.4 -s -p "以下の変更をレビューしてください。問題点や改善提案があれば、理由や背景も含めて教えてください。"
特定の観点に焦点を当てたレビューを依頼できます:
git diff | copilot --model gpt-5.4 -s -p "以下の変更をセキュリティ観点でレビューしてください。脆弱性、インジェクション、認証・認可の問題がないか確認してください。"
git diff | copilot --model gpt-5.4 -s -p "以下の変更をパフォーマンス観点でレビューしてください。N+1クエリ、不要なループ、メモリリークの可能性がないか確認してください。"
git diff | copilot --model gpt-5.4 -s -p "以下の変更をアーキテクチャ観点でレビューしてください。SOLID原則、関心の分離、テスタビリティの観点から改善点を指摘してください。"
git diff | copilot --model gpt-5.4 -s -p "以下の変更に対するテストが十分か確認してください。不足しているテストケースやエッジケースがあれば教えてください。"
差分が大きい場合は、範囲を限定してレビューを依頼してください:
# 変更概要を先に確認
git diff --stat
# 特定ファイルのみレビュー
git diff -- src/important-file.java | copilot --model gpt-5.4 -s -p "この変更をレビューしてください。"
# 特定ディレクトリのみレビュー
git diff -- src/service/ | copilot --model gpt-5.4 -s -p "serviceディレクトリの変更をレビューしてください。"
重要: レビュー対象に機密情報が含まれないよう注意してください。
.env ファイル、認証情報、APIキーを含むファイルはレビュー対象から除外git diff -- ':!*.env' ':!*secret*' などでファイルを除外| オプション | 説明 |
|---|---|
--model MODEL | 使用するモデルを指定(レビュー時は gpt-5.4 必須) |
-p "prompt" | 非対話モードでプロンプトを実行(完了後に終了) |
-s | サイレント出力(統計情報なし、スクリプト向け) |
--add-dir DIR | ファイルアクセスを許可するディレクトリを追加 |
--allow-all-paths | 全てのパスへのアクセスを許可 |
警告: cat file | copilot ... 形式のパイプ入力は、Copilot CLIで正しく認識されない場合があります。
推奨される方法:
| 推奨度 | 方法 | 使用例 | 備考 |
|---|---|---|---|
| 推奨 | --add-dir + 最小スコープ | copilot --add-dir /abs/path/to/src -p "/abs/path/to/src/file.py をレビュー" | 最も確実。$() 不使用で確認ダイアログも出ない |
| 禁止 | プロンプト内埋め込み | copilot -p "..." に $(cat ...) で埋め込み | コマンド生成ルールにより禁止。$() で毎回確認ダイアログが出る |
| 非推奨 | パイプ入力 | cat file | copilot -p "..." | 動作不安定 |
防御的プロンプト(推奨): 入力が見えない場合にCopilotが推測で別のファイルをレビューしないよう、以下をセットでプロンプトに含めること:
CLI側でのガード(推奨): モデルに委ねる前に、シェルでファイル存在・サイズを検証:
test -s path/to/file.md
copilot コマンドが見つからない# インストール確認
copilot --version
インストール: 利用している copilot CLI の公式ドキュメントに従ってインストールしてください。パッケージ名は配布元によって異なります。
# GitHub 認証状態を確認
gh auth status
# 再認証
gh auth login
# ディレクトリアクセスを明示的に許可(最小スコープ推奨)
# パスは絶対パスを直接記述すること($() コマンド置換は使用禁止)
copilot --model gpt-5.4 --add-dir /absolute/path/to/src -s -p "/absolute/path/to/src/file.py をレビューしてください。"
# 全パスへのアクセスを許可(注意して使用、非推奨)
copilot --model gpt-5.4 --allow-all-paths -s -p "/absolute/path/to/src/file.py をレビューしてください。"
症状: cat file | copilot ... でファイル内容を渡したが、Copilotが「本文が見えていない」と言ってリポジトリ内を検索し、別のファイルをレビューしてしまう。
原因:
再現条件の確認手順:
# 1. バージョン確認
copilot --version
# 2. stdin仕様の確認
copilot --help | grep -i stdin
# 3. 対象ファイルの存在・サイズ確認
ls -la path/to/file.md
wc -l path/to/file.md
# 4. 実行環境の確認
echo "OS: $(uname -a)"
echo "TTY: $(tty)"
対処法:
推奨: --add-dir を最小スコープで使用($() コマンド置換は使用しないこと)
# Step 1: ファイル存在確認
test -s /absolute/path/to/file.md
# Step 2: レビュー実行(絶対パスを直接記述)
copilot --model gpt-5.4 --add-dir /absolute/path/to -s -p "/absolute/path/to/file.md をレビューしてください。レビュー対象は指定されたファイルのみ。入力が見えない場合は『入力が確認できません』と回答してください。まず対象ファイル名を復唱してから開始してください。"
防御的プロンプト: 以下をセットで含めることを推奨
-p オプションで非対話モードで実行される-s オプションでスクリプトに適した出力形式になる--model gpt-5.4 -s -p を指定することmain をデフォルトで使用しない。ブランチ差分やPRレビュー時は、実際のベースブランチを確認すること
gh pr view <PR番号> --json baseRefName で取得可能AskUserQuestion でユーザーに確認する