Techvoyage
ホーム
AIエージェントのスキル作成・開発ガイド:再利用可能で効率的なワークフローを構築する手順とベストプラクティス

AIエージェントのスキルとは?その基本概念から作成方法、再利用可能なワークフローの構築までを徹底解説

AIエージェントのスキルとは何か、また状況に応じて詳細なシステム手順を効率的にロードする「段階的開示(Progressive Disclosure)」の仕組みを詳しく解説。開発者向けに再利用可能で強力なカスタムスキルを一から自作し、実開発に適用するための実践的な手順と手法を余すところなく紹介します。

Jun 26, 2026 - 2分で読める
目次

AIエージェントのスキル(Agent Skill)とは?

エージェントのスキル(agent skill)とは、再利用可能な 指示(インストラクション)のセット、すなわち、エージェントに特定のタスクを高いクオリティで実行させるための「標準化された手順書」です。これは SKILL.md という単一の Markdown ファイルで構成され、タスクに必要なその他のファイル(参照ドキュメント、テンプレート、実行可能なスクリプトなど)をひとまとめにパッケージ化することができます。

例として、計画や設計を問い詰めるスキルである grill-me を見てみましょう:

---
name: grill-me
description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
---

Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.

Ask the questions one at a time.

If a question can be answered by exploring the codebase, explore the codebase instead.

SKILL.md ファイルには、少量のメタデータブロックと、指示の本文が含まれています。メタデータにはスキルの名前(name)と説明(description)が記述されており、AI エージェントは起動時にこれを読み込みます。

AIエージェントのスキルはどう機能するか:段階的開示(Progressive Disclosure)

初期状態では、スキルの名前と説明だけがコンテキスト(Context)に読み込まれます。ユーザーの要求がスキルの説明文と一致したときに初めて、指示の本文全体が同じコンテキストに読み込まれます。

実際の開発フローにおいて、この grill-me スキルがどのように使われるかを見てみましょう。

ステップ・バイ・ステップ

  1. リクエスト(Request) — ユーザーがエージェントに「私のワークフローの設計を問い詰めて、ストレステストしてほしい(grill me on my workflow design)」と依頼します。
  2. 選択用プロンプト(Selection prompt) — ユーザーのリクエストと、利用可能なすべてのスキルの説明文が LLM に送信されます。
  3. LLM による選択 — LLM がリクエストと各スキルの説明を比較し、一致するスキルを選択して返します。
  4. 確認(Confirmation) — エージェントが提案されたスキルをユーザーに提示し、ユーザーがそれを確認(または却下・調整)します。
  5. 指示のロード — エージェントは、確認されたスキルの 完全な 指示(SKILL.md の本文)を取得します。
  6. 実行用プロンプト(Execution prompt) — ユーザーのリクエストに、選択されたスキルの具体的な指示を加えたものが LLM に送信されます。
  7. レスポンス — LLM が、問い詰めのための最初の質問を出力します。

次に、参照ドキュメントを持つスキルがどのように使われるかを、excalidraw-diagram-skill を例に説明します:

ステップ・バイ・ステップ

  1. リクエスト(Request) — ユーザーが「デプロイプロセスのワークフローを描いて(draw the workflow of the deployment process)」と依頼します。
  2. 選択用プロンプト — ユーザーのリクエストと、すべてのスキルの説明が LLM に送信されます。
  3. LLM による選択 — LLM はリクエストと説明を比較し、一致するスキルを返します。ここでは「ワークフローを描く」が excalidraw-diagram の説明と一致するため、このスキルが選択されます。
  4. 確認 — エージェントは提案されたスキルをユーザーに提示し、ユーザーが確認します。
  5. 指示のロード — エージェントは、確認されたスキルの指示本文(SKILL.md)と、関連する参照ファイル(excalidraw-diagram の場合はカラーパレット、JSON スキーマ、要素テンプレートなど)をすべて読み込みます。
  6. 実行用プロンプト — ユーザーのリクエストに、スキルの指示と参照ファイルを足したプロンプトが LLM に送信されます。モデルは必要な詳細な手法や仕様を把握できます。
  7. レスポンス — LLM がアウトプット(.excalidraw の JSON ファイル)を生成し、エージェントがそれをユーザーに返します。

AIエージェントのスキル vs ツール & MCP

スキルは、プロンプト、ツール(Tools)、MCP(Model Context Protocol)を置き換えるものではありません。ツールや MCP インテグレーションは、データベースへの問い合わせや API の呼び出しなど、外部システムへアクセスする「エージェントの腕」を伸ばす役割を持ちます。これに対し、スキルは特定のタスクを完遂するための「エージェントのノウハウ(専門知識)」を深める役割を持ちます。

例えば、ChatGPTとClaudeでNetSuite MCPをセットアップする方法 のような MCP を使えば、エージェントは NetSuite 内のリアルタイムな財務・業務データにアクセスしてユーザーの質問に答えられるようになります。そしてさらに「NetSuite業務レポートスキル」を組み合わせることで、エージェントはそのデータをどのように編集し、どのようなレポートとしてユーザーに提示すべきかという具体的な手順を実行できるようになります。

スキルの活用が特に効果的なシナリオ:

  • 複数ステップにわたる複雑なワークフロー
  • PDF からのデータ抽出など、ドキュメントの高度な処理
  • 組織のコード生成標準に沿った実装

AIエージェントのスキルの作成方法

  1. フォルダを作成し、スキルの名前を付けます(例:netsuite-operation-report/)。
  2. SKILL.md を作成し、name(名前)、明確な description(説明)、および簡潔な指示本文(200語以内)を記述します。
  3. リソースを追加します。タスクに必要な参照ドキュメント、テンプレート、スクリプトなどをフォルダ内に配置します。SKILL.md 自体は短く保ち、詳細は各ファイルにリンクさせます。
  4. インストールしてエージェントが発見できるようにします。複数のエージェント間でスキルを効率的に管理する方法については、npx skillsによるAIエージェント用スキルの集中管理 を参照してください。

質の高いスキルを作成するためのコツ:

  • 説明文(description)は、人間向けではなく、システムが判別する「トリガー」として機能するように書きます。
  • SKILL.md は 200語以内で軽量に保ちます。本文には一般的な手順のみを書き、エッジケースは参照ドキュメントに委ねます。
  • 確定的な処理にはスクリプト(コード)を使います。LLM に複雑な算術計算をさせないようにします。
  • バージョン管理を行い、Git にコミットします。

おわりに

接続先(接続可能な外部システム)を定義する「ツール」や「MCP」とは異なり、エージェントの「スキル」は どのように仕事を遂行するか(実務の手順) をパッケージ化したものです。これらは競合するものではなく、お互いを補完し合う重要な関係にあります。

「段階的開示(Progressive Disclosure)」の仕組みを活かすことで、必要なときだけ詳細な手順や参照ドキュメント、実行スクリプトをロードできるため、エージェントのコンテキストウィンドウをクリーンで無駄のない状態に維持することができます。

関連記事