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

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

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

## CLI コマンド

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

| 命令                                             | 説明                                                                                                    |
| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `copilot plugin install SPECIFICATION`         | プラグインをインストールします。 以下[のコマンドについては、プラグインの仕様`install`](#plugin-specification-for-install-command)参照してください。 |
| `copilot plugin uninstall NAME`                | プラグインを削除する                                                                                            |
| `copilot plugin list`                          | インストールされているプラグインを一覧表示する                                                                               |
| `copilot plugin update NAME`                   | プラグインを更新する                                                                                            |
| `copilot plugin marketplace add SPECIFICATION` | マーケットプレースを登録する                                                                                        |
| `copilot plugin marketplace list`              | 登録されているマーケットプレースを一覧表示する                                                                               |
| `copilot plugin marketplace browse NAME`       | Marketplace プラグインを参照する                                                                                |
| `copilot plugin marketplace remove NAME`       | マーケットプレースの登録を解除する                                                                                     |

### `install` コマンドのプラグイン仕様

| フォーマット                        | 例                            | 説明                    |
| ----------------------------- | ---------------------------- | --------------------- |
| Marketplace                   | `plugin@marketplace`         | 登録済みマーケットプレースからのプラグイン |
| GitHub                        | `OWNER/REPO`                 |                       |
| GitHub リポジトリのルート              |                              |                       |
| GitHub  サブディレクトリ              | `OWNER/REPO:PATH/TO/PLUGIN`  | リポジトリ内のサブディレクトリ       |
| Git URL                       | `https://github.com/o/r.git` | 任意の Git URL           |
| ローカル パス                       |                              |                       |
| `./my-plugin` または `/abs/path` | ローカル ディレクトリ                  |                       |

## `plugin.json`

すべてのプラグインは、少なくともプラグインディレクトリのルートにある `plugin.json` という名前のマニフェストファイルを含むプラグインディレクトリで構成されています。 「[用のプラグインを作成する GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating)」を参照してください。

### 必須フィールド

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

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

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

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

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

| フィールド        | タイプ                 | デフォルト     | 説明                                               |
| ------------ | ------------------- | --------- | ------------------------------------------------ |
| `agents`     | string \| string\[] | `agents/` | エージェント ディレクトリ (`.agent.md` ファイル) へのパス。           |
| `skills`     | string \| string\[] | `skills/` | スキル ディレクトリ (`SKILL.md` ファイル) へのパス。               |
| `commands`   | string \| string\[] | —         | コマンド ディレクトリへのパス。                                 |
| `hooks`      | string \| オブジェクト    | —         | hooks 構成ファイルまたはインライン フック オブジェクトへのパス。             |
| `mcpServers` | string \| オブジェクト    | —         | MCP 構成ファイル (例: `.mcp.json`)、またはインライン サーバー定義へのパス。 |
| `lspServers` | string \| オブジェクト    | —         | LSP 構成ファイルまたはインライン サーバー定義へのパス。                   |

### `plugin.json` ファイルの例

```json copy
{
  "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`

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

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

> \[!NOTE]
> Copilot CLI (コパイロット CLI) は、`marketplace.json` ディレクトリ内の`.claude-plugin/` ファイルも検索します。

詳細については、「[用のプラグイン マーケットプレースを作成する GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace)」を参照してください。

### `marketplace.json` ファイルの例

```json copy
{
  "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"
    }
  ]
}
```

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

### `marketplace.json` フィールド

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

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

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

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

## ファイルの場所

| 品目                                                                                                                                           | Path                                                                                                               |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| インストールされているプラグイン                                                                                                                             |                                                                                                                    |
| `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME` (Marketplace 経由でインストール)、 `~/.copilot/installed-plugins/_direct/SOURCE-ID/` (直接インストール) |                                                                                                                    |
| Marketplace キャッシュ                                                                                                                            | プラットフォーム キャッシュ ディレクトリ: `~/.cache/copilot/marketplaces/` (Linux)、 `~/Library/Caches/copilot/marketplaces/` (macOS)。 |
| `COPILOT_CACHE_HOME`でオーバーライドできます。                                                                                                            |                                                                                                                    |
| プラグイン マニフェスト                                                                                                                                 |                                                                                                                    |
| `.plugin/plugin.json`、 `plugin.json`、 `.github/plugin/plugin.json`、または `.claude-plugin/plugin.json` (この順序でオン)                                |                                                                                                                    |
| Marketplace マニフェスト                                                                                                                           |                                                                                                                    |
| `marketplace.json`、 `.plugin/marketplace.json`、 `.github/plugin/marketplace.json`、または `.claude-plugin/marketplace.json` (この順序でオン)            |                                                                                                                    |
| エージェント                                                                                                                                       |                                                                                                                    |
| `agents/` (既定、マニフェストでオーバーライド可能)                                                                                                              |                                                                                                                    |
| スキル                                                                                                                                          |                                                                                                                    |
| `skills/` (既定、マニフェストでオーバーライド可能)                                                                                                              |                                                                                                                    |
| フックの構成                                                                                                                                       |                                                                                                                    |
| `hooks.json` または `hooks/hooks.json`                                                                                                          |                                                                                                                    |
| MCP の構成                                                                                                                                      |                                                                                                                    |
| `.mcp.json`、`.github/mcp.json`                                                                                                               |                                                                                                                    |
| LSP 構成                                                                                                                                       |                                                                                                                    |
| `lsp.json` または `.github/lsp.json`                                                                                                            |                                                                                                                    |

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

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

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

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

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

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

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

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

```text
┌──────────────────────────────────────────────────────────────────┐
│  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. <project>/.claude/agents/    (project)                          │
  │  5. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  6. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  7. 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. ~/.agents/skills/                (personal-agents)              │
  │  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. PLUGIN: MCP configs              (plugins)                      │
  │  3. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘
```

## 詳細については、次を参照してください。

* [GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli)
* [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference)
* [GitHub Copilot CLI プログラムリファレンス](/ja/copilot/reference/copilot-cli-reference/cli-programmatic-reference)