AI AgentのSkillは、Agentへ手順と知識を渡すための形式です。実体はモデルの機能ではなく、SKILL.mdというMarkdown fileを中心にした、ただのフォルダです。
ToolがAgentに「できること」を増やすのに対し、Skillは「どう進めるか」を増やします。そして手順を渡せるということは、間違った手順や悪意のある手順も渡せるということです。この二面は最後まで付いて回ります。
Agent Skills仕様は、nameとdescriptionをYAML frontmatterに持つSKILL.mdと、任意のscripts/・references/・assets/を一つのディレクトリへまとめる構成を定義しています。Anthropicが開発してオープン標準として公開した形式で、Claude Code、OpenAI Codex、Gemini CLI、GitHub Copilotなど、複数のAgent製品が採用しています。
このGuideは、2026年7月14日時点の仕様と各製品のドキュメントを基準にしています。対応製品は増え続けているため、導入時には利用するAgent製品の対応状況を確認してください。
my-skill/
├── SKILL.md # 必須: メタデータ + 手順
├── scripts/ # 任意: 実行可能なコード
├── references/ # 任意: 詳細な参照資料
└── assets/ # 任意: テンプレートやデータ読み込みは三段階、Progressive Disclosure
Skillが常駐指示と違うのは、内容が段階的にしか読み込まれない点です。
| 段階 | 読み込まれるもの | タイミング |
|---|---|---|
| Discovery | nameとdescription (100 Token程度) | 起動時に全Skill分 |
| Activation | SKILL.md本文 (5,000 Token以下推奨) | タスクがdescriptionに合致したとき |
| Execution | scripts/・references/・assets/ | 手順の中で必要になったときだけ |
この構造のおかげで、多数のSkillを持たせてもContextはほとんど消費されません。scripts/のコードは実行環境側で実行され、コード本体はContextへ載らず、出力だけがモデルへ戻ります。毎回モデルにコードを生成させるより、決定的で安上がりです。
つまりSkillは、Context Engineeringの道具でもあります。常駐させる指示を最小限にして、必要な手順だけを必要なときにContextへ載せる、という設計をファイル形式で実現しています。
似た仕組みと分けると、Skillの持ち場が見えてくる
| 仕組み | 渡すもの | 読み込み |
|---|---|---|
| System Prompt / 常駐指示 | 常に効かせたい方針・制約 | 毎回すべて |
| Skill | タスク単位の手順・知識・Tool利用方法 | 合致したときだけ |
| Tool | 実行可能な操作の単位 | 定義は毎回、実行は要求時 |
| MCP | 外部システムとの接続Protocol | 接続先に依存 |
| Fine-tuning | モデル重みの変更 | 推論前に固定 |
SkillはToolの代わりにはなりません。Skillはモデルが読む知識で、Toolはアプリケーション側が実行する操作です。実際には「このToolをこの順番で、この条件で使う」というTool利用の手順こそ、Skillへ書く価値のある内容です。
MCPとの関係も置き換えではありません。MCPが外部システムへの接続を標準化し、Skillはその接続の上での仕事の進め方を教えます。AnthropicのAgent Skills解説も、外部Toolを含む複雑なワークフローをSkillで教える組み合わせを挙げています。
何をSkillへ切り出すか
同じ指示を会話へ何度も貼り付けているなら、それがSkillの候補です。Claude CodeのSkillドキュメントは、常駐設定ファイルの中で「事実」ではなく「手順」に育った部分をSkillへ移すことを勧めています。
- 繰り返す作業手順 (デプロイ、リリース検証、レビューの観点)
- ドメイン固有の知識と判断基準
- 毎回同じ結果にしたい処理は
scripts/へ
descriptionには、何をするかと、いつ使うかの両方を書きます。ここが曖昧だと、Agentは必要な場面でそのSkillを見つけられません。本文は500行以下に抑え、詳細はreferences/へ分けるのが仕様側の推奨です。
Agentが仕事を完了できる実行環境の全体はHarness Engineeringの領域です。Skillはその中で、手順と知識の層を受け持つ部品と捉えています。
Skillの導入は、ソフトウェアのインストールと同じ
Skillは指示と実行可能コードの束です。悪意のあるSkillは、表向きの説明と違うTool呼び出しやコード実行をAgentへ指示できます。ClaudeのAgent Skillsドキュメントも、信頼できる出所のSkillだけを使い、導入前にSKILL.md・scripts・同梱fileをすべて確認するよう求めています。
外部から取得したSkillは、プロンプトインジェクションの入口にもなります。fileに書かれた指示をAgentが読んで従う、という仕組みそのものが攻撃面になるからです。導入前に確認したいのは、次の三点です。
- 出所と変更履歴を確認できるか
- 同梱scriptsが何へアクセスするか
- ネットワークへ出る処理が含まれていないか
よくある誤解
Skillを入れるとモデルが賢くなる
モデル自体は変わりません。変わるのは、Contextへ載る手順と知識です。能力の上限は、モデル・Tool・実行環境の組み合わせで決まります。
PromptへコピペするのとSkillは同じ
一回の会話に限れば近い効果です。違いは、Progressive Disclosureで必要なときだけ読み込まれる点と、fileとしてVersion管理・配布・レビューできる点にあります。
Skillは多いほどAgentが高機能になる
descriptionが競合すると誤選択が増えます。Toolと同じで、見せる候補は絞る方が安定します。使われていないSkillは削除するか統合します。
Skillに書いた手順は必ず守られる
Skillも指示であって、強制ではありません。禁止したい操作はSkillの文言ではなく、Tool側の権限・承認・検証で止めます。
Skillは特定製品の独自機能にすぎない
Agent Skillsはオープン標準で、複数の製品が採用しています。同じSkillフォルダを複数のAgent CLIで共有する運用も可能です。
EastBraver Labsの判断基準
EastBraver Labsでは、Skillを便利な追加機能ではなく、Version管理された運用手順の資産として扱います。
実際に、このサイトの運用自体をSkillで回しています。デプロイ、リリース検証、日次ダイジェストの生成といった手順はSkillとしてrepositoryに置き、Agentと人間が同じ手順書を参照します。手順の変更は、コードと同じくレビューと履歴の対象です。
導入するのは、自作したSkillか、出所と中身を確認できるSkillだけです。まず読み取り中心の手順から始めて、更新や公開を伴う手順にはToolと同じ境界、つまり最小権限・承認・監査を先に置きます。
効果は「Agentが同じ品質で繰り返せるようになったか」で見ます。一回の成功デモではなく、手順の再現性がSkillの評価軸だと考えています。