対象読者
- copilot-instructions.md や SKILL.md をすでに書いていて、ある程度動かせている人
- 「毎回同じ指示を繰り返してるな」と薄々気づいている人
- Instructions / SKILL をもっと賢くしたいが、何をどう変えればいいか分からない人
Agent Skills の基本(ディレクトリ構造、SKILL.md の書き方)は「【2026年版】Agent Skills 入門」を、設定ファイルの全体像は「GitHub Copilot の設定ファイル5種」を参照してください。
チャットの履歴にすべて答えがある
ども!龍ちゃんです。
僕は普段、Claude Code と GitHub Copilot を用途に応じて使い分けていて、セッションの長さや制限状況によって切り替える感じで運用しています。両方使い込んでいくと気づくことがあって、セッションをまたいで同じ指示を繰り返してる自分に気づくんですよね。
「このプロジェクトでは uv を使ってるので〜」とか、「コミットメッセージは日本語で〜」とか。モデルが変わっても関係なく、自分の癖として毎回同じことを最初に説明してしまっています。
んで気づいたときに設定ファイルだったり、SKILL化したりしています。
ただ忙しいときって、時間をとって分析しようとはなかなかならないんですよね。日常の開発を止めてまでやることでもないし、「まあこんなもんかな」で流してしまう。
でも、そういう「こんなもんかな」が積み重なると、毎回毎回同じ摩擦が続くことになります。一発でそのループを断ち切りたい、というのが今回の話の出発点です。
この記事では、チャット履歴から改善点を見つけて copilot-instructions.md / SKILL.md に反映する具体的なフローを紹介していきますね。
今回の内容です。
- チャット履歴から改善点を見つける3つの方法
- 方法ごとの使い分けと、それぞれの特性
- 見つけた改善点を Instructions と SKILL.md にフィードバックするフロー
チャット履歴から改善点を見つける3つの方法
3つの方法を紹介します。「UI で見返す」「セッション内でポストモーテムする」「エクスポートして横断分析する」と、だんだん深掘りが増えていく構成です。どれか1つだけやるというより、状況に応じて使い分けるイメージで見てもらえると。
方法1: VS Code の UI でチャット履歴を見返す
一番シンプルな方法です。Copilot の UI でセッションを行き来して、「自分が何を言ってたか」を見返すだけですね。
GitHub Copilot はチャット履歴が UI 上で見えるので、過去のセッションに遡りやすいのが利点です。「先週のあのやりとり」みたいな感じで、セッション間を移動しながら確認できます。どういう変更が加えられたか、自分がどう指示したかを単純に追いたいときはこれが一番手軽です。
まずこれだけでもやる価値があるんですが、「セッション横断でパターンを見つける」という目的には正直向いてないですね。次の方法がそこをカバーします。

方法2: セッション内で lessons ファイルにまとめる(ポストモーテム)
僕が Claude Code で一番使っている方法で、GitHub Copilot でも同じようにできます。
やり方はシンプルで、セッション中に意図と違う挙動が起きて、修正が終わったタイミングで振り返ることです。「なぜこう解釈したのか」「自分はこう意図したけど伝わらなかったのはなぜか」をそのセッション内で詰めていきます。
Copilot に投げかけるのはこういう感じです:
この問題をまとめて lessons に入れて
なんでこうなった?
次どうする?
正直わりとパワハラ気味に詰める感じなんですが、この詰めが大事で。原因と対策をセットで残してもらうことが目的です。lessons/2026-03-04.md のようなファイルが生成されて、再発防止策のドキュメントが溜まっていきます。AI コーディングエージェントを使ったポストモーテム(ふりかえり)、というイメージで使っています。(んでもちろん自分の入力が悪いと顧みるときもあります…)
この方法のカバー範囲は「そのセッション内で気づいた問題」なんですよね。セッションをまたいだパターン、たとえば「3週間ずっと同じ前提を最初に説明してた」みたいなことは気づけません。それが次の方法です。
方法3: チャットエクスポートでセッション間の横断分析
ここが記事の本題です。GitHub Copilot ならではの手法なんですよね。
VS Code には「Chat: Export Chat…」という機能があって、セッションを JSON データとしてダウンロードできます。この JSON には、自分がどう指示して、AI がどういう挙動をしたかまでセットで入っているんですよね。
エクスポートの手順はこうです。
- VS Code で Copilot Chat パネルを開く
- コマンドパレット(
Ctrl+Shift+P/Cmd+Shift+P)を開く - 「Chat: Export Chat…」を選択
- 保存先を指定 → JSON ファイルが出力される

