はじめに
Claude CodeとGitHub Copilot Agent、両方を使っているチームで「定型作業の手順を両方のAIツールで共有したい」というケースがあると思います。
本記事では、Claude CodeのSkill機能とGitHub Copilotのカスタムエージェント機能を活用して、共通の手順を共有する方法を紹介します。
背景・課題
やりたかったこと
インフラリポジトリで「Flux Kustomizationをsuspendする」という定型作業があり、以下のような簡単な指示で実行できるようにしたいというものでした。
zozo-cart namespaceのzozo-cart-workerをflux suspendして
選択肢の検討
方法1: 各ツール専用のファイルを作成
.github/
└── copilot-instructions.md # GitHub Copilot用(手順を直接記載)
.claude/
└── skills/flux-suspend/
└── SKILL.md # Claude Code用(手順を直接記載)
デメリット: 同じ内容を2箇所で管理する必要があります。
方法2: 共通instructionsファイルに追記
Claude CodeではCLAUDE.md、GitHub Copilotでは.github/copilot-instructions.mdが会話の開始時に常にロードされます。
一方、Skillsやカスタムエージェントは必要な時だけオンデマンドでロードされます。
つまり、常時ロードされるinstructionsファイルに手順を書くと、Flux suspend作業をしない会話でも常にコンテキストを消費してしまい、オンデマンドロードのメリットが失われます。
方法3: 共通ドキュメントを参照する(採用)
共通の手順書を1箇所に置き、各AIツールは必要な時だけ参照する形式を採用しました。
実装
ディレクトリ構成
この構成を見ればやろうとしてることは大体分かると思います。
.github/
├── instructions/
│ └── stg-flux-suspend.md # 手順の実体(共通)
├── agents/
│ └── stg-flux-suspend.agent.md # GitHub Copilot カスタムエージェント
└── copilot-instructions.md
.claude/
└── skills/stg-flux-suspend/
└── SKILL.md # Claude Code Skill
各ファイルの内容
1. 共通手順書 (.github/instructions/stg-flux-suspend.md)
手順の実体を記載するファイルです。環境情報やYAMLの書き方など詳細な手順を含めます。
# Flux Suspend 手順書
stg環境のFlux Kustomizationをsuspendするための定型作業手順です。
## 概要
Flux CDでは、`Kustomization`リソースの`spec.suspend: true`を設定することで、
GitOpsによる自動更新を一時停止できます。
## 対象ファイル
path/to/flux/manifest/<namespace>.yaml
## 作業手順
<namespace>.yamlファイルの末尾に以下を追加:
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: <アプリケーション名>
namespace: <namespace>
spec:
suspend: true
(以下、詳細な手順や注意事項...)
2. Claude Code Skill (.claude/skills/flux-suspend/SKILL.md)
Skillファイルはdescriptionと参照のみを記載した軽量な形式にします。
---
name: stg-flux-suspend
description: stg環境のFlux Kustomizationをsuspendする。namespaceやアプリケーション名を指定して「fluxをsuspendしたい」「flux更新を止めたい」といったリクエストに対応。
---
# Flux Suspend Skill
Flux Kustomizationをsuspendするための定型作業を支援します。
詳細手順は `.github/instructions/stg-flux-suspend.md` を参照してください。
ポイント:
-
descriptionにはトリガーとなるキーワードを含めます - 手順の実体は書かず、参照先だけを記載します
- Skillがトリガーされた時、Claudeが参照先のファイルを読みに行きます
3. GitHub Copilot カスタムエージェント (.github/agents/flux-suspend.agent.md)
GitHub Copilotではカスタムエージェントを定義できます。
---
name: stg-flux-suspend
description: stg環境のFlux Kustomizationをsuspendする。namespaceやアプリケーション名を指定して「fluxをsuspendしたい」「flux更新を止めたい」といったリクエストに対応。
tools:
- read
- edit
- search
---
# Flux Suspend Agent
stg環境のFlux Kustomizationをsuspendするための定型作業を支援します。
詳細手順は `.github/instructions/stg-flux-suspend.md` を参照してください。
ポイント:
- ファイル名は
.agent.md拡張子を使用します - YAML frontmatterで
toolsを指定します(read, edit, searchなど) -
descriptionはClaude Code Skillと同じ内容で問題ありません - 詳細手順は共通ファイルを参照します
GitHub Copilot カスタムエージェントについて
カスタムエージェントとは
2025年10月にリリースされた機能です。.github/agents/ディレクトリに.agent.mdファイルを配置することで、専用のエージェントを定義できます。
配置場所
| スコープ | パス |
|---|---|
| リポジトリ | .github/agents/<name>.agent.md |
| 組織全体 |
{org}/.githubリポジトリのagents/<name>.agent.md
|
| ローカル | ~/.copilot/agents/<name>.agent.md |
※ 組織全体スコープは、組織の.githubリポジトリ直下にagents/ディレクトリを作成して配置します。
YAML frontmatterの項目
| プロパティ | 型 | 説明 |
|---|---|---|
| description | 文字列(必須) | エージェントの目的と機能の説明 |
| name | 文字列 | 表示名(オプション) |
| tools | 文字列配列 | 利用可能なツール一覧 |
| infer | ブール値 | 自動選択の可否(デフォルト:true) |
利用可能なツール
-
execute: シェルコマンド実行 -
read: ファイル内容読取 -
edit: ファイル編集 -
search: ファイル検索 -
agent: 別カスタムエージェント呼び出し
Claude Code Skillsの基本
Skillとは
Agent Skillsはモデル起動型の拡張機能です。ユーザーのリクエストがSkillのdescriptionにマッチすると、Claudeが自動的にそのSkillを使用します。
/commandを明示的に入力するスラッシュコマンド(ユーザー起動型)とは異なり、自然言語で指示するだけで起動します。
Skillファイルの配置場所
| スコープ | パス | 用途 |
|---|---|---|
| パーソナル | ~/.claude/skills/スキル名/ |
個人のワークフロー |
| プロジェクト | .claude/skills/スキル名/ |
チーム共有(Gitコミット可能) |
SKILL.mdの必須項目
---
name: your-skill-name # 小文字、数字、ハイフンのみ(最大64文字)
description: Skillの説明 # いつ使用すべきかの説明(最大1024文字)
---
# Skill本文
descriptionはClaudeの自動発見において重要な役割を果たします。Skillが何をするか、いつ使用すべきかの両方を含めるようにしましょう。
メリット
| 観点 | 効果 |
|---|---|
| コンテキスト効率 | 各ツールは必要な時だけ手順をロード |
| メンテナンス性 | 手順変更は.github/instructions/stg-flux-suspend.mdの1箇所のみ |
| ツール間共有 | Claude CodeとGitHub Copilot両方が同じ手順を参照 |
| モデル起動型 | 両方とも自然言語で指示するだけで自動的に起動 |
まとめ
本記事では、Claude CodeのSkill機能とGitHub Copilotのカスタムエージェント機能で定型作業を共有する方法を紹介しました。
ポイントは以下の3点です。
-
共通手順書を1箇所に配置する(
.github/instructions/) -
Claude Code Skillから参照する(
.claude/skills/<name>/SKILL.md) -
GitHub Copilot カスタムエージェントから参照する(
.github/agents/<name>.agent.md)
この方法により、メンテナンス性を保ちながら、複数のAIツールで統一された作業手順を提供できます。
こういう機能は各AIツールごとに違うと面倒なので標準化されると嬉しいですね。
先日、設立が発表されたエージェント型AIの標準化団体「AAIF」に期待しましょう。