- Home
- Marketplace
- Contribuire a un Plugin
Contribuire a un Plugin
Questa guida spiega come creare un nuovo plugin e aggiungerlo al marketplace f5-sales-demo.
Struttura del Plugin
Sezione intitolata “Struttura del Plugin”Ogni plugin risiede nella propria directory sotto plugins/ e
segue questa struttura:
Directoryplugins/
Directoryexample-plugin/
Directory.claude-plugin/
- plugin.json
Directoryskills/
Directoryexample-skill/
- SKILL.md
Directoryreferences/
- reference-data.md
Directorycommands/
- example-command.md
Directoryagents/
- example-agent.md
- README.md
Creazione di un Plugin
Sezione intitolata “Creazione di un Plugin”-
Creare la directory del plugin
Terminal window mkdir -p plugins/example-plugin/.claude-pluginmkdir -p plugins/example-plugin/skillsmkdir -p plugins/example-plugin/commands -
Scrivere
plugin.jsonCreare
plugins/example-plugin/.claude-plugin/plugin.json:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": {"name": "f5-sales-demo"},"homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","keywords": ["relevant", "keywords"],"license": "Apache-2.0","repository": "https://github.com/f5-sales-demo/marketplace"} -
Aggiungere le skill
Creare
plugins/example-plugin/skills/example-skill/SKILL.mdcon il frontmatter:---name: example-skilldescription: One-line description of what this skill does---Detailed instructions for Claude when this skill activates.Inserire eventuali dati di riferimento in una sottodirectory
references/accanto aSKILL.md. -
Aggiungere i comandi
Creare
plugins/example-plugin/commands/example-command.md:---description: What this command doesargument_hint: "[optional-args]"allowed_tools:- Read- Glob- Grep---Instructions for Claude when the user invokes this command. -
Aggiungere il plugin a marketplace.json
Aggiungere una voce all’array
pluginsin.claude-plugin/marketplace.json:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": { "name": "f5-sales-demo" },"source": "./plugins/example-plugin","category": "productivity","homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","license": "Apache-2.0","keywords": ["relevant", "keywords"],"tags": ["searchable", "tags"],"repository": "https://github.com/f5-sales-demo/marketplace"} -
Testare localmente
Testare il plugin senza pubblicarlo puntando Claude Code alla directory locale:
Terminal window claude --plugin-dir ./plugins/example-pluginVerificare che le skill si attivino nel contesto corretto e che i comandi producano l’output atteso.
Invio del Plugin
Sezione intitolata “Invio del Plugin”- Creare una issue su GitHub che descriva il nuovo plugin
- Creare un branch di funzionalità a partire da
main - Aggiungere la directory del plugin e aggiornare
marketplace.json - Aggiungere una pagina di documentazione in
docs/plugins/example-plugin.mdx - Aprire una PR collegata alla issue con
Closes #N - Correggere eventuali errori CI e fare il merge dopo il superamento dei controlli
Buone Pratiche
Sezione intitolata “Buone Pratiche”- Mantenere le skill mirate — ogni skill dovrebbe svolgere bene una sola funzione
- Usare i file di riferimento — inserire dataset di grandi dimensioni, schemi e
tabelle di ricerca in
references/anziché inline in SKILL.md - Definire lo scope in modo intelligente — verificare la presenza di modifiche non committate per restringere il working set quando possibile
- Raggruppare l’output per gravità — utilizzare i livelli ERROR, WARNING e INFO in modo che gli utenti possano dare priorità alle correzioni
- Scrivere un README — includere esempi d’uso e una descrizione di cosa fa ogni skill e comando