Cookie settings

We use cookies to deliver and improve our services, analyze site usage, and if you agree, to customize or personalize your experience and market our services to you. You can read our Cookie Policy here.

Claude Platform Docs
Messagesスキル

APIでAgent Skillsを使用する

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

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

Agent Skillsを使用してClaude APIでドキュメントを作成する方法を10分以内で学びます。

Claudeが発見して正しく使用できる効果的なSkillsの書き方を学びます。

概要

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

Skillsの使用

Skillsは、その提供元に関係なくMessages APIで同じように統合されます。containerパラメータでskill_id、type、およびオプションのversionを指定してSkillsを指定すると、コード実行環境で実行されます。

Skillsは2つの提供元から使用できます。

項目Anthropic SkillsカスタムSkills
Typeの値anthropiccustom
Skill ID短い名前:pptx、xlsx、docx、pdf自動生成:skill_01AbCdEfGhIjKlMnOpQrStUv
バージョン形式日付ベース:20251013またはlatestバージョンID:skver_01AbCdEfGhIjKlMnOpQrStUvまたはlatest
管理Anthropicが事前構築し保守Skills APIを通じてアップロードおよび管理
利用可能範囲すべてのユーザーが利用可能ワークスペース内でプライベート

どちらの提供元のSkillもList Skillsエンドポイントで返されます(フィルタリングにはsourceパラメータを使用します)。統合の形と実行環境は同一です。唯一の違いは、Skillsがどこから提供され、どのように管理されるかです。

前提条件

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

  1. Claude Consoleで取得したClaude APIキー
  2. リクエストで有効化されたコード実行ツール

Skillsにはコード実行ツールが必要なため、そのモデル互換性リストにあるモデルを使用してください。


MessagesでのSkillsの使用

containerパラメータ

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

構造はAnthropic SkillsとカスタムSkillsの両方で同一です。必須のtypeとskill_idを指定し、特定のバージョンに固定する場合はオプションでversionを含めます。

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
    },
    messages=[
        {"role": "user", "content": "Create a presentation about renewable energy"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

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

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

仕組み:

  1. Skillsがコード実行中にファイルを作成します。
  2. レスポンスには、作成された各ファイルのfile_idがコード実行ツールの結果ブロック内に含まれます(レスポンス形式を参照)。
  3. Files APIを使用して実際のファイル内容をダウンロードします。
  4. ローカルに保存するか、必要に応じて処理します。

Skillsが処理する入力ファイルを提供するには、Files APIでアップロードし、リクエスト内でcontainer uploadブロックを使って参照します。

例:Excelファイルの作成とダウンロード

client = anthropic.Anthropic()

# ステップ 1: Skill を使用してファイルを作成します
response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[
        {
            "role": "user",
            "content": "Create an Excel file with a simple budget spreadsheet",
        }
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)


# ステップ 2: レスポンスからファイル ID を抽出します
def extract_file_ids(response):
    file_ids = []
    for item in response.content:
        if item.type == "bash_code_execution_tool_result":
            content_item = item.content
            if content_item.type == "bash_code_execution_result":
                # 各コンテンツ項目は file_id を持つ bash_code_execution_output ブロックです
                for file in content_item.content:
                    file_ids.append(file.file_id)
    return file_ids


# ステップ 3: Files API を使用してファイルをダウンロードします
for file_id in extract_file_ids(response):
    file_metadata = client.files.retrieve_metadata(file_id=file_id)
    file_content = client.files.download(file_id=file_id)

    # ステップ 4: ディスクに保存します
    file_content.write_to_file(file_metadata.filename)
    print(f"Downloaded: {file_metadata.filename}")

その他のFiles API操作:

client = anthropic.Anthropic()
file_id = "file_011CNha8iCJcU1wXNR6q4V8w"
# ファイルのメタデータを取得
file_info = client.files.retrieve_metadata(file_id=file_id)
print(f"Filename: {file_info.filename}, Size: {file_info.size_bytes} bytes")

# すべてのファイルを一覧表示
for file in client.files.list():
    print(f"{file.filename} - {file.created_at}")

# ファイルを削除
client.files.delete(file_id=file_id)

マルチターンの会話

レスポンスのcontainerオブジェクトには、コンテナのidとexpires_atタイムスタンプが含まれます(有効期間の詳細についてはコンテナの再利用を参照)。コンテナIDを指定することで、複数のメッセージにわたって同じコンテナを再利用できます。

client = anthropic.Anthropic()

# 最初のリクエストでコンテナを作成します
response1 = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[
        {"role": "user", "content": "Create a sample sales dataset and analyze it"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# 同じコンテナで会話を続けます
messages = [
    {"role": "user", "content": "Create a sample sales dataset and analyze it"},
    {
        # アシスタントのテキストを引き継ぎます。実行状態は container.id が引き継ぎます
        "role": "assistant",
        "content": "\n".join(
            block.text for block in response1.content if block.type == "text"
        ),
    },
    {"role": "user", "content": "What was the total revenue?"},
]

response2 = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "id": response1.container.id,  # Reuse container
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}],
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

長時間実行される操作

Skillsは複数のターンを必要とする操作を実行する場合があります。pause_turnのstop reasonを処理してください。

client = anthropic.Anthropic()

messages = [{"role": "user", "content": "Generate and process a large sample dataset"}]
max_retries = 10

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            }
        ]
    },
    messages=messages,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# 長時間の処理では pause_turn を処理します
for _ in range(max_retries):
    if response.stop_reason != "pause_turn":
        break

    messages.append({"role": "assistant", "content": response.content})
    response = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=4096,
        container={
            "id": response.container.id,
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ],
        },
        messages=messages,
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )

複数のSkillsの使用

複雑なワークフローを処理するために、1つのリクエストで複数のSkillsを組み合わせます。

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"},
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            },
        ]
    },
    messages=[
        {"role": "user", "content": "Analyze sales data and create a presentation"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

カスタムSkillsの管理

Skillの作成

Skillバンドルとは、nameとdescriptionのYAMLフロントマターを持つSKILL.mdファイルをトップレベルに含み、さらに補助的なスクリプトやリソースを含むディレクトリです。作成方法についてはAPIでAgent Skillsを使い始めるを、すべての制約については例の後にある要件リストを参照してください。

カスタムSkillをアップロードして、ワークスペースで利用できるようにします。zipアーカイブまたは個別のファイルオブジェクトをアップロードできます。Python SDKにはディレクトリパスを受け付けるfiles_from_dirヘルパーも用意されており、CLIのant applyはディレクトリそのものをアップロードします。

ファイルは、付与したファイル名(cURLの例では;filename=サフィックス、SDKの例ではfilename引数)によって識別されます。ウォークスルーのskillについては、zip -r financial_skill.zip financial_skill/でzipを作成し、zipアップロードのオプションにあるexample_skill.zipプレースホルダーの代わりに使用してください。

ant apply financial_skill
financial_skill/SKILL.md
---
name: financial-skill
description: Docs example skill.
---
financial_skill/analyze.py
print("financial analysis helper")

要件:

  • アップロードのルート(または単一の親フォルダの直下)にSKILL.mdファイルを含める必要があります
  • display_nameはオプションです。省略した場合はSKILL.mdのnameから導出されます。明示的に指定する値は最大255文字で、ワークスペース内で一意である必要はありません
  • アップロードの合計サイズは30 MB未満(非圧縮)である必要があります
  • YAMLフロントマターの要件:
    • name:最大64文字、小文字の英字/数字/ハイフンのみ、XMLタグ不可、予約語("anthropic"、"claude")不可
    • description:最大1024文字、空でないこと、XMLタグ不可

完全なリクエスト/レスポンスのスキーマについては、Create Skill APIリファレンスを参照してください。

Skillsの一覧表示

Anthropicの事前構築済みSkillsとカスタムSkillsの両方を含む、ワークスペースで利用可能なすべてのSkillsを取得します。skillの種類でフィルタリングするにはsourceパラメータを使用します。

client = anthropic.Anthropic()

# すべてのスキルを一覧表示
for skill in client.skills.list():
    print(f"{skill.id}: {skill.display_name} (source: {skill.source.type})")

# カスタムスキルのみを一覧表示
custom_skills = client.skills.list(source="custom")

ページネーションとフィルタリングのオプションについては、List Skills APIリファレンスを参照してください。

Skillの取得

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

client = anthropic.Anthropic()

skill = client.skills.retrieve(skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv")

print(f"Skill: {skill.display_name}")
print(f"Latest version: {skill.latest_version_id}")
print(f"Created: {skill.created_at}")

Skillの削除

Skillを削除すると、そのすべてのバージョンも削除されます。

client = anthropic.Anthropic()

client.skills.delete(skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv")

バージョン管理

Skillsは更新を安全に管理するためのバージョン管理をサポートしています。

Anthropic Skills:

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

カスタムSkills:

  • 自動生成されるバージョンID:skver_01AbCdEfGhIjKlMnOpQrStUv
  • 常に最新バージョンを取得するには"latest"を使用します
  • Skillファイルを更新する際は新しいバージョンを作成します

新しいバージョンは差分ではなく完全なスナップショットです。毎回Skillの完全なファイルセットをアップロードしてください。省略したファイルは引き継がれず、新しいバージョンのSKILL.md内のnameはSkillの既存の名前と一致する必要があります。以下の例では、Skillの作成のfinancial_skill/バンドル全体を再アップロードしています。

from anthropic.lib import files_from_dir

client = anthropic.Anthropic()

# 新しいバージョンを作成します

new_version = client.skills.versions.create(
    skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
    files=files_from_dir("financial_skill"),
)

# 特定のバージョンを使用します
response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": new_version.id,
            }
        ]
    },
    messages=[{"role": "user", "content": "Use updated Skill"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# 最新バージョンを使用します
response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": "latest",
            }
        ]
    },
    messages=[{"role": "user", "content": "Use latest Skill version"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

詳細については、Create Skill Version APIリファレンスを参照してください。


Skillsの読み込み方法

コンテナでSkillsを指定すると、次のようになります。

  1. メタデータの発見: Claudeはシステムプロンプト内で各Skillのメタデータ(name、description)を確認します。
  2. ファイルの読み込み: Skillファイルはコンテナ内の/skills/{skill-name}/にコピーされます。ディレクトリ名はSkillの名前(Anthropic Skillの場合はpptx、カスタムSkillの場合はSKILL.mdのname)であり、skill_01...のIDではありません。
  3. 自動使用: Claudeはリクエストに関連する場合、Skillsを自動的に読み込んで使用します。
  4. 組み合わせ: 複数のSkillsを組み合わせて複雑なワークフローに対応します。

Claudeは必要な場合にのみSkillの完全な指示を読み込みます。


ユースケース

Skillsは組織の業務にも個人の作業にも適しています。組織では、ドキュメントへのブランドフォーマットの適用、会社のテンプレートに沿ったメモやレポートの構成、会社固有の分析手順の実行に使用されます。個人では、カスタムドキュメントテンプレート、専門的なデータパイプライン、コード生成やデプロイの規約に使用されます。

例:財務モデリング

ExcelとカスタムDCF分析のSkillsを組み合わせます。まず、カスタムDCF分析Skillを作成します。

ant apply dcf_skill

次に、それをExcel Skillと組み合わせて財務モデルを作成します。作成したSkillのIDを、カスタムSkillのskill_idとして渡します。

client = anthropic.Anthropic()

# カスタムDCF分析Skill(IDはSkills APIのcreateレスポンスから取得)
dcf_skill_id = "skill_01AbCdEfGhIjKlMnOpQrStUv"

# Excelと組み合わせて財務モデルを作成します
response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "custom", "skill_id": dcf_skill_id, "version": "latest"},
        ]
    },
    messages=[
        {
            "role": "user",
            "content": "Build a DCF valuation model for a SaaS company",
        }
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
print(response)

制限と制約

リクエストの制限

  • リクエストあたりの最大Skills数: 20
  • Skillアップロードの最大サイズ: 30 MB(全ファイル合計、非圧縮)
  • YAMLフロントマターの要件:
    • name:最大64文字、小文字の英字/数字/ハイフンのみ、XMLタグ不可、予約語("anthropic"、"claude")不可
    • description:最大1024文字、空でないこと、XMLタグ不可

環境の制約

Skillsはコード実行コンテナ内で実行され、以下の制限があります。

  • ネットワークアクセスなし: 外部API呼び出しはできません
  • 実行時のパッケージインストール不可: 事前インストール済みのパッケージのみ利用可能です
  • 分離された環境: 既存のコンテナIDを指定しない限り、新しいコンテナが作成されます

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


ベストプラクティス

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

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

適したユースケース:

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

避けるべきこと:

  • 使用しないSkillsを含めること(パフォーマンスに影響します)

バージョン管理戦略

このセクションのSDKタブは、Messagesリクエストに含めるcontainerの値を示しています。cURLタブとCLIタブはリクエスト全体を示しています。

本番環境の場合: 特定のバージョンに固定し、Skillの更新によってデプロイ済みの動作が変わらないようにします。versionを省略するか"latest"に設定すると、リクエストはSkillの最新バージョンを使用するため、ワークスペース内の誰かがアップロードしたバージョンが、本番エージェントの実行内容を即座に変更してしまいます。バージョンIDは、バージョン管理のcreate-versionレスポンス、またはList Skill Versions APIから取得します。IDは常に文字列なので、数値のように見える場合でもJSONやYAMLでは引用符で囲んでください。

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

開発環境の場合: latestを使用して、反復作業中に最新バージョンを自動的に取得します。

# アクティブな開発には latest を使用します
container = {
    "skills": [
        {
            "type": "custom",
            "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
            "version": "latest",
        }
    ]
}

プロンプトキャッシングに関する考慮事項

プロンプトキャッシングを使用している場合、コンテナ内のSkillsリストを変更するとキャッシュが無効になります。Skillsは固定された順序でシステムプロンプトにレンダリングされるため、同じリストであれば同じキャッシュ可能なプレフィックスが生成されます。

client = anthropic.Anthropic()

# Skills は、キャッシュに適した固定の順序でシステムプロンプトに展開されます
response1 = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
    },
    messages=[{"role": "user", "content": "Analyze sales data"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

# Skills のリスト([xlsx] と [xlsx, pptx])を変更するとプレフィックスが変わりキャッシュミスになりますが、同一のリストならキャッシュヒットになります
response2 = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {
                "type": "anthropic",
                "skill_id": "pptx",
                "version": "latest",
            },  # prefix change: cache miss
        ]
    },
    messages=[{"role": "user", "content": "Create a presentation"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)

最良のキャッシングパフォーマンスを得るには、順序を含めてSkillsリストをリクエスト間で一貫させてください。カスタムSkillのバージョンを固定することも有効です。"latest"を使用している場合、新しいバージョンを公開してSkillのdescriptionが変わると、キャッシュされたプレフィックスが無効になる可能性があります。

エラー処理

Skill関連のエラーを適切に処理します。

client = anthropic.Anthropic()

try:
    response = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=4096,
        container={
            "skills": [
                {
                    "type": "custom",
                    "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                    "version": "latest",
                }
            ]
        },
        messages=[{"role": "user", "content": "Process data"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    )
except anthropic.BadRequestError as e:
    if "skill" in str(e):
        print(f"Skill error: {e}")
        # スキル固有のエラーを処理します
    else:
        raise

skills-2025-10-02からの移行

Skills APIはベータを終了しており、ベータヘッダーは不要です。skills-2025-10-02からの移行は任意です。引き続きこのヘッダーを送信するリクエストは動作し続け、ベータのレスポンス形式を返し続けるため、既存の統合は変更するまで動作し続けます。ヘッダーを削除すると、それらのリクエストはこのページに記載されている形式に切り替わります。

skills-2025-10-02ありヘッダーなし
Skillのラベルdisplay_title(最大64文字、ワークスペースごとに一意)display_name(最大255文字、一意でなくてよい)。省略時はSKILL.mdのnameから導出
最新バージョンへのポインタlatest_version、"1759178010641129"のようなエポックマイクロ秒の文字列latest_version_id、"skver_01AbCdEfGhIjKlMnOpQrStUv"のようなバージョンID。GET /v1/skills/{skill_id}/versions/latestで1回の呼び出しで解決可能
URL内のバージョン識別子エポックマイクロ秒の文字列バージョンID(skver_...)。ベータ期間中にskill_version_プレフィックスで取得したIDも入力として受け付けられます。
バージョンオブジェクトdirectoryを含む(常にSkillのnameと同じ)directoryフィールドなし
source文字列、"custom"または"anthropic"オブジェクト、例:{"type": "custom"}。サンプルカタログの値は"anthropic_example"
一覧レスポンス{ data, has_more, next_page }{ data, next_page }。limitは1から1,000(デフォルト20)
バージョン一覧の順序古い順新しい順、デフォルトのlimitは20。一方の形式のページカーソルは他方では無効です。
Skillの削除バージョンが存在する間は400エラーを返すSkillとそのすべてのバージョンを削除
Skillの唯一のバージョンの削除許可され、バージョンのないSkillが残る400エラーを返す。先に代替バージョンをアップロードするか、Skillを削除してください
アップロードのレイアウトファイルはSkillのnameと一致する名前のトップレベルディレクトリ内に配置する必要があるSKILL.mdはアップロードのルートに配置可能。保存されるパスはどちらの場合も同じ
レスポンス型CreateSkillResponse、GetSkillResponse、および操作ごとに1つの型Skill、SkillVersion、DeletedSkill、DeletedSkillVersion

移行手順:

  1. ベータヘッダーを削除します。 リクエストからanthropic-beta: skills-2025-10-02を削除します。SDKでは、client.beta.skillsの代わりにclient.skillsを呼び出します。client.beta.skillsを使い続けられるのは、ヘッダーを送信しなくなったSDKリリースのみです。それ以前のリリースでは、betas引数がなくてもclient.beta.skillsからヘッダーが送信されます。
  2. コード内のフィールド名を変更します:display_titleをdisplay_nameに、latest_versionをlatest_version_idに変更し、sourceを文字列と比較する代わりにsource.typeを読み取ります。
  3. バージョンIDを使用します。 エポックマイクロ秒のバージョンを保存していた箇所では、代わりにバージョンのidを保存するか、latestを使用します。Messagesリクエスト内のSkill参照は、バージョンID、latest、または(Anthropic Skillsの場合)カタログバージョンを受け付けます。
  4. 削除呼び出しを見直します。 DELETE /v1/skills/{skill_id}は、Skillとともにすべてのバージョンを削除するようになりました。ベータ版の拒否動作を安全策として利用していた場合は、独自のチェックを追加してください。

ベータ期間中にすべてのバージョンが削除されたSkillには、返すべき現在のバージョンがありません。GET /v1/skills/{skill_id}は400エラーを返し、バージョンをアップロードするまでそのSkillは一覧レスポンスから除外されます。削除は引き続き可能です。

SDKのbeta名前空間

Python SDK 1.2.0、TypeScript SDK 0.122.0、Go SDK 1.68.0、Java SDK 2.59.0、Ruby SDK 1.67.0、C# SDK 12.44.0以降、client.beta.skillsはskills-2025-10-02を送信しなくなり、client.skillsと同じ形式をBetaプレフィックス付きの型名(BetaSkill、BetaSkillVersion、BetaDeletedSkill、BetaDeletedSkillVersion)で返します。まだベータ段階のSkills機能のためにbetas引数を受け付けます。ベータのMessages型では、コンテナのSkill参照型の名前がBetaSkillからBetaContainerSkillに変更されました(フィールドは同じ:type、skill_id、version)。BetaSkillは現在Skillリソースを指す名前となり、非ベータ型のSkillおよびContainerSkillと対応しています。それ以前のSDKリリースはベータの形式に型付けされています。それらの型に依存している場合は、移行するまで以前のリリースを使用し続けてください。

データ保持

Agent SkillsはZDRの取り決めの対象外です。Skillの定義と実行データは、Anthropicの標準データ保持ポリシーに従って保持されます。

すべての機能におけるZDRの適格性については、APIとデータ保持を参照してください。

監査ログ

組織でCompliance APIが有効になっている場合、そのActivity Feedには、Claude APIキーまたはClaude Consoleから行われたSkillsおよびSkillバージョンの作成と削除が記録されます。Compliance APIがオフの間に行われた操作は記録されず、後から復元することもできないため、この監査証跡に依存する前にCompliance APIをセットアップしてください。

次のステップ

すべてのエンドポイントを含む完全なAPIリファレンス

Claudeが発見して正しく使用できる効果的なSkillsの書き方を学びます。

サンドボックス化されたコンテナでPythonとbashのコードを実行し、データの分析、ファイルの生成、ソリューションの反復を行います。

Was this page helpful?