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

L3 — Smetti di ripeterti.

Skills, Rules & MCPs · Marcolin · 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:

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 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 Marcolin 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 Marcolin.
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 marcolin.com.
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 Marcolin 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 Marcolin
  • 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?"
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