Deze handleiding beschrijft hoe je een Claude Code plugin bouwt die via de marketplace gedistribueerd kan worden.
Een Claude Code plugin is een verzameling skills, commands, agents, hooks en/of MCP servers die Claude Code uitbreiden met domeinkennis of tooling. Plugins worden gedistribueerd via een marketplace en zijn beschikbaar in elke Claude Code sessie.
Maak de volgende structuur aan in je repository:
mijn-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest (verplicht)
├── skills/
│ └── mijn-skill/
│ └── SKILL.md # Skill definitie
├── README.md
├── LICENSE
└── CHANGELOG.md
Maak .claude-plugin/plugin.json:
{
"name": "mijn-plugin",
"description": "Korte beschrijving van wat de plugin doet",
"version": "1.0.0"
}De name wordt de namespace-prefix voor je skills. Gebruikers roepen skills aan als /mijn-plugin:skill-naam. Kies een unieke, beschrijvende naam in kebab-case.
Maak een SKILL.md in skills/<skill-naam>/:
---
name: mijn-skill
description: >-
Beschrijving die bepaalt wanneer de skill wordt geactiveerd.
Gebruik triggerwoorden in zowel Nederlands als Engels.
model: sonnet
allowed-tools:
- Bash(gh api *)
- WebFetch(*)
---
## Instructie voor de agent
Beschrijf wanneer en hoe de agent deze skill moet gebruiken.
## Referentie-informatie
Voeg tabellen, beslisbomen, codevoorbeelden toe die de agent nodig heeft.- Description is cruciaal - dit bepaalt wanneer Claude de skill activeert. Gebruik relevante triggerwoorden.
- Agent-instructies, geen encyclopedie - schrijf instructies die een agent kan volgen, geen achtergrondverhaal.
- Implementatievoorbeelden - voeg werkende codevoorbeelden toe in relevante talen.
- Maximaal 500 regels - grotere content hoort in een apart
reference.mdbestand. - Allowed-tools beperken - geef alleen de tools die de skill nodig heeft.
Test je plugin lokaal voordat je hem publiceert:
claude --plugin-dir ./mijn-pluginStel vragen die je skill zouden moeten activeren en controleer of de juiste skill wordt gekozen.
Valideer de plugin-structuur:
claude plugin validate ./mijn-plugin- Push je repository naar GitHub (publiek)
- Meld je plugin aan bij de marketplace - zie plugin-toevoegen.md
Heb je al .claude/skills/ in je project? Je kunt ze in-place omzetten naar plugin-formaat zonder ze te verplaatsen:
- Maak
.claude-plugin/plugin.jsonaan met eenskillsveld dat naar.claude/skills/verwijst:{ "name": "mijn-plugin", "description": "Beschrijving", "version": "1.0.0", "skills": "./.claude/skills/" } - Zet elke
skill-naam.mdom naar een directoryskill-naam/SKILL.md - Voeg YAML frontmatter toe aan elke SKILL.md (name, description, model, allowed-tools)
- Test lokaal met
--plugin-dir
Zo heb je één locatie voor skills die zowel lokaal in het project als via de marketplace werkt. Zie zad-actions voor een werkend voorbeeld.