Scrivi la tua prima Skill dall'inizio alla fine
- Costruire una Skill funzionante da zero e dimostrare che si attiva davvero
- Scrivere una description che scatta al momento giusto — l'unico campo che decide se una skill verrà mai eseguita
- Decidere quando aggiungere uno script di supporto per una raccolta dei dati deterministica
- Diagnosticare una skill che non si attiva mai, e conoscere le tre trappole che lo causano
Costruiamo da zero una Skill funzionante e dimostriamo che si attiva. Creeremo una piccola skill per le "voci di changelog" — generica e riutilizzabile.
Passo 1 — Crea la cartella
Crea la cartella della skill
mkdir -p .claude/skills/changelog-entry
(Usa ~/.claude/skills/… per una skill personale valida in tutti i progetti.)
Passo 2 — Scrivi SKILL.md
.claude/skills/changelog-entry/SKILL.md:
---
name: changelog-entry
description: Use when the user wants to turn recent git commits into a Keep a Changelog entry.
---
# Changelog Entry
When asked for a changelog entry:
1. Run `git log --oneline -20` to see recent commits.
2. Group them into Added / Changed / Fixed / Removed (Keep a Changelog style).
3. Write concise, user-facing bullets (not raw commit messages).
4. Output only the formatted entry.
La description è il trigger — scrivila come "Use when…" così Claude la carica al momento giusto.
Passo 3 — (Facoltativo) aggiungi uno script di supporto
Le Skill possono includere script. Aggiungi scripts/recent.sh e fai riferimento ad esso da SKILL.md se vuoi una raccolta dei dati deterministica:
#!/usr/bin/env bash
git log --oneline -20
Passo 4 — Dimostra che si attiva
Avvia una sessione e prova il prompt qui sotto. Claude dovrebbe riconoscere l'intento, caricare la skill e seguirne i passaggi. Se non si attiva, probabilmente la tua description non è abbastanza specifica su quando usarla — affinala.
Dimostra che la skill si attiva
Draft a changelog entry for recent work.
Passo 5 — Condividila
Raggruppala (insieme ad altre) in un plugin così il tuo team la installa in un solo passaggio — oppure contribuiscila ai pacchetti di skill di AILmanac.
Trappole
- Descrizione vaga → non si attiva mai (o si attiva sempre). Sii specifico.
- Troppe cose in una sola skill → mantienila su un unico compito chiaro.
- Segreti in una skill condivisa → mai; vedi Esaminare codice di terze parti.
- Una skill è una cartella più un SKILL.md — .claude/skills/<nome>/ per il progetto, ~/.claude/skills/ per tutti i progetti
- La description è il trigger. Scrivila come "Use when…" così Claude carica la skill al momento giusto
- Le Skill possono includere script — usane uno quando vuoi una raccolta dei dati deterministica invece che Claude improvvisi il comando
- Dimostra che funziona esprimendo l'intento, non nominando la skill. Se non scatta, la description non è abbastanza specifica sul QUANDO
- Tieni una skill su un unico compito chiaro, e non mettere mai segreti in una skill che condividi