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

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}")
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ò utilizzare
  • type: "anthropic": Indica che si tratta di una Skill gestita da Anthropic
  • skill_id: "pptx": L’identificatore della Skill PowerPoint
  • version: "latest": La versione della Skill impostata sulla più recente pubblicata
  • tools: Abilita l’esecuzione del codice (richiesta per le Skills)
  • Intestazioni Beta: code-execution-2025-08-25 e skills-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: