CCW · L3 · 1 / 30
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 il VOSTRO progetto — almeno la fase 1, probabilmente di più — usando il loop visto in aula la settimana scorsa:

Fasi→Criteri di «fatto»→Schizzo ASCII→Mockup→Costruzione→Verifica

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 ne posiamo altri tre — l'ultimo, l'hook, arriva in L4 — 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
Agentic Controlli automatici che bloccano gli errori. Il concetto in chiusura (se c'è tempo), la pratica in L4. L4
Da qui ripartiamo Demo 1

Cosa avete costruito la settimana scorsa.

Il Generatore di Asset Marketing — la web app di Essedi che da un brief di installazione genera i materiali di lancio. L'avete vista nascere in L2: rivediamola insieme, dal vivo.

1
Cosa fa — un modulo con i dati del progetto, e in pochi secondi tre materiali pronti nella brand voice di Essedi.
2
La domanda di oggi — la stessa cosa si può fare anche da dentro Claude Code, non solo dalla web app?
Guardiamo la web app, poi apriamo Claude Code sullo stesso progetto.
▶ Apriamo la web app, poi VS Code — i passi restano qui
Da qui ripartiamo Demo 1

L'app fa tre cose.

1
Post LinkedIn — con la foto suggerita.
2
Case study — HTML autonomo, apribile e scaricabile.
3
Testo per il sito — il paragrafo per la sezione «Progetti» di essedisrl.eu.
Le stesse tre cose, da Claude Code — senza un'app da ospitare o aggiornare. Oggi le ricostruiamo come skill: la cambiate descrivendola, non riscrivendo codice.
▶ Ora si passa a VS Code — i passi restano qui
Sezione A · Regole Demo 2

Chi l'ha scritto, non lo vede più.

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.

A
Regole di progetto

.claude/rules/ — committata: tutto il team le eredita. Es.: lo stile Essedi negli asset di marketing.

B
Regole globali

~/.claude/rules/ — solo sulla vostra macchina. Es.: «verifica dalla fonte primaria, non per inferenza». In conflitto, vince il progetto.

C
Regole con scope

Frontmatter paths: in cima al file:

---
paths: ["output/**"]
---

Si carica SOLO quando Claude tocca quei file. È l'unica delle tre che risparmia memoria — A e B si caricano sempre, come CLAUDE.md: fanno ordine, non spazio.

Sezione A · Regole Demo 2

Crea una regola.

1 · Crea Chiedete a Claude: «crea un rule file .claude/rules/naming-asset.md con le nostre convenzioni per gli asset». Una regola è solo un file markdown nel posto giusto — la descrivete, non la scrivete.
2 · Si carica da sola Nuova sessione, nessun collegamento da fare: «aggiungi il logo del footer in assets/» → il file nasce già logo-footer.png. Claude ha letto la regola da solo.
CLAUDE.md è l'indice. Le regole sono i capitoli.
⏱ Bonus · Il QUANDO

Aprite il file e aggiungete in cima:

---
paths:
  - assets/**
---

Ora la regola si carica solo quando Claude tocca quei file. Senza paths:, sempre; con paths:, solo quando serve — contesto risparmiato.

▶ Ora si passa a VS Code — i passi restano qui
Sezione A · Regole Demo 2

La config sbagliata non urla.

1
Percorso sbagliato (outputs/) — un refuso: la cartella è output/. La regola non trova nessun file e resta muta. Zero errori, zero avvisi.
2
Percorso corretto (output/) — 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
La regola

«Verifica sempre dalla fonte primaria, non per inferenza». Se un dato non ce l'hai davanti, dillo — non riempire il vuoto con ciò che sembra plausibile.

B
Perché conta

Un'inferenza plausibile ma sbagliata non dà segnale d'errore: sembra giusta finché qualcuno non la verifica. La regola vi obbliga a fermarvi prima.

C
Perché è globale

Non dipende dal progetto: vale per il codice, le email, una ricerca di mercato. Tutto ciò che producete con Claude.

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

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
  • "Sempre in prima persona plurale" (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 — probabilistico

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

Script · esattezza — deterministico

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 4

L'app diventa tre skill.

1
Estraiamo le skill — apriamo Claude Code nel repo della web app: tre SKILL.md generati, uno per azione. La logica dell'app è ora portabile.
2
Testiamo una skill da sola — stesso output della web app. La web app non serve più.
3
Costruiamo la skill madre — pubblica-installazione esegue le tre skill in ordine, passando l'output di ognuna alla successiva. Un comando, /pubblica-installazione, attiva l'intera catena.
4
Aggiungiamo una regola deterministica — max 700 caratteri sulla skill LinkedIn, con uno script check_length.py che Claude deve eseguire e correggere finché non passa.
5
La vediamo autocorreggersi — chiediamo di proposito un post troppo lungo: la skill lo accorcia da sola, finché il controllo non passa.
La regola non vive in un prompt che si dimentica: vive in uno script che si autoverifica. La skill corregge se stessa, finché non passa.
▶ Ora si passa a VS Code — i passi restano qui
Sezione C · Skills che crescono

Anatomia di una tier-2.

1
validate-brief.pyD — script · i campi obbligatori ci sono? La regola esatta si scrive: l'AI indovinerebbe.
2
Genera i tre assetP — AI · lingua, voce, giudizio. L'unico passo che non si può scrivere come regola.
3
check-compliance.shD — script · LinkedIn ≤700 caratteri · mai il nome del cliente · HTML valido. Specifiche, non giudizi.
4
archive-outputs.shD — script · cartella datata, log aggiornato. Pulizia deterministica.
"Non pubblicare il nome di un cliente non autorizzato": una regola di conformità che, scritta in prosa, prima o poi si dimentica. Come script è un controllo che non può essere dimenticato. Tenete a mente questa mossa: torna tra dieci minuti.
Tre D, una P. 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, una per ogni materiale del generatore di 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 C2 · La cassetta degli attrezzi · 1/2 Demo 6

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 C2 · La cassetta degli attrezzi · 2/2 Demo 6

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 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.: Calendly 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 5

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 — due o tre screenshot: Claude si scrive da solo il collegamento a un'API meteo, senza presa pronta. Non è un no — è solo una presa diversa.
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?"
SÌ
C'è un nome preciso e un attrito ripetuto

Cercate la presa MCP di quello strumento — o la sua API, se l'MCP non c'è. 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.
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.
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 · Prima di richiudere

Rivedetevi, non solo avanti.

A fine sessione, chiedete a Claude di rivedere la conversazione: dove avete corretto la stessa cosa due volte? Quel pattern è la prossima regola o skill.

Esiste anche una skill dedicata che genera un report completo sul vostro modo di lavorare con Claude Code — utile a fine settimana, non solo a fine sessione.
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
Agentic

Il sistema smette di aspettare voi: agisce, si corregge, migliora da solo — ogni settimana.

Ogni correzione si fa UNA volta. Il sistema migliora ogni settimana.
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