操作自体はこれだけです。ただ、出力される JSON はそのまま読める量じゃないんですよね。6ターンの会話で 20,000行超になったりします。この変換の話はあとで出てきます。
1週間分まとめてエクスポートして、全セッションを横断的に分析すると、セッションをまたいで共通するパターンが見えてきます。そのパターンが、Instructions や SKILL 化の目処になっていく感じです。
ここで少し前振りを入れておくと、Claude Code も拡張機能を使えばチャット履歴は見れます。ただ、GitHub Copilot はいろんなモデルを切り替えながら使えるので、モデルごとの差分が出るのが面白いんですよね。同じ指示をしても、claude-sonnet-4.5 と GPT-5-mini では挙動が違ったり、Thinking の詳細度が変わったりします。その差分もエクスポートデータに残るので、「このモデルはこういう指示の方が伝わりやすい」みたいな知見が蓄積されていきます。
エクスポートデータを使った横断分析の実践
ここからは方法3の具体的な分析フローです。
まず、エクスポートした JSON をそのまま分析しようとすると、6ターンの会話が 20,000行超の JSON になっているので人間が読むのは無理なんですよね。前の記事で紹介した copilot-chat-converter を使って Markdown に変換すると一気に読みやすくなります(20,000行 → 720行くらいに)。
このあたりの変換手順は前の記事「Copilot Chat の会話履歴を Markdown で保存するパイプラインを作った話」で詳しく書いているので、そちらも見てみてください。
変換した Markdown を1週間分並べて、AI に投げます:
この1週間のチャット記録を分析して。
セッションをまたいで繰り返し出てくる指示パターンがあれば抽出して。
対象:自分が Copilot に毎回同じ前提を説明している箇所、手動で繰り返している手順。
自分で分析しても構いませんが、AI に任せた方が速いですね。人間が見るだけでは「なんとなく同じことを言ってるな」で終わってしまうところを、パターンとして整理してもらえます。
僕が実際に分析して見つかったパターンの話をすると、一番驚いたのが SKILL の description 問題でした。
あるスキルが全然発火しないので何度も「スキル使って」と手動で言い直していたんですよね。この繰り返しがログに残っていたので、「なんでこのスキルだけ発火しないんだろう」と原因を掘り下げたら、description: |(YAML の複数行記法)が原因だと分かって。複数行記法だと各行が別の属性として誤解釈されて、description が空になってしまうという問題でした。
「Claude CodeからGitHub Copilotへ移植したらAgent Skillsが動かない?原因と解決策」で検証結果と回避策を詳しく書いているんですが、ざっくり言うと description: "..." の単一行に書き直すだけで解決しました。この問題、横断分析しなかったら「なんか発火しにくいな」で終わっていたと思います。ログがあって、繰り返しパターンとして可視化されたから気づけた体験でした。
他にも「プロジェクトで使用できるCLIツール」という前提を毎回説明していたことも見つかりました。これも横断で見ないと気づきにくいんですよね。セッション単体では「毎回説明するのが当たり前」になっていて、問題と認識していなかったので。
方法2と方法3の使い分けを整理するとこうです。
| 方法2(lessons ポストモーテム) | 方法3(エクスポート横断分析) | |
|---|---|---|
| 対象 | セッション内の問題 | セッション間の繰り返しパターン |
| タイミング | 問題が起きた直後 | 定期的(週1など) |
| 主な発見 | 「なぜこの挙動が起きたか」 | 「毎回同じ摩擦が起きている」 |
見つけた改善点を Instructions と SKILL.md にフィードバックする
方法1〜3で見つけたパターンを、どう Instructions / SKILL.md に落とし込むかです。
SKILL テスト → ログ → フィードバックのサイクル
僕が一番使っているのが、SKILL 構築のテスト結果をログとして残してフィードバックするサイクルです。
SKILL を作ったら、まずテストします。そのとき「うまく発火しない」「意図と違う挙動が出る」ことは結構あるんですよね。その結果を lessons ファイルに残して、ログを見ながら SKILL.md の description や手順を修正して、再テストして改善を確認する、というサイクルを回します。
さっきの description の | 問題がまさにこのサイクルの産物で、テストで発火しないことを確認 → ログに残す → 原因を特定(description: | の複数行記法) → 単一行 description: "..." に修正 → 再テストで発火を確認、という流れで解決しました。
このサイクルが回り始めると SKILL の精度がどんどん上がっていくんですよね。最初は「なんか動く」レベルでも、繰り返すうちに「言えば確実に動く」に変わっていきます。
SKILL.md の書き方の基本は「【2026年版】Agent Skills 入門」に詳しくまとめているので、まだ読んでいない方はそちらから。
繰り返し指示 → copilot-instructions.md に集約
SKILL テストの過程でも、「毎回同じ前提を説明してる」パターンは見つかります。モデルに関係なく同じ指示を繰り返していたなら、それは copilot-instructions.md に1行追加するだけで以降の暗黙の前提にできます。
さっきの「使用できるCLIツールは~~」の例なら、instructions に書いてしまえばセッションの最初に説明しなくて済むようになります。
copilot-instructions.md と AGENTS.md の使い分け(どちらに書くべきか、スコープの違い)については「copilot-instructions.md と AGENTS.md の使い分け」で整理しているので参考にしてみてください。
手動ワークフロー → SKILL.md 化
複数のセッションで同じ手順を説明していたら、SKILL 化の候補です。
前の記事で紹介した copilot-chat-converter(JSON → Markdown 変換ツール)も、最初は「このコマンドを実行して、出力はここに保存して」と毎回説明していたんですよね。横断分析でその繰り返しに気づいて、SKILL.md に落とし込んで「チャット変換して」の1行で動くようにしました。
また、チャット内で便利なコードを作ってもらってそこからそのやっていることをエクスポートとしてCLIツールに昇華したりSKILLとしてまとめたりしています。
「手順の説明を何回かやったな SKILL にするか~」くらいの感覚でやってます。
まとめ:「3回繰り返したら仕組みにする」
ここまでの流れをまとめると、こういうサイクルです。

