【2026年版】Agent Skills 入門:SKILL.md の基本から実践まで

GitHub Copilot Agent Skillsとは何か、基本を解説。SKILL.mdの書き方、ディレクトリ構造、Claude Code互換性まで実用例付きで学べる入門ガイド。

はじめに

ども!GitHub Copilotのブログを連日お届けしている龍ちゃんです。最近ブログを書きすぎて導入文のスタックがなくなってきちゃいました。

以前「GitHub Copilot設定5種を網羅!生産性を最大化する使い分け術」という記事を書きましたが、そこでは補足として軽めに紹介していた「Agent Skills」について詳しく解説していきます。

「テスト書いて」と言うだけでプロジェクト固有のテストパターンに従う、そんな「専門家の自動召喚」を実現する新機能です。

本記事では Agent Skills の基本的な使い方と書き方を解説します。

検証環境


Agent Skills とは

特定タスクに関連性があると判断されたら自動で読み込まれる「専門家パック」

Claude Codeを使っている方は、Claude Code Skillsをそのまま想像してもらえればOKです!

他の設定ファイルとの違い

Agent Skills の最大の特徴は、スクリプトやリソースを同梱できる点です。

特徴Agent Skills他の設定ファイル
発火条件自然言語で自動常時/glob/手動
スクリプト同梱✅ 可能❌ 不可
リソース同梱✅ 可能❌ 不可

これまでの設定ファイル(copilot-instructions.md*.instructions.md*.prompt.md*.agent.mdAGENTS.md)は、すべて「指示」だけを書くファイルでした。Agent Skills は、指示に加えてスクリプトやテンプレートも一緒に管理できます。

イメージ

Agent Skills =
「専門家が道具持参で自動登場」

  • 「テスト書いて」→ テスト専門家が登場(テンプレート持参)
  • 「ブログ取得して」→ スクレイピング専門家が登場(スクリプト持参)
  • 「HTMLを画像に」→ 画像変換専門家が登場(変換スクリプト持参)

GitHub Copilotの設定ファイルでいうと、instructions + Custom Agents + AGENTS.md を組み合わせたようなイメージですね。


ディレクトリ構造

Agent Skills には2種類の保存場所があります。

保存場所

種類パス用途
プロジェクトスキル.github/skills/単一リポジトリ専用
個人スキル~/.copilot/skills/複数プロジェクト共有

補足: .claude/skills/ も下位互換としてサポートされますが、.github/skills/ が推奨です。

基本構造

.github/skills/
└── {skill-name}/           # スキル名(小文字、ハイフン区切り、最大64文字)
    ├── SKILL.md            # 必須:スキル定義
    ├── scripts/            # オプション:ヘルパースクリプト
    ├── references/         # オプション:参照ドキュメント
    ├── examples/           # オプション:実装例
    └── assets/             # オプション:テンプレート、図

各フォルダの役割

フォルダ用途
scripts/ヘルパースクリプト、自動化ツール
references/参照ドキュメント、API仕様
examples/実装例、サンプルコード
assets/テンプレート、アーキテクチャ図

これらのフォルダはすべてオプションです。シンプルなスキルなら SKILL.md だけで十分動作します。


SKILL.md の書き方

SKILL.md は YAML フロントマター + Markdown 本文 で構成されます。

基本テンプレート

---
name: skill-name
description: |
  スキルの説明。いつ使うべきかを明記。
  「テスト書いて」「カバレッジ追加」などで発火。
---

# スキル名

## When to Use

- 発火条件1
- 発火条件2

## Quick Start

1. ステップ1
2. ステップ2

## References

- [詳細ドキュメント](./references/detail.md)

重要なフィールド

フィールド必須制限説明
name最大64文字スキル識別子(小文字、ハイフン区切り)
description最大1024文字発火判定に使われる(重要!)
licenseライセンス情報

