Skills, CLAUDE.md, subagenti, hook, o MCP: quando usare ciascuno
Claude Code ha cinque livelli di personalizzazione. CLAUDE.md, Skills, subagenti, hook e server MCP. Scegli quello sbagliato e otterrai uno Skill che non si attiva mai, un hook che esegue il lavoro di un subagente o un CLAUDE.md così gonfio da consumare metà del tuo contesto prima ancora che tu scriva.
Ecco dove appartiene ciascuno.
CLAUDE.md
Caricato in ogni conversazione. Usalo per regole che non vuoi mai saltare, come "modalità strict di TypeScript" o "non toccare mai lo schema del database".
Se una regola è importante solo a volte, non appartiene qui. Pagherai token per essa ad ogni prompt.
La regola empirica pubblicata da Anthropic è di mantenere CLAUDE.md sotto le 200 righe. Per ogni riga, chiediti se rimuoverla causerebbe effettivamente errori a Claude. Se no, tagliala. Un CLAUDE.md gonfio non fa sì che Claude obbedisca a più regole, ma fa sì che Claude ne ignori la metà perché quelle importanti si perdono nel rumore.
Se supera le 200 righe, la guida ufficiale è spostare il contenuto di riferimento negli Skills o dividerlo in file .claude/rules/ che vengono caricati solo quando Claude lavora su percorsi corrispondenti.
Skills
Markdown file che Claude carica automaticamente quando una richiesta corrisponde alla descrizione nel suo frontmatter. La sede giusta per checklist di revisione PR, procedure di rilascio, convenzioni specifiche della libreria, qualsiasi cosa specifica per un'attività.
La descrizione deve coprire due cose, cosa fa lo skill e quando usarlo. Salta il "quando" e Claude non caricherà mai lo skill, non importa quanto sia buono il corpo. Metti prima il caso d'uso chiave, poiché la descrizione è limitata a 1.536 caratteri nell'elenco degli skill.
Il corpo ha un suo limite. Anthropic raccomanda di mantenere SKILL.md sotto le 500 righe e di spostare il materiale di riferimento lungo in file separati a cui lo skill si collega. Una volta caricato uno skill, il suo contenuto rimane nel contesto per il resto della sessione, quindi ogni riga è un costo ricorrente in token.
Subagents
Eseguono nel proprio spazio di contesto. Gliene affidi un compito, lavora in modo indipendente con il proprio budget di token e ottieni il risultato.
Ideale per ricerche parallele, isolare lavori rumorosi o compiti che richiedono strumenti che non vuoi nella tua sessione principale. Coordinare diversi agenti contemporaneamente richiede un po' di attenzione, poiché non condividono lo stato.
I subagenti possono usare anche gli Skills, ma devi collegarli esplicitamente con il campo skills nel frontmatter. A differenza della sessione principale, le descrizioni degli skill non vengono caricate automaticamente nel subagente, quindi l'attivazione per corrispondenza della descrizione non avviene da sola.
Hooks
Le istruzioni di CLAUDE.md sono consultive, Claude decide se seguirle. Gli hook sono deterministici. L'evento si attiva, l'hook viene eseguito, nessun giudizio coinvolto. Sono gli unici dei cinque che bypassano completamente il modello.
Gli eventi a cui la maggior parte delle persone si aggancia sono PreToolUse (convalida o blocca una chiamata a uno strumento prima che venga eseguita), PostToolUse (reagisce dopo una chiamata a uno strumento, come il linting di file modificati da Claude), UserPromptSubmit (intercetta ciò che viene inviato a Claude) e SessionStart (carica il contesto una volta per sessione).
Questo è il motivo per cui gli hook sono il posto giusto per le misure di sicurezza. "Non modificare mai .env" in CLAUDE.md o in uno Skill è una richiesta. Un hook PreToolUse che blocca la modifica è un'applicazione.
Se la tua regola è "esegui X ogni volta che Claude fa Y", quello è un hook. Linters, formattatori, validatori, logging di audit.
MCP servers
Gli altri quattro modellano il modo in cui Claude pensa. MCP fornisce a Claude nuove cose da fare, come parlare con API, database o sistemi interni. A volte una CLI è sufficiente, a volte hai davvero bisogno di un server MCP.
Come si combinano
- CLAUDE.md per regole rigide
- Skills per procedure e conoscenza del dominio
- Subagents per lavoro delegato
- Hooks per effetti collaterali automatici
- MCP servers per il mondo esterno
La trappola è scaricare tutto negli Skills. Un vincolo che si applica sempre appartiene ancora a CLAUDE.md. Un effetto collaterale al salvataggio di un file appartiene ancora a un hook.
Per la versione lunga, il corso gratuito di Anthropic Introduction to Agent Skills su Skilljar illustra l'intero schema, e il video di tre minuti lo copre nel tempo necessario per preparare il caffè.