概要
Agent Skillsは、GitHub Copilotに特定のタスクを実行するための専門知識と指示を提供する機能である。
Agent Skillsは、2025年12月18日に発表された新機能であり、Copilot coding agent、Copilot CLI、VS Code agent modeで動作する。
スキルは、指示、スクリプト、リソースを含むフォルダで構成されており、プロンプトに関連する場合に自動的にロードされる。
Agent Skillsの主な特徴を以下に示す。
| 特徴 | 説明 |
|---|---|
| プログレッシブローディング | プロンプトに基づいて関連するスキルのみを自動的にロード |
| 自動アクティベーション | 手動選択不要で、プロンプトから自動判断 |
| SKILL.mdファイル形式 | YAMLフロントマター + Markdownボディ |
| スクリプトとリソース | scripts/、templates/、references/、assets/フォルダを使用可能 |
| Claude Code互換性 | .claude/skills/ディレクトリも自動検出 |
| プロジェクトと個人スキル | プロジェクト固有と個人グローバルの両方をサポート |
Agent Skillsを使用することにより、以下に示すメリットが得られる。
- 一貫性の向上
- 特定のタスクに対する標準的な手順を定義
- 効率の向上
- 繰り返し使用する指示を再利用可能
- チーム間の統一
- チーム全体で同じスキルとベストプラクティスを共有
- コンテキストの最適化
- 必要なスキルのみがロードされるためトークン効率が向上
対応環境とプラン
対応環境
Agent Skillsは、複数の開発環境で利用可能である。
| 開発環境 | 対応状況 | 備考 |
|---|---|---|
| VS Code | Insiders版対応 | 安定版 (1.108以降、experimental) |
| Copilot CLI | 対応 | コマンドラインツール |
| Copilot coding agent | 対応 | GitHub Copilot agent mode |
| JetBrains IDE | ☓ | IntelliJ IDEA、PyCharm、WebStorm等 |
| Eclipse | ☓ | 将来対応予定 |
| Xcode | ☓ | 将来対応予定 |
プラン要件
Agent Skillsを使用するには、以下に示すいずれかのプランが必要である。
- GitHub Copilot Pro
- GitHub Copilot Pro+
- GitHub Copilot Business
- GitHub Copilot Enterprise
VS Codeでの有効化
VS Codeでは、設定の有効化が必要である。
- [Ctrl] + [Shift] + [P]キー (Windows / Linux) または [Cmd] + [Shift] + [P]キー (MacOS) で Command Paletteを開く。
- Preferences: Open Settings (JSON) を検索して実行する。
- 以下の設定を追加する。
{ "chat.useAgentSkills": true }
Agent Skillsは、現在プレビュー段階である。
ディレクトリ構成
GitHub Copilotのカスタマイズ機能は、複数のファイルとディレクトリで構成される。
Agent Skillsは、その一部として位置付けられる。
包括的なディレクトリ構成を以下に示す。
project/ ├── .github/ │ ├── copilot-instructions.md # リポジトリ全体の基本指示 │ │ # (コーディング規約、プロジェクト概要等) │ │ │ ├── instructions/ # パス固有の指示ファイル │ │ ├── frontend.instructions.md # applyTo: "src/frontend/**/*.ts,**/*.tsx" │ │ ├── backend.instructions.md # applyTo: "src/backend/**/*.ts" │ │ ├── api.instructions.md # applyTo: "src/api/**/*.ts" │ │ ├── python.instructions.md # applyTo: "**/*.py" │ │ ├── testing.instructions.md # applyTo: "**/tests/**/*,**/*.test.*" │ │ └── security.instructions.md # applyTo: "**/*.ts,**/*.py" │ │ # excludeAgent: "coding-agent" │ │ │ ├── agents/ # カスタムエージェント定義 │ │ ├── docs-agent.md # ドキュメント執筆専門 │ │ ├── test-agent.md # テスト専門 │ │ ├── security-agent.md # セキュリティレビュー専門 │ │ └── refactor-agent.md # リファクタリング専門 │ │ │ └── skills/ # Agent Skills ← 本ページの主題 │ ├── code-review/ # コードレビュースキル │ │ ├── SKILL.md │ │ └── scripts/ │ ├── testing/ # テストスキル │ │ ├── SKILL.md │ │ └── templates/ │ └── documentation/ # ドキュメント生成スキル │ ├── SKILL.md │ └── references/ │ ├── AGENTS.md # プロジェクト全体のエージェント指示 │ # (ビルドコマンド、テスト手順、境界設定等) │ ├── src/ │ ├── frontend/ │ │ ├── AGENTS.md # フロントエンド固有のエージェント指示 │ │ └── components/ │ │ │ ├── backend/ │ │ ├── AGENTS.md # バックエンド固有のエージェント指示 │ │ └── services/ │ │ │ └── api/ │ ├── AGENTS.md # API固有のエージェント指示 │ └── routes/ │ ├── docs/ │ └── AGENTS.md # ドキュメント用のエージェント指示 │ └── README.md
関連ページリンク表
各ファイルとディレクトリの詳細説明は、以下に示すページを参照のこと。
| ファイル/ディレクトリ | 説明 | 詳細ページ |
|---|---|---|
| copilot-instructions.md | リポジトリ全体のカスタム指示 | GitHub Copilotの設定 - カスタム指示 |
| instructions/*.instructions.md | パス固有のカスタム指示 | GitHub Copilotの設定 - パス固有カスタム指示 |
| agents/*.md | カスタムエージェント定義 | GitHub Copilotの設定 - サブエージェント |
| AGENTS.md | エージェント向け指示 | GitHub Copilotの設定 - AGENTS.md |
| skills/*/SKILL.md | Agent Skills | 本ページ |
スキルの保存場所
Agent Skillsは、プロジェクト固有のスキルと個人のグローバルスキルの両方をサポートする。
プロジェクトスキル
プロジェクト固有のスキルは、以下に示すディレクトリに保存する。
| ディレクトリ | 説明 |
|---|---|
| .github/skills/ | 推奨ディレクトリ (GitHub Copilot標準) |
| .claude/skills/ | 後方互換ディレクトリ (Claude Code互換) |
.claude/skills/ディレクトリは、GitHub Copilotによって自動的に検出される。
これにより、Claude Codeのスキルをそのまま使用できる。
個人スキル
個人のグローバルスキルは、以下に示すディレクトリに保存する。
| ディレクトリ | 説明 |
|---|---|
| ~/.copilot/skills/ | 推奨ディレクトリ (GitHub Copilot標準) |
| ~/.claude/skills/ | 後方互換ディレクトリ (Claude Code互換) |
個人スキルは、全てのプロジェクトで使用可能である。
SKILL.mdの記述方法
基本構造
SKILL.mdファイルは、YAMLフロントマター + Markdownボディの形式で記述する。
基本的な構造を以下に示す。
---
name: skill-name # 必須: 小文字、ハイフン区切り
description: スキルの説明 # 必須: 何をするか、いつ使用するか
license: LICENSE.txt # オプション: ライセンス情報
---
# スキル名
[Copilotが従う指示をここに記述]
## 使用例
- 使用例1
- 使用例2
## ガイドライン
- ガイドライン1
- ガイドライン2
YAMLフロントマターの必須フィールド
YAMLフロントマターには、以下に示すフィールドが必須である。
| フィールド | 説明 | 例 |
|---|---|---|
| name | スキルの識別子 (小文字、ハイフン区切り) | code-review |
| description | スキルの説明 (何をするか、いつ使用するか) | Performs code reviews focusing on best practices, security, and performance. Use when asked to review code, check for issues, or improve code quality. |
YAMLフロントマターのオプションフィールド
YAMLフロントマターには、以下に示すオプションフィールドを使用できる。
| フィールド | 説明 | 例 |
|---|---|---|
| license | ライセンス情報ファイルへのパス | LICENSE.txt |
命名規則
スキル名 (nameフィールド) は、以下に示すルールに従う必要がある。
- 小文字のみ使用可能
- 大文字は使用不可
- ハイフンで単語を区切る
- アンダースコアは使用不可
- 数字を含めることも可能
- 例: terraform2
- ハイフンで始めることはできない
- 例: -pdf は無効
- 連続ハイフンは使用不可
- 例: pdf--processing は無効
有効な名前の例を以下に示す。
- pdf-processing
- data-analysis
- code-review
- terraform2
無効な名前の例を以下に示す。
- PDF-Processing (大文字不可)
- -pdf (ハイフンで始まる)
- pdf--processing (連続ハイフン)
スキルのファイル構成
Agent Skillsのディレクトリは、以下に示す構造を持つ。
.github/skills/<スキル名>/ ├── SKILL.md # 必須 : メイン指示ファイル ├── LICENSE.txt # 推奨 : ライセンス条項 ├── scripts/ # オプション : 実行可能な自動化スクリプト ├── references/ # オプション : ドキュメント参照資料 ├── assets/ # オプション : そのまま使用される静的ファイル └── templates/ # オプション : 変更して使用するスターターコード
各ディレクトリの役割
| ファイル/ディレクトリ | 必須 | 説明 |
|---|---|---|
| SKILL.md | 必須 | メイン指示ファイル (YAMLフロントマター + Markdownボディ) |
| LICENSE.txt | 推奨 | ライセンス条項 (オープンソースの場合) |
| scripts/ | オプション | 実行可能な自動化スクリプト (Bash、Python等) |
| references/ | オプション | ドキュメント参照資料 (Markdown、テキスト等) |
| assets/ | オプション | そのまま使用される静的ファイル (画像、設定ファイル等) |
| templates/ | オプション | 変更して使用するスターターコード (テンプレートファイル) |
scripts/ディレクトリ
scripts/ディレクトリには、スキルが実行する自動化スクリプトを配置する。
- 配置可能なスクリプト
- Bash、Python、Node.js、Ruby等
- 実行権限
- スクリプトには実行権限を付与する必要がある。
- SKILL.mdからの参照
- スキルの指示内でスクリプトの実行方法を記述する。
references/ディレクトリ
references/ディレクトリには、スキルが参照するドキュメントを配置する。
- 配置可能なファイル
- Markdown、テキストファイル、設定例等
- 使用目的
- スキルの詳細説明、API仕様、設定例等
assets/ディレクトリ
assets/ディレクトリには、そのまま使用される静的ファイルを配置する。
- 配置可能なファイル
- 画像、設定ファイル、データファイル等
- 使用目的
- スキルが生成するコードで使用する静的リソース
templates/ディレクトリ
templates/ディレクトリには、変更して使用するスターターコードを配置する。
- 配置可能なファイル
- コードテンプレート、設定テンプレート等
- 使用目的
- スキルがコード生成する場合のベース
VS Codeでの使用方法
スキルの作成手順
VS CodeでAgent Skillsを作成する手順を以下に示す。
- プロジェクトルートに .github/skills/ ディレクトリを作成する。
- スキル名のディレクトリを作成する。
- 例: .github/skills/code-review/
- SKILL.md ファイルを作成する。
- YAMLフロントマターを記述する。
nameとdescriptionは必須
- Markdownボディに指示を記述する。
- 必要に応じて、scripts/、references/、assets/、templates/ ディレクトリを作成する。
スキルの使用
作成したスキルは、GitHub Copilot Chatで自動的に使用される。
- GitHub Copilot Chatを開く。
- [Ctrl] + [Alt] + [I]キー (Windows / Linux) または [Command] + [Control] + [I]キー (MacOS)
- スキルに関連するプロンプトを入力する。
- 例: このコードをレビューして
- Copilotがスキルを自動的に検出してロードする。
- スキルの指示に従って応答が生成される。
手動選択は不要である。
Copilotは、descriptionフィールドの内容に基づいて、関連するスキルを自動的に判断する。
記述例
基本的な例
最小限の構成でAgent Skillsを作成する例を以下に示す。
---
name: code-review
description: Performs code reviews focusing on best practices, security, and performance. Use when asked to review code, check for issues, or improve code quality.
---
# Code Review Skill
Review code for the following aspects:
## Security
- Check for SQL injection vulnerabilities
- Validate input sanitization
- Review authentication and authorization
## Performance
- Identify N+1 queries
- Check for unnecessary computations
- Review memory usage patterns
## Best Practices
- Ensure proper error handling
- Check naming conventions
- Verify test coverage
スクリプトを含む例
scripts/ディレクトリを使用したAgent Skillsの例を以下に示す。
---
name: test-runner
description: Runs and analyzes test results. Use when asked to run tests, check test coverage, or debug failing tests.
---
# Test Runner Skill
## Running Tests
Execute tests using the script in `scripts/run-tests.sh`.
## Analyzing Results
1. Check for failing tests
2. Identify flaky tests
3. Report coverage metrics
## Scripts Available
- `scripts/run-tests.sh`: Runs all tests
- `scripts/coverage.sh`: Generates coverage report
scripts/run-tests.sh の例を以下に示す。
#!/usr/bin/env sh
# Run all tests
npm test
# Generate coverage report
npm run test:coverage
詳細な例
references/ディレクトリとtemplates/ディレクトリを使用した詳細な例を以下に示す。
---
name: api-documentation
description: Generates API documentation from code. Use when asked to document APIs, create OpenAPI specs, or generate API reference pages.
license: LICENSE.txt
---
# API Documentation Skill
Generate comprehensive API documentation from code.
## Documentation Standards
- Follow OpenAPI 3.0 specification
- Include examples for all endpoints
- Document error responses
- Provide authentication details
## Templates
Use templates from `templates/openapi-template.yaml` as a starting point.
## References
See `references/api-best-practices.md` for detailed guidelines.
動作の仕組み
Agent Skillsは、プログレッシブローディングと自動アクティベーションにより動作する。
プログレッシブローディング
プログレッシブローディングの仕組みを以下に示す。
- Copilotは、スキルのメタデータ (YAMLフロントマター) のみを最初に読み込む。
- SKILL.mdファイルの
nameとdescriptionのみを読み込む。
- SKILL.mdファイルの
- プロンプトに基づいて関連するスキルを判断する。
descriptionフィールドの内容とプロンプトを比較する。
- 関連するスキルのみが完全にロードされる。
- SKILL.mdファイルの全体と、scripts/、references/、assets/、templates/ディレクトリがロードされる。
- スキルの指示に従って処理を実行する。
- Markdownボディの指示に従ってコード生成やレビューを実行する。
このメカニズムにより、トークン効率が向上する。
全てのスキルをロードするのではなく、関連するスキルのみをロードすることで、コンテキストウインドウを節約できる。
自動アクティベーション
自動アクティベーションの仕組みを以下に示す。
- 手動選択は不要
- スキルを明示的に指定する必要はない。
- descriptionフィールドに基づく判断
- Copilotは、
descriptionフィールドの内容からスキルの用途を理解する。
- Copilotは、
- プロンプトとの関連性を分析
- ユーザのプロンプトとスキルの
descriptionを比較して、関連性を判断する。
- ユーザのプロンプトとスキルの
動作例を以下に示す。
- プロンプト
- このコードをレビューして
- 関連するスキル
- name: code-review、description: Performs code reviews...
- 自動ロード
- code-reviewスキルが自動的にロードされる
Claude Codeとの比較
Agent Skillsは、Claude CodeのSkills機能と高い互換性を持つ。
基本情報の比較
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| 発表日 | 2025年12月18日 | 2025年10月 |
| 機能名 | Agent Skills | Skills |
| ファイル名 | SKILL.md | SKILL.md |
保存場所の比較
| 種類 | GitHub Copilot | Claude Code |
|---|---|---|
| プロジェクト (推奨) | .github/skills/ | .claude/skills/ |
| プロジェクト (互換) | .claude/skills/ | - |
| 個人 (推奨) | ~/.copilot/skills/ | ~/.config/claude/skills/ |
| 個人 (互換) | ~/.claude/skills/ | ~/.claude/skills/ |
GitHub Copilotは、.claude/skills/ディレクトリを自動的に検出する。
Claude Codeのスキルをそのまま使用できる。
逆方向の互換性 (GitHub Copilot -> Claude Code) は保証されない。
Claude Codeは、.github/skills/ディレクトリを検出しない。
YAMLフロントマターの比較
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| 必須フィールド | name description |
name description |
| オプション | license | disable-model-invocation allowed-tools model |
| 推奨サイズ | - | 5,000語以内 |
呼び出し方法の比較
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| 自動呼び出し | あり (プロンプトに基づく) | あり (descriptionに基づく) |
| 手動呼び出し | なし | スラッシュコマンド : /<スキル名> |
| 自動呼び出し無効化 | - | disable-model-invocation: true |
GitHub Copilotは、手動呼び出し (スラッシュコマンド) に対応していない。
スキルは常に自動アクティベーションされる。
Claude Codeは、手動呼び出し (スラッシュコマンド) に対応している。
disable-model-invocation: true を設定することにより、自動呼び出しを無効化できる。
対応環境の比較
| 環境 | GitHub Copilot | Claude Code |
|---|---|---|
| VS Code | 安定版 (1.108以降)、experimental機能 設定で有効化が必要 |
対応 |
| CLI | Copilot CLI | Claude Code CLI |
| JetBrains IDE | ☓ | ☓ |
共通点
| 項目 |
|---|
| SKILL.mdファイル形式 |
| YAMLフロントマター + Markdownボディ |
| プログレッシブローディング |
| scripts/, templates/, references/, assets/フォルダ構造 |
相違点
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| 手動呼び出し | 非対応 | 対応 (スラッシュコマンド) |
| コンテキスト予算管理 | - | デフォルト15,000文字 |
| ツール許可設定 | - | allowed-tools |
推奨される方法
効果的なAgent Skillsを作成するための推奨される方法を以下に示す。
具体的なdescriptionを記述
descriptionフィールドには、具体的な説明を記述する。
- 何をするか
- スキルが実行する具体的なタスクを記述する
- いつ使用するか
- どのような場合にスキルが使用されるかを明確にする
- 抽象的な説明を避ける
- 一般的な説明ではなく、具体的な用途を記述する
推奨例を以下に示す。
- 推奨
Performs code reviews focusing on best practices, security, and performance. Use when asked to review code, check for issues, or improve code quality.
- 非推奨
A code review tool.
WHEN + WHEN NOTパターン
descriptionフィールドには、使用すべき場合と使用すべきでない場合を明記する。
記述例を以下に示す。
---
name: sql-migration
description: Generates SQL migration scripts for database schema changes. WHEN: Use when asked to create migrations, alter tables, or add columns. WHEN NOT: Do not use for data queries or data analysis tasks.
---
このパターンにより、スキルの適用範囲が明確になる。
1つのタスクに集中
スキルは、1つの特定のタスクに特化させる。
- 汎用的なスキルを避ける
- 複数のタスクを1つのスキルにまとめない
- 専門性を高める
- 特定のタスクに対する詳細な指示を記述する
- スキルを分割する
- 複数のタスクが必要な場合は、複数のスキルに分割する
推奨例を以下に示す。
- 推奨
- code-review、test-generation、api-documentation の3つのスキル
- 非推奨
- development-tools という汎用的な1つのスキル
実際の例を含める
SKILL.mdファイルには、実際のコード例や使用例を含める。
- 抽象的な説明を避ける
- 具体的な例を記載する。
- コード例を含める
- 生成されるコードの例を記載する。
- 使用例を含める
- どのようなプロンプトで使用されるかを記載する。
記述例を以下に示す。
# Test Generation Skill
Generate unit tests for the given code.
## Example
For a function:
```typescript
function add(a: number, b: number): number {
return a + b;
}
```
Generate a test:
```typescript
describe('add', () => {
it('should return sum of two numbers', () => {
expect(add(2, 3)).toBe(5);
});
});
```
サイズを抑える
SKILL.mdファイルは、簡潔に記述する。
- SKILL.mdは簡潔に書く
- 主要な指示のみを記載する。
- 詳細はreferences/ディレクトリに配置
- 詳細な説明や仕様はreferences/ディレクトリに配置する。
- コンテキストウインドウを節約
- トークン効率を重視する。
推奨される構成を以下に示す。
.github/skills/api-documentation/
├── SKILL.md # 簡潔な指示 (1000語以内)
├── references/
│ ├── openapi-spec.md # 詳細な仕様
│ └── examples.md # 詳細な例
└── templates/
└── openapi-template.yaml
コミュニティリソース
Agent Skillsのコミュニティリソースを以下に示す。
| リソース | 説明 | URL |
|---|---|---|
| github/awesome-copilot | GitHubコミュニティのスキル、エージェント、指示のコレクション | https://github.com/github/awesome-copilot |
| anthropics/skills | Anthropic公式のスキルリポジトリ (Claude Code互換) | https://github.com/anthropics/skills |
| microsoft/agent-skills | Microsoft公式のスキルリポジトリ | https://github.com/microsoft/agent-skills |
これらのリポジトリから、既存のスキルを参照したり、再利用したりすることができる。
参考リンク
- GitHub Changelog - GitHub Copilot now supports Agent Skills
- VS Code - Use Agent Skills in VS Code
- GitHub Docs - About Agent Skills
- github/awesome-copilot