このチュートリアルでは、Agent Skillsを使用してPowerPointプレゼンテーションを作成する方法を説明します。Skillsの有効化、シンプルなリクエストの作成、生成されたファイルへのアクセス方法を学びます。
ビルド済みのAgent Skillsは、ドキュメントの作成、データの分析、ファイルの処理などのタスクに特化した専門知識でClaudeの機能を拡張します。AnthropicはAPIで以下のビルド済みAgent Skillsを提供しています:
カスタムSkillsを作成したいですか? 独自のドメイン固有の専門知識を持つSkillsの構築例については、Agent Skills Cookbookをご覧ください。
まず、どの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が表示されます:pptx、xlsx、docx、pdf。
このAPIは各Skillのメタデータ(名前と説明)を返します。Claudeは起動時にこのメタデータを読み込み、どのSkillsが利用可能かを把握します。これが段階的開示の最初のレベルであり、Claudeは完全な指示をまだ読み込まずにSkillsを発見します。
次に、PowerPoint Skillを使用して再生可能エネルギーに関するプレゼンテーションを作成します。Messages APIのcontainerパラメータを使用してSkillsを指定します:
import anthropic
client = anthropic.Anthropic()
# PowerPoint 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": "pptx",
"version": "latest"
}
]
},
messages=[{
"role": "user",
"content": "Create a presentation about renewable energy with 5 slides"
}],
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-25とskills-2025-10-02このリクエストを行うと、Claudeは自動的にタスクを関連するSkillにマッチングします。プレゼンテーションを要求したため、ClaudeはPowerPoint Skillが関連すると判断し、その完全な指示を読み込みます:これが段階的開示の2番目のレベルです。その後、ClaudeはSkillのコードを実行してプレゼンテーションを作成します。
プレゼンテーションはコード実行コンテナ内で作成され、ファイルとして保存されました。レスポンスにはファイル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"Presentation saved to renewable_energy.pptx")生成されたファイルの操作に関する完全な詳細については、コード実行ツールのドキュメントをご覧ください。
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"
}
]
},
messages=[{
"role": "user",
"content": "Create a quarterly sales tracking spreadsheet with sample data"
}],
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": "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_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": "anthropic",
"skill_id": "pdf",
"version": "latest"
}
]
},
messages=[{
"role": "user",
"content": "Generate a PDF invoice template"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)ビルド済みのAgent Skillsを使用できたので、次のことができます:
Claude APIでSkillsを使用する
専門的なタスク用に独自のSkillsをアップロードする
効果的なSkillsを作成するためのベストプラクティスを学ぶ
Claude CodeでのSkillsについて学ぶ
TypeScriptとPythonでプログラム的にSkillsを使用する
Skillsの例と実装パターンを探索する
Was this page helpful?