Este tutorial mostra como usar Agent Skills para criar uma apresentação em PowerPoint. Você aprenderá como ativar Skills, fazer uma solicitação simples e acessar o arquivo gerado.

Pré-requisitos

O que são Agent Skills?

Agent Skills pré-construídas estendem os recursos do Claude com expertise especializada para tarefas como criar documentos, analisar dados e processar arquivos. Anthropic fornece as seguintes Agent Skills pré-construídas na API:
  • PowerPoint (pptx): Criar e editar apresentações
  • Excel (xlsx): Criar e analisar planilhas
  • Word (docx): Criar e editar documentos
  • PDF (pdf): Gerar documentos PDF
Quer criar Skills personalizadas? Veja o Agent Skills Cookbook para exemplos de construção de suas próprias Skills com expertise específica de domínio.

Passo 1: Listar Skills disponíveis

Primeiro, vamos ver quais Skills estão disponíveis. Usaremos a API de Skills para listar todas as Skills gerenciadas pela Anthropic:
import anthropic

client = anthropic.Anthropic()

# List Anthropic-managed 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}")
Você vê as seguintes Skills: pptx, xlsx, docx e pdf. Esta API retorna os metadados de cada Skill: seu nome e descrição. Claude carrega esses metadados na inicialização para saber quais Skills estão disponíveis. Este é o primeiro nível de divulgação progressiva, onde Claude descobre Skills sem carregar suas instruções completas ainda.

Passo 2: Criar uma apresentação

Agora usaremos a Skill PowerPoint para criar uma apresentação sobre energia renovável. Especificamos Skills usando o parâmetro container na API de Mensagens:
import anthropic

client = anthropic.Anthropic()

# Create a message with the 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)
Vamos decompor o que cada parte faz:
  • container.skills: Especifica quais Skills Claude pode usar
  • type: "anthropic": Indica que esta é uma Skill gerenciada pela Anthropic
  • skill_id: "pptx": O identificador da Skill PowerPoint
  • version: "latest": A versão da Skill definida como a mais recentemente publicada
  • tools: Ativa a execução de código (necessária para Skills)
  • Cabeçalhos Beta: code-execution-2025-08-25 e skills-2025-10-02
Quando você faz esta solicitação, Claude automaticamente corresponde sua tarefa à Skill relevante. Como você pediu uma apresentação, Claude determina que a Skill PowerPoint é relevante e carrega suas instruções completas: o segundo nível de divulgação progressiva. Então Claude executa o código da Skill para criar sua apresentação.

Passo 3: Baixar o arquivo criado

A apresentação foi criada no contêiner de execução de código e salva como um arquivo. A resposta inclui uma referência de arquivo com um ID de arquivo. Extraia o ID do arquivo e baixe-o usando a API de Arquivos:
# Extract file ID from response
file_id = None
for block in response.content:
    if block.type == 'tool_use' and block.name == 'code_execution':
        # File ID is in the tool result
        for result_block in block.content:
            if hasattr(result_block, 'file_id'):
                file_id = result_block.file_id
                break

if file_id:
    # Download the file
    file_content = client.beta.files.download(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )

    # Save to disk
    with open("renewable_energy.pptx", "wb") as f:
        file_content.write_to_file(f.name)

    print(f"Presentation saved to renewable_energy.pptx")
Para detalhes completos sobre como trabalhar com arquivos gerados, veja a documentação da ferramenta de execução de código.

Experimente mais exemplos

Agora que você criou seu primeiro documento com Skills, tente estas variações:

Criar uma planilha

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"
    }]
)

Criar um documento 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"
    }]
)

Gerar um 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"
    }]
)

Próximos passos

Agora que você usou Agent Skills pré-construídas, você pode: