Was this page helpful?
このチュートリアルでは、Agent Skillsを使用してPowerPointプレゼンテーションを作成する方法を説明します。Skillsを有効にする方法、簡単なリクエストを行う方法、生成されたファイルにアクセスする方法を学びます。
事前構築されたAgent Skillsは、ドキュメント作成、データ分析、ファイル処理などのタスク用の専門的な専門知識でClaudeの機能を拡張します。Anthropicは、APIで以下の事前構築されたAgent Skillsを提供しています。
カスタムSkillsを作成したいですか? ドメイン固有の専門知識を持つ独自のSkillsを構築する例については、Agent Skills Cookbookを参照してください。
まず、利用可能なSkillsを確認します。Skills APIを使用して、すべてのAnthropicが管理するSkillsをリストアップします。
次のSkillsが表示されます: pptx、xlsx、docx、およびpdf。
このAPIは各Skillのメタデータ(名前と説明)を返します。Claudeはこのメタデータをスタートアップ時に読み込んで、利用可能なSkillsを認識します。これは段階的な情報開示の最初のレベルであり、Claudeはまだ完全な指示を読み込まずにSkillsを発見します。
次に、PowerPoint Skillを使用して再生可能エネルギーに関するプレゼンテーションを作成します。Messages APIでcontainerパラメータを使用してSkillsを指定します。
各部分の機能を詳しく説明します。
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を使用してダウンロードします。
生成されたファイルの操作に関する詳細については、コード実行ツールのドキュメントを参照してください。
Skillsで最初のドキュメントを作成したので、これらのバリエーションを試してください。
事前構築されたAgent Skillsを使用したので、以下のことができます。
ant beta:skills list --source anthropicimport anthropic
client = anthropic.Anthropic()
# PowerPoint Skillを使用してメッセージを作成
response = client.beta.messages.create(
model="claude-opus-4-7",
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)from typing import Any
response: Any = None
# レスポンスからファイル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")response = client.beta.messages.create(
model="claude-opus-4-7",
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-7",
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-7",
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"}],
)効果的なSkillsを書くためのベストプラクティスを学ぶ