ポイント: description は Copilot がスキルを読み込むかどうかを判断する材料になります。「いつ使うべきか」を具体的に書くことが大切です。


実用例:ユニットテスト生成スキル

具体的なスキルの例を見てみましょう。

ディレクトリ構造

.github/skills/unit-testing/
├── SKILL.md
└── templates/
    └── test-template.ts

SKILL.md

---
name: unit-testing
description: |
  ユニットテストを作成する。
  「テスト書いて」「テスト追加」「カバレッジ」で発火。
---

# Unit Testing

## When to Use

- 新しいテストを追加するとき
- カバレッジを向上させたいとき

## Quick Start

1. テスト対象のファイルを開く
2. 「テスト書いて」と依頼

## Guidelines

- Arrange-Act-Assert パターンを使用
- テストファイル名は `{対象}.test.ts`
- モックは最小限に

## Templates

- [テストテンプレート](./templates/test-template.ts)

発火例

ユーザー: 「この関数のテスト書いて」

→ unit-testing スキルが自動で読み込まれる
→ テンプレートと Guidelines に従ってテスト生成

スキルが発火すると、Copilot は SKILL.md の内容をコンテキストに読み込み、指示に従ってコードを生成します。templates/ 内のファイルも参照可能になるので、プロジェクト固有のテストパターンを適用できます。


Claude Code Skills との互換性

Agent Skills は、Claude Code Skills と同じ形式を採用しています。これは偶然ではなく、Anthropic がオープンスタンダードとして公開した仕様に基づいているためです。

共通点

項目Claude CodeGitHub Copilot
定義ファイルSKILL.mdSKILL.md(同一)
ディレクトリ.claude/skills/.github/skills/
スクリプト同梱

移行方法

基本的にはコピーするだけで動きます。

cp -r .claude/skills/* .github/skills/

注意点

移行時に気をつけるポイントがあります。

  • allowed-tools フィールドは削除(Copilot では実験的機能)
  • 発火しない場合は description の調整が必要
龍ちゃん
龍ちゃん

実際に Claude Code で使用していた Skills をそのまま移行してみた結果、うまく発火しない問題に遭遇しました。原因は発火メカニズムの違い(RAG vs 内部ルーティング)にあります。

分析と対策も書きました。「Agent Skillsが動かない?Claude移行の落とし穴と対処法

発火しない場合の簡易対処法

スキルが発火しない場合、以下の方法で強制的に呼び出せます。

方法1: チャットで明示的に指定

「blog-scraper スキルを使用してブログを取得して」

方法2: copilot-instructions.md にルーティングを追加

## Agent Skills Routing

| キーワード | スキル | パス |
|-----------|--------|------|
| ブログ取得 | blog-scraper | `.github/skills/blog-scraper/SKILL.md` |

根本的な設計からの改善が必要な場合は、別記事「Agent Skillsが動かない?Claude移行の落とし穴と対処法」で詳しく解説しています。

発火の確認方法

スキルが正しく読み込まれたか確認するには、以下の方法があります。

  • チャットで確認: 「どのスキルが読み込まれていますか?」と質問
  • チャット履歴: VS Code の Copilot Chat History から使用されたスキルを確認

まとめ

Agent Skills のポイントを整理します。

観点内容
位置づけGitHub Copilot の新しいカスタマイズ機能
特徴自然言語で自動発火、スクリプト・テンプレート同梱
互換性Claude Code Skills と同一形式

次のステップ

  1. まずはシンプルなスキルを1つ作ってみる
  2. description に「いつ使うか」を具体的に書く
  3. 発火しない場合は description の調整を試す

他の設定ファイルと合わせて Agent Skills を活用することで、GitHub Copilot をより強力なコーディングパートナーにできます。


参考リンク

公式ドキュメント

公式リポジトリ

関連記事


ここまで読んでいただき、ありがとうございました!

Agent Skills を活用して、GitHub Copilot をプロジェクトに合わせてカスタマイズしてみてください。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です