🧩 JSON, Markdown e Skill — Crearli e Reinventarli con l'AI

Guida didattica 2026 · Dai formati di dati alle competenze riutilizzabili di Claude · Marco Consiglio

JSON e Markdown — i due formati che l'AI genera meglio

Quando chiedi contenuti a un'AI, il formato di output conta quanto il contenuto stesso. Markdown è il formato ideale per contenuti che un umano deve leggere (documenti, guide, dispense): usa simboli semplici (#, *, -) per titoli, elenchi e enfasi, ed è ciò che l'AI produce "naturalmente" quando scrive. JSON è il formato ideale per dati che un altro programma deve leggere (una tabella, una lista strutturata, la configurazione di uno strumento): chiavi e valori precisi, nessuna ambiguità. Sapere quale chiedere — e come chiederlo bene — trasforma l'AI da "scrittore" a "fornitore di dati pronti all'uso".

Markdown = per l'umano che legge JSON = per il programma che elabora Entrambi: l'AI li genera su richiesta esplicita
🔧 Markdown: la sintassi essenziale che l'AI già conosce
#
Titoli
# Titolo, ## Sottotitolo — la gerarchia dei cancelletti definisce i livelli, esattamente come in questa guida.
**
Enfasi
**grassetto**, *corsivo* — nessun tag HTML, solo simboli attorno al testo.
-
Elenchi
- voce per elenchi puntati, 1. voce per elenchi numerati — l'AI li usa automaticamente quando elenca cose.
```
Blocchi di codice
Tre backtick prima e dopo isolano codice o dati da non confondere col testo — fondamentale quando l'output contiene anche JSON.
💡 Il Markdown è già il "linguaggio naturale di scrittura" di ogni AI moderna: non serve quasi mai chiederlo esplicitamente, a meno che tu non voglia un file .md pulito da salvare o pubblicare — in quel caso, dillo chiaramente ("restituiscimi il contenuto in formato Markdown puro, senza commenti aggiuntivi").
🔧 JSON: come chiederlo per ottenerlo davvero valido

Il problema più comune con il JSON generato dall'AI: risposte con preamboli ("Ecco il JSON richiesto:"), markdown attorno (```json), o troncamenti su output lunghi. La soluzione è dare istruzioni esplicite sul formato E un esempio della struttura attesa.

// Esempio di JSON valido per un elenco di studenti { "studenti": [ { "nome": "Anna", "voto": 28, "corso": "contabilità" }, { "nome": "Marco", "voto": 24, "corso": "e-commerce" } ] }
📝 Prompt efficace per JSON pulito:

"Genera un elenco di 10 domande quiz sulla contabilità. Rispondi SOLO con JSON valido, senza testo introduttivo, senza backtick, senza commenti. Usa esattamente questa struttura: {"domande": [{"testo": "...", "risposte": ["...", "...", "..."], "corretta": 0}]}. Non troncare l'output: se è lungo, genera comunque tutte e 10 le domande."
💡 Trucco pratico: fornire uno schema di esempio (anche con 1-2 elementi finti) riduce drasticamente gli errori di struttura. Per output molto lunghi, chiedi esplicitamente di non troncare o di dividere in più parti numerate.
⚠️ Errori comuni e come correggerli
💬
Preamboli e commenti attorno al JSON
"Ecco il JSON che hai richiesto: ```json ... ```" rompe il parsing automatico. Soluzione: chiedi esplicitamente "solo JSON, nessun testo prima o dopo".
✂️
JSON troncato su output lunghi
Se l'elenco è molto lungo, l'AI può interrompersi a metà struttura. Soluzione: dividi la richiesta in blocchi più piccoli, o chiedi conferma che l'output sia completo prima di usarlo.
🔤
Virgolette o apici sbagliati
JSON richiede sempre doppi apici dritti ("), mai apici tipografici (" ") o singoli ('). Se l'AI li confonde, chiedi "usa solo doppi apici standard ASCII".
🔁
Chiavi incoerenti tra un elemento e l'altro
A volte l'AI cambia leggermente i nomi dei campi a metà lista. Fornire lo schema di esempio (come sopra) è la difesa migliore.

Le Skill di Claude — competenze riutilizzabili, scritte una volta

Una Skill è una cartella con un file SKILL.md che Claude carica automaticamente quando un compito corrisponde alla sua descrizione — niente più copia-incolla dello stesso prompt lungo ad ogni conversazione. È il modo in cui una procedura scritta bene una volta (come questa stessa collana di guide didattiche!) diventa qualcosa che Claude sa applicare in modo coerente ogni volta che serve, senza doverla ripetere.

Cartella + file SKILL.md obbligatorio Caricamento automatico "su richiesta" Divulgazione progressiva (risparmio di contesto)
🗂️ La struttura di una Skill
la-mia-skill/ ├── SKILL.md ← obbligatorio: metadati + istruzioni ├── scripts/ ← facoltativo: codice eseguibile ├── references/ ← facoltativo: documentazione di supporto └── assets/ ← facoltativo: template, dati, esempi
📏 Regole di naming: il nome della cartella deve essere in kebab-case (minuscolo, parole separate da trattini, es. preventivo-standard) e coincidere col nome dichiarato nei metadati. Massimo 64 caratteri per il nome, 200 per la descrizione. I nomi non possono contenere le parole "claude" o "anthropic", riservate da Anthropic.
🔧 Il meccanismo della "divulgazione progressiva"

Se ogni Skill installata caricasse subito tutto il proprio contenuto, avere più di 2-3 competenze attive appesantirebbe ogni conversazione. La divulgazione progressiva risolve il problema su 3 livelli:

1️⃣
Metadati (~100 token)
Nome e descrizione, sempre caricati in memoria — economico, permette a Claude di "sapere che la Skill esiste" senza costo.
2️⃣
SKILL.md (sotto i 5.000 token)
Caricato solo quando Claude rileva che la Skill è pertinente al task in corso — qui vivono le istruzioni vere e proprie.
3️⃣
Script e risorse
Codice eseguibile e documentazione di supporto, caricati solo se le istruzioni del livello 2 li richiamano esplicitamente.
💡 È anche per questo che la description nel frontmatter è la parte più importante da scrivere bene: è il segnale che Claude usa per decidere SE caricare la Skill. Deve essere specifica, univoca, e descrivere sia cosa fa la Skill sia quando va usata.
📋 Come si scrive un SKILL.md — passo per passo
1
Definisci quando la Skill deve attivarsi
Prima ancora di scrivere istruzioni: in quale momento Claude dovrebbe usarla? Questo diventa la description.
2
Crea la cartella in kebab-case
Es. quiz-contabilita-generator/ — il nome deve coincidere con quello nei metadati del file.
3
Scrivi il frontmatter YAML
Le prime righe del file, tra due righe di tre trattini, con name e description.
--- name: quiz-contabilita-generator description: Genera quiz interattivi HTML sulla contabilità seguendo il design system del corso (palette cream/ink/terracotta/sage/gold, font Playfair+DM Sans+JetBrains Mono). Usa quando l'utente chiede un nuovo quiz didattico su un argomento di contabilità. ---
4
Scrivi le istruzioni nel corpo del file
Dopo il frontmatter, in Markdown normale: cosa deve fare Claude, con quali regole, quali esempi seguire, quali errori evitare.
5
Aggiungi risorse se servono
Template HTML di riferimento in assets/, script di validazione in scripts/, documentazione estesa in references/ — solo se il task lo richiede davvero.
6
Testa e rifinisci
Prova la Skill su 3-4 richieste reali diverse: si attiva quando dovrebbe? Segue le istruzioni in modo coerente? Rifinisci la description se non si attiva al momento giusto.
🪄 La scorciatoia: farsi guidare da skill-creator

Il modo più veloce per creare una prima Skill non è scriverla a mano, ma usare skill-creator — una Skill ufficiale di Anthropic pensata apposta per generarne altre. Si lancia in Claude Code (o si richiama in una conversazione), risponde a poche domande su cosa deve fare la nuova Skill e quando va usata, e genera automaticamente la cartella con il file SKILL.md già impostato correttamente. Il tuo compito a quel punto è rivedere e rifinire soprattutto la description, che resta la parte più delicata.

Reverse Engineering — imparare da chi le Skill le ha già scritte bene

Il modo più rapido per imparare a scrivere buone Skill non è partire da zero, ma studiare quelle scritte bene da altri e "smontarle" per capirne il pattern. Anthropic mantiene pubblico su GitHub il repository anthropics/skills: è il riferimento migliore per vedere come sono strutturate le Skill professionali reali — inclusa la Skill che genera altre Skill (skill-creator) e quelle che permettono a Claude di creare documenti Word, PDF, PowerPoint ed Excel.

Repository ufficiale: anthropics/skills Licenza Apache 2.0 sulle skill di esempio Metodo: leggi, smonta, riusa il pattern
🔍 Dove guardare — le risorse GitHub principali
⭐
github.com/anthropics/skills
Il repository ufficiale Anthropic: le document-skills di produzione (docx, pdf, pptx, xlsx), la skill-creator, un template-skill di partenza, e la specifica aperta del formato (agent-skills-spec.md). Il riferimento migliore in assoluto: qui si vede come Anthropic stessa scrive le proprie Skill.
📄
template-skill/
Un file SKILL.md minimo già pronto, da copiare come punto di partenza per qualsiasi nuova Skill: frontmatter YAML + sezione Examples + sezione Guidelines.
🧵
skill-creator/
La Skill che genera altre Skill — leggerne il SKILL.md è probabilmente l'esercizio di reverse engineering più istruttivo di tutti: mostra esattamente come Anthropic struttura un'intervista guidata per estrarre da un utente non tecnico tutto il necessario per una buona description.
🌐
Community: superpowers e altre raccolte
Esistono raccolte di terze parti con Skill per lo sviluppo quotidiano. Utili da studiare, ma vanno trattate con più cautela (vedi avviso di sicurezza sotto).
📋 Il metodo di reverse engineering — passo per passo
1
Scegli una Skill vicina al tuo obiettivo
Non serve leggerle tutte: individua nel repository quella più simile a quello che vuoi costruire (es. una document-skill se vuoi generare file, skill-creator se vuoi capire il meta-pattern).
2
Leggi prima la description, poi il corpo
Chiediti: quali parole-chiave usa per farsi attivare al momento giusto? Come bilancia specificità (per non attivarsi a sproposito) e ampiezza (per coprire casi simili)?
3
Mappa la struttura delle istruzioni
Come sono organizzate le sezioni nel corpo? Ci sono esempi concreti? Regole esplicite di cosa NON fare? Riferimenti a file esterni in scripts/references/assets?
4
Identifica il pattern riusabile
Astrai la struttura dal contenuto specifico: "questa Skill definisce prima il contesto, poi un elenco numerato di passi, poi una lista di errori comuni" — è un pattern che puoi riapplicare a un dominio completamente diverso (es. le tue guide didattiche).
5
Riscrivi per il tuo caso, non copiare
Usa il pattern appreso per scrivere la TUA Skill da zero, con il tuo dominio (es. "genera guide didattiche HTML nel design system del corso"). Copiare alla lettera una Skill altrui raramente si adatta al tuo contesto.
⚠️ Attenzione di sicurezza sulle Skill di terze parti
Le Skill possono eseguire codice arbitrario nell'ambiente di Claude. Anthropic raccomanda di usare Skill solo da fonti fidate — quelle create da te stesso o ottenute direttamente da Anthropic. Prima di installare una Skill trovata su un repository di terze parti, leggi sempre il contenuto di SKILL.md e degli script associati prima di attivarla: è lo stesso principio di prudenza che si applica a qualsiasi script scaricato da internet.
⚖️ Quando usare cosa
EsigenzaFormato/Strumento giustoPerché
Output singolo
Documento da leggere/pubblicareMarkdownStruttura leggibile, facile da convertire in HTML/Word/PDF
Dati da passare a un programmaJSONStruttura precisa, parsabile automaticamente senza ambiguità
Procedura ripetuta nel tempo
Una task che rifai identica ogni voltaSkillScritta una volta, richiamata automaticamente, coerente ad ogni uso
Task una tantum, non ripetutaPrompt direttoNon vale la pena strutturarla come Skill permanente
Punto di partenza
Prima Skill mai scrittaskill-creator o template-skillStruttura già corretta, tu completi solo i contenuti
Pattern non chiaro in menteReverse engineering da GitHubStudiare un esempio reale è più veloce che indovinare la struttura
💡 La progressione naturale per uno studente: impara a chiedere bene JSON e Markdown singoli → nota quali richieste ripeti sempre uguali → trasformale in una Skill → quando serve un pattern nuovo che non sai come strutturare, fai reverse engineering di una Skill simile su GitHub prima di scrivere da zero.
✏️ Esercitazioni pratiche
ESERCIZIO 1Lo schema JSON che non si rompe
Scrivi il prompt per generare un elenco di 15 domande quiz su un argomento del corso, specificando uno schema JSON di esempio con 2 elementi finti. Esegui la richiesta 3 volte (anche con modelli diversi se disponibili) e verifica: il JSON è sempre valido? Le chiavi sono coerenti in tutti gli elementi? Se emergono errori, correggi il prompt e documenta cosa hai cambiato per risolverli.
⏱️ 45 min📦 Consegna: prompt finale + 3 output JSON + note sugli errori corretti👤 Individuale
ESERCIZIO 2La tua prima Skill vera
Scegli un compito che ripeti spesso nel tuo lavoro didattico (es. "genera un quiz nel design system del corso", "scrivi un'email di benvenuto per un nuovo studente"). Crea la cartella in kebab-case con il SKILL.md completo: frontmatter con name e description ben scritta, corpo con istruzioni chiare, almeno un esempio concreto. Testala su 3 richieste diverse e verifica che si attivi correttamente.
⏱️ 90 min📦 Consegna: cartella Skill completa + 3 test documentati👥 Coppia
ESERCIZIO 3Smontare skill-creator
Vai su github.com/anthropics/skills, apri la cartella skill-creator e leggi il suo SKILL.md. Rispondi per iscritto: quali domande fa all'utente per costruire una nuova Skill? In che ordine? Come gestisce il caso in cui l'utente non sa descrivere bene cosa vuole? Estrai il pattern generale (indipendente dal contenuto) e riassumilo in 5 righe riutilizzabili per qualsiasi "meta-skill" futura.
⏱️ 45 min📦 Consegna: analisi scritta del pattern + sintesi in 5 righe👤 Individuale
ESERCIZIO 4Il caso studio completo: dalla guida alla Skill
Prendi una delle guide didattiche HTML già prodotte nel corso (design system, esercitazioni, struttura a tab). Progetta — solo su carta, senza necessariamente implementarla — una Skill che, data la descrizione di due nuovi tool AI, generi automaticamente una guida completa nello stesso stile. Scrivi la description e uno scheletro delle istruzioni. Discuti in gruppo: cosa andrebbe messo in assets/ come template di riferimento?
⏱️ 60 min📦 Consegna: description + scheletro istruzioni + proposta assets/👥 Gruppo 3-4