本教程向您展示如何使用 Agent Skills 创建 PowerPoint 演示文稿。您将学习如何启用 Skills、发出请求以及访问生成的文件。
curl 和 jq预构建的 Agent Skills 通过专业知识扩展 Claude 的能力,用于创建文档、分析数据和处理文件等任务。Anthropic 在 API 中提供以下预构建的 Agent Skills:
要创建自定义 Skills,请参阅 Agent Skills Cookbook,其中包含构建具有特定领域专业知识的自定义 Skills 的示例。
首先,查看有哪些可用的 Skills。使用 Skills API 列出所有由 Anthropic 管理的 Skills。每个语言标签页都是一个连续脚本的摘录,所有导入和客户端设置都在顶部:
# 列出由 Anthropic 管理的技能
ant beta:skills list --source anthropic您会看到以下 Skills:pptx、xlsx、docx 和 pdf。
此 API 返回每个 Skill 的元数据:其名称和描述。Claude 在启动时加载这些元数据,以确定哪些 Skills 可用。这是 progressive disclosure(渐进式披露)的第一层,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 可以使用哪些 Skillstype: "anthropic": 表示这是由 Anthropic 管理的 Skillskill_id: "pptx": PowerPoint Skill 的标识符version: "latest": 将 Skill 版本设置为最近发布的版本tools: 启用代码执行(Skills 所必需)skills-2025-10-02本页面的示例使用 code_execution_20260521 工具版本,该版本已正式发布,只需要 skills-2025-10-02 beta 标头。步骤 3 的代码会解析当前工具版本返回的结果类型。Skills 也可以与较旧的代码执行工具版本(例如 code_execution_20250825)配合使用:任何当前的代码执行工具版本都满足 Skills 的要求。如果您使用不同的版本,请保持其工具 type 和任何 beta 标头与代码执行工具页面一致,并始终包含 skills-2025-10-02。
当您发出此请求时,Claude 会自动将您的任务与相关的 Skill 匹配。由于您请求的是演示文稿,Claude 判断 PowerPoint Skill 是相关的,并加载其完整指令:这是渐进式披露的第二层。然后 Claude 运行该 Skill 的代码来创建您的演示文稿。
演示文稿是在代码执行容器中创建并保存为文件的。步骤 2 的 response 包含一个带有文件 ID 的文件引用。提取文件 ID 并使用 Files API 下载文件。该示例将其保存到您系统的临时目录:
# 提取文件 ID。代码执行工具通过其 Bash 子工具
# 运行 Skill 的代码,生成的文件会作为 bash_code_execution_output
# 项出现在 bash_code_execution_tool_result 块中。
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。
了解如何使用 Agent Skills 通过 API 扩展 Claude 的能力。
上传您自己的 Skills 以用于专门任务。
了解 Claude Code 中的 Skills。
探索示例 Skills 和实现模式。
Was this page helpful?