CCW · L3 · 1 / 31
Claude Code Workshop · Gruppo 1

L3 — Smetti di ripeterti.

Skills, Rules & MCPs · Essedi Training Services · Workshop L3
Prima di iniziare · voi

Una settimana di costruzione.

L'esercizio del pre-work: costruire la fase 1 del VOSTRO progetto — quello pianificato in L1 e impostato prima di L2 — usando il loop visto in aula la settimana scorsa:

FasiCriteri di «fatto»Schizzo ASCIIMockupCostruzioneVerifica

Com'è andata sul serio? Tre di voi raccontano — due minuti a testa:

"Cosa si è rotto? Cosa hai rifatto due volte?"
Tenete a mente le risposte — tra mezz'ora diventano skill.
La mappa del percorso

I mattoni di Claude Code.

Tre mattoni posati. Oggi posiamo gli ultimi tre — e Claude Code smette di essere uno strumento che usate: diventa un sistema vostro, che migliora da solo, settimana dopo settimana.
Piano + Approvazione Leggi il piano prima che Claude esegua. Lezione 1 ✓
CLAUDE.md La memoria del progetto. Scritto bene in L2. Lezione 2 ✓
Oggi Skills Catturate in L2 — oggi crescono: script, workflow, composizione. L2 ✓ → Oggi
Oggi Rules Regole che si caricano da sole quando servono. Oggi · Lezione 3
Oggi MCPs Collegano Claude ai vostri strumenti reali. Oggi · Lezione 3
Hooks Controlli automatici che bloccano gli errori. Il concetto in chiusura (se c'è tempo), la pratica in L4. L4 · bonus oggi
Sezione A · Regole Demo 1

Chi scrive non può auto-verificarsi.

La demo gira sul Generatore di Asset — il progetto di L2 (brief di installazione → case study, post, testo sito). Il suo CLAUDE.md ha due settimane di lavoro dentro, come il vostro. E chi l'ha scritto non si accorge più di cosa è invecchiato: lo conosce a memoria, non lo legge davvero. Una sessione NUOVA di Claude lo legge con occhi freschi — e vede quello che voi non vedete più.

Il prompt — da rifare a casa sul vostro progetto

"Leggi il CLAUDE.md di questo progetto. Cosa è obsoleto, cosa manca, cosa dovrebbe diventare una regola?"

Quello che trova diventa la vostra prima regola.
Ora si passa a VS Code — i passi restano qui
Sezione A · Regole

Vincoli che si caricano da soli.

In L2 le regole vivevano dentro CLAUDE.md. Funziona — finché non diventano venti. Le regole hanno una casa propria:

A
Regole di progetto

Valgono in questo progetto. Es.: lo stile Essedi negli asset di marketing.

B
Regole globali

Valgono in tutti i vostri progetti. Es.: "mai lavorare direttamente su main".

C
Regole con scope (paths:)

Valgono solo per certi file — es. la regola sul naming serve solo per i file in output/. Si carica da sola SOLO quando Claude lavora su quei file; quando non serve, non occupa la sua memoria.

Il CLAUDE.md resta snello. Ogni regola a casa sua.
Sezione A · Regole Demo 1

Crea e collega una regola.

1 · Crea Chiedete a Claude: «crea un rule file .claude/rules/naming-asset.md». Una regola è solo un file markdown nel posto giusto — la descrivete, non la scrivete.
2 · Apri e guarda Aprite il file generato: l'intestazione paths: in cima dice QUANDO si carica — solo quando Claude tocca i file che corrispondono.
3 · Collega Per una regola sempre attiva, aggiungete UNA riga al CLAUDE.md: @.claude/rules/stile-essedi.md. Quelle con paths: si collegano da sole.
CLAUDE.md è l'indice. Le regole sono i capitoli.
Ora si passa a VS Code — i passi restano qui
Sezione A · Regole Demo 1

La config sbagliata non urla.

1
Chiave sbagliata (globs:) — la regola viene ignorata su tutti i file. Zero errori, zero avvisi.
2
Una riga corretta (paths:) — stessa richiesta, la regola ora viene rispettata.
Nessun messaggio di errore vi dirà che una regola non si carica. Una regola nuova si testa subito: chiedete a Claude qualcosa che dovrebbe attivarla, e verificate.
Regola nuova = subito una prova. Se non la testate, non sapete se esiste.
Sezione A → B · Il ponte

La regola di tutti i progetti.

"Quale regola vale per TUTTO quello che fate — non solo per questo progetto?"
A
Cos'è «main»

La versione ufficiale del progetto — quella che funziona. Si lavora su una COPIA (un «branch») e si porta su main solo ciò che è verificato.

B
Perché mai direttamente

Se sbagliate su main, rompete la versione buona. Se sbagliate su un branch, non succede niente: si butta la copia e si riparte.

C
Quando diventa vitale

Appena il progetto non è più solo vostro: più persone che lavorano insieme, su GitHub. Ci arriviamo — il principio si impara adesso.

Vale qui, nel prossimo progetto, tra un anno. Non può vivere in UN progetto: esiste un piano sopra.
Sezione B · Il livello globale Demo 2

Il tour di ~/.claude.

Sullo schermo: la SECONDA cartella del vostro workspace VS Code — ~/.claude, quella che non abbiamo mai aperto. È lì da due settimane e la usate senza saperlo. Apriamo tre cose, in ordine:

1
CLAUDE.md globale — chi siete, come lavorate. Si carica in OGNI progetto, insieme a quello del progetto.
2
settings.json — le impostazioni di Claude Code. Guardate la riga model: torna tra mezz'ora e vi farà risparmiare.
3
~/.claude/skills/ — e chi c'è qui dentro? grill-me. Da Pre-L2. Ora sapete perché funziona in ogni progetto.
/grill-me in due progetti diversi — stessa skill, installata una volta.
Ora si passa a VS Code — i passi restano qui
Sezione B · Il livello globale

Cosa va dove.

Globale · vale ovunque
  • Chi siete e come lavorate
  • "Mai lavorare direttamente su main"
  • Il tono delle vostre email
  • Skill universali: grill-me, dividi-in-fasi
Progetto · vale solo qui
  • Lo stile e la voce di Essedi
  • Il glossario dei prodotti
  • "Mai nominare il cliente" (da L2)
  • Skill di progetto: il generatore di asset
Per decidere dove va una cosa, una sola domanda: «mi serve in TUTTI i miei progetti, o solo in questo?» Tutti → globale. Solo questo → progetto.
Sezione C · Skills che crescono

I tre gradini (dal pre-work).

Tier 1 Istruzioni Un'azione, un'istruzione. Le skill catturate in L2: dividi-in-fasi, mockup-prima.
Tier 2 · oggi + Script Istruzioni più uno script: codice fisso, identico a ogni esecuzione, zero token AI. Un intero workflow in un comando.
Tier 3 + File di supporto Script più template, note di riferimento, e skill che chiamano altre skill. Il sistema completo.
La potenza si aggiunge solo quando il compito la merita.
Sezione C · Skills che crescono

Script: cervello e mani.

Una skill è una ricetta, e una ricetta ha due tipi di passi. «Forno a 180 gradi»: un numero fisso, non si discute, non serve talento — quello è un compito da script. «Aggiusta di sale»: bisogna assaggiare e decidere — quello è un compito da Claude.

Claude · giudizio

Due versioni buone possono essere diverse. Il testo di un case study, il tono di un'email, la scelta di cosa evidenziare.

Script · esattezza

La regola si può scrivere come codice, la risposta deve essere identica ogni volta, o sbagliare è catastrofico: nomi dei clienti, conformità, formati, archiviazione.

Nove volte su dieci Claude azzecca il nome del file. La decima scrive "report-14-luglio.md". Lo script non ha la decima volta.
Voi non scrivete codice. Dite quale passo deve essere esatto.
Sezione C · Skills che crescono Demo 3

Da generatore a produzione.

1
La trasformazione — il Generatore di Asset di L2 (brief → case study + post + testo sito) diventa /pubblica-installazione: 4 passi, il prompt qui sotto.
2
Leggiamo cosa ha costruito — SKILL.md + tre script (valida, controlla, archivia). Righe di codice scritte da noi: zero.
3
Il catch gratis — brief incompleto: fermato al passo 1, prima di spendere UN token AI.
4
Il catch di conformità — il nome del cliente scappa nella generazione; lo script lo becca. La regola di L2, ora indimenticabile.
Il prompt di trasformazione — da copiare

"Trasforma il generatore in una skill /pubblica-installazione con quattro passi: valida il brief (script) → genera i tre asset (tu) → controlla la conformità: max 700 caratteri, mai il nome del cliente, HTML valido (script) → archivia e aggiorna il log (script). Gli script esatti ogni volta; la generazione flessibile."

Quanti dei quattro passi servivano l'AI? Uno. E nel vostro workflow?
Ora si passa a VS Code — i passi restano qui
Sezione C · Skills che crescono

Anatomia di una tier-2.

1
validate-brief.py — script · i campi obbligatori ci sono? La regola esatta si scrive: l'AI indovinerebbe.
2
Genera i tre asset — AI · lingua, voce, giudizio. L'unico passo che non si può scrivere come regola.
3
check-compliance.sh — script · LinkedIn ≤700 caratteri · mai il nome del cliente · HTML valido. Specifiche, non giudizi.
4
archive-outputs.sh — script · cartella datata, log aggiornato. Pulizia deterministica.
"Mai nominare il cliente" in L2 era una regola scritta. Ora è un controllo che non può essere dimenticato. Tenete a mente questa mossa: torna tra dieci minuti.
Ricordate L1: l'AI è probabilistica, la stessa richiesta può variare. Lo script è deterministico: stesso input, stesso risultato, sempre. Voi avete solo deciso DOVE serviva il determinismo.
Sezione C · Skills che crescono

Le skill si chiamano tra loro.

Guardate il passo 2 di /pubblica-installazione: non fa il lavoro — lo AFFIDA. Come un capocantiere: non posa i mattoni, decide chi fa cosa e in che ordine. Qui chiama le tre skill nate in L2:

/case-study + /post-linkedin + /testo-sito /pubblica-installazione

Il capocantiere mette in fila i passi e li affida: alcuni agli script (fissi), alcuni a Claude (giudizio), alcuni ad altre skill. Più template e note di riferimento: questo è un tier-3.

Un comando: valida, genera, controlla, archivia. Il workflow intero, catturato.
Sezione D · Collegare i tool

Un file si legge. Un tool si usa.

Finora Claude ha lavorato su ciò che sta nei vostri file. Ma il calendario, le email, il gestionale non sono file — sono strumenti. MCP è la presa che li collega.

A
Cosa può collegare

Email, calendario, database, Notion, fogli di calcolo — se ha una presa MCP, Claude lo può usare.

B
Cosa cambia

Claude smette di sapere solo ciò che gli scrivete e comincia a vedere i dati veri, aggiornati, del vostro lavoro.

Collegarne uno è questione di minuti, non di progetti.
Sezione D · Collegare i tool

MCP o API? Due prese, un concetto.

A
MCP — la presa standard, pronta

La colleghi con un login e basta: non si installa niente, non si scrive niente. Come una spina nella presa a muro. Es.: Gmail, Google Calendar, Notion.

B
API — la presa propria dello strumento

Quasi ogni software ne ha una. Non c'è la spina pronta — ma Claude l'adattatore se lo SCRIVE da solo. Es.: Buffer non ha MCP, ha un'API: si collega lo stesso.

C
Il concetto è uno solo

Connessione a strumenti esterni. Se un giorno leggete «questo tool non ha MCP», non è un no — è solo una presa diversa.

Tra un minuto le vedete tutte e due, dal vivo.
Sezione D · Collegare i tool Demo 4

Dalla skill alla casella email.

1
Colleghiamo Gmail (via MCP) — niente da installare: si autorizza con il login Google, adesso, cronometrato. Minuti, non progetti.
2
La richiesta — il prompt qui sotto: il case study appena generato, inviato a un collega per revisione.
3
La prova — l'email è nella casella del collega, sullo schermo. Claude non ha letto uno strumento: l'ha USATO.
4
E senza MCP? L'API, dal vivo — "che tempo farà domani a Varese?" Nessuna presa meteo: Claude si scrive il collegamento all'API. Entrambe le prese, in una demo.
Il prompt — da copiare

"Prendi il case study appena generato da /pubblica-installazione e mandalo via email a un collega, chiedendo una revisione entro giovedì."

Ora si passa a VS Code — i passi restano qui
Sezione D · Collegare i tool

Il gate: attrito, due volte.

Non si collega tutto. Si collega ciò che ha già fatto male due volte. A turno, ognuno risponde:

"Quale strumento ti ha fatto perdere tempo DUE volte questa settimana?"
C'è un nome preciso e un attrito ripetuto

Cercate la presa MCP di quello strumento. Solo di quello.

NO
"Nessuno, ma sarebbe bello…"

Non ancora. Ed è la risposta giusta: il gate è un filtro, non una vendita.

La maggior parte di voi oggi dirà "non ancora". Corretto.
Sezione D · L'architettura personale

Il progetto madre.

Quando i progetti diventano tre o quattro, ne nasce uno speciale: un progetto centrale che gli altri consultano — stato, decisioni, todo di tutto il vostro lavoro.

Il livello globale CHI SIETE: regole, stile, skill che vi seguono ovunque.
Il progetto madre COSA STATE FACENDO: lo stato del lavoro, le decisioni, le priorità.
Al capstone di L4 lo usiamo davvero.
Sezione E · La cassetta degli attrezzi · 1/4 Demo 5

Modelli e sforzo.

In /pubblica-installazione l'AI girava solo dove serviva — un passo su quattro. Lo stesso criterio vale DENTRO i passi AI: quale cervello, quanto sforzo.

A
Il modello = quale cervello

Haiku: veloce ed economico, per compiti semplici. Sonnet: il quotidiano. Opus: il ragionamento profondo. Si cambia con /model, in un secondo.

B
Lo sforzo (effort) = quanto ci pensa

Basso: risponde rapido. Alto: riflette più a lungo prima di rispondere — più lento, più accurato. Compito banale → basso. Decisione importante → alto.

C
Il default in settings.json

La riga model vista nel tour di ~/.claude: cambiatela una volta, ogni sessione parte così.

Stessa domanda, due modelli — guardate la differenza di velocità.
Ora si passa a VS Code — i passi restano qui
Sezione E · La cassetta degli attrezzi · 2/4 Demo 5

Contesto e /compact.

1
La finestra si riempie — ogni scambio consuma contesto. L'indicatore ve lo mostra mentre succede.
2
/compact — riassume la conversazione fatta finora e libera spazio. I dettagli di inizio sessione sfumano.
3
La prova — chiedo un dettaglio di inizio sessione: sparito dalla chat, vivo nel todo.md. Vi ricorda L1?
I FILE sono la memoria vera. La finestra no. È il motivo per cui CLAUDE.md, todo.md e le regole esistono. Bonus — dove vedere i consumi: /usage dentro Claude Code, o claude.ai → Impostazioni → Utilizzo. Lì vedete dove vanno i crediti.
Sezione E · La cassetta degli attrezzi · 3/4 Demo 5

Git nel loop.

Git salva FOTOGRAFIE dell'intero progetto: ogni fase chiusa è una foto a cui poter tornare. «Mai su main» viene da qui — main, branch, commit sono la stessa scatola — e GitHub è dove le foto vivono online, per lavorare in più persone. Claude lo gestisce per voi. E lo dimostriamo: foto della fase 1 → ROMPIAMO il mockup apposta → torniamo indietro con una frase.

Il prompt — da copiare

"Committa la fase 1 con un messaggio chiaro."

Rotto e recuperato, davanti a voi. Se domani si rompe, si torna a oggi.
Sezione E · La cassetta degli attrezzi · 4/4 Demo 5

Live Server.

Un'estensione di VS Code: il browser si aggiorna da solo mentre Claude modifica i file. Perché conta: vedete quello che Claude costruisce MENTRE lo costruisce — un errore si vede al secondo, non alla fine. Il ciclo «chiedi → guarda → correggi» diventa istantaneo.

1
Estensioni → cercate "Live Server" → Installa
2
Tasto destro sull'HTML → "Open with Live Server"
3
Claude modifica → il browser si aggiorna da solo
Verso L4 · Testing

Provalo, non guardarlo.

"Sembra giusto" non è una verifica. È una speranza ben vestita.

Quello che insegniamo è UN'ABITUDINE: a fine build, non fermatevi a «sembra giusto». Chiedete a Claude: «dimostramelo» — fallo girare, mostrami il risultato, prova i casi limite. Da spettatori a collaudatori: è il salto che rende affidabile tutto il resto.

Lezione 4
Il metodo completo: criteri di accettazione, test scritti da Claude, fidarsi dell'output. Oggi era solo l'assaggio.
Chiusura · Effetto composto

Il cerchio si chiude.

Succede
L'errore

Claude sbaglia il nome del cliente, il formato, il tono. Una volta.

L1–L2
La regola

La correzione si scrive — CLAUDE.md, poi un rule file con la casa giusta.

Oggi
La skill

Il gesto che si ripete diventa un workflow con le mani: script dove serve esattezza.

L4
L'hook

La regola che continua a fallire diventa enforcement: l'errore non può più accadere.

Ogni correzione si fa UNA volta. Il sistema migliora ogni settimana.
Chiusura · Il bilancio

Il vostro sistema, prima e dopo oggi.

Stamattina
  • Un CLAUDE.md unico, che cresce e invecchia senza che ve ne accorgiate
  • Regole scritte che Claude può ignorare — senza avvisare
  • Gesti ripetuti riscritti a mano, ogni volta
  • Claude vede solo i file del progetto
  • Ogni errore, corretto di nuovo. E di nuovo.
Da stasera
  • Le regole hanno una casa — si caricano da sole, si testano subito, il CLAUDE.md resta snello
  • Un livello globale configurato — chi siete e come lavorate, in OGNI progetto
  • Le skill hanno le mani — script dove serve esattezza, e skill che dirigono skill
  • I tool esterni sono raggiungibili — MCP o API, con il gate attrito ×2
  • Gli errori ripetuti hanno un destino — regola → skill → hook: corretti UNA volta
Questa settimana lo replicate sul VOSTRO progetto. E quando una regola viene ignorata due volte, segnatela: è la vostra candidata hook per L4.
Prossima fermata

L4: il capstone.

A
Portate ciò che avete spedito

Il vostro progetto, con le regole e le skill di oggi dentro.

B
Fidarsi dell'output + testing

Il metodo completo di "dimostramelo": criteri, test, verifica.

C
Il vostro primo hook

La regola ignorata due volte che avete segnato — la convertiamo insieme.

Domande? Q&A — 12 minuti.
Bonus · Hooks (se c'è tempo)

Hook: un passo oltre.

A
Lo script

Codice esatto che la VOSTRA skill chiama. Parte quando lanciate la skill.

B
L'hook

Codice esatto che si chiama DA SOLO: a ogni evento, ogni volta, senza che nessuno se lo ricordi.

"La regola che continua a fallire diventa un hook."
Concetto oggi, pratica in L4. Non serve scrivere codice: si descrive cosa non deve mai succedere.
Bonus · Hooks (se c'è tempo)

Skill vs hook.

Skill
Hook
Chi la attiva
Voi (o Claude, quando serve)
Il sistema, da solo
Quando parte
Quando la chiamate
A ogni evento — es. prima di ogni commit
Si può saltare?
Sì — se non la invocate, non esiste
Mai — nessuno deve ricordarselo
Serve per
Fare un lavoro (workflow)
Impedire un errore (protezione)
La skill è la procedura del pit-stop. L'hook è il limitatore di giri.
Bonus · Hooks (se c'è tempo) Demo bonus

Regola vs hook.

1
Chiedo a Claude di committare su main — la regola globale scritta prima potrebbe fermarlo. Potrebbe. Il testo è un consiglio, e i consigli scivolano.
2
Installiamo l'hook (già pronto) davanti a voi — lo incolliamo nel progetto, poi la STESSA richiesta: bloccata. Visibilmente. Ogni volta. Nessuno si è ricordato niente: il sistema sì.
La regola consiglia. L'hook rende l'errore fisicamente impossibile.
Ora si passa a VS Code — i passi restano qui