1. はじめに

Agent Skills は再利用可能な「能力」の定義、Custom Agent はツール制限付きの「ペルソナ」の定義です。本記事を作成した背景は、VS Code の Copilot カスタマイズ機能が急速に拡充され、Custom Instructions・Prompt Files・Agent Skills・Custom Agent など選択肢が増えた反面、「どれを使えばいいのか」と迷う開発者が多いことです。本記事の目的は、この 2 つの設計思想と使い分けの判断基準を、公式ドキュメントに基づき整理することです。Copilot のセキュリティ設計については前回の記事でも触れましたが、今回は「カスタマイズ機能の選び方」にフォーカスします。

2. 機能概要

2.1 Agent Skills とは

Agent Skills は、SKILL.md ファイルを中心としたフォルダで構成されるカスタマイズ単位です。指示文、スクリプト、テンプレートなどのリソースをまとめて「スキル」として定義します。

text
.github/skills/
  webapp-testing/
    SKILL.md           # 指示とメタデータ
    test-template.js   # テンプレート
    examples/          # サンプル集

最大の特徴は ポータビリティ です。Agent Skills は Anthropic が策定しオープン標準として公開した仕様(agentskills.io)に準拠しており、VS Code だけでなく Copilot CLI、Claude Code、OpenAI Codex など多数のエージェント製品で動作します。

Copilot はスキルを 3 段階のプログレッシブ・ローディング で読み込みます(VS Code: Agent Skills 公式ドキュメントより)。

  1. Discoverynamedescription でタスクとの関連度を判定
  2. Instructions ― 関連ありと判断されたら SKILL.md 本文を読み込み
  3. Resource access ― 本文中で参照されたスクリプトやテンプレートをオンデマンドで取得

この仕組みにより、多数のスキルを登録してもコンテキストを圧迫しません。

2.2 Custom Agent とは

Custom Agent は .agent.md ファイルで定義される「AI のペルソナ」です。利用できるツールの制限、使用モデルの指定、ハンドオフによるエージェント間遷移などを設定できます(VS Code: Custom Agents 公式ドキュメントより)。

yaml
---
description: セキュリティ観点でコードをレビューする
tools: ["codebase", "search", "web"]
model: Claude Sonnet 4.5 (copilot)
handoffs:
  - label: 修正を実装
    agent: implementation
    prompt: 上記の指摘事項を修正してください
---

Custom Agent の核心は ツール制限ハンドオフ です。読み取り専用ツールだけを許可した「計画エージェント」や、編集ツール付きの「実装エージェント」を作り、ボタン一つで安全に切り替えられます。.claude/agents/ フォルダに配置する Claude フォーマットにも対応しています。

3. 比較表

以下の比較は VS Code: Agent SkillsVS Code: Custom Agents の公式ドキュメント記載内容に基づきます。

観点Agent SkillsCustom Agent
定義ファイルSKILL.md.agent.md
設計思想再利用可能な「能力」切り替え可能な「人格」
ツール制限なし(呼び出し元に依存)あり(tools で明示指定)
ポータビリティオープン標準(VS Code / CLI / Claude Code 等)GitHub Copilot エコシステム内(VS Code / CLI / Cloud Agent)
起動方法/ コマンド or 自動検出エージェントドロップダウンで切替
スコープタスク単位でオンデマンド読み込みセッション全体に適用
含められるもの指示 + スクリプト + リソース指示 + ツール一覧 + モデル指定 + ハンドオフ + サブエージェント
サブエージェント対応(agents プロパティ, experimental)

4. 使い分けフローチャート

以下のフローで判断すると迷いにくくなります。

Agent Skills と Custom Agent の使い分けフローチャート

5. 実践例

5.1 例 1: テスト戦略を Agent Skills で共有する

チーム共通のテスト手順をスキル化すれば、誰が使っても同じ品質のテストが生成されます。

yaml
# .github/skills/integration-testing/SKILL.md
---
name: integration-testing
description: >
  インテグレーションテストの設計・実行手順を提供する。
  DB接続やAPI呼び出しを含むテストケースの作成時に使用する。
---

Copilot CLI でも同じスキルが動くため、CI パイプライン上での自動修正にも活用できます。

5.2 例 2: セキュリティレビュー専用の Custom Agent

読み取り専用ツールだけを許可し、意図しないコード変更を防ぎます。

yaml
# .github/agents/security-reviewer.agent.md
---
description: セキュリティ脆弱性を検出するレビューエージェント
tools: ["codebase", "search", "web"]
handoffs:
  - label: 修正を実装
    agent: coder
    prompt: 上記の脆弱性を修正してください
---
# セキュリティレビュー

OWASP Top 10 に基づき、以下の観点でコードを検査してください...

レビュー後に「修正を実装」ボタンで実装エージェントに ハンドオフ できます。

5.3 例 3: 組み合わせパターン

Custom Agent の指示文の中でスキルを参照すると、両方の強みを活かせます。

markdown
# .github/agents/qa-engineer.agent.md

## テスト作成時のルール

テストを作成する際は `/integration-testing` スキルの手順に従ってください。

Custom Agent が「誰として振る舞うか」を、Agent Skills が「何ができるか」を担う 構成です。

6. Tips & 注意点

6.1 他のカスタマイズ機能との棲み分け

機能用途一言で言うと
Custom Instructionsコーディング規約・文体ルール「常に守るルール」
Prompt Files繰り返し実行するタスクのテンプレート「定型タスク」
Agent Skillsスクリプト付きの専門能力「持ち運べるスキル」
Custom Agentペルソナ+ツール制限+ハンドオフ「切り替えるモード」

6.2 よくあるつまずき

  • スキルが自動検出されないdescription が曖昧だと Copilot がマッチングできません。具体的なユースケースを書きましょう
  • Custom Agent のツールが効かない → 未インストールのツールは無視されます。/agents で利用可能なツール一覧を確認してください
  • モノレポでスキルが見つからないchat.useCustomizationsInParentRepositories を有効にしてください

7. Agentic Workflows の整理

GitHub Copilot における Agentic Workflows は、単発回答ではなく「計画 → 実行 → 検証」を反復してタスク完了まで進める運用モデルです。

7.1 何が Agentic なのか

  • タスク分解: 目的を小さなステップに分けて順に処理する
  • ツール実行: コード検索、編集、テスト実行などを状況に応じて使い分ける
  • 自己修正: エラーや失敗を観測して、次の手順を更新する
  • 役割分担: Planner / Implementer / Reviewer のようにエージェントを分離する

7.2 Skills / Custom Agent との関係

要素Agentic Workflows での役割
Agent Skills実行ステップで使う再利用可能な「能力」
Custom Agentステップごとの責務と権限を分離する「実行モード」
Handoff計画・実装・レビューを安全に受け渡す制御点

つまり、Agentic Workflows は上位概念で、Agent Skills と Custom Agent はその実装部品です。

7.3 実務での最小導入パターン

  1. Planner Agent(読み取り専用)で実装計画を作る
  2. Coder Agent(編集可能)へハンドオフして実装する
  3. Reviewer Agent(読み取り専用)で差分レビューする
  4. 必要なら Planner に戻して再計画する

この 3 役構成だけでも、誤編集の抑制とレビュー品質の安定化が期待できます。

8. まとめ

  • 能力を定義・共有したい → Agent Skills(ポータブルで再利用性が高い)
  • 安全なワークフローを構築したい → Custom Agent(ツール制限とハンドオフ)
  • 最も効果的な使い方 → Custom Agent で人格を定義し、Agent Skills で能力を装備する

まずはチーム内で繰り返し説明している手順を 1 つスキル化するところから始めてみてください。

9. 参考情報


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