Este tutorial te muestra cómo usar Agent Skills para crear una presentación de PowerPoint. Aprenderás cómo habilitar Skills, hacer una solicitud simple y acceder al archivo generado.

Requisitos previos

¿Qué son Agent Skills?

Los Agent Skills precompilados extienden las capacidades de Claude con experiencia especializada para tareas como crear documentos, analizar datos y procesar archivos. Anthropic proporciona los siguientes Agent Skills precompilados en la API:
  • PowerPoint (pptx): Crear y editar presentaciones
  • Excel (xlsx): Crear y analizar hojas de cálculo
  • Word (docx): Crear y editar documentos
  • PDF (pdf): Generar documentos PDF
¿Quieres crear Skills personalizados? Consulta el Agent Skills Cookbook para ver ejemplos de cómo crear tus propios Skills con experiencia específica del dominio.

Paso 1: Listar Skills disponibles

Primero, veamos qué Skills están disponibles. Usaremos la API de Skills para listar todos los Skills administrados por Anthropic:
import anthropic

client = anthropic.Anthropic()

# Listar Skills administrados por Anthropic
skills = client.beta.skills.list(
    source="anthropic",
    betas=["skills-2025-10-02"]
)

for skill in skills.data:
    print(f"{skill.id}: {skill.display_title}")
Ves los siguientes Skills: pptx, xlsx, docx y pdf. Esta API devuelve los metadatos de cada Skill: su nombre y descripción. Claude carga estos metadatos al iniciar para saber qué Skills están disponibles. Este es el primer nivel de divulgación progresiva, donde Claude descubre Skills sin cargar aún sus instrucciones completas.

Paso 2: Crear una presentación

Ahora usaremos el Skill de PowerPoint para crear una presentación sobre energías renovables. Especificamos Skills usando el parámetro container en la API de Mensajes:
import anthropic

client = anthropic.Anthropic()

# Crear un mensaje con el Skill de PowerPoint
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)
Desglosemos lo que hace cada parte:
  • container.skills: Especifica qué Skills puede usar Claude
  • type: "anthropic": Indica que este es un Skill administrado por Anthropic
  • skill_id: "pptx": El identificador del Skill de PowerPoint
  • version: "latest": La versión del Skill establecida en la más recientemente publicada
  • tools: Habilita la ejecución de código (requerido para Skills)
  • Encabezados Beta: code-execution-2025-08-25 y skills-2025-10-02
Cuando realizas esta solicitud, Claude automáticamente hace coincidir tu tarea con el Skill relevante. Como pediste una presentación, Claude determina que el Skill de PowerPoint es relevante y carga sus instrucciones completas: el segundo nivel de divulgación progresiva. Luego Claude ejecuta el código del Skill para crear tu presentación.

Paso 3: Descargar el archivo creado

La presentación fue creada en el contenedor de ejecución de código y guardada como un archivo. La respuesta incluye una referencia de archivo con un ID de archivo. Extrae el ID de archivo y descárgalo usando la API de Archivos:
# Extraer ID de archivo de la respuesta
file_id = None
for block in response.content:
    if block.type == 'tool_use' and block.name == 'code_execution':
        # El ID de archivo está en el resultado de la herramienta
        for result_block in block.content:
            if hasattr(result_block, 'file_id'):
                file_id = result_block.file_id
                break

if file_id:
    # Descargar el archivo
    file_content = client.beta.files.download(
        file_id=file_id,
        betas=["files-api-2025-04-14"]
    )

    # Guardar en disco
    with open("renewable_energy.pptx", "wb") as f:
        file_content.write_to_file(f.name)

    print(f"Presentation saved to renewable_energy.pptx")
Para obtener detalles completos sobre cómo trabajar con archivos generados, consulta la documentación de la herramienta de ejecución de código.

Prueba más ejemplos

Ahora que has creado tu primer documento con Skills, prueba estas variaciones:

Crear una hoja de cálculo

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

Crear un documento de 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"
    }]
)

Generar un 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 pasos

Ahora que has usado Agent Skills precompilados, puedes: