CCCMKホールディングス TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

GitHub Copilotをもっと使いこなす!「Custom Instructions」・「Custome Agents」・「Prompt Files」について調べました。

はじめに

こんにちは、CCCMKホールディングスAIエンジニアの三浦です。

あけましておめでとうございます。今年もよろしくお願いします。

2026年はAI Agentを活用して開発・運用体制を強化していきたい、と考えており、年末年始は特にAI Agentによるソフトウェア開発周りの情報収集をしていました。私たちは昨年よりGithub Copilotを使い始めているため、本ツールを中心に調査をしていました。

Github CopilotのAgentモードを使うと数行のプロンプトを打ち込めばあっという間に大量のコードを生成することが出来ます。しかし細かい仕様を伝えるのが難しかったりちょっとしたプロンプトのブレで全然違う成果物が出来てしまったりします。また、タイミングによってはこれまでの指示内容を忘却してしまい、明後日の方向に作業を進めてしまったりします。

Github Copilotで安定して効率的に開発を進めていくためにはGithub Copilotの機能をもっと知る必要があります。そこで今回は同ツールの重要な機能である「Custom Instructions」, 「Custom Agents」, 「Prompt Files」について調べてみたのでまとめてみたいと思います。

Custom Instructions

Github CopilotにおけるCustom InstructionsはCopilot ChatやAgentを実行する際に都度読み込まれるマークダウン形式のテキストファイルで、レポジトリに関する情報や特定ファイルに関連した情報を記載しておくことでGithub Copilotに守ってほしい指示を都度プロンプトに入力することなく与えることが出来ます。

Custom Instructionsはリポジトリ全体に適用されるルールを記述するためのcopilot-instructions.mdと特定のパスに存在するファイルにだけ適用したいルールを記述するためのNAME.instructions.md(NAMEは自由に変更できる)があります。

では具体的にCustom Instructionsに何を書けばいいのか、ですが、GithubのBlogには5つのtipsが紹介されています。

github.blog

こちらのドキュメントによれば

  • プロジェクトの概要を書く
  • 技術スタックを書く
  • コーディング規約を書く
  • プロジェクトの構成(どのフォルダに何が入ってるかなど)を書く
  • Github Copilotが使えるツール(script, MCP Serverなど)を書く

ことが重要とのことです。また、これらを人の手で全て作るだけでなく、Github Copilotを使って書くのも手だそうです。

Custom Instructionsはリポジトリのルートに.githubフォルダを作成し、格納しておきます。以下のような配置になります。

my-repository/
├── .github/
│   ├── copilot-instructions.md
│   └── instructions/
│       ├── front-end.instructions.md
│       └── back-end.instructions.md
├── src/
└── ...

また、NAME.instructions.mdにはどのファイルを対象にした指示なのかを明記します。たとえばsrc/backendにバックエンド用のソースコードを置いている場合、backendに限定した指示を書くには

---
applyTo: "src/backend/**"
---

# バックエンド開発ルール
...

のような内容になります。

Custom Agents

Github CopilotにはCustom Agentsという特定のタスクやケースに特化した専門のAgentを独自に作ることが出来る機能があります。

docs.github.com

Custom Agentsは特定のリポジトリ内でのみ使えるリポジトリレベル, 組織内の全リポジトリで使えるOrganizationレベル, 企業内の全ての組織で使えるEnterpriseレベルで作成することが出来ます。

Custom Agentsには以下の設定を記述することが出来ます。

設定項目 説明
Name カスタムエージェントの一意の識別子
Description エージェントの目的と機能の説明
Prompt エージェントの動作と専門性を定義するカスタム指示
Tools エージェントがアクセスできる特定のツール。オプションであり、デフォルトではビルトインツールやMCPサーバーツールを含む全ての利用可能なツールにアクセス可能

リポジトリレベルのCustom Agentsは、マークダウン形式のテキストで以下のように配置します。

my-repository/
├── .github/
│   └── agents/
│       └── my-agent.md
├── src/
└── ...

Prompt Files

Github CopilotのPrompt Filesはよく使うプロンプトを再利用出来るようにファイルで保存する機能です。

code.visualstudio.com

Prompt FilesはHeaderとBodyで構成されています。Headerには以下の情報を含めることが出来ます。

Field Description
description プロンプトの短い説明
name チャットで / を入力した後に使用されるプロンプトの名前。指定しない場合はファイル名が使用される
argument-hint プロンプトとの対話方法をユーザーに案内するためにチャット入力フィールドに表示されるオプションのヒントテキスト
agent プロンプトを実行するために使用されるエージェント: ask, edit, agent, またはカスタムエージェントの名前。デフォルトでは現在のエージェントが使用される。
model プロンプト実行時に使用される言語モデル。
tools このプロンプトで利用可能なツールまたはツールセット名のリスト。ビルトインツール、ツールセット、MCPツール、または拡張機能によって提供されるツールを含めることができる。MCPサーバーの全ツールを含めるには <server name>/* 形式を使用する

Bodyには、チャットでプロンプトを実行する際にLLMに送信されるプロンプトテキストを記述します。AIに従ってほしい具体的な指示、ガイドライン、その他の関連情報を記述します。またMarkdownリンクを使用して、リポジトリ内の他のファイルを参照出来ます。その場合は相対パスを使用します。さらに${variableName}形式で変数を参照することも出来ます。

Prompt Filesは以下のように*.prompt.mdという拡張子で保存します。するとチャットで"/"を入力すると配置したPrompt Filesが候補で表示され、選択して実行することが出来ます。

my-repository/
├── .github/
│   └── prompts/
│       └── xxx.prompt.md
│       └── ...
├── src/
└── ...

Awesome Copilot

ということでGithub CopilotのCustom Instructions, Custom Agents, Prompt Filesという機能を紹介しましたが、これらで求められるファイルはどのように作成したらいいのでしょうか?実は様々なケースに対応したExamplesがこちらのプロジェクトに集約されています。

github.com

たとえばAPIアーキテクト向けのCustom Agentなどもあったりして、この中から自身のケースに近いものを選んで適宜手を加えて使用する、といった形でスムーズに利用することが出来そうだと感じました。

まとめ

ということで今回はGithub CopilotをカスタマイズするCustom Instructions, Custom Agents, Prompt Filesについて調べたことをまとめてみました。

AI Agentを使った開発周りはとても進化が早く、今回まとめた内容もすぐに古い情報になる可能性が高いですが、現時点のGithub Copilotで特に押さえておきたい機能はまとめられたと思います。

2026年はAI Agentを最大限活用して開発を進めていきたいです!