1. はじめに

基礎編では .github/copilot-instructions.md による全体ルールとパス別指示を紹介しました。本記事を作成した背景は、全体ルールだけでは「ペルソナの切り替え」と「能力の再利用」という 2 つのニーズに対応しきれないことです。本記事の目的は、さらに一歩進んだ 2 つの Markdown カスタマイズ機能の設定方法を紹介することです。

  • Custom Agent: ツール制限やハンドオフを備えた「ペルソナ」の定義
  • Agent Skills: ポータブルで再利用可能な「能力」の定義

2. Custom Agent

2.1 Custom Agent とは

.agent.md ファイルで定義する AI のペルソナです。Chat のエージェントドロップダウンから切り替えて使います[^vscode-custom-agents]。

主な特徴は次のとおりです。

  • ツール制限: tools で利用可能なツールを明示指定できます
  • ハンドオフ: 別のエージェントへボタンひとつで切り替えられます。ハンドオフごとに handoffs.model で切り替え先のモデルを指定することもできます
  • モデル指定: model でエージェントごとに使用モデルを変更できます。優先順位付きの配列を指定すると、先頭から順に利用可能なモデルを試します
  • サブエージェント: agents で呼び出し可能なサブエージェントを制限できます

2.2 セットアップ

.github/agents/planner.agent.md を作成します。

markdown
---
description: 実装計画を生成する読み取り専用エージェント
tools: ["web/fetch", "search/codebase", "search/usages"]
model: Claude Sonnet 4.5 (copilot)
handoffs:
  - label: 実装を開始
    agent: coder
    prompt: 上記の計画に従って実装してください
    send: false
---

# 計画エージェント

コードベースを分析し、実装計画を Markdown で出力してください。
コードの変更は行わないでください。

2.3 ハンドオフの流れ

Custom Agent のハンドオフフロー

ハンドオフの send: true を設定すると、切り替え後にプロンプトが自動送信されます。レビューを挟みたい場合は send: false(デフォルト)にします。

2.4 /create-agent で AI 生成する

Chat で /create-agent セキュリティレビュー用のエージェント と入力すると、AI がヒアリングしながら .agent.md を自動生成します。

3. Agent Skills

3.1 Agent Skills とは

SKILL.md を中心としたフォルダで構成される再利用可能な能力です。オープン標準(agentskills.io)に準拠しており、VS Code / GitHub Copilot CLI / Copilot coding agent / Copilot code review など、対応する複数のツールで動作します[^github-add-skills]。

3.2 セットアップ

.github/skills/db-migration/SKILL.md を作成します。

markdown
---
name: db-migration
description: >
  データベースマイグレーションの作成・実行手順を提供する。
  スキーマ変更やシード投入の際に使用する。
---

# DB マイグレーション手順

1. マイグレーションファイルを生成する
2. スキーマ変更を記述する
3. ローカルで実行して動作確認する
4. テストデータを投入する

## テンプレート

[マイグレーションテンプレート](../../research/migration-template.sql)

スキルは /db-migration のスラッシュコマンドで手動呼び出しできます。タスクとの関連度が高い場合は自動検出もされます。user-invocable: false を指定するとスラッシュコマンド表示だけを消し、disable-model-invocation: true を指定すると自動検出だけを止められます[^vscode-agent-skills]。

Chat で /create-skill DB マイグレーション用のスキル と入力すると、AI がヒアリングしながらスキルを自動生成します。

3.3 プログレッシブ・ローディング

Copilot はスキルを 3 段階で読み込みます[^vscode-agent-skills]。

  1. Discovery: namedescription でマッチング判定
  2. Instructions: 関連ありと判断されたら SKILL.md 本文を読み込み
  3. Resource access: 参照されたファイルをオンデマンドで取得

多数のスキルを登録してもコンテキストを圧迫しません。

4. Custom Agent × Agent Skills の組み合わせ

Custom Agent の指示文の中でスキルを参照すると、「誰が(Agent)何をできるか(Skills)」を分離した運用ができます。.github/agents/db-engineer.agent.md を作成します。

markdown
---
description: DB 設計・マイグレーションを担当するエージェント
tools: ["edit", "search/codebase", "search/usages"]
---

DB 設計やマイグレーション作業を担当します。
マイグレーション実行時は `/db-migration` スキルの手順に従ってください。

5. 注意点・制限事項

  • Custom Agent は VS Code の Chat(および Copilot coding agent などの Background / Cloud Agent 環境)で利用されます。Agent Skills は VS Code に加えて GitHub Copilot CLI、Copilot coding agent、Copilot code review でも動作します。いずれも inline suggestions には反映されません[^vscode-custom-agents][^github-add-skills]
  • ツール一覧に存在しないツールを tools に指定しても無視されます[^vscode-custom-agents]
  • Agent Skills はプロジェクトスキル(.github/skills/.claude/skills/.agents/skills/)とユーザースキル(~/.copilot/skills/~/.claude/skills/~/.agents/skills/)の 2 スコープがあります。追加パスは chat.agentSkillsLocations で設定できます[^vscode-agent-skills]
  • 組織レベルの Custom Agent 共有には github.copilot.chat.organizationCustomAgents.enabled の有効化が必要です。GitHub 上では組織またはエンタープライズの .github または .github-private リポジトリの agents/ ディレクトリに Custom Agent を配置すると、組織全体へ共有できます(GitHub 上でのこの共有機構は執筆時点で Public Preview です)[^github-org-custom-agents]

6. まとめ

Custom Agent と Agent Skills を使うと、instructions だけでは実現できない「ペルソナの切り替え」と「能力の再利用」が可能になります。後編では Agent Hooks を使ったライフサイクル自動化を紹介します。

7. 参考情報

[^vscode-custom-agents]: Custom agents in VS Code — Visual Studio Code Docs(確認日: 2026-08-22)

[^vscode-agent-skills]: Use Agent Skills in VS Code — Visual Studio Code Docs(確認日: 2026-08-22)

[^github-org-custom-agents]: Preparing to use custom agents in your organization — GitHub Docs(確認日: 2026-08-22)

[^github-add-skills]: Adding agent skills for GitHub Copilot — GitHub Docs(確認日: 2026-08-22)


この記事の執筆にあたり、AI の支援を受けています。