copilot について
GitHub Copilot CLI とコーディングエージェントのワークフローを操作するスキルです。PR レビュー、PR 作成につながるタスク委任、リポジトリ指示のセットアップに対応し、重要な操作の前にユーザーの承認を求めます。
主な機能
- 01PRをレビューしCopilot向けコメントを整理
- 02コーディングエージェントへのタスク委任
- 03PR作成まで委任タスクを監視
- 04Copilotのリポジトリ指示を初期設定
- 05コメント投稿や委任の前に承認を要求
活用シーン
- 01PRの指摘をCopilot修正向けに分類
- 02範囲を限定した変更をコーディングエージェントに委任
- 03リポジトリ単位のCopilot指示を初期設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulnsorensen/ skillz-that-grillz --skill copilotインストール後、Claude Code で/copilotを入力して読み込まれたか確認します。
同梱ファイルreferences/setup.md
詳細
copilot
GitHub Copilot CLI とコーディングエージェントを操作します。次の 3 つのモードがあります。
| モード | 呼び出し方 | 目的 |
|---|---|---|
review | /copilot review <pr> | PR をレビューし、インラインコメントで Copilot に修正を依頼します。 |
delegate | /copilot delegate <task> | gh agent-task を作成し、PR が作成されるまで監視します。 |
setup | /copilot setup | .github/copilot-instructions.md などを一度だけ初期設定します。 |
通常の作業では review と delegate を使用します。ユーザーが「copilot setup」、「generate copilot instructions」、または「bootstrap copilot for this repo」と明示した場合に限り、references/setup.md を読み込みます。通常の review/delegate 作業では、これらのモードに関係のないリポジトリ初期設定の内容が約 12 KB 追加されるため、読み込まないでください。
モードの選択
最初の位置引数をモードとして解析します。モードが指定されていない場合は、ハーネスの対話型プロンプト機能を使って、どのモードを使うかユーザーに尋ねます。その機能がない場合は、通常のテキストで尋ね、回答を待ちます。黙ってデフォルトを選んではいけません。各モードの副作用は大きく異なります。
| 最初の引数 | モード |
|---|---|
review(後ろに PR 番号/URL を指定可能) | review |
タスクの説明に続く delegate | delegate |
setup | setup(references/setup.md を読み込む) |
PR の URL のみ(https://github.com/...) | review |
| その他(整数のみ、曖昧、または未指定) | ハーネスのプロンプト機能で質問する |
整数のみの指定は曖昧です。PR 番号、gh agent-task ID、または無関係な入力の可能性があります。review モードだと決めつける前に、必ず確認してください。
モード:review
PR をレビューし、Copilot が対応できる修正をインラインレビューコメントとして投稿します。
フェーズ 1:PR のコンテキストを取得する
PR 番号を特定します。引数が PR URL の場合は、番号を抽出します。整数のみが渡された場合は、それが PR 番号かユーザーに確認します(gh agent-task ID の可能性もあります)。番号が指定されていない場合は gh pr list を実行し、どの PR かを尋ねます。
PR=<number>
gh pr view "$PR" --json title,body,author,baseRefName,headRefName,url,number,additions,deletions,changedFiles
gh pr diff "$PR"
OWNER_REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
gh api "repos/${OWNER_REPO}/pulls/${PR}/files" \
--jq '.[] | {filename, status, additions, deletions, patch}'
続行する前に、簡潔な概要(タイトル、作成者、base ← head、変更ファイル数、追加/削除行数)を提示します。
フェーズ 2:レビューを実行する
ハーネスが提供するコードレビュー用スキル(例:age、code-review など)を呼び出します。フェーズ 3 で優先順位を判定できるよう、レビューでは確信度スコアを付けた指摘を提示する必要があります。レビュー用スキルがない場合は、推測で指摘を作らず、続行する前にユーザーにスキルを指定してもらいます。
フェーズ 3:Copilot 向けの指摘を選別する
各指摘に次のいずれかの対応区分を割り当てます。
COPILOT_FIX— Copilot が対応できる、単純明快な修正(バリデーションの追加、ロジックの修正、不要なコードの削除、ラッパーのインライン化、関数名を言い換えているだけの docstring の削除など)。FUTURE_TASK— より広い背景知識やアーキテクチャ上の判断が必要なもの、または複数ファイルにまたがるリファクタリング。
ファイルごとの表を提示します。
### path/to/file.ts
| # | Score | Line | Category | Issue | Disposition |
|---|-------|------|----------|-----------------------------|-------------|
| 1 | 95 | 42 | BUG | Null check missing | COPILOT_FIX |
| 2 | 80 | 78 | COUPLING | Domain imports HTTP client | FUTURE_TASK |
続いて、各項目のコメント本文をすべて表示します。
COPILOT_FIX の本文:
**[CATEGORY]**: <issue description>
**Why this matters:** <teaching moment — the principle behind the fix>
@copilot fix this
FUTURE_TASK の本文:
**[CATEGORY]**: <issue description>
**Why this matters:** <teaching moment — the principle behind the suggestion>
_Noted for future work — not a Copilot fix._
どのコメントを投稿するか、スキップするか、編集するか、また対応区分を変更するものがあるかをユーザーに尋ねます。明示的な承認なしに投稿してはいけません。
フェーズ 4:レビューを投稿する
レビュー用ペイロードを 1 つ作成して送信します。
cat > /tmp/copilot-review-payload.json <<'JSON'
{
"body": "Automated review — items marked for @copilot are actionable fixes.",
"event": "COMMENT",
"comments": [
{
"path": "path/to/file.ts",
"line": 42,
"side": "RIGHT",
"body": "**BUG**: Null check missing...\n\n@copilot fix this"
}
]
}
JSON
gh api --method POST \
"repos/${OWNER_REPO}/pulls/${PR}/reviews" \
--input /tmp/copilot-review-payload.json
rm -f /tmp/copilot-review-payload.json
投稿件数、COPILOT_FIX 件数、FUTURE_TASK 件数、PR のリンクをまとめて表示します。
review モードのルール
- ユーザーの承認なしに投稿してはいけません。
- 業務上の観点から記述し、「この関数はデータを処理する」といった表現は避けます。
- 1 つの問題につきコメントは 1 件にします。繰り返しの場合は「同じパターンが X、Y、Z 行にもあります」と記載します。
- コードベースの慣習を尊重し、既存の一貫したパターンを指摘しないでください。
- レビューの判断はすべてレビュー用サブスキルに任せます。このモードは PR の取得と Copilot 向けの書式設定のみを担当します。
モード:delegate
gh agent-task を作成し、Copilot コーディングエージェントが PR を作成するまでポーリングします。その後、必要に応じて review モードに引き継ぎます。
Copilot モデルの制約
コーディングエージェントはモデルの自動選択で実行されます。CLI には --model
フラグがありません。タスクの説明を最適化してください。
- 明確かつ具体的に記述します。期待する動作を詳しく書きます。
- 対象を絞り込みます。委任するタスクは一度に 1 つにします。
- ファイルとシンボルを明記します。「
src/auth/login.tsのvalidateTokenは…」 - 受け入れ条件を示します。「メールアドレスが空の場合は 400、不正な形式の場合は 422 を返す。」
- 制約を含めます。既存のパターン(例:
AppError)を参照します。 - 理由は省きます。コーディングエージェントに必要なのは、動機ではなく何をどこで行うかです。
ユーザーにタスクを確認する際(フェーズ 1 のステップ 3)、説明がこれらの基準を満たしているか確認します。曖昧または不十分な場合は、具体的な改善案を提案します。
フェーズ 1:エージェントのタスクを作成する
- タスクの説明が渡されていない場合は、何を委任するかユーザーに尋ねます。
- リポジトリのコンテキストを取得します:
gh repo view --json nameWithOwner --jq '.nameWithOwner'。 - 作成前にユーザーに確認します:タスクの説明と対象リポジトリを示し、デフォルト以外のベースブランチが必要か尋ねます。
- タスクを作成します:
gh agent-task create "<task description>"。 gh agent-task list --limit 1でタスクの参照情報を取得します。タブ区切りの行(description \t #PR \t repo \t status \t timestamp)を解析し、PR 番号とステータスを取り出します。- ユーザーに確認します:タスクの説明、PR 番号、ステータス、リンク(
https://github.com/<repo>/pull/<number>)。
フェーズ 2:完了まで監視する
90 秒ごとにポーリングし、タイムアウトは最大 15 分です。
sleep 90
gh agent-task list --limit 5
取得した PR 番号に一致する行を見つけます。ステータスに応じて処理します。
- In progress / Working — 経過時間を含むステータス更新を 1 行で表示します。監視を続けます。
- Ready for review / Completed — ループを抜けてフェーズ 3 に進みます。
- Failed / Error —
gh agent-task view <PR#>で詳細を表示し、停止します。
15 分でタイムアウトした場合は、タスクがまだ実行中であることと PR リンクをユーザーに伝え、さらに 10 分待つか、停止して後で確認するかを尋ねます。
フェーズ 3:PR をレビューする
完了の概要(PR 番号、リンク、最終ステータス、経過時間)を表示し、「PR #N で /copilot review を実行しますか?」と尋ねます。「はい」の場合は、PR 番号を指定してこのスキルをレビュー モードで呼び出します。「いいえ」の場合は、リンクを表示して終了します。
委任モードのルール
- 作成前に必ず確認します。ユーザーはタスクとリポジトリを承認する必要があります。
- ポーリングの更新は最小限にします。確認ごとに 1 行だけ表示します。
- エラーが発生したら直ちに停止します。
gh agent-task createが失敗した場合は、エラーを表示して停止します。 - PR 番号を推測してはいけません。必ず
gh agent-task listの出力を解析します。
モード:setup
setup は、.github/copilot-instructions.md と、言語・役割ごとのファイルを .github/instructions/ に書き込む、1 回限りの初期設定です。
レビューや委任を行わず、指示ファイルの作成または監査のみ(.github/copilot-instructions.md や .github/instructions/*.instructions.md の追加・改善)を行う場合は、代わりに /github-copilot-repo-instructions を使用します。この setup モードは、何もない状態から初期設定を行う場合に使用します。
ユーザーが明示的に「copilot setup」、「generate copilot instructions」、または「bootstrap copilot for this repo」と言った場合に限り、references/setup.md を参照してください。ここには、プロジェクトの種類の判定、ツールの検出、上書きの確認、全体指示のテンプレート、コードレビュー指示のテンプレート、言語ごとのひな形、コーディングエージェントへの指示を含む、手順全体が記載されています。読み込むと約 12 KB のコンテキストを消費するため、通常の review / delegate 作業には関係ありません。
このスキルが行わないこと
- コードのコミット、
git pushの実行、PR の作成は行いません。これらは/plateの役割です。 - PR のマージは行いません。これは
/ghの役割です。 - 独自にコードレビューを生成しません。
reviewモードでは、環境が提供するレビュー用スキル(例:age、code-review)に委任します。 setup中に.github/の外にあるファイルを変更しません。- ユーザーの明示的な承認なしに、レビューコメントを投稿しません。