mcpField
C
copilot

copilot

github.com/paulnsorensenエージェントワークフロー157 回インストール今日更新
リポジトリ

copilot について

GitHub Copilot CLI とコーディングエージェントのワークフローを操作するスキルです。PR レビュー、PR 作成につながるタスク委任、リポジトリ指示のセットアップに対応し、重要な操作の前にユーザーの承認を求めます。

主な機能

  1. 01PRをレビューしCopilot向けコメントを整理
  2. 02コーディングエージェントへのタスク委任
  3. 03PR作成まで委任タスクを監視
  4. 04Copilotのリポジトリ指示を初期設定
  5. 05コメント投稿や委任の前に承認を要求

活用シーン

  1. 01PRの指摘をCopilot修正向けに分類
  2. 02範囲を限定した変更をコーディングエージェントに委任
  3. 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
タスクの説明に続く delegatedelegate
setupsetup(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:エージェントのタスクを作成する
  1. タスクの説明が渡されていない場合は、何を委任するかユーザーに尋ねます。
  2. リポジトリのコンテキストを取得します:gh repo view --json nameWithOwner --jq '.nameWithOwner'。
  3. 作成前にユーザーに確認します:タスクの説明と対象リポジトリを示し、デフォルト以外のベースブランチが必要か尋ねます。
  4. タスクを作成します:gh agent-task create "<task description>"。
  5. gh agent-task list --limit 1 でタスクの参照情報を取得します。タブ区切りの行(description \t #PR \t repo \t status \t timestamp)を解析し、PR 番号とステータスを取り出します。
  6. ユーザーに確認します:タスクの説明、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/ の外にあるファイルを変更しません。
  • ユーザーの明示的な承認なしに、レビューコメントを投稿しません。

コメント