クイックスタート

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

このチュートリアルでは、Agent Skills を使用して PowerPoint プレゼンテーションを作成する方法を説明します。Skills を有効にし、簡単なリクエストを行い、生成されたファイルにアクセスする方法を学びます。

前提条件

  • Anthropic API キー
  • Python 3.7+ または curl がインストールされていること
  • API リクエストの基本的な知識

Agent Skills とは?

事前構築済みの Agent Skills は、ドキュメントの作成、データの分析、ファイルの処理などのタスクのための専門知識で Claude の機能を拡張します。Anthropic は API で以下の事前構築済み Agent Skills を提供しています:

  • PowerPoint (pptx): プレゼンテーションの作成と編集
  • Excel (xlsx): スプレッドシートの作成と分析
  • Word (docx): ドキュメントの作成と編集
  • PDF (pdf): PDF ドキュメントの生成

カスタム Skills を作成したいですか?ドメイン固有の専門知識で独自の Skills を構築する例については、Agent Skills Cookbook を参照してください。

ステップ 1: 利用可能な Skills をリストする

まず、どの Skills が利用可能かを確認しましょう。Skills API を使用して、すべての Anthropic 管理の Skills をリストします:

import anthropic

client = anthropic.Anthropic()

# Anthropic 管理の Skills をリスト
skills = client.beta.skills.list(
    source="anthropic",
    betas=["skills-2025-10-02"]
)

for skill in skills.data:
    print(f"{skill.id}: {skill.display_title}")

次の Skills が表示されます:pptxxlsxdocxpdf

この API は各 Skill のメタデータ(名前と説明)を返します。Claude は起動時にこのメタデータをロードして、どの Skills が利用可能かを把握します。これは段階的開示の最初のレベルであり、Claude は完全な指示をロードせずに Skills を発見します。

ステップ 2: プレゼンテーションを作成する

次に、PowerPoint Skill を使用して再生可能エネルギーに関するプレゼンテーションを作成します。Messages API の container パラメータを使用して Skills を指定します:

import anthropic

client = anthropic.Anthropic()

# PowerPoint Skill を使用してメッセージを作成
response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    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": "再生可能エネルギーについて 5 スライドのプレゼンテーションを作成してください"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

print(response.content)

各部分の機能を分解してみましょう:

  • container.skills: Claude が使用できる Skills を指定
  • type: "anthropic": これが Anthropic 管理の Skill であることを示す
  • skill_id: "pptx": PowerPoint Skill の識別子
  • version: "latest": 最新の公開バージョンに設定された Skill バージョン
  • tools: コード実行を有効にする(Skills に必要)
  • ベータヘッダー: code-execution-2025-08-25skills-2025-10-02

このリクエストを行うと、Claude は自動的にタスクを関連する Skill と照合します。プレゼンテーションを要求したため、Claude は PowerPoint Skill が関連していると判断し、完全な指示をロードします:これは段階的開示の第 2 レベルです。次に Claude は Skill のコードを実行してプレゼンテーションを作成します。

ステップ 3: 作成したファイルをダウンロードする

プレゼンテーションはコード実行コンテナで作成され、ファイルとして保存されました。レスポンスにはファイル ID を含むファイル参照が含まれています。ファイル ID を抽出し、Files API を使用してダウンロードします:

# レスポンスからファイル ID を抽出
file_id = None
for block in response.content:
    if block.type == 'tool_use' and block.name == 'code_execution':
        # ファイル ID はツール結果にあります
        for result_block in block.content:
            if hasattr(result_block, 'file_id'):
                file_id = result_block.file_id
                break

if file_id:
    # ファイルをダウンロード
    file_content = client.beta.files.download(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )
    
    # ディスクに保存
    with open("renewable_energy.pptx", "wb") as f:
        file_content.write_to_file(f.name)
    
    print(f"プレゼンテーションを renewable_energy.pptx に保存しました")

生成されたファイルの操作の詳細については、コード実行ツールのドキュメントを参照してください。

その他の例を試す

Skills で最初のドキュメントを作成したので、次のバリエーションを試してください:

スプレッドシートを作成する

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    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": "サンプルデータを含む四半期売上追跡スプレッドシートを作成してください"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

Word ドキュメントを作成する

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "docx",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "再生可能エネルギーの利点に関する 2 ページのレポートを書いてください"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

PDF を生成する

response = client.beta.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {
                "type": "anthropic",
                "skill_id": "pdf",
                "version": "latest"
            }
        ]
    },
    messages=[{
        "role": "user",
        "content": "PDF の請求書テンプレートを生成してください"
    }],
    tools=[{
        "type": "code_execution_20250825",
        "name": "code_execution"
    }]
)

次のステップ

事前構築済みの Agent Skills を使用したので、次のことができます: