Skip to main content

GitHub Copilot CLI プラグイン リファレンス

CLI プラグインのコマンドと構成の詳細を確認します。

メモ

ターミナルで copilot plugin [SUBCOMMAND] --help を入力すると、プラグインの使用に関するヘルプが表示されます。

CLI コマンド

ターミナルで次のコマンドを使用して、Copilot CLI のプラグインを管理できます。

CommandDescription
copilot plugin install SPECIFICATIONプラグインをインストールします。 以下のコマンドについては、プラグインの仕様参照してください。
copilot plugin uninstall NAMEプラグインを削除する
copilot plugin listインストールされているプラグインを一覧表示する
copilot plugin update NAMEプラグインを更新する
copilot plugin update --allインストールされているすべてのプラグインを更新する
copilot plugin disable NAMEプラグインをアンインストールせずに一時的に無効にする
copilot plugin enable NAME無効になっているプラグインを再度有効にする
copilot plugin marketplace add SPECIFICATIONマーケットプレースを登録する
copilot plugin marketplace list登録されているマーケットプレースを一覧表示する
copilot plugin marketplace browse NAMEMarketplace プラグインを参照する
copilot plugin marketplace remove NAMEマーケットプレースの登録を解除する

コマンドのプラグイン仕様

FormatDescription
Marketplaceplugin@marketplace登録済みマーケットプレースからのプラグイン
GitHubOWNER/REPOGitHub リポジトリのルート
GitHub サブディレクトリOWNER/REPO:PATH/TO/PLUGINリポジトリ内のサブディレクトリ
Git URLhttps://github.com/o/r.git任意の Git URL
ローカル パスまたはローカル ディレクトリ

plugin.json

すべてのプラグインは、少なくともプラグインディレクトリのルートにある という名前のマニフェストファイルを含むプラグインディレクトリで構成されています。 「AUTOTITLE」を参照してください。

必須フィールド

フィールドタイプDescription
name文字列Kebab-case プラグイン名 (文字、数字、ハイフンのみ)。 最大 64 文字。

省略可能なメタデータ フィールド

フィールドタイプDescription
description文字列簡単な説明。 最大 1024 文字。
version文字列セマンティック バージョン (例: )。
authorオブジェクト(必須)、 (省略可能)、 (省略可能)。
homepage文字列プラグインのホームページ URL。
repository文字列ソース リポジトリの URL。
license文字列ライセンス識別子 (例: )。
keywordsstring[]キーワードを検索します。
category文字列プラグイン カテゴリ。
tagsstring[]その他のタグ。

コンポーネント パス フィールド

これらは、プラグインのコンポーネントを見つける場所を CLI に指示します。 すべて省略可能です。 省略した場合、CLI では既定の規則が使用されます。

フィールドタイプ既定値Description
agentsstring string[]agents/エージェント ディレクトリ ( ファイル) へのパス。
skillsstring string[]skills/スキル ディレクトリ ( ファイル) へのパス。
commandsstring string[]コマンド ディレクトリへのパス。
hooksstring オブジェクトhooks 構成ファイルまたはインライン フック オブジェクトへのパス。
mcpServersstring オブジェクトMCP 構成ファイル (例: )、またはインライン サーバー定義へのパス。
lspServersstring オブジェクトLSP 構成ファイルまたはインライン サーバー定義へのパス。

ファイルの例

JSON
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"],
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}

marketplace.json

ファイルを作成してリポジトリの ディレクトリに保存すると、人々がプラグインを発見してインストールするのに利用できるプラグインマーケットプレースを作成できます。 ファイルをローカル ファイル システムに格納することもできます。 たとえば、ファイルを として保存すると、次のコマンドを使用して CLI に追加できます。

copilot plugin marketplace add /PATH/TO/my-marketplace

メモ

Copilot CLI は、marketplace.json ディレクトリ内の.claude-plugin/ ファイルも検索します。

詳しくは、「AUTOTITLE」をご覧ください。

ファイルの例

JSON
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "plugins@example.com"
  },
  "metadata": {
    "description": "Curated plugins for our team",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "frontend-design",
      "description": "Create a professional-looking GUI ...",
      "version": "2.1.0",
      "source": "./plugins/frontend-design"
    },
    {
      "name": "security-checks",
      "description": "Check for potential security vulnerabilities ...",
      "version": "1.3.0",
      "source": "./plugins/security-checks"
    }
  ]
}

メモ

各プラグインの source フィールドの値は、リポジトリのルートを基準としたプラグインのディレクトリへのパスです。 パスの先頭で ./ を使用する必要はありません。 たとえば、"./plugins/plugin-name""plugins/plugin-name" は同じディレクトリに解決されます。

フィールド

最上位レベルのフィールド

フィールドタイプ必須Description
name文字列イエスKebab-case のマーケットプレース名。 最大 64 文字。
ownerオブジェクトイエス— マーケットプレースの所有者情報。
pluginsアレイイエスプラグイン エントリの一覧 (下の表を参照)。
metadataオブジェクトいいえ{ description?, version?, pluginRoot? }