シンプルなルールとして意識しているのは、「同じ指示を3回したら Instructions に書く」「手順を3回説明したら SKILL にする」ということですね。最初から完璧を目指さなくていいんですよ。気づいたときに1つ直す、の積み重ねでどんどん使いやすくなっていく感じです。(この辺はCopilotを育成ゲームだと思うと楽しいです)
このサイクルを回していくと、副次的な効果も出てきます。自分の Copilot 環境が育つだけじゃなくて、チャット履歴を見返す習慣自体が「自分がどうコードを書いてるか」のメタ認知になるんですよね。「自分はこういう前提をよく省略するな」とか「このパターンの説明が苦手だな」みたいなことが見えてくる。AI ツールの設定を改善しているつもりが、実は自分のコミュニケーションの癖を棚卸ししている感じです。
チームへの展開もできます。後輩の Copilot の使い方をレビューするのにこのフローは結構使えて、エクスポートしてもらって横断分析すれば「ここ毎回手動でやってるから SKILL にしたら?」みたいな具体的なアドバイスができるんですよね。コードレビューはするのに、AI との対話のレビューはしてない、というチームは多いんじゃないかと。自分の tips を Markdown で共有して、チームの copilot-instructions.md に反映する流れを作ると、チーム全体の Copilot 活用レベルが底上げされていきます。
チャット履歴を分析するにあたって、JSON のままでは読めないので Markdown に変換するツールを前の記事「Copilot Chat の会話履歴を Markdown で保存するパイプラインを作った話」で紹介しています。横断分析をやってみたい方は、まずエクスポートして変換するところから始めてみてください。
ほなまた〜


