API で Skills を使用する

API を通じて Agent Skills を使用して Claude の機能を拡張する方法を学びます。

Agent Skills は、整理された指示、スクリプト、リソースのフォルダを通じて Claude の機能を拡張します。このガイドでは、Claude API で事前構築済みの Skills とカスタム Skills の両方を使用する方法を説明します。

リクエスト/レスポンススキーマとすべてのパラメータを含む完全な API リファレンスについては、以下を参照してください:

クイックリンク

概要

Agent Skills のアーキテクチャと実際のアプリケーションの詳細については、エンジニアリングブログ Equipping agents for the real world with Agent Skills をお読みください。

Skills はコード実行ツールを通じて Messages API と統合されます。Anthropic が管理する事前構築済みの Skills を使用する場合でも、アップロードしたカスタム Skills を使用する場合でも、統合の形状は同一です。どちらもコード実行を必要とし、同じ container 構造を使用します。

Skills の使用

ソースに関係なく、Skills は Messages API で同一に統合されます。container パラメータで skill_idtype、およびオプションの version を使用して Skills を指定し、コード実行環境で実行されます。

2 つのソースから Skills を使用できます:

  • anthropicpptxxlsxdocxpdf などの事前構築済み Skills
  • customskill_01AbCdEfGhIjKlMnOpQrStUv のような ID を持つアップロードした Skills

前提条件

Skills を使用するには、以下が必要です:

  1. Console からの Anthropic API キー
  2. ベータヘッダー:
    • code-execution-2025-08-25 - コード実行を有効にする(Skills に必要)
    • skills-2025-10-02 - Skills API を有効にする
    • files-api-2025-04-14 - コンテナへのファイルのアップロード/ダウンロード用
  3. リクエストでコード実行ツールが有効

Messages での Skills の使用

Container パラメータ

Messages API の container パラメータを使用して Skills を指定します。リクエストごとに最大 8 つの Skills を含めることができます。

Anthropic とカスタム Skills の両方で構造は同じです。必要な typeskill_id を指定し、オプションで version を含めて特定のバージョンに固定します。

生成されたファイルのダウンロード

Skills がドキュメント(Excel、PowerPoint、PDF、Word)を作成すると、レスポンスで file_id 属性を返します。Files API を使用してこれらのファイルをダウンロードする必要があります。

仕組み:

  1. Skills はコード実行中にファイルを作成
  2. レスポンスに作成された各ファイルの file_id が含まれる
  3. Files API を使用して実際のファイルコンテンツをダウンロード
  4. ローカルに保存または必要に応じて処理

マルチターン会話

コンテナ ID を指定して、複数のメッセージ間で同じコンテナを再利用します。

長時間実行操作

Skills は複数のターンを必要とする操作を実行する場合があります。pause_turn 停止理由を処理します。

レスポンスには pause_turn 停止理由が含まれる場合があります。これは API が長時間実行の Skill 操作を一時停止したことを示します。Claude がターンを続行できるように、後続のリクエストでレスポンスをそのまま提供するか、会話を中断して追加のガイダンスを提供したい場合はコンテンツを変更できます。

複数の Skills の使用

単一のリクエストで複数の Skills を組み合わせて、複雑なワークフローを処理します。

カスタム Skills の管理

Skill の作成

カスタム Skill をアップロードしてワークスペースで使用できるようにします。ディレクトリパスまたは個別のファイルオブジェクトを使用してアップロードできます。

要件:

  • トップレベルに SKILL.md ファイルを含める必要がある
  • すべてのファイルはパスに共通のルートディレクトリを指定する必要がある
  • 合計アップロードサイズは 8MB 未満
  • YAML frontmatter の要件:
    • name:最大 64 文字、小文字/数字/ハイフンのみ、XML タグ不可、予約語(「anthropic」、「claude」)不可
    • description:最大 1024 文字、空でないこと、XML タグ不可

Skills のリスト

ワークスペースで利用可能なすべての Skills を取得します。Anthropic 事前構築済み Skills とカスタム Skills の両方が含まれます。source パラメータを使用してスキルタイプでフィルタリングします。

Skill の取得

特定の Skill の詳細を取得します。

Skill の削除

Skill を削除するには、まずすべてのバージョンを削除する必要があります。既存のバージョンを持つ Skill を削除しようとすると、400 エラーが返されます。

バージョニング

Skills はアップデートを安全に管理するためのバージョニングをサポートしています:

Anthropic 管理の Skills

  • バージョンは日付形式を使用:20251013
  • アップデートが行われると新しいバージョンがリリース
  • 安定性のために正確なバージョンを指定

カスタム Skills

  • 自動生成のエポックタイムスタンプ:1759178010641129
  • "latest" を使用して常に最新バージョンを取得
  • Skill ファイルを更新するときに新しいバージョンを作成

Skills のロード方法

コンテナで Skills を指定すると:

  1. メタデータの発見:Claude はシステムプロンプトで各 Skill のメタデータ(名前、説明)を確認
  2. ファイルのロード:Skill ファイルが /skills/{directory}/ のコンテナにコピー
  3. 自動使用:リクエストに関連する場合、Claude は自動的に Skills をロードして使用
  4. 構成:複数の Skills が複雑なワークフローのために一緒に構成

段階的開示アーキテクチャにより、効率的なコンテキスト使用が保証されます。Claude は必要な場合にのみ完全な Skill 指示をロードします。

ユースケース

組織の Skills

ブランド&コミュニケーション

  • 会社固有のフォーマット(色、フォント、レイアウト)をドキュメントに適用
  • 組織のテンプレートに従ってコミュニケーションを生成
  • すべての出力で一貫したブランドガイドラインを確保

プロジェクト管理

  • 会社固有のフォーマット(OKR、意思決定ログ)でノートを構成
  • チームの慣例に従ってタスクを生成
  • 標準化された会議の要約とステータス更新を作成

ビジネスオペレーション

  • 会社標準のレポート、提案、分析を作成
  • 会社固有の分析手順を実行
  • 組織のテンプレートに従って財務モデルを生成

個人の Skills

コンテンツ作成

  • カスタムドキュメントテンプレート
  • 専門的なフォーマットとスタイリング
  • ドメイン固有のコンテンツ生成

データ分析

  • カスタムデータ処理パイプライン
  • 専門的な視覚化テンプレート
  • 業界固有の分析方法

制限と制約

リクエスト制限

  • リクエストあたりの最大 Skills:8
  • 最大 Skill アップロードサイズ:8MB(すべてのファイル合計)
  • YAML frontmatter の要件は上記の通り

環境制約

Skills は以下の制限があるコード実行コンテナで実行されます:

  • ネットワークアクセスなし - 外部 API 呼び出しができない
  • ランタイムパッケージインストールなし - プリインストールされたパッケージのみ利用可能
  • 分離された環境 - 各リクエストは新しいコンテナを取得

利用可能なパッケージについては、コード実行ツールのドキュメントを参照してください。

ベストプラクティス

複数の Skills を使用するタイミング

タスクが複数のドキュメントタイプまたはドメインに関係する場合、Skills を組み合わせます:

良いユースケース

  • データ分析(Excel)+ プレゼンテーション作成(PowerPoint)
  • レポート生成(Word)+ PDF へのエクスポート
  • カスタムドメインロジック + ドキュメント生成

避けるべきこと

  • 未使用の Skills を含める(パフォーマンスに影響)

バージョン管理戦略

本番環境用

# 安定性のために特定のバージョンに固定
container={
    "skills": [{
        "type": "custom",
        "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
        "version": "1759178010641129"  # 特定のバージョン
    }]
}

開発用

# アクティブな開発には latest を使用
container={
    "skills": [{
        "type": "custom",
        "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
        "version": "latest"  # 常に最新を取得
    }]
}

プロンプトキャッシュの考慮事項

プロンプトキャッシュを使用する場合、コンテナの Skills リストを変更するとキャッシュが無効になることに注意してください。最適なキャッシュパフォーマンスのために、リクエスト間で Skills リストを一貫させてください。

次のステップ