Claude Platform Docs
MessagesSkills

在 API 中開始使用 Agent Skills

了解如何在 10 分鐘內使用 Agent Skills 透過 Claude API 建立文件。

本教學將示範如何使用 Agent Skills 建立 PowerPoint 簡報。您將學會如何啟用 Skills、發送請求,以及存取所產生的檔案。

先決條件

Agent Skills 概覽

預先建置的 Agent Skills 以專業知識擴展 Claude 的能力,可用於建立文件、分析資料及處理檔案等任務。Anthropic 在 API 中提供下列預先建置的 Agent Skills:

  • PowerPoint (pptx): 建立與編輯簡報
  • Excel (xlsx): 建立與分析試算表
  • Word (docx): 建立與編輯文件
  • PDF (pdf): 產生 PDF 文件

步驟 1:列出可用的 Skills

首先,檢查有哪些 Skills 可供使用。使用 Skills API 列出所有由 Anthropic 管理的 Skills。每個語言分頁都是擷取自同一份連續腳本的片段,所有匯入與用戶端設定皆位於最上方:

# 列出由 Anthropic 管理的 Skills
ant skills list --source anthropic

您會看到下列 Skills:pptxxlsxdocxpdf

此 API 會回傳每個 Skill 的中繼資料:其名稱與描述。Claude 會在啟動時載入這些中繼資料,以判斷有哪些 Skills 可供使用。這是「progressive disclosure」(漸進式揭露)的第一個層級,在此階段 Claude 會探索 Skills,但尚未載入其完整指令。

步驟 2:建立簡報

使用 PowerPoint Skill 建立一份關於再生能源的簡報。請在 Messages API 中使用 container 參數來指定 Skills:

# 使用 PowerPoint Skill 建立訊息
response = client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    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 可以使用哪些 Skills
  • type: "anthropic" 表示這是由 Anthropic 管理的 Skill
  • skill_id: "pptx" PowerPoint Skill 的識別碼
  • version: "latest" 將 Skill 版本設定為最新發布的版本
  • tools 啟用程式碼執行(Skills 的必要條件)

當您發送此請求時,Claude 會自動將您的任務與相關的 Skill 進行比對。由於您要求的是簡報,Claude 會判斷 PowerPoint Skill 與此相關,並載入其完整指令:這是漸進式揭露的第二個層級。接著 Claude 會執行該 Skill 的程式碼來建立您的簡報。

步驟 3:下載已建立的檔案

簡報已在程式碼執行容器中建立並儲存為檔案。步驟 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.files.download(file_id=file_id)
    file_content.write_to_file(output_path)
    print(f"Presentation saved to {output_path}")

嘗試更多範例

試試以下變化:

建立試算表

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    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"}],
)

建立 Word 文件

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    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"}],
)

產生 PDF

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    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。

了解如何透過 API 使用 Agent Skills 來擴展 Claude 的能力。

上傳您自己的 Skills 以處理專門任務。

了解 Claude Code 中的 Skills。

探索範例 Skills 與實作模式。

Was this page helpful?