Este tutorial te muestra cómo usar Agent Skills para crear una presentación de PowerPoint. Aprenderás a habilitar Skills, hacer una solicitud y acceder al archivo generado.
curl y jqLas Agent Skills preconstruidas amplían las capacidades de Claude con experiencia especializada para tareas como crear documentos, analizar datos y procesar archivos. Anthropic proporciona las siguientes Agent Skills preconstruidas en la API:
Primero, verifica qué Skills están disponibles. Usa la API de Skills para listar todas las Skills administradas por Anthropic. Cada pestaña de lenguaje es un extracto de un script continuo, con las importaciones y la configuración del cliente en la parte superior:
# Listar las Skills administradas por Anthropic
ant beta:skills list --source anthropicVerás las 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 determinar qué Skills están disponibles. Este es el primer nivel de divulgación progresiva (progressive disclosure), donde Claude descubre las Skills sin cargar todavía sus instrucciones completas.
Usa la Skill de PowerPoint para crear una presentación sobre energía renovable. Especifica las 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-5",
max_tokens=16000,
betas=["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_20260521", "name": "code_execution"}],
)
print(f"stop_reason={response.stop_reason}, blocks={len(response.content)}")La solicitud incluye las siguientes partes:
model: Un modelo que admite la herramienta de ejecución de códigocontainer.skills: Especifica qué Skills puede usar Claudetype: "anthropic": Indica que esta es una Skill administrada por Anthropicskill_id: "pptx": El identificador de la Skill de PowerPointversion: "latest": La versión de la Skill establecida en la publicada más recientementetools: Habilita la ejecución de código (requerida para las Skills)skills-2025-10-02Cuando haces esta solicitud, Claude hace coincidir automáticamente tu tarea con la Skill relevante. Como pediste una presentación, Claude determina que la Skill de PowerPoint es relevante y carga sus instrucciones completas: el segundo nivel de divulgación progresiva. Luego, Claude ejecuta el código de la 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 response del Paso 2 incluye una referencia de archivo con un ID de archivo. Extrae el ID del archivo y descarga el archivo con la API de Files. El ejemplo lo guarda en el directorio temporal de tu sistema:
# Extrae el ID del archivo. La herramienta de ejecución de código ejecuta el código de la Skill mediante
# su subherramienta Bash, y los archivos generados aparecen como elementos bash_code_execution_output
# dentro del bloque 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:
# 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}")Prueba estas variaciones:
response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["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_20260521", "name": "code_execution"}],
)response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["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_20260521", "name": "code_execution"}],
)response = client.beta.messages.create(
model="claude-opus-5",
max_tokens=16000,
betas=["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_20260521", "name": "code_execution"}],
)Aprende a escribir Skills efectivas que Claude pueda descubrir y usar con éxito.
Aprende a usar Agent Skills para ampliar las capacidades de Claude a través de la API.
Sube tus propias Skills para tareas especializadas.
Aprende sobre las Skills en Claude Code.
Explora ejemplos de Skills y patrones de implementación.
Was this page helpful?