SpyBara
Go Premium

plugins.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

454 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Creare plugin

Crea plugin personalizzati per estendere Claude Code con skills, agents, hooks e MCP servers.

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.

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

Usa la configurazione standalone quando:

  • 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 /hello o /deploy

Usa i plugin quando:

  • 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

Crea il tuo primo plugin

1

Crea la directory del plugin

Ogni plugin vive nella sua directory contenente un manifest e i tuoi skills, agents o hooks. Creane uno ora:

mkdir my-first-plugin
2

Crea il manifest del plugin

Il file manifest in .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:

mkdir my-first-plugin/.claude-plugin

Poi crea my-first-plugin/.claude-plugin/plugin.json con questo contenuto:

{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
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.

Per campi aggiuntivi come homepage, repository e license, vedi lo schema manifest completo.

3

Aggiungi uno skill

Gli skill vivono nella directory 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:

mkdir -p my-first-plugin/skills/hello

Poi crea my-first-plugin/skills/hello/SKILL.md con questo contenuto:

---
description: Greet the user with a friendly message
disable-model-invocation: true
---

Greet the user warmly and ask how you can help them today.
4

Testa il tuo plugin

Esegui Claude Code con il flag --plugin-dir per caricare il tuo plugin:

claude --plugin-dir ./my-first-plugin

Una volta che Claude Code si avvia, prova il tuo nuovo skill:

/my-first-plugin:hello

Vedrai Claude rispondere con un saluto. Esegui /help per vedere il tuo skill elencato sotto il namespace del plugin.

5

Aggiungi argomenti dello skill

Rendi il tuo skill dinamico accettando input dell'utente. Il placeholder $ARGUMENTS cattura qualsiasi testo che l'utente fornisce dopo il nome dello skill.

Aggiorna il tuo file SKILL.md:

---
description: Greet the user with a personalized message
---

# Hello Skill

Greet the user named "$ARGUMENTS" warmly and ask how you can help them today. Make the greeting personal and encouraging.

Esegui /reload-plugins per raccogliere i cambiamenti, poi prova lo skill con il tuo nome:

/my-first-plugin:hello Alex

Claude ti saluterà per nome. Per ulteriori informazioni sul passaggio di argomenti agli skill, vedi Skills.

Hai creato e testato con successo un plugin con questi componenti chiave:

  • 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

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 directory skills/ alla radice del tuo plugin con cartelle Skill contenenti file SKILL.md:

my-plugin/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    └── code-review/
        └── SKILL.md

Ogni SKILL.md contiene frontmatter YAML e istruzioni. Includi una description in modo che Claude sappia quando usare lo skill:

---
description: Reviews code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
---

When reviewing code, check for:
1. Code organization and structure
2. Error handling
3. Security concerns
4. Test coverage

Dopo aver installato il plugin, esegui /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:

{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "extensionToLanguage": {
      ".go": "go"
    }
  }
}

Gli utenti che installano il tuo plugin devono avere il binario del language server installato sulla loro macchina.

Per le opzioni di configurazione LSP complete, vedi LSP servers.

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 file monitors/monitors.json alla radice del plugin con un array di voci di monitor:

[
  {
    "name": "error-log",
    "command": "tail -F ./logs/error.log",
    "description": "Application error log"
  }
]

Ogni riga stdout da 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 file settings.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.

{
  "agent": "security-reviewer"
}

Questo esempio attiva l'agent 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.

claude --plugin-dir ./my-plugin

Quando un plugin --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. I plugin marketplace forzatamente abilitati dalle impostazioni gestite sono l'unica eccezione e non possono essere sovrascritti.

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

Esegui il debug dei problemi del plugin

Se il tuo plugin non funziona come previsto:

  1. Controlla la struttura: Assicurati che le tue directory siano alla radice del plugin, non dentro .claude-plugin/
  2. Testa i componenti individualmente: Controlla ogni skill, agent e hook separatamente
  3. 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:

  1. Aggiungi documentazione: Includi un README.md con istruzioni di installazione e utilizzo
  2. Scegli una strategia di versionamento: Decidi se impostare una version esplicita o affidarti al commit SHA di git. Vedi gestione della versione
  3. Crea o usa un marketplace: Distribuisci tramite marketplace di plugin per l'installazione
  4. Testa con altri: Fai testare il plugin ai colleghi del team prima di una distribuzione più ampia

Una volta che il tuo plugin è in un marketplace, altri possono installarlo usando le istruzioni in Scopri e installa plugin. Per mantenere un plugin interno al tuo team, ospita il marketplace in un repository privato.

Invia il tuo plugin al marketplace ufficiale

Per inviare un plugin al marketplace ufficiale di Anthropic, usa uno dei moduli di invio in-app:

Una volta che il tuo plugin è elencato, puoi avere il tuo CLI che invita gli utenti di Claude Code a installarlo. Vedi Consiglia il tuo plugin dal tuo CLI.

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

1

Crea la struttura del plugin

Crea una nuova directory plugin:

mkdir -p my-plugin/.claude-plugin

Crea il file manifest in my-plugin/.claude-plugin/plugin.json:

{
"name": "my-plugin",
"description": "Migrated from standalone configuration",
"version": "1.0.0"
}
2

Copia i tuoi file esistenti

Copia le tue configurazioni esistenti nella directory del plugin:

# Copy commands
cp -r .claude/commands my-plugin/

# Copy agents (if any)
cp -r .claude/agents my-plugin/

# Copy skills (if any)
cp -r .claude/skills my-plugin/
3

Migra gli hook

Se hai hook nelle tue impostazioni, crea una directory hooks:

mkdir my-plugin/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:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]
}
]
}
}
4

Testa il tuo plugin migrato

Carica il tuo plugin per verificare che tutto funzioni:

claude --plugin-dir ./my-plugin

Testa ogni componente: esegui i tuoi comandi, verifica che gli agents appaiano in /agents e verifica che gli hook si attivino correttamente.

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

Prossimi passi

Ora che comprendi il sistema di plugin di Claude Code, ecco i percorsi suggeriti per diversi obiettivi:

Per gli utenti di plugin

Per gli sviluppatori di plugin