Quando usare plugin rispetto alla configurazione standalone
Claude Code supporta due modi per aggiungere skills, agents e hooks personalizzati:| Approccio | Nomi skill | Migliore per |
|---|---|---|
Standalone (directory .claude/) | /hello | Flussi di lavoro personali, personalizzazioni specifiche del progetto, esperimenti rapidi |
Plugin (directory con .claude-plugin/plugin.json) | /plugin-name:hello | Condivisione con i colleghi, distribuzione alla comunità, rilasci versionati, riutilizzabili tra progetti |
- Stai personalizzando Claude Code per un singolo progetto
- La configurazione è personale e non ha bisogno di essere condivisa
- Stai sperimentando con skills o hooks prima di pacchettizzarli
- Vuoi nomi skill brevi come
/helloo/review
- Vuoi condividere funzionalità con il tuo team o comunità
- Hai bisogno degli stessi skills/agents in più progetti
- Vuoi il controllo della versione e aggiornamenti facili per le tue estensioni
- Stai distribuendo tramite un marketplace
- Sei d’accordo con skills con namespace come
/my-plugin:hello(il namespace previene conflitti tra plugin)
Avvio rapido
Questo avvio rapido ti guida attraverso la creazione di un plugin con uno skill personalizzato. Creerai un manifest (il file di configurazione che definisce il tuo plugin), aggiungerai uno skill e lo testerai localmente usando il flag--plugin-dir.
Prerequisiti
- Claude Code installato e autenticato
- Claude Code versione 1.0.33 o successiva (esegui
claude --versionper verificare)
Se non vedi il comando
/plugin, aggiorna Claude Code all’ultima versione. Vedi Troubleshooting per le istruzioni di aggiornamento.Crea il tuo primo plugin
Crea la directory del plugin
Ogni plugin vive nella sua directory contenente un manifest e i tuoi skills, agents o hooks. Creane uno ora:
Crea il manifest del plugin
Il file manifest in Poi crea
Per campi aggiuntivi come
.claude-plugin/plugin.json definisce l’identità del tuo plugin: il suo nome, descrizione e versione. Claude Code usa questi metadati per visualizzare il tuo plugin nel gestore plugin.Crea la directory .claude-plugin dentro la cartella del tuo plugin:my-first-plugin/.claude-plugin/plugin.json con questo contenuto:my-first-plugin/.claude-plugin/plugin.json
| Campo | Scopo |
|---|---|
name | Identificatore univoco e namespace skill. Gli skill sono prefissati con questo (ad es., /my-first-plugin:hello). |
description | Mostrato nel gestore plugin quando si sfogliano o si installano plugin. |
version | Traccia i rilasci usando il versionamento semantico. |
author | Opzionale. Utile per l’attribuzione. |
homepage, repository e license, vedi lo schema manifest completo.Aggiungi uno skill
Gli skill vivono nella directory Poi crea
skills/. Ogni skill è una cartella contenente un file SKILL.md. Il nome della cartella diventa il nome dello skill, prefissato con il namespace del plugin (hello/ in un plugin denominato my-first-plugin crea /my-first-plugin:hello).Crea una directory skill nella cartella del tuo plugin:my-first-plugin/skills/hello/SKILL.md con questo contenuto:my-first-plugin/skills/hello/SKILL.md
Testa il tuo plugin
Esegui Claude Code con il flag Una volta che Claude Code si avvia, prova il tuo nuovo comando:Vedrai Claude rispondere con un saluto. Esegui
--plugin-dir per caricare il tuo plugin:/help per vedere il tuo comando elencato sotto il namespace del plugin.Perché il namespace? Gli skill del plugin hanno sempre il namespace (come
/greet:hello) per prevenire conflitti quando più plugin hanno skill con lo stesso nome.Per cambiare il prefisso del namespace, aggiorna il campo name in plugin.json.Aggiungi argomenti skill
Rendi il tuo skill dinamico accettando input dell’utente. Il placeholder Riavvia Claude Code per raccogliere i cambiamenti, poi prova il comando con il tuo nome:Claude ti saluterà per nome. Per ulteriori informazioni sul passaggio di argomenti agli skill, vedi Skills.
$ARGUMENTS cattura qualsiasi testo che l’utente fornisce dopo il nome dello skill.Aggiorna il tuo file hello.md:my-first-plugin/commands/hello.md
- Plugin manifest (
.claude-plugin/plugin.json): descrive i metadati del tuo plugin - Directory commands (
commands/): contiene i tuoi skill personalizzati - Argomenti skill (
$ARGUMENTS): cattura l’input dell’utente per il comportamento dinamico
Panoramica della struttura del plugin
Hai creato un plugin con uno skill, ma i plugin possono includere molto di più: agents personalizzati, hooks, MCP servers e LSP servers.| Directory | Posizione | Scopo |
|---|---|---|
.claude-plugin/ | Radice plugin | Contiene il manifest plugin.json (opzionale se i componenti usano posizioni predefinite) |
commands/ | Radice plugin | Skills come file Markdown |
agents/ | Radice plugin | Definizioni di agent personalizzate |
skills/ | Radice plugin | Agent Skills con file SKILL.md |
hooks/ | Radice plugin | Gestori di eventi in hooks.json |
.mcp.json | Radice plugin | Configurazioni MCP server |
.lsp.json | Radice plugin | Configurazioni LSP server per l’intelligenza del codice |
Prossimi passi: Pronto ad aggiungere più funzionalità? Vai a Sviluppa plugin più complessi per aggiungere agents, hooks, MCP servers e LSP servers. Per le specifiche tecniche complete di tutti i componenti del plugin, vedi Riferimento plugin.
Sviluppa plugin più complessi
Una volta che hai familiarità con i plugin di base, puoi creare estensioni più sofisticate.Aggiungi Skills al tuo plugin
I plugin possono includere Agent Skills per estendere le capacità di Claude. Gli skill sono invocati dal modello: Claude li usa automaticamente in base al contesto dell’attività. Aggiungi una directoryskills/ alla radice del tuo plugin con cartelle Skill contenenti file SKILL.md:
SKILL.md ha bisogno di frontmatter con campi name e description, seguiti da istruzioni:
Aggiungi LSP server al tuo plugin
I plugin LSP (Language Server Protocol) danno a Claude l’intelligenza del codice in tempo reale. Se hai bisogno di supportare un linguaggio che non ha un plugin LSP ufficiale, puoi crearne uno tuo aggiungendo un file.lsp.json al tuo plugin:
.lsp.json
Organizza plugin complessi
Per i plugin con molti componenti, organizza la tua struttura di directory per funzionalità. Per i layout di directory completi e i modelli di organizzazione, vedi Struttura della directory del plugin.Testa i tuoi plugin localmente
Usa il flag--plugin-dir per testare i plugin durante lo sviluppo. Questo carica il tuo plugin direttamente senza richiedere l’installazione.
- Prova i tuoi comandi con
/command-name - Verifica che gli agents appaiano in
/agents - Verifica che gli hooks funzionino come previsto
Esegui il debug dei problemi del plugin
Se il tuo plugin non funziona come previsto:- Controlla la struttura: Assicurati che le tue directory siano alla radice del plugin, non dentro
.claude-plugin/ - Testa i componenti individualmente: Controlla ogni comando, agent e hook separatamente
- Usa strumenti di validazione e debug: Vedi Strumenti di debug e sviluppo per i comandi CLI e le tecniche di troubleshooting
Condividi i tuoi plugin
Quando il tuo plugin è pronto per essere condiviso:- Aggiungi documentazione: Includi un
README.mdcon istruzioni di installazione e utilizzo - Versiona il tuo plugin: Usa il versionamento semantico nel tuo
plugin.json - Crea o usa un marketplace: Distribuisci tramite marketplace plugin per l’installazione
- Testa con altri: Fai testare il plugin ai colleghi del team prima della distribuzione più ampia
Per le specifiche tecniche complete, le tecniche di debug e le strategie di distribuzione, vedi Riferimento plugin.
Converti configurazioni esistenti in plugin
Se hai già skills o hooks nella tua directory.claude/, puoi convertirli in un plugin per una condivisione e distribuzione più facile.
Passaggi di migrazione
Crea la struttura del plugin
Crea una nuova directory plugin:Crea il file manifest in
my-plugin/.claude-plugin/plugin.json:my-plugin/.claude-plugin/plugin.json
Migra gli hook
Se hai hook nelle tue impostazioni, crea una directory hooks:Crea
my-plugin/hooks/hooks.json con la tua configurazione degli hook. Copia l’oggetto hooks dal tuo .claude/settings.json o settings.local.json, poiché il formato è lo stesso. Il comando riceve l’input dell’hook come JSON su stdin, quindi usa jq per estrarre il percorso del file:my-plugin/hooks/hooks.json
Cosa cambia durante la migrazione
Standalone (.claude/) | Plugin |
|---|---|
| Disponibile solo in un progetto | Può essere condiviso tramite marketplace |
File in .claude/commands/ | File in plugin-name/commands/ |
Hook in settings.json | Hook in hooks/hooks.json |
| Deve essere copiato manualmente per condividere | Installa con /plugin install |
Dopo la migrazione, puoi rimuovere i file originali da
.claude/ per evitare duplicati. La versione del plugin avrà la precedenza quando caricata.Prossimi passi
Ora che comprendi il sistema di plugin di Claude Code, ecco i percorsi suggeriti per diversi obiettivi:Per gli utenti di plugin
- Scopri e installa plugin: sfoglia i marketplace e installa i plugin
- Configura marketplace del team: configura plugin a livello di repository per il tuo team
Per gli sviluppatori di plugin
- Crea e distribuisci un marketplace: pacchetto e condividi i tuoi plugin
- Riferimento plugin: specifiche tecniche complete
- Approfondisci i componenti specifici del plugin: