GitHub Copilot Agent Skillsを活用したタスクの自動化

8分で読めます

概要

前回までの記事でInstruction files / Prompt filesで実現するGitHub Copilot Chatの階層的コンテキスト管理を解説しました。今回は、最近Visual Studio Codeでも使えるようになったAgent Skillsによるタスクの自動化を紹介します。

Agent Skillsは、専門的なタスクやワークフローを「スキル」として定義し、必要な時だけCopilotがロードする仕組みです。テスト実行、デバッグ、デプロイなど、プロジェクト固有の複雑な作業手順をスキル化することで、コンテキスト消費を抑えながら高度な自動化を実現できます。

Agent Skillsとは

Agent Skillsは、指示・スクリプト・リソースをまとめたフォルダ単位の拡張機能です。GitHub Copilotが関連するタスクを検出すると、該当するスキルを自動的にロードして定義したスキルを実行します。

Agent Skillsの特徴

  • タスク特化型:特定の作業(テスト、デバッグ、デプロイ等)に特化したスキル定義
  • オンデマンドロード:必要な時だけスキルをロードしてコンテキストを節約
  • リソース同梱:指示だけでなく、スクリプト・テンプレート・例を含められる
  • ポータビリティ:VS Code、Copilot CLI、Copilot coding agentで共通利用可能
  • オープン標準:agentskills.ioで定義された標準仕様に準拠

他のコンテキスト管理機能との違い

Agent Skillsと既存のコンテキスト管理機能は補完的な関係にあり、用途が異なります。

Agent SkillsCustom InstructionsInstruction filesPrompt files
目的専門的なワークフローの自動化プロジェクト全体の基本方針ファイル種別ごとの規約再利用可能なプロンプトテンプレート
適用範囲関連タスク検出時のみロード常に適用(全体)globパターン指定明示的に呼び出し時のみ
配置場所.github/skills/.github/.github/instructions/.github/prompts/
コンテンツ指示・スクリプト・リソース指示のみ指示のみプロンプトテンプレート
移植性VS Code・CLI・coding agentVS Code・GitHub.comVS Code・GitHub.comVS Code
標準agentskills.io標準VS Code固有VS Code固有VS Code固有

使い分けの指針

機能方針具体例
Agent Skills再利用可能な専門タスクテスト実行手順、デバッグワークフロー、デプロイプロセス
Custom Instructions常に適用すべき基本方針開発方針、AI-Human協働ルール、品質基準
Instruction filesファイル種別ごとの規約TypeScript/MDX/CSSのコーディング規約・命名規則
Prompt files繰り返し使う定型プロンプトコードレビュー依頼、リリースノート生成

Prompt filesとAgent Skillsを比較すると機能的にはAgent Skillsの方が上位互換のように感じますね。

Agent Skillsの仕組み

Agent Skillsは段階的にコンテンツをロードする「Progressive Disclosure」により、多数のスキルをインストールしてもコンテキストを圧迫しません。

ステップ内容ロードされる情報
Step 1: スキル発見常に全スキルを認識メタデータのみ(namedescription
Step 2: 指示ロードリクエストと一致時SKILL.mdの本文(詳細な指示)
Step 3: リソースアクセス必要と判断時のみスキルディレクトリ内の追加ファイル

この仕組みにより、多数のスキルをインストールしてもコンテキスト消費は最小限に抑えられ、関連するスキルだけが自動的にアクティブになります。

スキルの構造と定義

スキルは.github/skills/(プロジェクト固有)または~/.copilot/skills/(個人用)に配置します。

Agent Skillsの有効化

Agent SkillsはVS Codeでプレビュー機能として提供されています。使用するにはchat.useAgentSkills設定を有効化する必要があります。settings.jsonの場合は以下を追加します。

JSON
{ "chat.useAgentSkills": true }

設定UIからは、Cmd/Ctrl + ,で開いて「Chat: Use Agent Skills」を検索してオンにします。

スキルの基本構造

Text
.github/skills/
└── your-skill-name/
    ├── SKILL.md          # スキル定義(必須)
    ├── script.sh         # スクリプト(オプション)
    ├── template.js       # テンプレート(オプション)
    └── examples/         # 例ディレクトリ(オプション)

SKILL.mdのフォーマット

スキル定義は、YAML形式のfrontmatter + Markdown本文で構成されます。

Markdown
---
name: skill-name
description: このスキルが何をするか、いつ使うかの説明
---

# スキルの本文

Copilotが従うべき指示・手順・例を記述します。

Frontmatterの定義

Property必須説明制約
name必須スキルの一意な識別子64文字以内、小文字・ハイフン区切り
description必須スキルの目的と使用タイミング1024文字以内

descriptionの記述ポイント

descriptionは、Copilotがスキルをロードするかどうかの判断基準になります。具体的で明確な記述が重要です。

本文の記述ポイント

スキル本文は、Copilotが従うべき指示・ガイドライン・例を含めます。

  • 目的:スキルが達成すること
  • 手順:ステップバイステップの実行手順
  • 入出力例:期待される入力と出力の具体例
  • 参考リソース:スキルディレクトリ内のファイル参照

サンプル:タスク生成スキル

ここからは実際に動作するAgent Skillを作成します。作業内容からプロジェクト構造を確認し、必要なタスクをリスト化するスキルを例に、スキルの定義方法を見ていきましょう。

SKILL.md

.github/skills/task-generator/SKILL.mdに以下の内容を作成します。

Markdown
---
name: task-generator
description: プロジェクト構造を分析し、作業に必要なタスクを推測してファイルとして生成するスキル。「〇〇のタスクを作成して」「〇〇するためのタスクリストを生成して」といったリクエストで使用できます。
---

# タスク生成スキル

このスキルは、作業内容とプロジェクト構造から必要なタスクを推測し、管理用ファイルを生成します。

## タスク生成の流れ

1. プロジェクト構造を確認(ディレクトリ構成、既存コード、使用技術)
2. 作業内容から必要なタスクを推測
3. `tasks/`ディレクトリに`task-{内容}.md`形式で生成(kebab-case)

## ファイル形式

```markdown
# [作業内容]のタスク

## 概要
作業の目的と背景

## タスク一覧

- [ ] タスク1: 具体的な作業内容と完了条件
- [ ] タスク2: 具体的な作業内容と完了条件
- [ ] タスク3: 具体的な作業内容と完了条件
```

## 使用例

「ユーザー認証機能のタスクを作成して」→ `tasks/task-user-authentication.md`生成  
「パフォーマンス改善のタスクリストを生成して」→ `tasks/task-performance-improvement.md`生成

このスキルにより、「〇〇のタスクを作成して」と指示するだけで、tasks/ディレクトリにプロジェクト構造に合わせたタスク管理ファイルが生成されます。

共有スキルの活用

自作するスキル以外にもコミュニティにより様々な共有スキルが作られています。日本語のものはまだ少ないですが、どのようなスキルが作れるのか参考になるかと思います。

まとめ

Agent Skillsは、GitHub Copilotに定型化されたタスク処理能力を追加する便利な仕組みですね。
日々の作業を行う中で、繰り返している作業があれば積極的にスキル化することで、開発効率を向上させることができると思います。 スキル化すること自体もCopilotに指示すればよいので、ぜひ試してみてください。

この記事は役に立ちましたか?

この記事をシェア

X
Facebook
はてな
utsusieのプロフィール画像

utsusie

UI Designer / Web Director