このチュートリアルでは、Agent Skillsを使用してPowerPointプレゼンテーションを作成する方法を説明します。Skillsを有効にする方法、シンプルなリクエストを行う方法、生成されたファイルにアクセスする方法を学びます。
事前構築されたAgent Skillsは、ドキュメントの作成、データの分析、ファイルの処理などのタスクに特化した専門知識でClaudeの機能を拡張します。Anthropicは、APIで以下の事前構築されたAgent Skillsを提供しています。
カスタムSkillsを作成したいですか? ドメイン固有の専門知識を持つ独自のSkillsを構築する例については、Agent Skills Cookbookを参照してください。
まず、どのSkillsが利用可能かを確認します。Skills APIを使用して、Anthropicが管理するすべてのSkillsを一覧表示します。
# Anthropic管理のSkillsを一覧表示
ant beta:skills list --source anthropic以下のSkillsが表示されます: pptx、xlsx、docx、pdf。
このAPIは各Skillのメタデータ(名前と説明)を返します。Claudeは起動時にこのメタデータを読み込み、どのSkillsが利用可能かを把握します。これはプログレッシブディスクロージャーの第1レベルであり、Claudeは完全な指示をまだ読み込むことなくSkillsを発見します。
次に、PowerPoint Skillを使用して再生可能エネルギーに関するプレゼンテーションを作成します。Messages APIのcontainerパラメータを使用してSkillsを指定します。
# PowerPoint Skillを使用してメッセージを作成します
response = client.beta.messages.create(
model="claude-opus-4-8",
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)}")各部分が何をするのかを見ていきましょう。
container.skills: Claudeが使用できるSkillsを指定しますtype: "anthropic": これがAnthropicが管理するSkillであることを示しますskill_id: "pptx": PowerPoint Skillの識別子version: "latest": 最新の公開バージョンに設定されたSkillのバージョンtools: コード実行を有効にします(Skillsに必須)skills-2025-10-02ここでの例では、一般提供されておりコード実行のベータヘッダーを必要としないcode_execution_20260521ツールバージョンを使用しています。Skillsは古いコード実行ツールのバージョン(code_execution_20250825など)でも動作します。どのコード実行ツールバージョンでもSkillsの要件を満たします。どのバージョンを使用する場合でも、そのツールのtypeとベータヘッダーはコード実行ツールのページと一致させ、常にskills-2025-10-02を含めてください。
このリクエストを行うと、Claudeは自動的にタスクを関連するSkillにマッチさせます。プレゼンテーションを依頼したため、ClaudeはPowerPoint Skillが関連していると判断し、その完全な指示を読み込みます。これがプログレッシブディスクロージャーの第2レベルです。その後、ClaudeはSkillのコードを実行してプレゼンテーションを作成します。
プレゼンテーションはコード実行コンテナ内で作成され、ファイルとして保存されました。レスポンスにはファイルIDを含むファイル参照が含まれています。ファイルIDを抽出し、Files APIを使用してダウンロードします。
# コード実行ツールの結果からファイルIDを抽出します。Skillは
# Pythonまたはbashのコード実行ツールのいずれかで処理を実行する可能性があるため、
# 両方の結果タイプを確認します。
file_id = None
for block in response.content:
if block.type == "code_execution_tool_result":
if block.content.type == "code_execution_result":
for output in block.content.content:
file_id = output.file_id
elif 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}")生成されたファイルの操作に関する詳細については、コード実行ツールのドキュメントを参照してください。
Skillsで最初のドキュメントを作成したので、次のバリエーションを試してみましょう。
response = client.beta.messages.create(
model="claude-opus-4-8",
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-4-8",
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-4-8",
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"}],
)事前構築されたAgent Skillsを使用したので、次のことができます。
Claude APIでSkillsを使用する
特化したタスクのために独自のSkillsをアップロードする
効果的なSkillsを書くためのベストプラクティスを学ぶ
Claude CodeのSkillsについて学ぶ
Skillsの例と実装パターンを探索する
Was this page helpful?