L’obiezione abituale alle Skill è che mangeranno la context window. È una paura ragionevole e sbagliata, perché una Skill non è un unico blocco di testo. Si carica in tre fasi, e due di esse non costano nulla finché non servono.
Secondo articolo di una serie sulle Agent Skill.
Livello 1 — metadata, sempre caricati
All’avvio vengono messi nel system prompt soltanto il name e la description di ogni Skill installata. All’incirca cento token ciascuno.
È questo il numero che conta rispetto all’obiezione. Trenta Skill installate significano circa tremila token di overhead permanente — il prezzo di una breve email. Puoi installare parecchia capacità prima che valga la pena ottimizzare questo aspetto.
Livello 2 — istruzioni, caricate all’attivazione
Quando la richiesta corrisponde alla descrizione, l’agente legge SKILL.md dal filesystem e il suo corpo entra nel contesto. La raccomandazione è di mantenerlo sotto circa cinquemila token.
Nota ciò che è appena successo: il corpo è rimasto sul disco per tutto il tempo, a costo zero, ed è diventato visibile soltanto nel momento in cui era rilevante. Questo meccanismo ha un nome: progressive disclosure.
Livello 3 — file inclusi, caricati soltanto se letti
Una Skill può includere tutti i file aggiuntivi che vuoi: altro Markdown, riferimenti API, schemi di database, template, esempi, script eseguibili. Nessuno di questi costa qualcosa finché non viene letto.
La conseguenza è poco intuitiva ma utile: non esiste un vero limite a quanto puoi includere. Una Skill può contenere una reference API completa e una dozzina di esempi svolti. Se un task ne richiede uno, si carica quello. Tutto il resto resta sul disco a costo zero.
Come appare in una Skill reale
Ecco le misure di una Skill presente sulla mia macchina, usata per consigliare automazioni per un codebase:
- Descrizione: 367 caratteri. È tutto ciò che costa quando è inattiva.
- Corpo di SKILL.md: circa 11 KB, letto soltanto quando emerge l’argomento.
- Cinque file di riferimento: circa 32 KB complessivi, ciascuno letto soltanto se serve proprio quel tema.
Quindi una Skill che porta con sé circa 43 KB di materiale ha a riposo il costo di un paio di frasi. Chiedile degli hook e si apre un solo file da 6 KB; quello da 8 KB sui server MCP resta chiuso.
La regola di design che ne consegue
Poiché il Livello 2 viene pagato per intero ogni volta che la Skill si attiva, mentre il Livello 3 viene pagato soltanto quando viene letto, la separazione conta:
- Metti in SKILL.md ciò che serve ogni volta che la Skill gira: workflow, ordine delle operazioni, decisioni.
- Sposta in un file incluso tutto ciò che serve soltanto talvolta: elenchi esaustivi di campi, tabelle di errori, guida agli edge case, esempi lunghi.
Un errore comune è un singolo SKILL.md da 20.000 token che documenta ogni ramo. Funziona, e paga il prezzo completo a ogni attivazione. Dividerlo non costa nulla e spesso rende le istruzioni più chiare, perché il file principale torna a descrivere il percorso normale.
Dove il modello esegue la lettura
Vale la pena essere precisi sul meccanismo, perché spiega il modello di costo. Non esiste un loader speciale. L’agente legge questi file con normali comandi shell, come faresti tu. Quando le istruzioni citano un altro file, legge anche quello. Quando citano uno script, lo esegue e vede soltanto ciò che lo script ha stampato.
Quest’ultima frase è la più utile della serie, e il prossimo articolo parla proprio di questo.
Che cosa portarsi a casa
Le Skill costano poco quando sono inattive, moderatamente quando si attivano e zero per tutto ciò che trasportano ma non leggono. Progetta seguendo questo gradiente: corpo snello, riferimenti generosi e dettagli costosi un livello più lontano di quanto verrebbe spontaneo.
Prossimo articolo: perché la descrizione è l’unica parte di una Skill che la maggior parte delle richieste vedrà mai.
