Passa al contenuto principale

Scrivi la tua prima Skill dall'inizio alla fine

Intermedio
What you'll learn
  • 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.
Key takeaways
  • 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

Verifica le tue conoscenze

0/3
  1. La tua skill non si attiva mai, qualunque cosa tu chieda. Quale campo è quasi certamente il problema?
  2. Vuoi una skill per il changelog disponibile in ogni progetto su cui lavori, non solo in questo. Dove va messa?
  3. Perché includere uno script di supporto come scripts/recent.sh in una skill?

Prossimi passi