Cursus
Claude Code dekt de meeste ontwikkeltaken standaard af, maar elk team heeft specifieke workflows die niet door de defaults worden gedekt. Misschien wil je een aangepaste opdracht die componenten opzet in de voorkeursstructuur van je bedrijf, automatisch linten vóór elke commit, of snel toegang tot documentatie voor een framework dat je voortdurend gebruikt.
Met Claude Code-plugins kun je deze features zelf toevoegen. Je kunt door de community gebouwde plugins installeren of je eigen plugins maken.
Als je nieuw bent met de agentische coderingstool van Anthropic, raad ik aan te beginnen met de Gids voor Claude Code of de cursus Introductie tot Claude-modellen. Deze tutorial gaat ervan uit dat je Claude Code hebt geïnstalleerd en het voor basistaken hebt gebruikt.
Aan het einde weet je hoe je:
- Plugins vindt en installeert uit de directory van Anthropic en uit communitybronnen
- De drie componenttypen begrijpt die plugins kunnen bevatten
- Het juiste type kiest voor verschillende use-cases
- Je eigen plugins bouwt en deelt
Voor een overzicht van de mogelijkheden van het nieuwste model van Anthropic, bekijk onze gids over Claude Sonnet 4.6
Wat zijn Claude Code-plugins?
Een plugin is een pakket dat één of meer Claude Code-extensies bundelt voor eenvoudig delen en installeren. In plaats van handmatig configuratiebestanden tussen machines of teamgenoten te kopiëren, kun je alles in een plugin verpakken en als één geheel verspreiden.
Plugins kunnen drie soorten componenten bevatten:
- Skills: Aangepaste commando’s die je aanroept met
/skill-name, of contextbewuste prompts die Claude automatisch gebruikt wanneer relevant - MCP-servers: Verbindingen met externe services en API’s die Claude toegang geven tot data die hij anders niet zou hebben
- Hooks: Shellscripts die automatisch draaien bij specifieke events, zoals vóór een bestand wordt bewerkt of na een commit
Een plugin kan slechts één van deze bevatten, of er meerdere combineren die samenwerken. Een “deployment”-plugin kan een /deploy-skill bevatten voor handmatige deployments, een MCP-server die de status van je stagingomgeving controleert, en een hook die tests draait vóórdat een deployment-commando wordt uitgevoerd.
Het plugin.json-manifestbestand definieert wat een plugin bevat. Het specificeert welke skills, MCP-servers en hooks geïnstalleerd moeten worden, plus metadata zoals de pluginnaam, versie en auteur. Wanneer je een plugin installeert, leest Claude Code dit manifest en zet elk onderdeel op de juiste plek.
Door dit verpakkingsformaat hoef je de interne mappenstructuur van Claude Code-extensies niet te kennen. Je installeert de plugin, en alles belandt waar het hoort.
Claude Code-plugins vinden en installeren
De meeste plugins staan op twee plekken. De officiële directory van Anthropic op plugins.claude.ai bevat plugins gebouwd door Anthropic, geverifieerde communitybijdragen en populaire extensies van derden. Elke vermelding toont welke componenten de plugin bevat, informatie over compatibiliteit en installatie-instructies.
De tweede bron is GitHub. De awesome-claude-code-repository beheert een gecureerde lijst op categorie, en individuele ontwikkelaars publiceren plugins in hun eigen repositories.
Zodra je een gewenste plugin hebt gevonden, hangt het installatiecommando af van waar deze staat:
# From the official directory
claude plugin add @anthropic/deploy-helper
# From a GitHub repository
claude plugin add github:username/repo-name
# From a local directory (useful during development)
claude plugin add ./my-plugin
Na het installeren van een paar plugins wil je ze bijhouden. Het plugin-commando regelt het weergeven, updaten en verwijderen:
# List all installed plugins
claude plugin list
# Update a specific plugin to the latest version
claude plugin update @anthropic/deploy-helper
# Update all plugins
claude plugin update --all
# Remove a plugin
claude plugin remove @anthropic/deploy-helper
Eén keuze die je tijdens de installatie maakt, is de scope. Plugins kunnen op twee plekken leven: user scope installeert naar ~/.claude/plugins/ en werkt in al je projecten, terwijl project scope installeert naar .claude/plugins/ binnen een specifieke repository.
De standaard is user scope. Om een plugin alleen voor het huidige project te installeren, voeg je de --project-vlag toe:
claude plugin add @anthropic/deploy-helper --project
Plugins met project-scope zijn logisch wanneer de extensie is gekoppeld aan een specifieke codebase.
Een plugin die het deploymentproces van je bedrijf kent, hoort in dat project. Een plugin die code formatteert volgens jouw persoonlijke voorkeuren hoort op userniveau. Wanneer een plugin op beide scopes bestaat, gaat de projectversie voor, zodat teams projectspecifieke configuraties kunnen afdwingen terwijl ontwikkelaars hun persoonlijke plugins elders actief houden.
Het juiste Claude Code-plugintype kiezen
De drie componenttypen hebben verschillende doelen en verbruiken resources op verschillende manieren. Deze trade-offs begrijpen houdt je contextvenster gezond en helpt je het juiste gereedschap voor elke klus te kiezen.
Skills vs MCP-servers: de token-afweging
MCP-servers laden bij de start van een sessie elke tooldefinitie vooraf in je contextvenster. Elke tool heeft een naam, beschrijving en volledige parameterschema nodig, wat doorgaans 100-300 tokens per tool kost. Een setup met vijf servers verbruikt ongeveer 55.000 tokens voordat je een enkel teken typt:
- GitHub: 35 tools
- Slack: 11 tools
- Sentry: 5 tools
- Grafana: 5 tools
- Splunk: 2 tools
Eén analyse vond setups met 7+ servers die 67.000+ tokens verbruikten, wat een derde van je 200K-contextvenster is vóórdat het gesprek begint.
Skills gebruiken een andere aanpak via progressive disclosure. Bij de start ziet Claude alleen de naam en een eenregelige beschrijving van elke skill uit de YAML-frontmatter, ongeveer 100 tokens per skill.
De volledige instructies worden pas geladen wanneer Claude bepaalt dat de skill relevant is voor de huidige taak. Referentiebestanden worden alleen geladen wanneer ze specifiek nodig zijn. En scripts komen nooit het contextvenster in; Claude draait ze extern en alleen de output komt terug.

