APIでAgent Skillsを始める
このチュートリアルでは、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}")import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// Anthropicが管理するSkillsをリストアップ
const skills = await client.beta.skills.list({
source: 'anthropic',
betas: ['skills-2025-10-02']
});
for (const skill of skills.data) {
console.log(`${skill.id}: ${skill.display_title}`);
}curl "https://api.anthropic.com/v1/skills?source=anthropic" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: skills-2025-10-02"以下のSkillsが表示されます:pptx、xlsx、docx、およびpdf。
この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": "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のコードを実行します。
ステップ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"Presentation saved to 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": "Create a quarterly sales tracking spreadsheet with sample data"
}],
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": "Write a 2-page report on the benefits of renewable energy"
}],
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": "Generate a PDF invoice template"
}],
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}]
)次のステップ
事前構築されたAgent Skillsを使用したので、以下のことができます: