はじめに
GitHubが2026年6月9日、GitHub Copilot CLIに「カスタムエージェント」機能を導入する方法を解説するブログ記事を公開しました。本稿では、カスタムエージェントの仕組みと定義方法、セキュリティ監査・IaC準拠チェック・リリースノート作成・インシデント対応といった実践的なワークフロー例について解説します。
参考記事
- タイトル: From one-off prompts to workflows: How to use custom agents in GitHub Copilot CLI
- 著者: Jacklyn Carroll
- 発行元: GitHub Blog
- 発行日: 2026年6月9日
- URL: https://github.blog/ai-and-ml/github-copilot/from-one-off-prompts-to-workflows-how-to-use-custom-agents-in-github-copilot-cli/
関連記事



要点
- カスタムエージェントはMarkdownファイル(エージェントプロファイル)で定義し、リポジトリの .github/agents/ ディレクトリに配置することで、チーム全体で共有・バージョン管理できる
- エージェントプロファイルにはYAMLフロントマターでモデル・使用ツール・ロールを指定し、以降のMarkdown本文で動作ルールと出力フォーマットを記述する
- セキュリティ監査・IaC準拠チェック・リリースドキュメント作成・インシデント対応など、繰り返しが多いターミナル作業をカスタムエージェントで標準化できる
- GitHub提供のパートナー製エージェント(JFrog、Dynatrace、Octopus Deployなど)を起点にし、自チーム向けにカスタマイズするアプローチも有効である
- カスタムエージェントはCLIで実行した作業をIDEやGitHubのPRレビューまで一貫したコンテキストで引き継げる
詳細解説
カスタムエージェントとは何か
GitHub Copilot CLIは、コマンド生成・デバッグ・スクリプト実行など、ターミナル上での作業を効率化するツールです。Copilot CLIのインタラクティブモードと非インタラクティブモードの使い分けについては過去記事でも解説していますが、今回の「カスタムエージェント」機能はさらに一歩進んで、チームのルール・ツール・標準を「エージェントプロファイル」として定義し、再利用可能なワークフローに仕上げる仕組みです。
GitHubによれば、カスタムエージェントはMarkdownファイルとして定義されます。汎用的なCopilotが「コードをクリーンにする方法」を提案するのに対し、カスタムエージェントはチームのフォーマットルール・アクセシビリティ基準・レビュー要件を毎回一貫して適用できます。エージェントプロファイルはリポジトリ内のファイルであるため、レビュー・更新・共有がコードと同じ方法で行えるのが大きな特長です。
エージェントプロファイルの構造
エージェントプロファイルは .github/agents/ ディレクトリに配置し、ファイル名は accessibility.agent.md のように .agent.md で終わらせます。ファイルの構成はYAMLフロントマター(設定部)とMarkdown本文(指示部)の2段構えです。
以下はウェブアクセシビリティ専門エージェントのプロファイル冒頭の例です(参考記事のサンプルコードをもとにしています)。
---
description: 'Expert assistant for web accessibility (WCAG 2.1/2.2), inclusive UX, and a11y testing'
name: 'Accessibility Expert'
model: GPT-4.1
tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch',
'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems',
'runCommands', 'runTasks', 'runTests', 'search', 'searchResults',
'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']
---description はエージェントの説明文、name は表示名、model は使用するAIモデル、tools はエージェントが呼び出せるツールの一覧です。フロントマターの下に続くMarkdown本文では、エージェントのロール定義・専門知識・動作ルール・出力フォーマットを自由に記述します。
使い始め方
カスタムエージェントを利用するには、まずGitHub Copilot CLIのインストールが必要です。
- GitHub Copilot CLIのインストール手順に従ってセットアップします。
- ターミナルでCopilot CLIを起動し、/agent スラッシュコマンドを使用して利用するカスタムエージェントを選択します。
- 対象リポジトリの .github/agents/ ディレクトリにエージェントプロファイル(.agent.md ファイル)を作成します。
注意: .github/agents/ ディレクトリが存在しない場合は手動で作成する必要があります。
実践的なワークフロー例
GitHubは参考記事の中で4種類のカスタムエージェントのサンプルプロファイルを公開しています。
① セキュリティ監査エージェント(security-audit.md)
gitleaks(シークレットスキャン)、trivy(コンテナスキャン)、semgrep(SAST静的解析)などのツールを組み合わせ、重大度(Critical/High/Medium/Low)別にまとめたPRチェックリスト形式のレポートを出力します。ツールの指定例は以下の通りです。
tools:
- gh
- git
- semgrep
- trivy
- gitleaks
- jqシークレットや脆弱なペイロードを出力に含めないよう、エージェントの指示に「機密情報はリダクション(–redact)すること」が明記されている点が実用上のポイントです。
② IaC準拠チェックエージェント(iac-compliance.md)
TerraformプランやKubernetesマニフェストをOPA(Open Policy Agent、ポリシーエンジン)・conftest・kubeconformで検証し、リスクをHigh/Medium/Lowに分類してレビュー承認用のMarkdownサマリーを生成します。「パブリックアクセス可能なリソースの禁止」「IAMポリシーのワイルドカード禁止」「コンテナへのprivileged設定禁止」など、組織ガーレールをエージェント定義に直接書き込める仕組みです。
③ リリースドキュメントエージェント(release-docs.md)
gh(GitHub CLI)と git を使い、前回リリース以降にマージされたPRを収集・カテゴリ分類して、チームスタイルに沿ったリリースノートを起草します。CHANGELOG.md の更新内容と、テスト・マイグレーション・ロールアウト/ロールバック手順を含むリリースチェックリストを同時に出力します。
④ インシデント対応エージェント(incident-response.md)
サービス名と時間帯を入力すると、デプロイ履歴・エラーレート・上位エンドポイント・関連ログを「ファーストルック」として収集し、チームのインシデントレポートテンプレートに沿った文書と次のアクションを生成します。不明な情報には「Unknown (data unavailable)」と明示し、必要なデータを列挙する設計になっており、不確実性を曖昧にしない姿勢が一定の信頼性につながると考えられます。
パートナー製エージェントとカスタムエージェントの使い分け
GitHubはJFrog・Dynatrace・Octopus Deploy・Armなどのパートナーと連携したオフザシェルフ(すぐに使える)エージェントも提供しています。GitHubによれば、パートナー製エージェントはツール固有の知識があらかじめ組み込まれており、ゼロから設計する手間なしに即座に価値を得やすいとされています。
一方で、チーム独自の命名規則・レビュー基準・内部ツールが絡む場合はカスタムエージェントが適します。記事ではこの判断をシンプルに整理しており、「スピードとツール固有のベストプラクティスにはオフザシェルフ、精度・継続性・制御が必要な場合はカスタム」という基準が示されています。多くのチームはパートナー製エージェントを出発点として、自チーム向けにカスタムエージェントを育てていくアプローチを取るようです。
まとめ
GitHub Copilot CLIのカスタムエージェント機能は、チームが繰り返す作業をMarkdownファイルで標準化し、CLIからIDEを経てGitHubのPRレビューまで一貫したワークフローとして管理できる仕組みです。まずは週次で繰り返しているタスクをひとつ選び、小さなエージェントとして定義することから始めてみる価値があると思います。Copilot CLIの基本的な使い方については、入門記事でも整理していますので、あわせてご参照ください。