Anthropic heeft deze onbalans eind 2025 aangepakt met Tool Search, een feature die lazy loading naar MCP-servers brengt.
In plaats van elke tooldefinitie vooraf te laden, detecteert Claude Code nu wanneer toolbeschrijvingen meer dan 10% van de beschikbare context zouden verbruiken en schakelt het over op on-demand laden.
Interne tests lieten zien dat het contextgebruik daalde van ~134.000 tokens naar ~5.000 tokens voor grote toolbibliotheken. Ook de toolselectienauwkeurigheid verbeterde, met Opus 4 van 49% naar 74% en Opus 4.5 van 79,5% naar 88,1% bij MCP-evaluaties.
Wanneer kies je welke?
Skills passen het best wanneer je wilt dat Claude toegang heeft tot kennis of workflows die hij met beoordelingsvermogen kan toepassen. Een skill die de code-reviewchecklist van je team beschrijft, wordt geladen wanneer Claude code beoordeelt, maar Claude beslist nog steeds hoe elk punt toe te passen op basis van de context.
Skills zijn ook logisch voor operaties die scripts nodig hebben voor zware berekeningen, omdat de scriptcode buiten het contextvenster blijft.
MCP-servers zijn het meest geschikt wanneer Claude realtime data nodig heeft van externe services zoals Slack-berichten, GitHub-PR’s of databasequeries. Ze zijn ook de juiste keuze wanneer meerdere AI-agenten dezelfde tools nodig hebben, of wanneer je enterprisefeatures zoals auditlogs en expliciete rechten nodig hebt.
Veel setups combineren beide: skills leveren het “hoe” en “wanneer” via natuurlijke taal, terwijl MCP-servers de daadwerkelijke API-calls afhandelen.
Populaire Claude Code-skills die de moeite waard zijn
- Superpowers: 20+ productiegeteste workflows voor TDD, debuggen en gestructureerde planning
- frontend-design: Instrueert Claude om generieke esthetiek te vermijden en gedurfde ontwerpkeuzes te maken
- mcp-builder: Gids voor het maken van MCP-servers om externe API’s te integreren
- webapp-testing: Test lokale webapplicaties met Playwright voor UI-verificatie
- skill-creator: Interactieve tool die je helpt bij het bouwen van nieuwe skills
Populaire MCP-servers die de moeite waard zijn
- Context7: Realtime, versie-specifieke documentatie-opzoeking
- GitHub: Repository-zoekopdrachten, PR-beheer, issuetracking
- Playwright: Browserautomatisering met toegankelijkheidsbomen in plaats van screenshots
- Supabase: Databasequeries met aandacht voor Row Level Security
- Sentry: Error tracking en performancemonitoring direct in je editor
Lees ook onze gids over de beste remote MCP-servers.
Hooks: de deterministische laag
Hooks staan volledig buiten het skills-versus-MCP-debat. Terwijl zowel skills als MCP-servers naar Claude gericht zijn (Claude beslist wanneer ze te gebruiken), zijn hooks naar het systeem gericht. Ze worden getriggerd bij events zoals PreToolUse of PostToolUse en draaien shellscripts vóór of nadat Claude specifieke acties onderneemt. Claude heeft geen zeggenschap over het al dan niet draaien van een hook.
Dit maakt Hooks de juiste keuze wanneer iets zonder uitzondering moet gebeuren: linten vóór elke commit, schrijven naar beschermde mappen blokkeren, elke bash-opdracht loggen of tests draaien vóór elke deployment.
Deze ontwikkelaar raadt “block-at-submit”-hooks aan boven “block-at-write”-hooks. Claude halverwege een taak blokkeren verwart de agent en levert slechtere resultaten op. Haar team gebruikt een PreToolUse-hook die Bash(git commit) omhult en controleert op een tijdelijke file die alleen bestaat als de tests slagen. Geen file, geen commit. De agent rondt zijn werk af en validatie gebeurt pas aan het einde.
Hooks voegen geen token-overhead toe omdat ze als shellscripts buiten het contextvenster draaien.
Handige Claude-hooks om in te richten
- ESLint/Prettier bij edit: Format bestanden automatisch nadat Claude ze schrijft
- Testpoort bij commit: Blokkeer commits tenzij tests slagen
- Beschermde paden: Voorkom schrijven naar migrations-, config- of vendor-mappen
- Notificatie bij voltooiing: Stuur Slack- of desktopalerts wanneer lange taken klaar zijn
- Transcript-back-up: Sla gesprekshistorie op vóórdat compaction draait
Je eigen Claude Code-plugins bouwen
Als een skill in je persoonlijke .claude/-map staat, kun alleen jij hem gebruiken. Door hem te verpakken als plugin kun je hem delen met teamgenoten of hergebruiken over projecten heen.
We bouwen een plugin genaamd session-logger die een /session-logger:summarize-commando toevoegt. Wanneer aangeroepen, bekijkt Claude het gesprek en voegt een gestructureerde samenvatting toe aan SESSION_LOG.md.
Maak de plugin-structuur
Plugins kunnen overal op je bestandssysteem staan. Voor deze tutorial maken we er één in je homedirectory:
cd ~
mkdir -p session-logger/.claude-plugin
mkdir -p session-logger/skills/summarize
Dit creëert:
~/session-logger/
├── .claude-plugin/
│ └── plugin.json # manifest goes here, nowhere else
└── skills/
└── summarize/ # folder name becomes the command name
└── SKILL.md # must be named exactly this
Schrijf het manifest
Maak ~/session-logger/.claude-plugin/plugin.json aan:
{
"name": "session-logger",
"description": "Log session summaries to a markdown file",
"version": "1.0.0"
}
Het veld name wordt het namespaceprefix. Alle commando’s in deze plugin beginnen met /session-logger:.
Schrijf de skill
Maak ~/session-logger/skills/summarize/SKILL.md aan:
---
description: Log a summary of the current session to SESSION_LOG.md
disable-model-invocation: true
---
When invoked, review the conversation and create a summary with these sections:
- **Date/time**: Current timestamp
- **Tasks completed**: What was accomplished
- **Files modified**: List of files created or changed
- **Decisions made**: Architectural or implementation choices
- **Open questions**: Unresolved items for future sessions
Append the summary to SESSION_LOG.md in the project root. Create the file if it doesn't exist.
De regel disable-model-invocation: true vertelt Claude dat alleen jij deze skill kunt triggeren. Zonder deze vlag kan Claude besluiten het commando autonoom uit te voeren als hij denkt dat het helpt bij het gesprek. Voor een logger of deploymenttool wil je meestal handmatige controle.
Lokaal testen
Navigeer naar een project waar je de plugin wilt gebruiken en start Claude Code daarna met de --plugin-dir-vlag die naar je plugin wijst:
cd ~/your-project
claude --plugin-dir ~/session-logger
Typ /session-logger:summarize om het commando aan te roepen. Merk op dat plugincommando’s niet in de autosuggesties verschijnen totdat je de volledige naam typt. De tekst wordt blauw zodra Claude Code het als een geldig commando herkent.
Voer na wat werk in de sessie het commando uit. Claude bekijkt het gesprek en voegt een item toe aan SESSION_LOG.md in je huidige projectmap.
Delen met anderen
Push je plugin naar GitHub. Om hem verder te verspreiden dan handmatig clonen, voeg je hem toe aan een pluginmarktplaats. De marktplaatsgids behandelt het maken van je eigen marktplaats of inzenden naar bestaande.
Conclusie
Plugins maken van Claude Code een assistent op maat van jouw specifieke workflow. De sessielogger die we bouwden kostte ongeveer vijf minuten en drie files. De meeste nuttige plugins zijn niet veel ingewikkelder dan dat.
Als je hebt meegedaan, heb je nu een werkende plugin op je machine. Probeer hem te tweaken. Verander het samenvattingsformaat, voeg nieuwe secties toe, of ruil hem in voor iets wat je team echt nodig heeft. De structuur blijft hetzelfde, of je nu een snelle persoonlijke tool bouwt of iets dat je aan honderden ontwikkelaars verspreidt.
Blader eens door de communityrepositories wanneer je de kans krijgt. Zien hoe anderen hun plugins structureren leert je patronen die documentatie niet kan overbrengen. En als je iets nuttigs bouwt, publiceer het. Het ecosysteem groeit met één gedeelde plugin tegelijk.
Claude Code-plugins: veelgestelde vragen
Wat zijn plugins in Claude Code?
Plugins zijn deelbare pakketten die Claude Code-extensies bundelen. Ze kunnen skills (aangepaste commando’s en contextbewuste prompts), MCP-servers (verbindingen met externe API’s) en hooks (shellscripts die bij specifieke events draaien) bevatten. Plugins laten je workflows delen met teamgenoten of hergebruiken over projecten heen.
Hoe installeer ik een Claude Code-plugin?
Gebruik het commando claude plugin install <plugin-name> voor marketplace-plugins. Voor lokale ontwikkeling start je Claude Code met claude --plugin-dir ./your-plugin om te testen zonder installatie.
Wat is de juiste mappenstructuur voor een Claude Code-plugin?
Plugins hebben een map .claude-plugin/ nodig met plugin.json in de root. Skills gaan in skills/<skill-name>/SKILL.md. Het manifest hoort alleen in .claude-plugin/, terwijl alle andere mappen (skills, hooks, agents) op de pluginroot blijven.
Waarom verschijnt mijn aangepaste slashcommando niet in autosuggesties?
Plugincommando’s verschijnen niet in autosuggesties totdat je de volledige naam typt. De tekst wordt blauw zodra Claude Code het herkent. Zorg er ook voor dat je SKILL.md disable-model-invocation: true in de frontmatter bevat om het door de gebruiker aanroepbaar te maken.
Wanneer moet ik Claude-hooks gebruiken in plaats van skills?
Gebruik hooks wanneer iets élke keer zonder uitzondering moet gebeuren, zoals linten bij elke edit of commits blokkeren totdat tests slagen. Hooks zijn deterministisch en systeemgericht, terwijl skills contextbewust zijn en Claude beslist wanneer hij ze toepast.
Ik ben een contentmaker op het gebied van data science met meer dan 2 jaar ervaring en een van de grootste achterbannen op Medium. Ik schrijf graag diepgaande artikelen over AI en ML met een vleugje sarcasme, want je moet íets doen om ze wat minder droog te maken. Ik heb meer dan 130 artikelen en een DataCamp-cursus gemaakt, met nog een in de maak. Mijn content is door meer dan 5 miljoen ogen bekeken, van wie 20k mij is gaan volgen op zowel Medium als LinkedIn.