プラグインエントリフィールド( 配列内のオブジェクト)

フィールドタイプ必須Description
name文字列イエスKebab-case プラグイン名。 最大 64 文字。
sourcestring オブジェクトイエスプラグインをフェッチする場所 (相対パス、GitHub、または URL)。
description文字列いいえプラグインの説明。 最大 1024 文字。
version文字列いいえプラグインのバージョン。
authorオブジェクトいいえ{ name, email?, url? }
homepage文字列いいえプラグインのホームページ URL。
repository文字列いいえソース リポジトリの URL。
license文字列いいえライセンス識別子。
keywordsstring[]いいえキーワードを検索します。
category文字列いいえプラグイン カテゴリ。
tagsstring[]いいえその他のタグ。
commandsstring string[]いいえコマンド ディレクトリへのパス。
agentsstring string[]いいえエージェント ディレクトリへのパス(複数可)。
skillsstring string[]いいえスキル ディレクトリへのパス。
hooksstring オブジェクトいいえフック構成またはインラインフックオブジェクトへのパス。
mcpServersstring オブジェクトいいえMCP 構成またはインライン サーバー定義へのパス。
lspServersstring オブジェクトいいえLSP 構成またはインライン サーバー定義へのパス。
strictブーリアンいいえ(既定) の場合、プラグインは完全なスキーマと検証規則に準拠している必要があります。 場合は、緩やかな検証が使用されるため、特に直接インストールやレガシ プラグインの場合は柔軟性が向上します。

ファイルの場所

Item経路
インストールされているプラグイン(Marketplace 経由でインストール)、 (直接インストール)
Marketplace キャッシュ~/.copilot/state/marketplace-cache/
プラグイン マニフェスト、 、または
Marketplace マニフェストまたは
Agents(既定、マニフェストでオーバーライド可能)
Skills(既定、マニフェストでオーバーライド可能)
Hooks の設定または
MCP 設定または
LSP 構成または

読み込みの順序と優先順位

複数のプラグインをインストールすると、一部のカスタム エージェント、スキル、MCP サーバー、または MCP サーバー経由で提供されるツールの名前が重複している可能性があります。 この状況では、優先順位に基づいて、使用するコンポーネントが CLI によって決定されます。

  • エージェントとスキルでは、最初に見つかったものが優先されます。

    インストールするプラグインと同じ名前または ID を持つプロジェクト レベルのカスタム エージェントまたはスキルがある場合、プラグインのエージェントまたはスキルは自動的に無視されます。 プラグインは、プロジェクト レベルまたは個人用の構成をオーバーライドできません。 カスタム エージェントは、ファイル名から派生した ID を使用して重複除去されます (たとえば、ファイル名が の場合、エージェント ID は )。 スキルは、 ファイル内の名前フィールドによって重複除去されます。

  • MCP サーバー では、最終優先優先順位が使用されます。

    既にインストールした MCP サーバーと同じサーバー名を持つ MCP サーバーを定義するプラグインをインストールすると、プラグインの定義が優先されます。 コマンドライン オプションを使用すると、プラグインを使用してインストールされた同じ名前の MCP サーバー構成をオーバーライドできます。

  • 組み込みのツールとエージェント は常に存在し、ユーザー定義コンポーネントによってオーバーライドすることはできません。

次の図は、読み込みの順序と優先順位の規則を示しています。

┌──────────────────────────────────────────────────────────────────┐
│  BUILT-IN - HARDCODED, ALWAYS PRESENT                            │
│  • tools: bash, view, apply_patch, glob, rg, task, ...           │
│  • agents: explore, task, code-review, general-purpose, research │
└────────────────────────┬─────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │
  │  1. ~/.copilot/agents/           (user, .github convention)         │
  │  2. <project>/.github/agents/    (project)                          │
  │  3. <parents>/.github/agents/    (inherited, monorepo)              │
  │  4. ~/.claude/agents/            (user, .claude convention)         │
  │  5. <project>/.claude/agents/    (project)                          │
  │  6. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  7. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  8. Remote org/enterprise agents (remote, via API)                  │
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │
  │  1. <project>/.github/skills/        (project)                      │
  │  2. <project>/.agents/skills/        (project)                      │
  │  3. <project>/.claude/skills/        (project)                      │
  │  4. <parents>/.github/skills/ etc.   (inherited)                    │
  │  5. ~/.copilot/skills/               (personal-copilot)             │
  │  6. ~/.claude/skills/                (personal-claude)              │
  │  7. PLUGIN: skills/ dirs             (plugin)                       │
  │  8. COPILOT_SKILLS_DIRS env + config (custom)                       │
  │  --- then commands (.claude/commands/), skills override commands ---│
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │
  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │
  │  2. .vscode/mcp.json                 (workspace)                    │
  │  3. PLUGIN: MCP configs              (plugins)                      │
  │  4. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