Iniziare con Agent Skills nell'API
Questo tutorial ti mostra come utilizzare Agent Skills per creare una presentazione PowerPoint. Imparerai come abilitare Skills, fare una semplice richiesta e accedere al file generato.
Prerequisiti
- Chiave API Anthropic
- Python 3.7+ o curl installato
- Familiarità di base con le richieste API
Cosa sono Agent Skills?
Le Agent Skills pre-costruite estendono le capacità di Claude con competenze specializzate per attività come la creazione di documenti, l'analisi dei dati e l'elaborazione di file. Anthropic fornisce le seguenti Agent Skills pre-costruite nell'API:
- PowerPoint (pptx): Crea e modifica presentazioni
- Excel (xlsx): Crea e analizza fogli di calcolo
- Word (docx): Crea e modifica documenti
- PDF (pdf): Genera documenti PDF
Vuoi creare Skills personalizzate? Consulta il Agent Skills Cookbook per esempi di creazione delle tue Skills con competenze specifiche del dominio.
Passaggio 1: Elenca le Skills disponibili
Per prima cosa, vediamo quali Skills sono disponibili. Utilizzeremo l'API Skills per elencare tutte le Skills gestite da 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}")import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// List Anthropic-managed Skills
const skills = await client.beta.skills.list({
source: 'anthropic',
betas: ['skills-2025-10-02']
});
for (const skill of skills.data) {
console.log(`${skill.id}: ${skill.display_title}`);
}curl "https://api.anthropic.com/v1/skills?source=anthropic" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: skills-2025-10-02"Vedrai le seguenti Skills: pptx, xlsx, docx e pdf.
Questa API restituisce i metadati di ogni Skill: il suo nome e la sua descrizione. Claude carica questi metadati all'avvio per sapere quali Skills sono disponibili. Questo è il primo livello di progressive disclosure, dove Claude scopre le Skills senza caricare ancora le loro istruzioni complete.
Passaggio 2: Crea una presentazione
Ora utilizzeremo la Skill PowerPoint per creare una presentazione sull'energia rinnovabile. Specifichiamo le Skills utilizzando il parametro container nell'API Messages:
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)Analizziamo cosa fa ogni parte:
container.skills: Specifica quali Skills Claude può utilizzaretype: "anthropic": Indica che si tratta di una Skill gestita da Anthropicskill_id: "pptx": L'identificatore della Skill PowerPointversion: "latest": La versione della Skill impostata sulla più recente pubblicatatools: Abilita l'esecuzione del codice (richiesta per le Skills)- Intestazioni Beta:
code-execution-2025-08-25eskills-2025-10-02
Quando fai questa richiesta, Claude abbina automaticamente il tuo compito alla Skill rilevante. Poiché hai chiesto una presentazione, Claude determina che la Skill PowerPoint è rilevante e carica le sue istruzioni complete: il secondo livello di progressive disclosure. Quindi Claude esegue il codice della Skill per creare la tua presentazione.
Passaggio 3: Scarica il file creato
La presentazione è stata creata nel contenitore di esecuzione del codice e salvata come file. La risposta include un riferimento al file con un ID file. Estrai l'ID file e scaricalo utilizzando l'API Files:
# 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")Per i dettagli completi su come lavorare con i file generati, consulta la documentazione dello strumento di esecuzione del codice.
Prova altri esempi
Ora che hai creato il tuo primo documento con Skills, prova queste variazioni:
Crea un foglio di calcolo
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"
}]
)Crea un 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"
}]
)Genera 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"
}]
)Passaggi successivi
Ora che hai utilizzato le Agent Skills pre-costruite, puoi:
Guida API
Utilizza Skills con l'API Claude
Crea Skills personalizzate
Carica le tue Skills per compiti specializzati
Guida di authoring
Scopri le best practice per scrivere Skills efficaci
Utilizza Skills in Claude Code
Scopri le Skills in Claude Code
Utilizza Skills in Agent SDK
Utilizza Skills a livello di programmazione in TypeScript e Python
Agent Skills Cookbook
Esplora Skills di esempio e modelli di implementazione