Este tutorial te muestra cómo usar Agent Skills para crear una presentación de PowerPoint. Aprenderás a habilitar Skills, hacer una solicitud simple y acceder al archivo generado.
Los Agent Skills predefinidos amplían las capacidades de Claude con conocimientos especializados para tareas como crear documentos, analizar datos y procesar archivos. Anthropic proporciona los siguientes Agent Skills predefinidos en la API:
¿Quieres crear Skills personalizados? Consulta el Agent Skills Cookbook para ver ejemplos de cómo crear tus propios Skills con conocimientos específicos de dominio.
Primero, verifica qué Skills están disponibles. Usa la API de Skills para listar todos los Skills gestionados por Anthropic:
# Lista las Skills gestionadas por Anthropic
ant beta:skills list --source anthropicVerás 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 inicio para saber qué Skills están disponibles. Este es el primer nivel de "progressive disclosure" (divulgación progresiva), donde Claude descubre los Skills sin cargar aún sus instrucciones completas.
Ahora usa el Skill de PowerPoint para crear una presentación sobre energía renovable. Especifica los Skills usando el parámetro container en la API de Messages:
# Crea un mensaje con la Skill de PowerPoint
response = client.beta.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
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(f"stop_reason={response.stop_reason}, blocks={len(response.content)}")Analicemos qué hace cada parte:
container.skills: Especifica qué Skills puede usar Claudetype: "anthropic": Indica que este es un Skill gestionado por Anthropicskill_id: "pptx": El identificador del Skill de PowerPointversion: "latest": La versión del Skill establecida en la publicada más recientementetools: Habilita la ejecución de código (requerida para los Skills)code-execution-2025-08-25 y skills-2025-10-02Los ejemplos aquí usan la versión de herramienta code_execution_20250825 con su encabezado beta correspondiente code-execution-2025-08-25. Los Skills también funcionan con las revisiones más recientes de la herramienta de ejecución de código (code_execution_20260120 y posteriores); cualquier versión de la herramienta de ejecución de código satisface el requisito de los Skills. Sea cual sea la versión que uses, mantén su type de herramienta y encabezado beta consistentes con la página de la herramienta de ejecución de código, e incluye siempre skills-2025-10-02.
Cuando haces esta solicitud, Claude asocia automáticamente 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 se creó en el contenedor de ejecución de código y se guardó 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 Files:
# Extrae el ID del archivo del resultado de la herramienta de ejecución de código. La Skill podría
# ejecutar su trabajo mediante la herramienta de ejecución de código de Python o de bash, así que
# verifica ambos tipos de resultado.
file_id = None
for block in response.content:
if block.type == "code_execution_tool_result":
if block.content.type == "code_execution_result":
for output in block.content.content:
file_id = output.file_id
elif 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:
# Descarga el archivo y guárdalo
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}")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-opus-4-8",
max_tokens=16000,
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-opus-4-8",
max_tokens=16000,
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-opus-4-8",
max_tokens=16000,
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 predefinidos, puedes:
Usa Skills con la API de Claude
Sube tus propios Skills para tareas especializadas
Aprende las mejores prácticas para escribir Skills efectivos
Aprende sobre Skills en Claude Code
Explora Skills de ejemplo y patrones de implementación
Was this page helpful?