プラグインは関連するカスタマイズをパッケージ化するので、それぞれを個別に設定する代わりに、それらを一緒にインストールして管理することができます。 たとえば、テスト プラグインでは、テストを実行するためのスキル、コード レビュー用のエージェント、テスト レポート サービス用の MCP サーバーを組み合わせることができます。
プラグインを使用できる場所
プラグインは、次の Copilot サーフェスで使用できます。
- Visual Studio Code。 [チャット] サイド パネルまたは [エージェント] ウィンドウの [カスタマイズ] からプラグインを参照してインストールします。 VS Code プラグインの形式の詳細については、 エージェント プラグインの作成に関するリファレンスを参照してください。
- GitHub Copilot CLI。 登録済みのマーケットプレースからプラグインを参照してインストールします。
- GitHub Copilot app。 カスタマイズからプラグインを参照してインストールできます。
- Copilot in the cloud。 リポジトリ設定からプラグインを設定します。
プラグインには、特定のサーフェスでのみ機能するコンポーネントを含めることができます。 プラグインが使用しているサーフェスに対応していることを確認します。 たとえば、このカテゴリで説明されている LSP サーバー構成は、Copilot CLI 向けです。 詳細については、「プラグインとマーケットプレースのリファレンス」を参照してください。
プラグインに含まれるもの
プラグインは、これらのコンポーネントの一部またはすべてをパッケージ化できます。 使用可能なコンポーネントとその場所は、プラグインの形式とサーフェスによって異なります。
- カスタム エージェント — 特殊化された AI アシスタント (
*.agent.md内のファイルagents/) - Skills — タスク固有の命令、スクリプト、およびリソース (
SKILL.md内のスキル サブディレクトリで、skills/ファイルを含む) - フック — エージェント アクションに応答するイベント ハンドラー(プラグイン ルートまたは
hooks.json内のhooks/ファイル) - 拡張機能 — ツールやスラッシュ コマンド���どの機能を追加するSurface固有のコード
- MCP サーバー構成 — モデル コンテキスト プロトコル統合 (エージェント プラグイン 1.0 のルート
mcp.json) - LSP サーバー構成 — サポートされているサーフェスでの言語サーバー プロトコルの統合
プラグインの形式
エージェント プラグインは、互換性のあるサーフェス間でプラグイン マニフェスト、スキル、および MCP サーバー構成を共有するための形式です。 エージェント プラグイン 1.0 プラグインは、 plugin.jsonで正規スキーマを宣言します。そのスキーマとコンポーネントの場所は、すべてのサーフェスで同じ方法でサポートされているわけではありません。
Copilot CLI また、従来の Copilot プラグイン形式もサポートしています。 CLI では、エージェント プラグイン スキーマを含まないマニフェストでは、このレガシ形式が使用されます。
互換性のあるサーフェス間でスキルと MCP サーバーを共有する場合は、エージェント プラグインを選択します。 構成可能なコンポーネント パスが必要な場合、または既存のCopilot固有のプラグインを維持している場合は、従来の CLI 形式を使用します。
新しいプラグインの場合は、構成可能なコンポーネント パスが必要な場合を除き、エージェント プラグイン 1.0 を使用します。 従来の形式は、主に既存のレガシ プラグインに使用します。
プラグインの構造
プラグインは、特定の構造と plugin.json マニフェスト ファイルを持つディレクトリです。 エージェント プラグイン 1.0 では、プラグイン のルートにあるマニフェストが必要です。 従来のプラグインでは、追加のマニフェストの場所がサポートされています。 マニフェストはプラグインに名前とメタデータを提供します。 形式によっては、コンポーネントを指すこともできます。 マニフェストと共に、ディレクトリにはエージェント、スキル、フック、MCP サーバー構成、LSP サーバー構成を含めることができます。
エージェント プラグイン 1.0 の構造
エージェント プラグイン 1.0 では、スキルと MCP サーバーが標準の場所に格納されるため、互換性のあるクライアントはそれらを検出できます。 エージェント、フック、コマンド、LSP サーバーなど、その他のコンポーネントはクライアント固有です。
Copilot は、 com.github.copilot ディレクトリからこれらのコンポーネントを読み取ります。 他のクライアントはこのディレクトリを無視するため、同じプラグインで共有スキルと MCP サーバーを Copilot固有のコンポーネントと組み合わせることができます。
エージェント プラグイン 1.0 ディレクトリは次のようになります。
my-plugin/
├── plugin.json # Required manifest
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── mcp.json # MCP server config (optional)
└── com.github.copilot/ # Copilot components (optional)
├── agents/
│ └── helper.agent.md
├── commands/
├── rules/
├── hooks/
│ └── hooks.json
└── lsp.json
マニフェストには、エージェント プラグイン 1.0 $schemaが含まれている必要があります。 サポートされている最上位レベルのマニフェスト フィールド、名前の要件、コンポーネントの場所については、「 エージェント プラグイン 1.0 マニフェスト フィールド」を参照してください。
従来のプラグイン構造
従来の Copilot プラグイン ディレクトリは次のようになります。
my-plugin/
├── plugin.json # Required manifest
├── agents/ # Custom agents (optional)
│ └── helper.agent.md
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── hooks.json # Hook configuration (optional)
├── .mcp.json # MCP server config (optional)
└── lsp.json # LSP server config (optional)
マニフェストに含めることができるフィールドの完全なセットについては、 GitHub Copilot CLI プラグイン リファレンス を参照してください。 プラグインの作成に関する詳細なガイダンスについては、 用のプラグインを作成する GitHub Copilot CLI を参照してください。
プラグインを使用する理由
プラグインには、次の利点があります。
- プロジェクト間の再利用性
- リポジトリ間での共有 Copilot 構成
- ドメインの専門知識を共有する (Rails エキスパートや Kubernetes エキスパートのスキルを提供するなど)
- 複雑な MCP サーバーセットアップをカプセル化する
プラグインの入手元
Visual Studio Code、Copilot CLI、GitHub Copilot appの組み込みマーケットプレースはawesome-copilot。 プラグインを利用できるようにするには、他のマーケットプレースを追加する必要があります。
マーケットプレースを追加すると、そのマーケットプレースのプラグインを参照できるようになります。 それによってインストールや有効化は行われません。 プラグインの識別子は、プラグイン名とマーケットプレース名を組み合わせたものです: PLUGIN-NAME@MARKETPLACE-NAME マーケットプレース名は、リポジトリ名ではなく、name ファイル内の marketplace.json フィールドから取得されます。
プラグインが有効かどうかを決める要素
プラグインは、使用可能、インストール済み、または有効にできます。 マーケットプレースを追加すると、そのマーケットプレースのプラグインを参照できるようになります。 プラグインをインストールすると、サーフェスに追加され、有効にすると、そのサーフェス上のセッションでそのコンポーネントが使用できるようになります。 共有構成では、既定を設定するか、プラグインを有効にするかどうかを強制できます。
| 構成元 | Effect | メンバーはプラグインをオフにできますか? |
|---|---|---|
| エンタープライズ管理設定 | サポートされている各サーフェスでプラグインを要求またはブロックします。 | No. 管理ポリシーが常に優先されます。 |
| エンタープライズ チームが管理する設定 | エンタープライズ ベースライン上に重ねたエンタープライズ チーム ファイルの enabledPlugins を使用して、必要なプラグインを追加します。 | No. これらのエントリはポリシーによって管理されています。 |
| リポジトリの既定値 | リポジトリで作業するすべてのユーザーに対してプラグインを有効にします。 | はい。サーフェスがローカル オーバーライドをサポートしている場合です。 |
リポジトリの既定値では、プラグインは必須ではありません。 管理ポリシーによって有効化がブロックされているプラグインを有効にしたり、ポリシーで許可されていないマーケットプレースを使用したりすることはできません。 既定では、マネージド設定でオプションのプラグインを有効にすることはできません。 プラグインを必要とするか、ブロックするだけです。
エンタープライズ チームのファイルは、エンタープライズ ベースラインにマネージド enabledPlugins エントリを追加します。 メンバーは、必要なプラグインをオフにできません。 「エンタープライズ チームのエンタープライズ管理設定のオーバーライド」を参照してください。
リポジトリの既定値では、 .github/copilot/settings.jsonが使用されます。 構成とサーフェス固有のローカルオーバーライドについては、 GitHub Copilot CLI の構成ディレクトリ を参照してください。
エンタープライズ管理者は、必要またはブロックする追加のマーケットプレースとプラグインを指定できます。 「エンタープライズ管理設定を使用したプラグインマーケットプレースとプラグインの管理」を参照してください。
プラグイン マーケットプレースのしくみ
プラグイン マーケットプレースは、参照してインストールできるプラグインのレジストリです。 マーケットプレースは、 GitHub.com上のリポジトリ、別の Git ホスト、またはローカル ディレクトリでホストできます。 マーケットプレースのプラグインはバージョン管理されているため、マーケットプレースではプラグインを見つけること、インストール、更新が容易になります。
マーケットプレースは、マーケットプレースに関するメタデータを提供し、そのプラグインを一覧表示する marketplace.json ファイルによって定義されます。
プラグインを使用したり、GitHub リポジトリでマーケットプレースを公開したりするための対象サーフェスごと��手順については、「参考資料」を参照してください。
プラグインと手動構成の比較
プラグインを使用して追加できる機能は、カスタム エージェント プロファイルや MCP サーバーを追加するなどして、 Copilot を手動で構成して追加することもできます。 ただし、プラグインは手動構成よりもいくつかの利点を提供します。
| Feature | リポジトリ内の手動構成 | プラグイン |
|---|---|---|
| Scope | 単一リポジトリ | 任意のプロジェクト |
| 共有 | 手動コピー/貼り付け | コマンドまたは enabledPlugins エントリをインストールする |
| Versioning | Git 履歴 | マーケットプレイスバージョン |
| 発見 | リポジトリの検索 | マーケットプレイスの閲覧 |