I plugin ti permettono di estendere Claude Code con funzionalità personalizzate che possono essere condivise tra progetti e team. Questa guida copre la creazione dei tuoi plugin con skills, agents, hooks e MCP servers. Stai cercando di installare plugin esistenti? Vedi Scopri e installa plugin. Per le specifiche tecniche complete, vedi Riferimento plugin.Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
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/deploy
- 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)
Quickstart
Questo quickstart 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
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 plugin manager.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 dello skill. Gli skill sono prefissati con questo (ad es., /my-first-plugin:hello). |
description | Mostrato nel plugin manager quando si sfogliano o si installano plugin. |
version | Opzionale. Se impostato, gli utenti ricevono aggiornamenti solo quando aumenti questo campo. Se omesso e il tuo plugin è distribuito tramite git, viene utilizzato il commit SHA e ogni commit conta come una nuova versione. Vedi gestione della versione. |
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 skill:Vedrai Claude rispondere con un saluto. Esegui
--plugin-dir per caricare il tuo plugin:/help per vedere il tuo skill elencato sotto il namespace del plugin.Perché il namespace? Gli skill del plugin hanno sempre il namespace (come
/my-first-plugin: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 dello skill
Rendi il tuo skill dinamico accettando input dell’utente. Il placeholder Esegui 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 SKILL.md:my-first-plugin/skills/hello/SKILL.md
/reload-plugins per raccogliere i cambiamenti, poi prova lo skill con il tuo nome:- Plugin manifest (
.claude-plugin/plugin.json): descrive i metadati del tuo plugin - Directory skills (
skills/): contiene i tuoi skill personalizzati - Argomenti dello 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, LSP servers e monitor in background.| Directory | Posizione | Scopo |
|---|---|---|
.claude-plugin/ | Radice del plugin | Contiene il manifest plugin.json (opzionale se i componenti usano posizioni predefinite) |
skills/ | Radice del plugin | Skills come directory <name>/SKILL.md |
commands/ | Radice del plugin | Skills come file Markdown flat. Usa skills/ per i nuovi plugin |
agents/ | Radice del plugin | Definizioni di agent personalizzati |
hooks/ | Radice del plugin | Gestori di eventi in hooks.json |
.mcp.json | Radice del plugin | Configurazioni del server MCP |
.lsp.json | Radice del plugin | Configurazioni del server LSP per l’intelligenza del codice |
monitors/ | Radice del plugin | Configurazioni del monitor in background in monitors.json |
bin/ | Radice del plugin | Eseguibili aggiunti al PATH dello strumento Bash mentre il plugin è abilitato |
settings.json | Radice del plugin | Impostazioni predefinite applicate quando il plugin è abilitato |
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 contiene frontmatter YAML e istruzioni. Includi una description in modo che Claude sappia quando usare lo skill:
/reload-plugins per caricare gli Skills. Per una guida completa sulla creazione di Skill inclusa la divulgazione progressiva e le restrizioni degli strumenti, vedi Agent Skills.
Aggiungi server LSP 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
Aggiungi monitor in background al tuo plugin
I monitor in background permettono al tuo plugin di osservare log, file o stato esterno in background e notificare Claude quando gli eventi arrivano. Claude Code avvia automaticamente ogni monitor quando il plugin è attivo, quindi non hai bisogno di istruire Claude ad avviare la sorveglianza. Aggiungi un filemonitors/monitors.json alla radice del plugin con un array di voci di monitor:
monitors/monitors.json
command viene consegnata a Claude come notifica durante la sessione. Per lo schema completo, incluso il trigger when e la sostituzione delle variabili, vedi Monitors.
Spedisci impostazioni predefinite con il tuo plugin
I plugin possono includere un filesettings.json alla radice del plugin per applicare la configurazione predefinita quando il plugin è abilitato. Attualmente, sono supportate solo le chiavi agent e subagentStatusLine.
Impostare agent attiva uno dei custom agents del plugin come thread principale, applicando il suo system prompt, le restrizioni degli strumenti e il modello. Questo consente a un plugin di cambiare il comportamento predefinito di Claude Code quando abilitato.
settings.json
security-reviewer definito nella directory agents/ del plugin. Le impostazioni da settings.json hanno priorità rispetto alle settings dichiarate in plugin.json. Le chiavi sconosciute vengono silenziosamente ignorate.
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.
.zip della directory del plugin, che richiede Claude Code v2.1.128 o successivo.
--plugin-dir ha lo stesso nome di un plugin marketplace installato, la copia locale ha la precedenza per quella sessione. Questo ti consente di testare le modifiche a un plugin che hai già installato senza disinstallarlo prima. L’eccezione è rappresentata dai plugin le cui impostazioni gestite forzano l’abilitazione o la disabilitazione: --plugin-dir non può sovrascrivere quelli.
Man mano che apporti modifiche al tuo plugin, esegui /reload-plugins per raccogliere gli aggiornamenti senza riavviare. Questo ricarica plugin, skills, agents, hooks, MCP servers del plugin e LSP servers del plugin. Testa i componenti del tuo plugin:
- Prova i tuoi skill con
/plugin-name:skill-name - Verifica che gli agents appaiano in
/agents - Verifica che gli hooks funzionino come previsto
.zip e ospitato su un URL, come un artefatto di build CI, usa --plugin-url invece. Claude Code recupera l’archivio all’avvio e lo carica solo per quella sessione. Se il recupero fallisce o l’archivio non è valido, Claude Code segnala un errore di caricamento del plugin e si avvia senza di esso. Le stesse considerazioni sulla fiducia si applicano come per qualsiasi fonte di plugin: punta questo flag solo ad archivi che controlli o di cui ti fidi.
Per caricare più plugin, ripeti il flag per ogni URL:
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 skill, 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 - Scegli una strategia di versionamento: Decidi se impostare una
versionesplicita o affidarti al commit SHA di git. Vedi gestione della versione - Crea o usa un marketplace: Distribuisci tramite marketplace di plugin per l’installazione
- Testa con altri: Fai testare il plugin ai colleghi del team prima di una distribuzione più ampia
Invia il tuo plugin al marketplace ufficiale
Per inviare un plugin al marketplace ufficiale di Anthropic, usa uno dei moduli di invio in-app:- Claude.ai: claude.ai/settings/plugins/submit
- Console: platform.claude.com/plugins/submit
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à skill 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 componenti specifici del plugin: