<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP on hagizo.io</title><link>https://ha.gizwoo.com/tags/mcp/</link><description>Recent content in MCP on hagizo.io</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 20 May 2026 20:31:12 +0900</lastBuildDate><atom:link href="https://ha.gizwoo.com/tags/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>【AI開発】GitHub Copilot Custom Agentsの作り方</title><link>https://ha.gizwoo.com/copilot-custom-agents-hx7pqm2la9/</link><pubDate>Wed, 22 Apr 2026 01:43:00 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-custom-agents-hx7pqm2la9/</guid><description>&lt;p&gt;GitHub Copilotを「自分用の開発エージェント」として使うなら、custom agentsはかなり重要な機能です。毎回プロンプトで細かい前提を説明するのではなく、役割、制約、利用できるツール、判断基準をMarkdownファイルとして定義しておくことで、Copilotをタスク特化のチームメイトとして扱いやすくなります。&lt;/p&gt;
&lt;h2 id="custom-agentsとは何か"&gt;Custom Agentsとは何か
&lt;/h2&gt;&lt;p&gt;GitHub Docsでは、custom agentsはワークフロー、コーディング規約、ユースケースに合わせて調整できるCopilot agentの特殊版として説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; つまり、Copilot本体に「このタスクではセキュリティレビュアとして振る舞う」「このタスクではREADME作成者として振る舞う」といった専門性を持たせる仕組みです。&lt;/p&gt;
&lt;p&gt;custom agentは、agent profileと呼ばれるMarkdownファイルで定義します。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; このagent profileには、YAML frontmatterで名前、説明、利用ツール、MCPサーバなどを書き、本文にエージェントの振る舞いを自然言語で記述します。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;通常のcustom instructionsが「リポジトリ全体の常時ルール」だとすると、custom agentsは「特定の役割を持つ担当者」です。たとえば、&lt;code&gt;docs-writer&lt;/code&gt;、&lt;code&gt;test-specialist&lt;/code&gt;、&lt;code&gt;security-auditor&lt;/code&gt;、&lt;code&gt;ci-debugger&lt;/code&gt; のように分けておくと、1つの万能エージェントにすべてを背負わせずに済みます。&lt;/p&gt;
&lt;h2 id="どこに配置するか"&gt;どこに配置するか
&lt;/h2&gt;&lt;p&gt;リポジトリ単位で使うcustom agentは、&lt;code&gt;.github/agents/&lt;/code&gt; に配置します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents" target="_blank" rel="noopener"
 &gt;Creating custom agents&lt;/a&gt; ファイル拡張子は &lt;code&gt;.agent.md&lt;/code&gt; で、たとえば &lt;code&gt;.github/agents/security-auditor.agent.md&lt;/code&gt; のように作ります。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;個人用に複数リポジトリで使いたい場合は、Copilot CLIでは &lt;code&gt;~/.copilot/agents/&lt;/code&gt; に配置できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 同じ名前のエージェントがプロジェクト側とユーザー側にある場合、CLIではホームディレクトリ側のcustom agentが優先されます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;OrganizationやEnterpriseで共通利用したい場合は、&lt;code&gt;.github-private&lt;/code&gt; リポジトリの &lt;code&gt;/agents/&lt;/code&gt; に配置できます。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; 個人の作業ルールならユーザー側、プロジェクト固有の規約ならリポジトリ側、組織標準ならOrganization側、という切り分けがよさそうです。&lt;/p&gt;
&lt;h2 id="最小のagent-profile"&gt;最小のagent profile
&lt;/h2&gt;&lt;p&gt;最小構成は、&lt;code&gt;description&lt;/code&gt; と本文のプロンプトです。&lt;code&gt;description&lt;/code&gt; は必須フィールドで、custom agentの目的と能力を説明します。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: docs-writer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: README、ADR、リリースノート、開発者向けドキュメントを作成・改善するドキュメント専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはドキュメント作成の専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; README、ADR、リリースノート、開発者向けドキュメントを改善する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 簡潔で読みやすいMarkdownを書く
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存の用語、文体、プロジェクトの慣習を尊重する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 明示的に依頼されない限り、本番コードは変更しない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;編集前に行うこと:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存ドキュメントの文体と構成を確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 読者が誰かを明確にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 依頼が曖昧な場合は、先にアウトラインを提案する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;編集後に行うこと:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 何を変更したかを要約する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 前提にしたことや不足している情報を列挙する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;tools&lt;/code&gt; を省略すると、利用可能なすべてのツールが有効になります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 安全に始めるなら、&lt;code&gt;read&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;edit&lt;/code&gt; のように必要なツールだけを明示するのがおすすめです。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="toolsで権限を絞る"&gt;toolsで権限を絞る
&lt;/h2&gt;&lt;p&gt;custom agentの実用性は、プロンプトだけでなくtoolsの制御で決まります。GitHub Docsでは、&lt;code&gt;tools&lt;/code&gt; に &lt;code&gt;read&lt;/code&gt;、&lt;code&gt;edit&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;execute&lt;/code&gt;、&lt;code&gt;agent&lt;/code&gt; などのエイリアスを指定できると説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえば、レビュー専用エージェントなら編集権限を持たせないほうが安全です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: read-only-reviewer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: ファイルを編集せず、コードやドキュメントを読み取り専用でレビューするエージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは読み取り専用のレビュー担当です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 依頼されたファイルをレビューする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; リスク、不整合、テスト不足、説明不足を見つける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 具体的な修正案を提示する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ファイルは編集しない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;出力形式:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 概要
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 指摘事項
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 修正案
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 確信度
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このように &lt;code&gt;tools: [&amp;quot;read&amp;quot;, &amp;quot;search&amp;quot;]&lt;/code&gt; にしておけば、レビュー担当が勝手にファイル編集するリスクを下げられます。逆に、CI修正担当なら &lt;code&gt;execute&lt;/code&gt; を含めることでテストやlintを実行できるようにします。&lt;/p&gt;
&lt;h2 id="mcpをagent専用にする"&gt;MCPをagent専用にする
&lt;/h2&gt;&lt;p&gt;custom agentには &lt;code&gt;mcp-servers&lt;/code&gt; を設定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; ただし、&lt;code&gt;mcp-servers&lt;/code&gt; プロパティはGitHub.com上のCopilot cloud agent向けで、VS CodeなどのIDE custom agentsでは使われないとされています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MCPツールは、&lt;code&gt;server-name/tool-name&lt;/code&gt; のようにサーバ名付きで指定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; たとえばPlaywright系の検証エージェントなら、Playwrightのツールだけを許可する設計が考えられます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: ui-regression-tester
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: Playwrightを使って画面挙動やUI回帰を検証するテスト専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;, &amp;#34;playwright/*&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはUI回帰テストの専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存のUIテストパターンを確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更された挙動に対して、焦点を絞ったPlaywrightテストを追加する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 利用可能な場合は、関連するテストコマンドを実行する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 失敗した場合は、再現手順と原因候補を整理する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;制約:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 関係のないUIコードはリファクタリングしない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 小さく、目的が明確なテストを優先する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テスト環境が利用できない場合は、不足しているセットアップを明確に説明する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ツールを絞ると、エージェントの役割と権限境界が明確になります。これは前回整理した「安全性ガード」レイヤを、Copilot custom agentの設定として実装するイメージです。&lt;/p&gt;
&lt;h2 id="targetとmodelを使い分ける"&gt;targetとmodelを使い分ける
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;target&lt;/code&gt; を使うと、custom agentの対象環境を &lt;code&gt;vscode&lt;/code&gt; または &lt;code&gt;github-copilot&lt;/code&gt; に限定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 省略した場合は両方の環境が対象になります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;model&lt;/code&gt; を指定すると、そのcustom agentが実行されるときのモデルを指定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; ただし、モデル指定は環境や利用可能なモデルに依存するので、最初は省略してデフォルトモデルを使い、必要になってから調整するほうが運用しやすいです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: implementation-planner
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: コードを変更する前に、実装計画と技術仕様を作成する計画専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;target: github-copilot
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは実装計画の専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの仕事は、実装前に計画を作ることです。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;必ず含める内容:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ゴール
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 対象範囲
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 対象外とすること
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 影響を受けるファイルまたはモジュール
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ステップごとの実装計画
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テスト計画
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; リスクとロールバック方針
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ユーザーが明示的に実装を依頼しない限り、コードは変更しないでください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;計画専用エージェントは、実装前のレビューやIssue整理と相性がよいです。&lt;code&gt;ユーザーが明示的に実装を依頼しない限り、コードは変更しないでください&lt;/code&gt; のように明示しておくと、ResearchやPlanの段階で勝手に変更が進むのを防ぎやすくなります。&lt;/p&gt;
&lt;h2 id="自動選択させるか手動選択にするか"&gt;自動選択させるか、手動選択にするか
&lt;/h2&gt;&lt;p&gt;Copilot CLIでは、&lt;code&gt;/agent&lt;/code&gt; でcustom agentを選択できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; また、プロンプト内で特定のagent名を指定したり、&lt;code&gt;copilot --agent security-auditor --prompt &amp;quot;...&amp;quot;&lt;/code&gt; のようにコマンドライン引数で指定したりできます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自動で使わせたくない場合は、&lt;code&gt;disable-model-invocation: true&lt;/code&gt; を設定すると、Copilot cloud agentがタスク文脈から自動利用することを無効にできます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 逆に、ユーザーが手動選択できないagentにしたい場合は、&lt;code&gt;user-invocable: false&lt;/code&gt; を使えます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: dangerous-change-reviewer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: 本番環境やインフラに影響する危険な変更を、読み取り専用で確認するレビュー専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;disable-model-invocation: true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは本番影響のある変更を確認するレビュー担当です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;このエージェントは、明示的に選択された場合だけ使用してください。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;確認すること:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 本番環境への影響
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ロールバック方針
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; シークレットの露出
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 権限変更
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; データ削除またはデータ移行のリスク
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 人間の承認が必要な箇所
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ファイルは絶対に編集しないでください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;本番、権限、削除、課金に関係する領域では、自動起動よりも手動選択のほうが安全です。&lt;/p&gt;
&lt;h2 id="cliで作る流れ"&gt;CLIで作る流れ
&lt;/h2&gt;&lt;p&gt;Copilot CLIでは、interactive modeで &lt;code&gt;/agent&lt;/code&gt; を入力し、&lt;code&gt;Create new agent&lt;/code&gt; を選ぶことでcustom agentを作成できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 作成場所はProjectの &lt;code&gt;.github/agents/&lt;/code&gt; か、Userの &lt;code&gt;~/.copilot/agents/&lt;/code&gt; から選べます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CLIでは、Copilotにagent profileの初期案を生成させる方法と、自分で手動作成する方法があります。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 手動作成では、名前、説明、振る舞い、制約、利用ツールを順番に定義します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;作成後はCLIの再起動が必要です。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 使うときは &lt;code&gt;/agent&lt;/code&gt; で選択するか、プロンプトで &lt;code&gt;security-auditorエージェントを使って、この差分をレビューして&lt;/code&gt; のように明示します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="おすすめの設計パターン"&gt;おすすめの設計パターン
&lt;/h2&gt;&lt;p&gt;最初に作るなら、次の3種類がおすすめです。&lt;/p&gt;
&lt;h3 id="docs-writer"&gt;docs-writer
&lt;/h3&gt;&lt;p&gt;README、ADR、ブログ記事、リリースノートを担当するagentです。編集対象をドキュメントに限定し、既存の文体、見出し構造、リンク形式を守るように指示します。&lt;/p&gt;
&lt;h3 id="test-specialist"&gt;test-specialist
&lt;/h3&gt;&lt;p&gt;テスト追加とテスト品質レビューを担当するagentです。GitHub Docsの設定例でも、test specialistは既存テストの分析、カバレッジギャップの特定、テスト追加に集中するagentとして紹介されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: test-specialist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: テストカバレッジ、テスト品質、テスト設計を改善するテスト専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはテスト品質を改善する専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存テストを読み、テスト方針を把握する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; カバレッジ不足や重要な未検証ケースを見つける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ユニットテスト、統合テスト、E2Eテストを必要に応じて追加する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テストは独立していて、再現性があり、読みやすい状態にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 明示的に依頼されない限り、本番コードの変更は最小限にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;作業後は、追加したテスト、実行したコマンド、失敗した場合の理由をまとめてください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ci-debugger"&gt;ci-debugger
&lt;/h3&gt;&lt;p&gt;GitHub Actionsやローカルlintの失敗を調べるagentです。&lt;code&gt;read&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;execute&lt;/code&gt; を許可し、まずログを読み、原因候補を出し、最小差分で修正し、再実行結果をまとめるようにします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: ci-debugger
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: CI、lint、testの失敗原因を調査し、最小差分で修正するCIデバッグ専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはCIデバッグの専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;作業手順:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; 失敗しているジョブ、コマンド、エラーメッセージを確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; 関連する設定ファイル、スクリプト、依存関係を調べる
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; 原因候補を優先度つきで整理する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; 最小差分で修正する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; 可能であれば、失敗したコマンドを再実行する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;制約:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 関係のないリファクタリングはしない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; lockfileや依存関係を変更する場合は理由を説明する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テストを無効化して通す対応は避ける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 再現できない場合は、確認した事実と次に見るべき箇所をまとめる
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="作るときの注意点"&gt;作るときの注意点
&lt;/h2&gt;&lt;p&gt;custom agentは、万能化しすぎないほうがよいです。GitHub Docsでも、custom agentsは特定のワークフロー、規約、ユースケースに合わせるものとして説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; 役割が広すぎると、通常のCopilot Chatと差がなくなります。&lt;/p&gt;
&lt;p&gt;また、&lt;code&gt;description&lt;/code&gt; はかなり重要です。custom agentの目的と能力を説明する必須項目であり、Copilotがいつそのagentを使うべきか判断する手がかりになります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最後に、toolsは最小権限で始めるのがおすすめです。&lt;code&gt;tools&lt;/code&gt; を省略するとすべての利用可能ツールが有効になるため、レビュー専用、計画専用、ドキュメント専用のagentでは、必要なツールだけに絞ったほうが安全です。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Copilot custom agentsは、特別なAI基盤を作る機能ではなく、Copilotに「役割」「判断基準」「使えるツール」「禁止事項」を渡すためのファイルベースの仕組みです。まずは &lt;code&gt;.github/agents/docs-writer.agent.md&lt;/code&gt; のような小さなagentから始め、効果が見えたら &lt;code&gt;test-specialist&lt;/code&gt;、&lt;code&gt;ci-debugger&lt;/code&gt;、&lt;code&gt;security-auditor&lt;/code&gt; のように分割していくのが現実的です。&lt;/p&gt;
&lt;p&gt;重要なのは、エージェントを増やすことではなく、責務と権限境界を明確にすることです。custom agentsをうまく使うと、Copilotは単なる補完ツールではなく、リポジトリの文脈とチームの作法を理解した専門家チームに近づきます。&lt;/p&gt;</description></item><item><title>【AI開発】GitHub Copilotで自分用エージェントを作る考え方</title><link>https://ha.gizwoo.com/copilot-agent-workflow-r8nyp4slm0/</link><pubDate>Wed, 22 Apr 2026 01:32:00 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-agent-workflow-r8nyp4slm0/</guid><description>&lt;p&gt;前回は、エージェントAIの設計パターンを「ゴールと計画」「推論と自己改善」「協調」「安全性ガード」の4レイヤで整理しました。今回はその考え方を、GitHub Copilotで実際に使える形へ落とし込みます。ポイントは、Copilotを単なる補完ツールではなく、指示、ツール、権限、検証手順を与えた「開発ワークフロー用エージェント」として設計することです。&lt;/p&gt;
&lt;h2 id="copilotで作れるエージェントの種類"&gt;Copilotで作れるエージェントの種類
&lt;/h2&gt;&lt;p&gt;まず、Copilotには大きく2つの使い方があります。VS CodeなどのIDEで使うagent modeと、GitHub上で動くCopilot cloud agentです。GitHub Docsでは、cloud agentはリポジトリを調査し、実装計画を作り、ブランチ上で変更し、必要に応じてPull Requestを作れると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent" target="_blank" rel="noopener"
 &gt;About GitHub Copilot cloud agent&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一方、VS Codeのagent modeはローカル開発環境の中で動く自律的なペアプログラマです。VS Codeのブログでは、agent modeはコードベースを分析し、ファイル編集を提案し、ターミナルコマンドを実行し、コンパイルやlintエラーを見て修正ループを回せると説明されています。&lt;a class="link" href="https://code.visualstudio.com/blogs/2025/04/07/agentMode" target="_blank" rel="noopener"
 &gt;VS Code Agent mode&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ざっくり分けると、ローカルで一緒に試行錯誤するならIDEのagent mode、IssueやPR単位で非同期に任せるならcloud agentが向いています。&lt;/p&gt;
&lt;h2 id="1-ゴール定義はプロンプトとinstructionsで作る"&gt;1. ゴール定義はプロンプトとinstructionsで作る
&lt;/h2&gt;&lt;p&gt;エージェント設計の最初の層は、曖昧な依頼を実行可能なタスクへ変換することです。Copilotでは、ここをプロンプトとcustom instructionsで作ります。&lt;/p&gt;
&lt;p&gt;リポジトリ全体の前提は &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; に書けます。GitHub Docsでは、リポジトリ全体のcustom instructionsとしてこのファイルを作り、プロジェクト構造、ビルド方法、テスト方法、コーディング規約などをMarkdownで記述できると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot" target="_blank" rel="noopener"
 &gt;Adding repository custom instructions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえばDevOps系リポジトリなら、次のような情報を入れておきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Repository instructions
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更前に対象サービス、環境、影響範囲を確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; CI/CD関連の変更では &lt;span style="color:#e6db74"&gt;`.github/workflows/`&lt;/span&gt; と &lt;span style="color:#e6db74"&gt;`scripts/`&lt;/span&gt; を必ず確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 破壊的操作や本番反映は実行せず、計画と差分だけ提示する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更後は &lt;span style="color:#e6db74"&gt;`make test`&lt;/span&gt; と &lt;span style="color:#e6db74"&gt;`make lint`&lt;/span&gt; を実行する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これは、前回の記事でいうPassive Goal CreatorとGuardrailsを、Copilot向けの常時コンテキストとして実装しているイメージです。&lt;/p&gt;
&lt;h2 id="2-パス別instructionsで役割を分ける"&gt;2. パス別instructionsで役割を分ける
&lt;/h2&gt;&lt;p&gt;リポジトリ全体の指示だけだと、フロントエンド、バックエンド、インフラ、ドキュメントでルールが混ざります。そこで &lt;code&gt;.github/instructions/*.instructions.md&lt;/code&gt; を使います。GitHub Docsでは、&lt;code&gt;applyTo&lt;/code&gt; frontmatterで対象パスを指定するpath-specific custom instructionsを作れると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot" target="_blank" rel="noopener"
 &gt;Adding repository custom instructions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえばHugoブログなら、記事用のinstructionsを次のように分けられます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;applyTo: &amp;#34;content/posts/**/*.md&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Blog post rules
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; frontmatterには title, slug, draft, date, tags, categories, description を含める
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 本文では h1 を使わず、h2/h3 で構成する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 外部情報を使った場合はMarkdownリンクで出典を残す
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; draft は明示がなければ false にする
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これにより、Copilotは「記事編集時のエージェント」と「コード編集時のエージェント」で振る舞いを変えやすくなります。&lt;/p&gt;
&lt;h2 id="3-custom-agentsで専門エージェント化する"&gt;3. custom agentsで専門エージェント化する
&lt;/h2&gt;&lt;p&gt;さらに踏み込むなら、custom agentsを使います。GitHubのcustomization cheat sheetでは、custom agentsは独自のinstructions、tool restrictions、contextを持つ専門ペルソナで、&lt;code&gt;.github/agents/AGENT-NAME.md&lt;/code&gt; などに置けると整理されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/customization-cheat-sheet" target="_blank" rel="noopener"
 &gt;Copilot customization cheat sheet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえば、次のようなエージェントを用意できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;docs-writer&lt;/code&gt;: README、ADR、ブログ記事、リリースノートを書く&lt;/li&gt;
&lt;li&gt;&lt;code&gt;test-generator&lt;/code&gt;: 既存コードを読んでユニットテストを追加する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ci-debugger&lt;/code&gt;: GitHub Actionsの失敗ログを読み、再現手順と修正案を出す&lt;/li&gt;
&lt;li&gt;&lt;code&gt;security-reviewer&lt;/code&gt;: 依存関係、権限、シークレット混入を確認する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは、前回の4レイヤでいう「協調」レイヤです。最初から巨大な万能エージェントを作るより、役割ごとに分けるほうがレビューしやすくなります。&lt;/p&gt;
&lt;h2 id="4-mcpでツールを増やす"&gt;4. MCPでツールを増やす
&lt;/h2&gt;&lt;p&gt;Copilotを本当のエージェントらしくするには、外部ツールへのアクセスが重要です。GitHub Docsでは、MCPを使うとCopilot agent modeが外部データソース、API、ツールへアクセスでき、調査、計画、実装、検証のループを回しやすくなると説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/tutorials/enhance-agent-mode-with-mcp" target="_blank" rel="noopener"
 &gt;Enhancing GitHub Copilot agent mode with MCP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;開発者向けには、まず次のようなMCPサーバから始めるのが現実的です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub MCP: Issue、PR、ブランチ、Actionsの情報を見る&lt;/li&gt;
&lt;li&gt;Playwright MCP: UIを操作してE2Eやアクセシビリティを確認する&lt;/li&gt;
&lt;li&gt;Figma MCP: デザイン仕様を読み、実装との差分を確認する&lt;/li&gt;
&lt;li&gt;独自MCP: 社内API、ログ、メトリクス、デプロイ情報を読む&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MCPを足すときは、いきなり全部つなげないほうが安全です。公式ドキュメントでも、目的に合うサーバを選び、シンプルに始め、接続確認をしてからagent modeのタスクに使うことが推奨されています。&lt;a class="link" href="https://docs.github.com/en/copilot/tutorials/enhance-agent-mode-with-mcp" target="_blank" rel="noopener"
 &gt;Enhancing GitHub Copilot agent mode with MCP&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="5-変更前にフェーズを分ける"&gt;5. 変更前にフェーズを分ける
&lt;/h2&gt;&lt;p&gt;Copilotにいきなり「全部直して」と頼むと、どの設計判断が正しかったのか追いづらくなります。おすすめは、Research、Plan、Implement、Validateの4フェーズに分けることです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. Research: まず関連ファイル、Issue、CIログを調べて、原因候補を列挙して。まだ変更しない。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. Plan: 修正方針を2案出し、リスク、影響範囲、検証方法を比較して。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3. Implement: 採用した方針で最小差分を実装して。関係ない整形はしない。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;4. Validate: テスト、lint、手動確認項目を実行し、結果をまとめて。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これはPlan &amp;amp; Execute、Prompt Chaining、Evaluator-OptimizerをCopilot上で手動フェーズ化したものです。特に本番系やCI/CD系の変更では、「まだ変更しない」「PRを作る前に計画だけ出す」「破壊的操作はしない」と明示するだけで事故を減らせます。&lt;/p&gt;
&lt;h2 id="最小構成のおすすめ"&gt;最小構成のおすすめ
&lt;/h2&gt;&lt;p&gt;まず作るなら、次の3点で十分です。&lt;/p&gt;
&lt;p&gt;1つ目は &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; です。リポジトリ概要、セットアップ、テスト、禁止事項、レビュー観点を書きます。&lt;/p&gt;
&lt;p&gt;2つ目は &lt;code&gt;.github/instructions/&lt;/code&gt; です。&lt;code&gt;frontend.instructions.md&lt;/code&gt;、&lt;code&gt;backend.instructions.md&lt;/code&gt;、&lt;code&gt;docs.instructions.md&lt;/code&gt; のように、パスごとのルールを分けます。&lt;/p&gt;
&lt;p&gt;3つ目はMCPを1つだけ足すことです。GitHub連携かPlaywright連携のように、普段の開発で効果が見えやすいものから始めます。&lt;/p&gt;
&lt;p&gt;この構成なら、単一エージェントでも「ゴール定義」「推論と実行」「安全性ガード」までかなり表現できます。必要になったタイミングで、custom agentsやagent skillsを追加し、docs-writer、ci-debugger、security-reviewerのような専門エージェントへ分割すればよいです。&lt;/p&gt;
&lt;p&gt;Copilotでエージェントを作るとは、特別なAI基盤を最初から作ることではありません。自分の開発プロセスを、instructions、prompt、agent、MCP、承認フローとして明文化することです。設計パターンを意識してCopilotに渡す文脈を整えるほど、単なる補完ツールから、頼れる開発パートナーに近づいていきます。&lt;/p&gt;</description></item></channel></rss>