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.
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:
¿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.
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.
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 Claudetype: "anthropic": Indica que este es un Skill administrado por Anthropicskill_id: "pptx": El identificador del Skill de PowerPointversion: "latest": La versión del Skill establecida en la más recientemente publicadatools: Habilita la ejecución de código (requerido para Skills)code-execution-2025-08-25 y skills-2025-10-02Cuando 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.
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.
Ahora que has creado tu primer documento con Skills, prueba estas variaciones:
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"
}]
)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"
}]
)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"
}]
)Ahora que has usado Agent Skills precompilados, puedes:
Usar Skills con la API de Claude
Carga tus propios Skills para tareas especializadas
Aprende las mejores prácticas para escribir Skills efectivos
Aprende sobre Skills en Claude Code
Usa Skills programáticamente en TypeScript y Python
Explora Skills de ejemplo y patrones de implementación