このチュートリアルでは、Agent Skillsを使用してPowerPointプレゼンテーションを作成する方法を説明します。Skillsの有効化、リクエストの作成、生成されたファイルへのアクセス方法を学びます。
curlとjq事前構築されたAgent Skillsは、ドキュメントの作成、データの分析、ファイルの処理などのタスクに特化した専門知識でClaudeの機能を拡張します。Anthropicは、APIで以下の事前構築されたAgent Skillsを提供しています。
カスタムSkillsを作成するには、Agent Skills Cookbookで、ドメイン固有の専門知識を持つ独自のSkillsを構築する例を参照してください。
まず、どのSkillsが利用可能かを確認します。Skills APIを使用して、Anthropicが管理するすべてのSkillsを一覧表示します。各言語タブは1つの連続したスクリプトからの抜粋であり、インポートとクライアントのセットアップは先頭にあります。
# Anthropic管理のSkillsを一覧表示
ant beta:skills list --source anthropic以下のSkillsが表示されます: pptx、xlsx、docx、pdf。
このAPIは各Skillのメタデータ(名前と説明)を返します。Claudeは起動時にこのメタデータを読み込み、どのSkillsが利用可能かを判断します。これはprogressive disclosure(段階的開示)の第1レベルであり、Claudeは完全な指示をまだ読み込まずにSkillsを発見します。
PowerPoint Skillを使用して、再生可能エネルギーに関するプレゼンテーションを作成します。Messages APIのcontainerパラメータを使用してSkillsを指定します。
# PowerPoint Skillを使用してメッセージを作成
response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["skills-2025-10-02"],
container={
"skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
},
messages=[
{
"role": "user",
"content": "Create a presentation about renewable energy with 5 slides",
}
],
tools=[{"type": "code_execution_20260521", "name": "code_execution"}],
)
print(f"stop_reason={response.stop_reason}, blocks={len(response.content)}")リクエストには以下の部分が含まれます。
model: コード実行ツールをサポートするモデルcontainer.skills: Claudeが使用できるSkillsを指定しますtype: "anthropic": これがAnthropicが管理するSkillであることを示しますskill_id: "pptx": PowerPoint Skillの識別子version: "latest": 最新の公開バージョンに設定されたSkillのバージョンtools: コード実行を有効にします(Skillsに必須)skills-2025-10-02このページの例では、一般提供されておりskills-2025-10-02ベータヘッダーのみを必要とするcode_execution_20260521ツールバージョンを使用しています。ステップ3のコードは、現在のツールバージョンが返す結果タイプを解析します。Skillsはcode_execution_20250825などの古いコード実行ツールバージョンでも動作します。現在のコード実行ツールのどのバージョンでもSkillsの要件を満たします。別のバージョンを使用する場合は、そのツールのtypeとベータヘッダーをコード実行ツールのページと一致させ、常にskills-2025-10-02を含めてください。
このリクエストを行うと、Claudeは自動的にタスクを関連するSkillに照合します。プレゼンテーションを依頼したため、ClaudeはPowerPoint Skillが関連していると判断し、その完全な指示を読み込みます。これが段階的開示の第2レベルです。その後、ClaudeはSkillのコードを実行してプレゼンテーションを作成します。
プレゼンテーションはコード実行コンテナ内で作成され、ファイルとして保存されました。ステップ2のresponseには、ファイルIDを含むファイル参照が含まれています。ファイルIDを抽出し、Files APIでファイルをダウンロードします。この例では、システムの一時ディレクトリに保存します。
# ファイルIDを抽出します。コード実行ツールはSkillのコードを
# Bashサブツール経由で実行し、生成されたファイルはbash_code_execution_tool_result
# ブロック内のbash_code_execution_output項目として表示されます。
file_id = None
for block in response.content:
if block.type == "bash_code_execution_tool_result":
if block.content.type == "bash_code_execution_result":
for output in block.content.content:
file_id = output.file_id
if file_id:
# ファイルをダウンロードして保存
output_path = Path(tempfile.gettempdir()) / "renewable_energy.pptx"
file_content = client.beta.files.download(file_id=file_id)
file_content.write_to_file(output_path)
print(f"Presentation saved to {output_path}")生成されたファイルの操作に関する詳細については、コード実行ツールのドキュメントの生成されたファイルの取得を参照してください。
以下のバリエーションを試してみてください。
response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["skills-2025-10-02"],
container={
"skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
},
messages=[
{
"role": "user",
"content": "Create a quarterly sales tracking spreadsheet with sample data",
}
],
tools=[{"type": "code_execution_20260521", "name": "code_execution"}],
)response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["skills-2025-10-02"],
container={
"skills": [{"type": "anthropic", "skill_id": "docx", "version": "latest"}]
},
messages=[
{
"role": "user",
"content": "Write a 2-page report on the benefits of renewable energy",
}
],
tools=[{"type": "code_execution_20260521", "name": "code_execution"}],
)response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["skills-2025-10-02"],
container={
"skills": [{"type": "anthropic", "skill_id": "pdf", "version": "latest"}]
},
messages=[
{
"role": "user",
"content": "Generate a PDF invoice template",
}
],
tools=[{"type": "code_execution_20260521", "name": "code_execution"}],
)Claudeが発見して正常に使用できる効果的なSkillsの書き方を学びます。
APIを通じてClaudeの機能を拡張するためにAgent Skillsを使用する方法を学びます。
特化したタスクのために独自のSkillsをアップロードします。
Claude CodeにおけるSkillsについて学びます。
Skillsの例と実装パターンを探索します。
Was this page helpful?