Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集
    機能
    プロンプトキャッシング拡張思考適応型思考エフォートメッセージのストリーミングバッチ処理引用多言語サポートトークンカウントエンベディングビジョンPDF サポートFiles API検索結果構造化出力
    ツール
    概要ツール使用の実装方法きめ細かいツールストリーミングBash ツールコード実行ツールプログラムによるツール呼び出しコンピュータ使用ツールテキストエディタツールWeb フェッチツールWeb 検索ツールメモリツールツール検索ツール
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の防止Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペースUsage and Cost APIClaude Code Analytics APIゼロデータリテンション
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Agent Skills

    APIでのAgent Skillsの使用

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

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

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

    • Skill管理APIリファレンス - SkillsのCRUD操作
    • Skillバージョン管理APIリファレンス - バージョン管理

    クイックリンク

    Agent Skillsを始める

    最初のSkillを作成する

    カスタムSkillsの作成

    Skillsの作成に関するベストプラクティス

    概要

    Agent Skillsのアーキテクチャと実際のアプリケーションについての詳細は、エンジニアリングブログをお読みください:Equipping agents for the real world with Agent 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エポックタイムスタンプ:1759178010641129またはlatest
    管理Anthropicが事前構築・メンテナンスSkills APIでアップロード・管理
    利用可能性すべてのユーザーが利用可能ワークスペースにプライベート

    両方のSkillソースはList Skillsエンドポイントで返されます(sourceパラメータでフィルタリング可能)。統合の形式と実行環境は同一で、唯一の違いは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パラメータ

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

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

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        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. ローカルに保存または必要に応じて処理

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

    import anthropic
    
    client = anthropic.Anthropic()
    
    # ステップ1:Skillを使用してファイルを作成
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        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':
                    for file in content_item.content:
                        if hasattr(file, 'file_id'):
                            file_ids.append(file.file_id)
        return file_ids
    
    # ステップ3:Files APIを使用してファイルをダウンロード
    for file_id in extract_file_ids(response):
        file_metadata = client.beta.files.retrieve_metadata(
            file_id=file_id,
            betas=["files-api-2025-04-14"]
        )
        file_content = client.beta.files.download(
            file_id=file_id,
            betas=["files-api-2025-04-14"]
        )
    
        # ステップ4:ディスクに保存
        file_content.write_to_file(file_metadata.filename)
        print(f"Downloaded: {file_metadata.filename}")

    追加のFiles API操作:

    # ファイルメタデータの取得
    file_info = client.beta.files.retrieve_metadata(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )
    print(f"Filename: {file_info.filename}, Size: {file_info.size_bytes} bytes")
    
    # すべてのファイルを一覧表示
    files = client.beta.files.list(betas=["files-api-2025-04-14"])
    for file in files.data:
        print(f"{file.filename} - {file.created_at}")
    
    # ファイルの削除
    client.beta.files.delete(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )

    Files APIの完全な詳細については、Files APIドキュメントを参照してください。

    マルチターン会話

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

    # 最初のリクエストでコンテナを作成
    response1 = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "skills": [
                {"type": "anthropic", "skill_id": "xlsx", "version": "latest"}
            ]
        },
        messages=[{"role": "user", "content": "Analyze this sales data"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )
    
    # 同じコンテナで会話を継続
    messages = [
        {"role": "user", "content": "Analyze this sales data"},
        {"role": "assistant", "content": response1.content},
        {"role": "user", "content": "What was the total revenue?"}
    ]
    
    response2 = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "id": response1.container.id,  # コンテナを再利用
            "skills": [
                {"type": "anthropic", "skill_id": "xlsx", "version": "latest"}
            ]
        },
        messages=messages,
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )

    長時間実行操作

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

    messages = [{"role": "user", "content": "Process this large dataset"}]
    max_retries = 10
    
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "skills": [
                {"type": "custom", "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv", "version": "latest"}
            ]
        },
        messages=messages,
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )
    
    # 長時間操作のpause_turnを処理
    for i in range(max_retries):
        if response.stop_reason != "pause_turn":
            break
    
        messages.append({"role": "assistant", "content": response.content})
        response = client.beta.messages.create(
            model="claude-opus-4-6",
            max_tokens=4096,
            betas=["code-execution-2025-08-25", "skills-2025-10-02"],
            container={
                "id": response.container.id,
                "skills": [
                    {"type": "custom", "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv", "version": "latest"}
                ]
            },
            messages=messages,
            tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
        )

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

    複数のSkillsの使用

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

    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        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をアップロードして、ワークスペースで利用可能にします。ディレクトリパスまたは個別のファイルオブジェクトを使用してアップロードできます。

    import anthropic
    
    client = anthropic.Anthropic()
    
    # オプション1:files_from_dirヘルパーを使用(Pythonのみ、推奨)
    from anthropic.lib import files_from_dir
    
    skill = client.beta.skills.create(
        display_title="Financial Analysis",
        files=files_from_dir("/path/to/financial_analysis_skill"),
        betas=["skills-2025-10-02"]
    )
    
    # オプション2:zipファイルを使用
    skill = client.beta.skills.create(
        display_title="Financial Analysis",
        files=[("skill.zip", open("financial_analysis_skill.zip", "rb"))],
        betas=["skills-2025-10-02"]
    )
    
    # オプション3:ファイルタプルを使用(filename, file_content, mime_type)
    skill = client.beta.skills.create(
        display_title="Financial Analysis",
        files=[
            ("financial_skill/SKILL.md", open("financial_skill/SKILL.md", "rb"), "text/markdown"),
            ("financial_skill/analyze.py", open("financial_skill/analyze.py", "rb"), "text/x-python"),
        ],
        betas=["skills-2025-10-02"]
    )
    
    print(f"Created skill: {skill.id}")
    print(f"Latest version: {skill.latest_version}")

    要件:

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

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

    Skillsの一覧表示

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

    # すべてのSkillsを一覧表示
    skills = client.beta.skills.list(
        betas=["skills-2025-10-02"]
    )
    
    for skill in skills.data:
        print(f"{skill.id}: {skill.display_title} (source: {skill.source})")
    
    # カスタムSkillsのみを一覧表示
    custom_skills = client.beta.skills.list(
        source="custom",
        betas=["skills-2025-10-02"]
    )

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

    Skillの取得

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

    skill = client.beta.skills.retrieve(
        skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
        betas=["skills-2025-10-02"]
    )
    
    print(f"Skill: {skill.display_title}")
    print(f"Latest version: {skill.latest_version}")
    print(f"Created: {skill.created_at}")

    Skillの削除

    Skillを削除するには、まずすべてのバージョンを削除する必要があります:

    # ステップ1:すべてのバージョンを削除
    versions = client.beta.skills.versions.list(
        skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
        betas=["skills-2025-10-02"]
    )
    
    for version in versions.data:
        client.beta.skills.versions.delete(
            skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
            version=version.version,
            betas=["skills-2025-10-02"]
        )
    
    # ステップ2:Skillを削除
    client.beta.skills.delete(
        skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
        betas=["skills-2025-10-02"]
    )

    既存のバージョンがあるSkillを削除しようとすると、400エラーが返されます。

    バージョニング

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

    Anthropic管理のSkills:

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

    カスタムSkills:

    • 自動生成されるエポックタイムスタンプ:1759178010641129
    • 常に最新バージョンを取得するには"latest"を使用
    • Skillファイルを更新する際に新しいバージョンを作成
    # 新しいバージョンを作成
    from anthropic.lib import files_from_dir
    
    new_version = client.beta.skills.versions.create(
        skill_id="skill_01AbCdEfGhIjKlMnOpQrStUv",
        files=files_from_dir("/path/to/updated_skill"),
        betas=["skills-2025-10-02"]
    )
    
    # 特定のバージョンを使用
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        container={
            "skills": [{
                "type": "custom",
                "skill_id": "skill_01AbCdEfGhIjKlMnOpQrStUv",
                "version": new_version.version
            }]
        },
        messages=[{"role": "user", "content": "Use updated Skill"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )
    
    # 最新バージョンを使用
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        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"}]
    )

    完全な詳細については、Skillバージョン作成APIリファレンスを参照してください。


    Skillsの読み込み方法

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

    1. メタデータの検出:Claudeはシステムプロンプトで各Skillのメタデータ(名前、説明)を確認します
    2. ファイルの読み込み:Skillファイルがコンテナ内の/skills/{directory}/にコピーされます
    3. 自動使用:Claudeはリクエストに関連するSkillsを自動的に読み込んで使用します
    4. 組み合わせ:複数のSkillsが複雑なワークフローのために組み合わされます

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


    ユースケース

    組織向けSkills

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

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

    プロジェクト管理

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

    ビジネスオペレーション

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

    個人向けSkills

    コンテンツ作成

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

    データ分析

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

    開発&自動化

    • コード生成テンプレート
    • テストフレームワーク
    • デプロイメントワークフロー

    例:財務モデリング

    ExcelとカスタムDCF分析Skillsを組み合わせる:

    # カスタムDCF分析Skillを作成
    from anthropic.lib import files_from_dir
    
    dcf_skill = client.beta.skills.create(
        display_title="DCF Analysis",
        files=files_from_dir("/path/to/dcf_skill"),
        betas=["skills-2025-10-02"]
    )
    
    # Excelと組み合わせて財務モデルを作成
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02"],
        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 with the attached financials"
        }],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )

    制限と制約

    リクエスト制限

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

    環境の制約

    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リストを変更するとキャッシュが無効になることに注意してください:

    # 最初のリクエストでキャッシュを作成
    response1 = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02", "prompt-caching-2024-07-31"],
        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の追加/削除でキャッシュが無効になる
    response2 = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=4096,
        betas=["code-execution-2025-08-25", "skills-2025-10-02", "prompt-caching-2024-07-31"],
        container={
            "skills": [
                {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
                {"type": "anthropic", "skill_id": "pptx", "version": "latest"}  # キャッシュミス
            ]
        },
        messages=[{"role": "user", "content": "Create a presentation"}],
        tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
    )

    最適なキャッシングパフォーマンスのために、リクエスト間でSkillsリストを一貫して保持してください。

    エラーハンドリング

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

    try:
        response = client.beta.messages.create(
            model="claude-opus-4-6",
            max_tokens=4096,
            betas=["code-execution-2025-08-25", "skills-2025-10-02"],
            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}")
            # Skill固有のエラーを処理
        else:
            raise

    次のステップ

    APIリファレンス

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

    オーサリングガイド

    効果的なSkillsを作成するためのベストプラクティス

    コード実行ツール

    コード実行環境について学ぶ

    Was this page helpful?

    • Skillsの使用
    • MessagesでのSkillsの使用
    • Containerパラメータ
    • 複数のSkillsの使用
    • カスタムSkillsの管理
    • Skillの作成
    • Skillsの一覧表示
    • Skillの取得
    • Skillの削除
    • Skillsの読み込み方法
    • 組織向けSkills
    • 個人向けSkills
    • 複数のSkillsを使用するタイミング