GitHub Copilotの設定 - Agent Skills

提供: MochiuWiki : SUSE, EC, PCB

概要

Agent Skillsは、GitHub Copilotに特定のタスクを実行するための専門知識と指示を提供する機能である。

Agent Skillsは、2025年12月18日に発表された新機能であり、Copilot coding agent、Copilot CLI、VS Code agent modeで動作する。
スキルは、指示、スクリプト、リソースを含むフォルダで構成されており、プロンプトに関連する場合に自動的にロードされる。

Agent Skillsの主な特徴を以下に示す。

Agent Skillsの主な特徴
特徴 説明
プログレッシブローディング プロンプトに基づいて関連するスキルのみを自動的にロード
自動アクティベーション 手動選択不要で、プロンプトから自動判断
SKILL.mdファイル形式 YAMLフロントマター + Markdownボディ
スクリプトとリソース scripts/、templates/、references/、assets/フォルダを使用可能
Claude Code互換性 .claude/skills/ディレクトリも自動検出
プロジェクトと個人スキル プロジェクト固有と個人グローバルの両方をサポート


Agent 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では、設定の有効化が必要である。

  1. [Ctrl] + [Shift] + [P]キー (Windows / Linux) または [Cmd] + [Shift] + [P]キー (MacOS) で Command Paletteを開く。
  2. Preferences: Open Settings (JSON) を検索して実行する。
  3. 以下の設定を追加する。
     {
       "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


関連ページリンク表

各ファイルとディレクトリの詳細説明は、以下に示すページを参照のこと。

GitHub Copilotカスタマイズ機能の関連ページ
ファイル/ディレクトリ 説明 詳細ページ
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フロントマターには、以下に示すフィールドが必須である。

SKILL.md 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フロントマターには、以下に示すオプションフィールドを使用できる。

SKILL.md 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/         # オプション : 変更して使用するスターターコード


各ディレクトリの役割

Agent Skillsディレクトリ構成
ファイル/ディレクトリ 必須 説明
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を作成する手順を以下に示す。

  1. プロジェクトルートに .github/skills/ ディレクトリを作成する。
  2. スキル名のディレクトリを作成する。
    例: .github/skills/code-review/
  3. SKILL.md ファイルを作成する。
  4. YAMLフロントマターを記述する。
    namedescription は必須
  5. Markdownボディに指示を記述する。
  6. 必要に応じて、scripts/references/assets/templates/ ディレクトリを作成する。


スキルの使用

作成したスキルは、GitHub Copilot Chatで自動的に使用される。

  1. GitHub Copilot Chatを開く。
    [Ctrl] + [Alt] + [I]キー (Windows / Linux) または [Command] + [Control] + [I]キー (MacOS)
  2. スキルに関連するプロンプトを入力する。
    例: このコードをレビューして
  3. Copilotがスキルを自動的に検出してロードする。
  4. スキルの指示に従って応答が生成される。


手動選択は不要である。
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は、プログレッシブローディングと自動アクティベーションにより動作する。

プログレッシブローディング

プログレッシブローディングの仕組みを以下に示す。

  1. Copilotは、スキルのメタデータ (YAMLフロントマター) のみを最初に読み込む。
    SKILL.mdファイルの namedescription のみを読み込む。
  2. プロンプトに基づいて関連するスキルを判断する。
    description フィールドの内容とプロンプトを比較する。
  3. 関連するスキルのみが完全にロードされる。
    SKILL.mdファイルの全体と、scripts/、references/、assets/、templates/ディレクトリがロードされる。
  4. スキルの指示に従って処理を実行する。
    Markdownボディの指示に従ってコード生成やレビューを実行する。


このメカニズムにより、トークン効率が向上する。
全てのスキルをロードするのではなく、関連するスキルのみをロードすることで、コンテキストウインドウを節約できる。

自動アクティベーション

自動アクティベーションの仕組みを以下に示す。

  • 手動選択は不要
    スキルを明示的に指定する必要はない。
  • descriptionフィールドに基づく判断
    Copilotは、description フィールドの内容からスキルの用途を理解する。
  • プロンプトとの関連性を分析
    ユーザのプロンプトとスキルの description を比較して、関連性を判断する。


動作例を以下に示す。

  • プロンプト
    このコードをレビューして
  • 関連するスキル
    name: code-review、description: Performs code reviews...
  • 自動ロード
    code-reviewスキルが自動的にロードされる



Claude Codeとの比較

Agent Skillsは、Claude CodeのSkills機能と高い互換性を持つ。

基本情報の比較

Agent SkillsとClaude Code Skillsの基本情報
項目 GitHub Copilot Claude Code
発表日 2025年12月18日 2025年10月
機能名 Agent Skills Skills
ファイル名 SKILL.md SKILL.md


保存場所の比較

Agent SkillsとClaude Code Skillsの保存場所
種類 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フロントマターの比較

Agent SkillsとClaude Code SkillsのYAMLフロントマター
項目 GitHub Copilot Claude Code
必須フィールド name
description
name
description
オプション license disable-model-invocation
allowed-tools
model
推奨サイズ - 5,000語以内


呼び出し方法の比較

Agent SkillsとClaude Code Skillsの呼び出し方法
項目 GitHub Copilot Claude Code
自動呼び出し あり (プロンプトに基づく) あり (descriptionに基づく)
手動呼び出し なし スラッシュコマンド : /<スキル名>
自動呼び出し無効化 - disable-model-invocation: true


GitHub Copilotは、手動呼び出し (スラッシュコマンド) に対応していない。
スキルは常に自動アクティベーションされる。

Claude Codeは、手動呼び出し (スラッシュコマンド) に対応している。
disable-model-invocation: true を設定することにより、自動呼び出しを無効化できる。

対応環境の比較

Agent SkillsとClaude Code Skillsの対応環境
環境 GitHub Copilot Claude Code
VS Code 安定版 (1.108以降)、experimental機能
設定で有効化が必要
対応
CLI Copilot CLI Claude Code CLI
JetBrains IDE


共通点

Agent SkillsとClaude Code Skillsの共通点
項目
SKILL.mdファイル形式
YAMLフロントマター + Markdownボディ
プログレッシブローディング
scripts/, templates/, references/, assets/フォルダ構造


相違点

Agent SkillsとClaude Code Skillsの相違点
項目 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-reviewtest-generationapi-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のコミュニティリソースを以下に示す。

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


これらのリポジトリから、既存のスキルを参照したり、再利用したりすることができる。


参考リンク