github copilot で「agent skills」を使う
もくじ
やりたいこと
こないだ、copilot-instructionsなる便利な使い方があるのだなーとおもったところなのだが、今度はagent skillsという便利な奴があるらしい。試してみる。
windows copilotに、このやり方を聞いて回答貰ってるので、それを自分なりにここにまとめてみる。
実験環境
- VisualStudio2026 Community 18.4.3
やりたいskill
今回、私は技術ブログを書いても、過去に書いた記事のことはどんどん忘れてしまう。
で、忘れたときに思い出しやすくするために全ブログの目次をちまちま書いて、なにかあったらその目次を検索するようにしている。
で、今回その検索を、skillsを使ってできるようにしようと思う。
プロジェクト単位でSKILLを使う
まずスキル名を決める。
ブログの記事をチェックする、という名前にしようと思うので、check-blog-articlesというスキル名にしようと思う。
名前を決めたら、VisualStudioのソリューションの直下に、.githubをつくる。
その中に、下記のようにフォルダとファイルを作る
.github フォルダ
└─skills フォルダ
└─check-blog-articles フォルダ ←これがskill名。
SKILL.md
skillsフォルダの下に、スキル名を名前に付けたフォルダを作る。
その中に、SKILL.mdを作る。
SKILL.mdの中身は、下記のようにした。
---
name: check-blog-articles
description: >-
このスキルは、何かの技術に関することを検索するときに、
自分のブログ記事に、該当する記事があったかどうかを検索するために使用する。
---
## 手順
1. まず、検索対象のブログのもくじページを開く。もくじページは「https://tera1707.com/entry/2022/02/06/144447」にある。
1. 次に、そのページの内容を読み込む。
1. そのページには、ブログ記事のタイトルとURLがリスト形式で記載されているので、検索したい技術に関連するキーワードを含むタイトルを探す。
1. もし、該当するタイトルが見つかった場合は、そのURLを返す。
1. ヒットするタイトルが複数ある場合は、すべてのURLを返す。
1. もし、該当するタイトルが見つからない場合は、「該当する記事は見つかりませんでした」と返す。
...
というフォルダ、ファイル構成にした状態で、VisualStudio2026のチャット欄で「ブログに、C#でwindowsサービスを作る方法について書かれていますか?」と聞くと、下記のように答えが返ってきた。

全プロジェクトでSKILLを使う
ユーザーのフォルダのtopに「.copilot」というフォルダを作って、その中にskillsフォルダを作る。あとはプロジェクト単位の時と同じ。
具体的には、
C:\Users\<ユーザー名>\.copilot というフォルダを作って、下記のようにする。
C:\Users\<ユーザー名>\.copilot
└─skills
└─check-blog-articles
SKILL.md
という感じで配置すると、どこに置いたプロジェクトからでも、スキルを使うことができる。
所感
ちょっと試した感じ、SKILLSは「つかいやすいな、指示に対する応答が直感的というか素直だな」と思った。
以前、copilot-instructions.mdというファイルで、あらかじめAIに情報を与えておく、ということをやったことがあった。
その時、今回と同じように、ブログのURLを与えて、そこの情報を見てもらう、的なことをしたのだが、どうにも指定したページを読んだり読まなかったりして、もういいやとなってあきらめたことがある。
※👆の記事にも書いていたが、githubの公式に、copilot-instructionsでは「応答を作成するときに外部リソースを参照するという要求はうまくいかない」と書かれてた。
が、今回のSKILLSは、試した限りその辺がうまくいく感触がある。
上で実験した、ブログのもくじを見て情報を探してくれ、というのもそれにあたるかと思う。
これが、copilot-instructionsとskillsのしくみの違いなのか、根本的にAI(LLM?)自体が賢くなったのかは、現時点では試せてない。
(根拠なしのなんとなくだが、その疑問の答えは「両方」な気がする...しらんけど)
情報源
githubのドキュメント
Skill集
かずきさんブログ
Discussion