Claude Code, Skills e Hooks: personalizzare il CLI di Anthropic
Skills e Hooks trasformano Claude Code da chatbot da terminale a piattaforma di automazione. Cosa sono, come si configurano, quando valgono davvero la pena.

Claude Code è partito come un CLI che ti fa modificare codice a colpi di prompt, ma negli ultimi mesi è diventato qualcos’altro: una piattaforma estendibile, con due meccanismi che la rendono davvero tua. Si chiamano Skills e Hooks, fanno cose opposte, e lavorano bene proprio perché fanno cose opposte. Vale la pena capire cosa sono, concretamente, e a chi possono essere utili.
Il problema che risolvono
Quando usi Claude Code per più di qualche giorno, ti accorgi di due cose. La prima: ripeti sempre le stesse istruzioni (“quando fai un commit segui questo formato”, “quando tocchi un PDF usa pdfplumber, non PyPDF2”). La seconda: ci sono cose che non vorresti mai che Claude facesse senza che tu lo sappia, tipo scrivere nella cartella di produzione o fare push senza aver girato il linter. Skills e Hooks rispondono a questi due bisogni, e lo fanno da due direzioni opposte.
Cosa sono le Skills
Una Skill è un pacchetto di istruzioni riutilizzabili che vive in una cartella. Al minimo è un file SKILL.md con un frontmatter YAML (nome + descrizione) e del markdown sotto. Opzionalmente può portarsi dietro script, file di riferimento e asset. Le Skills personali stanno in ~/.claude/skills/, quelle di progetto in .claude/skills/.
La parte interessante è come Claude le usa. All’avvio il modello carica nel contesto solo nome e descrizione di ogni Skill installata: è la cosiddetta progressive disclosure. Quando decide che una Skill è rilevante per quello che stai chiedendo, apre il SKILL.md completo e segue le istruzioni. Puoi averne cinquanta installate senza pagare il contesto: Claude sa solo che esistono, finché non servono.
Tre Skills che hanno senso nella vita vera
Una pdf-analysis con istruzioni su quale libreria usare, come gestire le pagine scansionate, come estrarre le tabelle. Una commit che codifica il formato di messaggio (conventional commits, co-author, riferimento a issue), così non devi più ripeterlo a ogni sessione. Una review-pr che prende in ingresso un numero di PR, tira giù il diff con gh, applica una checklist e scrive un commento. Sono tutte cose che potresti tenere in un CLAUDE.md gigante, ma le Skills le isolano, le versionano e si caricano solo quando servono.
Cosa sono gli Hooks
Gli Hooks sono l’opposto filosofico delle Skills. Non aspettano che il modello decida: sono comandi shell che il harness di Claude Code esegue automaticamente quando succedono certi eventi. Si configurano in .claude/settings.json (progetto) o ~/.claude/settings.json (utente), con un matcher sul nome del tool e un comando da lanciare.
Gli eventi principali sono PreToolUse (prima che un tool venga eseguito, puoi bloccarlo uscendo con codice 2), PostToolUse (dopo, per cleanup e formattazione), UserPromptSubmit (quando invii un prompt, utile per aggiungere contesto automatico), Stop (a fine sessione), Notification e SessionStart.
Tre Hooks che vale la pena scrivere
Un PostToolUse su matcher Write|Edit che lancia ruff o prettier sui file toccati: il codice che Claude lascia in cartella è sempre formattato, senza chiederlo. Un PreToolUse su Write che controlla il path e blocca qualsiasi scrittura in /etc/, in cartelle di produzione o in .env: se il path matcha una blacklist, il comando esce con 2 e Claude riceve l’errore come feedback, aggiustandosi da solo. Uno Stop hook che manda una notifica Slack o Pushover quando la sessione finisce, utile se lanci agenti lunghi in background e vuoi sapere quando tornare.
Pull-based vs push-based
Ecco il punto che fa scattare la moneta. Le Skills sono pull: è il modello a decidere se e quando tirarle dentro. Gli Hooks sono push: è il harness a imporli, Claude non può ignorarli. Le prime servono per estendere le capacità (“ecco come si fa X”), i secondi per mettere paletti (“X non si fa, o si fa così”). Se una cosa deve succedere sempre, è un Hook. Se deve succedere quando serve, è una Skill.
Il verdetto
Skills e Hooks hanno un costo: bisogna scriverli, testarli, manutenerli. Per chi apre Claude Code una volta a settimana per aggiustare uno script, non valgono lo sforzo. Ma se ci passi dentro ore ogni giorno, e soprattutto se stai costruendo un workflow condiviso con altri, allora cambiano le regole del gioco. Claude Code smette di essere un wrapper intorno al modello e diventa un ambiente configurabile, con le tue regole, le tue abitudini e i tuoi guardrail. L’idea è semplice: non avere più un chatbot a cui fare domande, ma un collega digitale al quale affidare piccole attività, sapendo che seguirà il manuale di casa. La risposta alla domanda “ne vale la pena?” è sempre: dipende da cosa devi fare. Ma se fai sul serio con Claude Code, prima o poi ci arrivi da solo.
Leggi anche

Blogger dal 2001, Nativo Digitale, Developer.
Da 15 anni mi occupo di IT per una grande Azienda.
Lavoro per abbattere il Digital Divide.
Visita i miei altri progetti
sardiniamobility.com
www.cyberness.it