Laatst bijgewerkt:
Claude Code skills: zelf maken, installeren en delen met je team
Claude Code skills zijn mappen met een SKILL.md-bestand waarin je een werkwijze één keer vastlegt; Claude Code laadt zo'n skill zelf zodra je vraag erbij past, of jij start hem met /naam. Zet hem in ~/.claude/skills/ voor jezelf of in .claude/skills/ in je repo voor je hele team. Deze pagina is de praktische handleiding voor Claude Code: de frontmatter-velden, de mappen en hun voorrang, argumenten en live context, de bekende skills zoals code review en frontend-design, het verschil met commands, subagents, MCP, hooks en CLAUDE.md, en drie SKILL.md-bestanden voor Nederlands MKB-werk. Zoek je alle skills voor claude.ai en de API, kijk dan in de catalogus met Claude skills. Gecontroleerd op 30 oktober 2026.
Zo werkt het
Wat een skill in Claude Code doet, en waarom hij bijna geen context kost
Een skill is een map met minimaal één bestand: SKILL.md. Bovenin staat YAML-frontmatter met een naam en een beschrijving, daaronder instructies in gewone tekst. Claude Code volgt daarmee de open Agent Skills-standaard, dus dezelfde map werkt ook in andere tools die die standaard lezen. Wat Claude Code eigen heeft, zijn extra velden voor aanroepen, rechten, subagents en hooks.
Progressive disclosure: eerst de beschrijving, pas later de inhoud
Bij het starten van een sessie laadt Claude Code alleen de naam en beschrijving van elke skill. Dat lijstje staat bij elk verzoek in de context, zodat Claude weet wat er is. De volledige SKILL.md komt pas binnen als jij de skill aanroept of als Claude besluit dat hij past. Extra bestanden in de map (een tone-of-voice-document, een prijslijst, een script) leest Claude alleen als SKILL.md ernaar verwijst en de taak erom vraagt. Daarom kun je tientallen skills hebben zonder dat elke vraag zwaarder wordt: je betaalt per skill een paar regels beschrijving, niet de hele handleiding.
Het budget voor de skilllijst
Die lijst met beschrijvingen heeft een plafond: 1 procent van het contextvenster van het model. Per skill wordt de beschrijving samen met het veld when_to_use afgekapt op 1.536 tekens. Heb je veel skills en loopt de lijst over, dan laat Claude Code beschrijvingen weg, te beginnen bij de skills die je het minst gebruikt. De namen blijven altijd staan, maar de trefwoorden waarop Claude moet kiezen kunnen dan verdwenen zijn. Zet de belangrijkste toepassing daarom vooraan in je beschrijving.
Eenmaal geladen blijft de skill in het gesprek
Roept iemand een skill aan, dan komt de inhoud als één bericht in het gesprek en blijft daar staan. Claude Code leest het bestand daarna niet opnieuw. Na automatisch comprimeren van de context (compaction) gaan aangeroepen skills mee met maximaal de eerste 5.000 tokens per skill en samen maximaal 25.000 tokens, gevuld vanaf de meest recente. Zet de regels die altijd moeten gelden dus bovenaan in SKILL.md, en houd het bestand onder de 500 regels zoals Anthropic adviseert.
Wat het kost
Skills zelf zijn gratis en zitten in elke versie van Claude Code. Je hebt wel toegang tot Claude Code nodig: vanaf Pro voor €18 per maand of €15 per maand bij jaarbetaling (exclusief btw, zoals claude.com het vanuit Nederland toont), of via de API op tokentarief. Op het gratis Free-plan zit Claude Code niet. Een geladen skill telt mee in je verbruik zoals elke andere tekst in de context; hoe dat je limiet raakt, staat op Claude Code limieten.
Eerste skill
Je eerste Claude Code skill maken in vijf minuten
Je hebt geen plugin, account-instelling of herstart nodig. Een map en een tekstbestand zijn genoeg. Het voorbeeld hieronder is een kleine skill die elke werkdag nuttig is: een Nederlandse samenvatting van wat er in je project is veranderd, voor een collega of klant die geen code leest.
SKILL.md om te kopiëren
---
name: wijzigingen-samenvatten
description: Vat recente wijzigingen in dit project samen in gewoon Nederlands voor een collega of klant die geen code leest. Gebruik bij "wat is er veranderd", weekupdate, statusupdate of uitleg voor de klant.
---
Recente commits:
!`git log -n 25 --oneline --no-merges`
Schrijf een samenvatting van maximaal 150 woorden:
1. Begin met wat de gebruiker merkt, niet met wat er technisch gebeurde.
2. Groepeer per onderwerp, niet per commit.
3. Noem bestandsnamen of functienamen alleen als de lezer ze kent.
4. Sluit af met wat er nog openstaat, als dat uit de commits blijkt.
Je-vorm, korte zinnen, geen vakjargon. Verzin niets wat niet in de commits staat.Waarom deze vorm werkt
De beschrijving noemt de woorden die mensen echt typen ("wat is er veranderd", "weekupdate"). Daarop kiest Claude, dus die regel bepaalt of de skill ooit vanzelf aanslaat. De regel met het uitroepteken en backticks draait git log voordat Claude de skill leest, waardoor de samenvatting op de echte commits rust in plaats van op een gok. Werk je buiten een git-repository, haal die regel dan weg: een mislukt commando breekt de hele aanroep af.
- 1
Maak de map aan. Voor jezelf in al je projecten: mkdir -p ~/.claude/skills/wijzigingen-samenvatten. Alleen voor dit project en je team: mkdir -p .claude/skills/wijzigingen-samenvatten in de root van je repo.
- 2
Maak in die map het bestand SKILL.md met de inhoud uit het codeblok hieronder. De mapnaam wordt de commandonaam, tenzij je in de frontmatter een andere name zet.
- 3
Open Claude Code in je project en typ /skills. Je skill staat in de lijst. Staat hij er niet, controleer dan of het pad eindigt op /wijzigingen-samenvatten/SKILL.md en niet op een los .md-bestand.
- 4
Test de handmatige route: typ /wijzigingen-samenvatten. Test daarna de automatische route in een verse sessie met een gewone vraag, bijvoorbeeld "Wat is er deze week veranderd? Leg het uit voor de klant."
- 5
Pas de tekst aan terwijl Claude Code draait. Claude Code ziet wijzigingen in SKILL.md direct, binnen dezelfde sessie. Alleen een skills-map die bij het starten nog niet bestond, vraagt eenmalig om /reload-skills.
Frontmatter
Alle frontmatter-velden van Claude Code skills, met wanneer je ze gebruikt
De frontmatter staat tussen twee regels met drie streepjes en moet op de eerste regel van SKILL.md beginnen. Alle velden zijn optioneel, maar zonder description pakt Claude Code de eerste niet-lege regel van je tekst als beschrijving, en die is zelden een goede trigger. Veldnamen moeten exact kloppen: een onbekend veld negeert Claude Code zonder foutmelding.
De twee schakelaars die je het vaakst nodig hebt
disable-model-invocation: true zet je op elke skill met bijwerkingen. Dan kan Claude hem nooit uit zichzelf starten, en de beschrijving verdwijnt bovendien uit de context, wat ruimte scheelt. Probeert Claude zo'n skill toch aan te roepen, dan blokkeert Claude Code dat. user-invocable: false is het omgekeerde: handig voor naslagkennis zoals je API-conventies of een woordenlijst, die Claude zelf moet pakken maar die niemand als commando typt.
allowed-tools geeft toestemming, het beperkt niets
Een veelgemaakte denkfout: allowed-tools is geen lijst met de enige tools die de skill mag gebruiken. Het veld keurt de genoemde tools vooraf goed, zodat Claude Code er niet om vraagt, en alleen tijdens de beurt waarin je de skill aanroept. Bij je volgende bericht vervalt die toestemming. Wil je juist tools afsluiten, gebruik dan disallowed-tools. Een voorbeeld van een goede regel: **allowed-tools: Bash(git log *) Bash(git status *)**.
Upload je dezelfde skill ook naar claude.ai? Houd het klein
Uploads naar claude.ai, de Skills API en het officiële package-script accepteren alleen name, description, license, compatibility, metadata en allowed-tools. Staat er een Claude Code-veld als argument-hint of context in, dan krijg je daar een harde fout, bijvoorbeeld "Unexpected key(s) in SKILL.md frontmatter: argument-hint". Maak voor zo'n gedeelde skill twee varianten, of houd hem bij de zes gedeelde velden. De extra limieten op claude.ai staan in de catalogus bij installeren.
| Veld | Wat het doet | Gebruik het als |
|---|---|---|
| name | Wat het doetNaam in het /-menu. Standaard de mapnaam | Gebruik het alsJe een andere commandonaam wilt dan de map |
| description | Wat het doetWat de skill doet en wanneer. Hierop kiest Claude | Gebruik het alsAltijd. Dit veld bepaalt of de skill aanslaat |
| when_to_use | Wat het doetExtra triggertekst, achter description geplakt. Telt mee in de 1.536 tekens | Gebruik het alsDe beschrijving kort wil houden en voorbeelden apart wilt zetten |
| argument-hint | Wat het doetHint in autocomplete, zoals [klantnaam] | Gebruik het alsDe skill een argument verwacht |
| arguments | Wat het doetBenoemde argumenten voor $naam | Gebruik het alsJe meer dan één argument leesbaar wilt maken |
| disable-model-invocation | Wat het doettrue: alleen jij kunt hem starten, Claude niet | Gebruik het alsDe skill iets doet met gevolgen: committen, versturen, publiceren |
| user-invocable | Wat het doetfalse: verborgen in het /-menu, Claude kan hem wel laden | Gebruik het alsHet achtergrondkennis is die niemand als commando typt |
| allowed-tools | Wat het doetTools zonder toestemmingsvraag tijdens de beurt van de aanroep | Gebruik het alsDe skill vaste commando's draait, zoals git log |
| disallowed-tools | Wat het doetTools die Claude niet mag gebruiken zolang de skill actief is | Gebruik het alsJe een alleen-lezen-skill wilt die niets kan wijzigen |
| model | Wat het doetModel voor deze beurt, zelfde waarden als /model | Gebruik het alsEen eenvoudige skill op een goedkoper model kan |
| effort | Wat het doetlow, medium, high, xhigh of max voor deze beurt | Gebruik het alsEen skill extra denkwerk nodig heeft, of juist minder |
| context | Wat het doetfork: de skill draait in een subagent zonder je gespreksgeschiedenis | Gebruik het alsDe taak veel bestanden leest en je alleen de uitkomst wilt |
| agent | Wat het doetType subagent bij context: fork. Standaard general-purpose | Gebruik het alsJe Explore, Plan of een eigen agent wilt inzetten |
| hooks | Wat het doetHooks die vanaf de aanroep tot het einde van de sessie gelden | Gebruik het alsEen regel echt altijd moet gelden zolang de skill loopt |
| paths | Wat het doetGlob-patronen die automatisch activeren beperken tot die bestanden | Gebruik het alsDe skill alleen bij bepaalde mappen of bestandstypen hoort |
| shell | Wat het doetbash of powershell voor de live-contextregels | Gebruik het alsJe team op Windows werkt zonder Git Bash |
Mappen
Waar Claude Code skills staan, en welke wint bij dezelfde naam
Waar je de map neerzet, bepaalt wie de skill krijgt. Voor de meeste MKB-teams zijn er maar twee plekken die ertoe doen: je persoonlijke map voor je eigen gewoontes, en de projectmap in de repo voor alles wat het team gedeeld moet gebruiken.
De voorrang bij twee skills met dezelfde naam
Organisatie gaat voor persoonlijk, persoonlijk gaat voor project. Een eigen skill met dezelfde naam als een meegeleverde skill vervangt die, maar niet zijn alias: een eigen code-review-skill vervangt /code-review, terwijl /review de meegeleverde versie blijft starten. Een skill wint van een oud commandbestand in .claude/commands/ met dezelfde naam. Pluginskills botsen nooit, omdat ze de pluginnaam als voorvoegsel krijgen.
Skills van je claude.ai-account komen vanzelf mee, maar niet terug
Ben je in de terminal ingelogd met je claude.ai-account, dan downloadt Claude Code de skills die je daar hebt aangezet naar ~/.claude/skills/synced/. Het omgekeerde gebeurt nooit: wat je lokaal maakt, gaat niet naar claude.ai. Bewerk je een gesynchroniseerde skill lokaal, dan overschrijft de volgende sync je wijziging. Wil je dat niet, zet dan syncClaudeAiSkills op false in je instellingen. Cowork en cloudsessies lezen je lokale ~/.claude/skills/ juist niet; daar werkt een skill alleen als hij op claude.ai aanstaat of in de repo staat.
Monorepo of website met submappen
Claude Code laadt projectskills uit je startmap en elke bovenliggende map tot de root van de repo. Skills in een geneste .claude/skills/ onder je startmap laden pas zodra Claude voor het eerst een bestand in die submap leest of bewerkt. Zitten er twee skills met dezelfde naam in, dan start /deploy de skill uit de root en /apps/web:deploy de geneste.
| Plek | Pad | Geldt voor |
|---|---|---|
| Persoonlijk | Pad~/.claude/skills/naam/ | Geldt voorAl jouw projecten op deze computer |
| Project | Pad.claude/skills/naam/ | Geldt voorIedereen die de repo gebruikt, na een commit |
| Genest | Padsubmap/.claude/skills/naam/ | Geldt voorSessies in die submap; laadt zodra Claude daar een bestand opent |
| Extra map | Pad--add-dir pad | Geldt voorAlleen die sessie |
| Plugin | Padplugin/skills/naam/ | Geldt voorWaar de plugin aanstaat, als /plugin:naam |
| Organisatie | Padmanaged settings | Geldt voorAlle gebruikers op beheerde computers |
| claude.ai-account | Pad~/.claude/skills/synced/ | Geldt voorIngelogde terminalsessies, Cowork en cloudsessies |
Aanroepen
Een skill aanroepen: /naam, argumenten en live context
Er zijn twee routes. Claude kiest een skill zelf als je vraag op de beschrijving lijkt, of jij typt /naam aan het begin van je bericht. Alles wat je achter de naam typt, gaat als argument mee. Dat maakt een skill tot een herbruikbaar commando met invulvelden.
Live context met een uitroepteken
Een regel met een uitroepteken gevolgd door een commando tussen backticks draait in de shell voordat Claude de skill leest. De uitvoer komt op die plek in de tekst. Zo geef je een skill de actuele stand mee in plaats van een verouderde beschrijving:
Open pull request:
!`gh pr diff`
Gewijzigde bestanden:
!`git status --short`Drie regels om te kennen. De vorm werkt alleen aan het begin van een regel of na een spatie. Elk commando heeft de standaardtimeout van twee minuten. En een commando dat faalt, breekt de hele aanroep af; zet || true achter commando's die soms met een foutcode eindigen. Buiten auto mode moet het commando vooraf zijn toegestaan, bijvoorbeeld via allowed-tools, anders stopt de skill.
Meerdere skills in één bericht
In de terminal kun je tot zes skills achter elkaar zetten: /blog-tone-of-voice /seo-check schrijf een blog over onze nieuwe openingstijden. Beide skills laden en krijgen de tekst erachter als argument. Via claude -p of de Agent SDK laadt alleen de eerste.
context: fork stuurt de skill naar een subagent
Met context: fork draait de skill in een aparte subagent. Die ziet je gespreksgeschiedenis niet; de tekst van de skill is zijn hele opdracht. Het voordeel: een skill die veertig bestanden doorleest, vult jouw gesprek niet, je krijgt alleen de samenvatting terug. Standaard draait zo'n fork op de achtergrond; met background: false wacht de beurt op het resultaat. Gebruik fork alleen voor skills met een concrete opdracht. Een skill met alleen richtlijnen ("schrijf altijd zo") levert in een subagent niets bruikbaars op, omdat er geen taak in staat.
| In SKILL.md | Wordt | Voorbeeld |
|---|---|---|
| $ARGUMENTS | WordtAlles wat je achter /naam typte | Voorbeeld/offerte Bakkerij Jansen geeft Bakkerij Jansen |
| $0, $1 | WordtEerste, tweede argument (telt vanaf 0) | Voorbeeld/vergelijk "Q3 2026" Q4 geeft $0 = Q3 2026 |
| $naam | WordtBenoemd argument uit het veld arguments | Voorbeeldarguments: klant bedrag geeft $klant en $bedrag |
| ${CLAUDE_SKILL_DIR} | WordtDe map waar SKILL.md staat | VoorbeeldEen script in scripts/ aanroepen |
| ${CLAUDE_PROJECT_DIR} | WordtDe root van je project | VoorbeeldEen vast pad naar je contentmap |
| ${CLAUDE_SESSION_ID} | WordtDe ID van de huidige sessie | VoorbeeldEen logbestand per sessie |
Meegeleverd
Meegeleverde skills en de bekendste plugins: code review, frontend-design en meer
Claude Code brengt een set skills mee die je zonder installatie als slash-commando gebruikt. Daarnaast komen de meeste "beste Claude Code skills" uit plugins in Anthropics officiële marketplace, die Claude Code bij je eerste interactieve sessie zelf toevoegt. Op 30 oktober 2026 telde die marketplace 315 plugins.
Een plugin installeren, stap voor stap
Typ in Claude Code het installatiecommando. In een sessie installeert dat nog niet meteen: je ziet eerst wat de plugin toevoegt (skills, agents, hooks, MCP-servers) en bij officiële plugins een schatting van de contextkosten per beurt.
/plugin install frontend-design@claude-plugins-officialKies daarna een scope: voor jou (al je projecten), voor iedereen in deze repo (komt in .claude/settings.json) of alleen jij in deze repo. Daarna staat de skill in het /-menu als /frontend-design:frontend-design. Bladeren kan ook: /plugin zonder naam opent het tabblad Discover.
Claude Code review skill: bundled of plugin?
Zoek je "de" review-skill: die zit er al in als /code-review. In de officiële marketplace staat daarnaast een plugin die ook code-review heet. Die draait vier review-agents parallel op een pull request, geeft elke bevinding een betrouwbaarheidsscore van 0 tot 100 en toont alleen wat op 80 of hoger uitkomt. Omdat pluginskills een voorvoegsel krijgen, botsen ze niet. Begin met de meegeleverde versie; hoe je dat stap voor stap aanpakt staat in de tutorial Claude Code review.
Wat "beste skills" waard is
Lijstjes met de beste Claude skills tellen sterren en installaties. Dat zegt iets over populariteit, niet over of de skill bij jouw werk past. Een skill van derden is tekst die Claude als instructie volgt, en soms een script dat op je computer draait. Lees daarom eerst SKILL.md en de scripts/-map voordat je installeert. Een overzicht van officiële en community-skills met sterrenaantallen staat in de catalogus; de verzamelplugin everything-claude-code heeft een eigen tutorial.
| Skill of plugin | Wat het doet | Wanneer |
|---|---|---|
| /code-review | Wat het doetMeegeleverd. Reviewt je diff, een PR, branch of pad op bugs. Alias /review. Met --fix voert Claude de bevindingen door, met --comment komen ze op de PR | WanneerVoor elke merge, ook als je alleen werkt |
| /simplify | Wat het doetMeegeleverd. Vier review-agents zoeken naar hergebruik, vereenvoudiging en efficiëntie, en passen het toe. Zoekt geen bugs | WanneerNa een werkende eerste versie |
| /doctor | Wat het doetMeegeleverd. Controleert installatie, instellingen, CLAUDE.md en de contextkosten van je skills | WanneerAls iets raar doet, of maandelijks |
| /skill-doctor | Wat het doetToont per skill wat hij aan context kost en hoe vaak je hem gebruikt (vanaf v2.1.261) | WanneerAls je meer dan tien skills hebt |
| /batch | Wat het doetMeegeleverd. Splitst een grote wijziging in 5 tot 30 delen, elk in een eigen worktree | WanneerBij een migratie over de hele codebase |
| frontend-design | Wat het doetPlugin van Anthropic in claude-plugins-official. Stuurt op een bewuste visuele richting, typografie en keuzes die niet als standaardsjabloon ogen | WanneerBij nieuwe schermen, landingspagina's, een eigen huisstijl |
| skill-creator | Wat het doetPlugin van Anthropic in claude-plugins-official. Interviewt je, schrijft de skill, draait tests met en zonder skill en stelt een betere beschrijving voor | WanneerZodra een skill belangrijk genoeg is om te testen |
| superpowers | Wat het doetCommunity-plugin, te installeren uit claude-plugins-official (obra/superpowers, ruim 309.000 sterren op GitHub). Een werkwijze voor plannen, testen en debuggen als set skills | WanneerAls je een vaste ontwikkelmethode wilt overnemen |
Vergelijking
Skills vs commands vs subagents vs MCP vs hooks vs CLAUDE.md
Claude Code heeft zes manieren om gedrag vast te leggen, en ze lijken op papier op elkaar. Het verschil zit in wanneer ze laden en of Claude zelf beslist. Kies verkeerd en je krijgt een CLAUDE.md van 600 regels die elke vraag zwaarder maakt, of een "regel" in een skill die Claude soms overslaat.
Beslisregels die we in trainingen gebruiken
Claude maakt twee keer dezelfde fout over een conventie? Zet het in CLAUDE.md, want dat leest Claude elke sessie. Je plakt voor de derde keer dezelfde werkinstructie? Maak er een skill van, want dan laadt hij alleen als hij nodig is. Je kopieert steeds gegevens uit een systeem dat Claude niet kan zien? Dat is een MCP-server, want een skill geeft kennis, geen toegang. Een taak vult je gesprek met uitvoer die je niet terugleest? Een subagent, want die houdt je hoofdcontext schoon. Iets mag nooit misgaan? Een hook, want een instructie in CLAUDE.md of een skill is een verzoek en een hook is handhaving. Een tweede repo heeft dezelfde set nodig? Bundel het in een plugin.
Ze werken samen, je hoeft niet te kiezen
Goede opstellingen combineren. MCP koppelt je CRM, een skill legt uit welke velden je team gebruikt en hoe een goede notitie eruitziet. Een subagent kan skills vooraf laden via het veld skills in zijn definitie. Een skill kan zelf een hook meebrengen die geldt zolang de skill actief is. De vuistregel van Anthropic: houd CLAUDE.md onder de 200 regels en verplaats naslag naar skills. Wil je meerdere agents tegelijk laten samenwerken, kijk dan bij agent teams.
| Onderdeel | Laadt wanneer | Contextkosten | Gebruik het voor |
|---|---|---|---|
| CLAUDE.md | Laadt wanneerElke sessie, volledig | ContextkostenBij elk verzoek de hele tekst | Gebruik het voorWat altijd waar is: buildcommando's, mapstructuur, huisregels |
| Skill | Laadt wanneerBeschrijving altijd, inhoud bij gebruik | ContextkostenLaag tot je hem gebruikt | Gebruik het voorProcedures en naslag die je soms nodig hebt: offerte, release, tone of voice |
| Command (.claude/commands/) | Laadt wanneerZoals een skill | ContextkostenZoals een skill | Gebruik het voorBestaande bestanden; nieuwe dingen maak je als skill |
| Subagent | Laadt wanneerAls jij of Claude hem start | ContextkostenEigen contextvenster, alleen de samenvatting komt terug | Gebruik het voorWerk dat veel leest of parallel kan: onderzoek, review |
| MCP-server | Laadt wanneerToolnamen bij start, details bij gebruik | ContextkostenLaag tot een tool wordt gebruikt | Gebruik het voorToegang tot systemen: database, CRM, browser, Slack |
| Hook | Laadt wanneerBij een vaste gebeurtenis, zoals na elke bewerking | ContextkostenNul, tenzij de hook uitvoer teruggeeft | Gebruik het voorWat zonder uitzondering moet gebeuren: linter, blokkeren van .env |
Voorbeelden
Drie Claude Code skills voor MKB-werk om te kopiëren
Claude Code wordt in Nederlandse MKB-teams steeds vaker gebruikt door mensen die geen ontwikkelaar zijn: marketing in de website-repo, operations in een map met offertes, een productowner die release notes schrijft. Deze drie skills zijn op dat werk gemaakt. Pas de namen en regels aan, maar houd de opbouw: een beschrijving met echte zoekwoorden, eerst de input ophalen, dan vaste regels en een zelfcontrole.
1. Blog of nieuwsbrief in je eigen tone of voice
Zet je tone of voice in een apart bestand, zodat de skill kort blijft en marketing het document zelf kan bijwerken zonder aan de skill te komen.
blog-tone-of-voice/
SKILL.md
references/tone-of-voice.md
references/woordenlijst.md---
name: blog-tone-of-voice
description: Schrijft of herschrijft blogs, nieuwsbrieven en LinkedIn-posts in onze Nederlandse tone of voice. Gebruik bij blog, artikel, nieuwsbrief, post, herschrijven of "maak dit leesbaarder", ook als tone of voice niet genoemd wordt.
---
Lees eerst references/tone-of-voice.md en references/woordenlijst.md.
Werkwijze:
1. Vraag naar doelgroep, doel en de ene boodschap als die ontbreken.
2. Schrijf een opzet van koppen en laat die eerst goedkeuren bij teksten boven 600 woorden.
3. Schrijf de tekst. Begin met het antwoord op de vraag van de lezer.
Regels:
- Je-vorm, korte zinnen, actieve vorm.
- Spelling en productnamen volgens de woordenlijst.
- Geen cijfers, klantnamen of citaten die niet in de input staan. Zet [BRON NODIG] waar je er een mist.
- Geen superlatieven en geen uitroeptekens.
Controleer voor je oplevert: klopt elke bewering met de input, en staat er nergens [BRON NODIG] meer zonder dat je het meldt?De regel over [BRON NODIG] maakt het verschil. Zonder die regel vult een model gaten op met aannemelijke cijfers, en die zijn het lastigst om terug te vinden in een tekst die verder goed leest.
2. Release notes voor klanten, alleen op jouw commando
Deze skill publiceert niets, maar hij schrijft wel een bestand dat naar klanten gaat. Daarom start alleen jij hem.
---
name: release-notes
description: Maakt Nederlandstalige release notes voor klanten uit de commits sinds de laatste versie.
argument-hint: [nieuw-versienummer]
disable-model-invocation: true
allowed-tools: Bash(git describe *) Bash(git log *)
---
Laatste versie: !`git describe --tags --abbrev=0 || true`
Recente commits:
!`git log -n 40 --oneline --no-merges`
Schrijf release notes voor versie $ARGUMENTS:
1. Gebruik alleen commits na de laatste versie.
2. Drie kopjes: Nieuw, Verbeterd, Opgelost. Laat een kopje weg als het leeg is.
3. Per punt één zin over wat de klant merkt, zonder technische termen.
4. Interne wijzigingen (refactors, tests, afhankelijkheden) laat je weg.
Zet het resultaat in CHANGELOG-klanten.md bovenaan en commit niets.Je start hem met /release-notes 3.2.0. disable-model-invocation zorgt dat Claude dit niet ongevraagd doet als iemand in een gesprek "release" zegt, en allowed-tools keurt alleen de twee leescommando's vooraf goed.
3. Offerte in huisstijl met prijzen uit je administratie
Exporteer je prijslijst uit Exact Online of AFAS als CSV en zet die in references/. Werk je die export maandelijks bij, dan rekent de skill altijd met actuele prijzen zonder dat je de skill aanraakt.
offerte-huisstijl/
SKILL.md
assets/offerte-sjabloon.md
references/prijslijst.csv
references/voorwaarden.md---
name: offerte-huisstijl
description: Zet een offerte op in onze huisstijl en vaste opbouw, met prijzen uit de actuele prijslijst. Gebruik bij offerte, prijsopgave, voorstel of quote voor een klant.
argument-hint: [klantnaam]
---
Gebruik assets/offerte-sjabloon.md voor opbouw en vaste teksten.
Haal prijzen uitsluitend uit references/prijslijst.csv
(kolommen: code, omschrijving, prijs_excl_btw, btw_tarief).
Werkwijze:
1. Vraag naar de klant ($ARGUMENTS), de gevraagde diensten en aantallen als die ontbreken.
2. Zoek elke dienst op in de prijslijst. Staat hij er niet in, zet [PRIJS CONTROLEREN] en verzin geen bedrag.
3. Reken per regel: aantal x prijs exclusief btw, daarna btw volgens de kolom btw_tarief.
4. Toon subtotaal, btw per tarief en totaal apart.
Regels:
- Geldigheid 30 dagen, tenzij anders gevraagd.
- Voorwaarden letterlijk uit references/voorwaarden.md, niet herschrijven.
- Sla op als offertes/[klantnaam]-[datum].md.
Controleer voor je oplevert: tel de regels opnieuw op en meld elk verschil.De twee regels die fouten voorkomen: prijzen alleen uit het bestand, en een herberekening aan het eind. Een taalmodel rekent meestal goed, maar een offerte met één verkeerd bedrag kost je meer dan de tijd die je bespaart. Laat een mens elke offerte controleren voordat hij de deur uit gaat.
Team
Claude Code skills delen in je team: repo, plugin of beheerde instellingen
Er zijn drie routes, en de juiste hangt af van hoeveel repo's en mensen er zijn. Voor een MKB-team met één of twee repo's is de eerste bijna altijd genoeg.
Review allowed-tools voordat je een repo opent
Dit is het veiligheidspunt dat de meeste handleidingen missen. allowed-tools in een projectskill wordt niet tegengehouden door de workspace-trust-vraag die Claude Code stelt bij een nieuwe map. Een skill in een repo van iemand anders kan dus commando's vooraf goedkeuren. Kijk bij een onbekende repo eerst in .claude/skills/ wat er in allowed-tools en in de live-contextregels staat. Beheerders kunnen met allowManagedPermissionRulesOnly de allowed-tools van project- en persoonlijke skills helemaal negeren, en met disableSkillShellExecution de live-contextregels uitzetten. Meer over aanvallen via instructies in bestanden lees je bij prompt injection.
AVG: wat hoort niet in een skill
Een skill is tekst die bij gebruik als context naar het model gaat, en een projectskill staat in git bij iedereen die de repo kloont. Zet er dus geen persoonsgegevens in: geen klantenlijsten, geen namen met e-mailadressen, geen voorbeelden uit echte dossiers. Een prijslijst, een tone-of-voice-document en een sjabloon zijn prima. Wat er met je prompts en bestanden gebeurt en hoe je dat AVG-proof inricht, staat op Claude Code privacy.
Houd het overzicht als de lijst groeit
Typ /skills voor alle geladen skills per bron. Druk op t om op tokens te sorteren en op spatie om een skill door de standen te laten lopen: aan, alleen naam, alleen voor het /-menu, of uit. Dat schrijft skillOverrides naar .claude/settings.local.json, dus het geldt alleen voor jou. Pluginskills beheer je via /plugin. Wil je weten welke skills niemand gebruikt, draai dan /skill-doctor.
- 1
Eén repo: commit de map .claude/skills/ in git. Iedereen die de repo binnenhaalt, heeft de skills. Wijzigingen lopen via pull requests, dus je hebt meteen een reviewproces en een geschiedenis van wie wat veranderde.
- 2
Meerdere repo's: bundel de skills in een plugin met een skills/-map en een manifest in .claude-plugin/plugin.json, en zet die in een eigen marketplace-repo. Collega's voegen die toe met /plugin marketplace add jullie-org/plugins en installeren daarna per plugin.
- 3
Plugin voor iedereen in een repo aanzetten: installeer met scope project. Dat schrijft de plugin in .claude/settings.json. Let op: committen zet de plugin aan maar downloadt hem niet; elke collega draait eenmalig claude plugin install naam@marketplace --scope project.
- 4
Beheerde omgeving: een beheerder zet skills in de map van de managed settings, bijvoorbeeld /etc/claude-code/.claude/skills/ op Linux. Die winnen van persoonlijke en projectskills en kunnen niet door gebruikers worden overschreven.
Valkuil
De grootste valkuil bij Claude Code skills: een beschrijving die niets triggert
De fout die we in trainingen het vaakst zien: iemand schrijft een goede skill met een beschrijving als een titel, bijvoorbeeld "Offertes" of "Blog helper". Handmatig werkt hij, maar Claude pakt hem nooit vanzelf. Na een week concludeert het team dat skills niet werken. De oorzaak is bijna altijd de description, want dat is het enige wat Claude ziet als hij kiest.
Zo schrijf je een beschrijving die wel werkt
Drie onderdelen, in deze volgorde: wat de skill doet, wanneer je hem gebruikt, en de woorden die collega's letterlijk typen. Voor een Nederlands team betekent dat Nederlandse trefwoorden, met de Engelse termen die jullie ook gebruiken ernaast: "offerte, prijsopgave, voorstel, quote". Schrijf in de derde persoon ("Zet een offerte op...") en zet de belangrijkste toepassing vooraan, want bij afkappen valt het einde weg. Anthropic adviseert in de skill-creator om beschrijvingen iets dwingender te maken, omdat Claude skills eerder te weinig dan te vaak gebruikt.
Testen kost tien minuten
Vraag in een verse sessie "Welke skills zijn er beschikbaar?" om te zien of de skill in de lijst staat. Stel daarna drie vragen zoals een collega ze zou typen, van slordig tot precies, en kijk of Claude de skill pakt. Een verse sessie is nodig, omdat context uit het schrijfproces de gaten in je beschrijving verbergt. Voor belangrijke skills draait de skill-creator-plugin dezelfde vragen met en zonder skill en stelt hij een betere beschrijving voor.
| Wat je ziet | Oorzaak | Oplossing |
|---|---|---|
| De skill staat niet in /skills | OorzaakLos bestand naam.md in plaats van een map met SKILL.md | OplossingMaak er .claude/skills/naam/SKILL.md van |
| /naam werkt, maar Claude pakt hem nooit zelf | OorzaakKapotte YAML: de body laadt met lege beschrijving | OplossingStart claude --debug voor de parsefout, of draai claude plugin validate .claude/skills |
| Hij staat er, maar triggert niet op jouw vraag | OorzaakDe beschrijving bevat niet de woorden die je typt | OplossingZet de echte zoekwoorden erin, in de taal waarin je team typt |
| Het werkte, nu niet meer na veel nieuwe skills | OorzaakDe skilllijst loopt over het budget van 1 procent | OplossingZet weinig gebruikte skills op name-only, of verhoog skillListingBudgetFraction |
| Claude volgt de skill eerst, later niet meer | OorzaakDe inhoud is na compaction ingekort, of de regel was eenmalig geformuleerd | OplossingRoep hem opnieuw aan, zet regels bovenaan, of maak er een hook van |
| Hij slaat juist te vaak aan | OorzaakDe beschrijving is te breed | OplossingMaak hem specifieker, of zet disable-model-invocation: true |
Ons oordeel
Ons oordeel: wanneer Claude Code skills de moeite waard zijn
Skills leveren in Claude Code veel op voor weinig moeite, mits je ze inzet voor werk dat terugkomt. Eén goede skill voor een taak die je wekelijks doet, levert meer op dan tien skills die je één keer hebt gemaakt omdat het kon.
Wel doen
Maak een skill als je een taak minstens elke week doet, de uitkomst een vast format heeft (offerte, release notes, nieuwsbrief, klantupdate) en je nu steeds dezelfde uitleg plakt. Dan merk je het verschil vanaf de tweede keer: geen herhaalde uitleg, en elke collega krijgt dezelfde opbouw. Begin met één skill in de repo die het hele team gebruikt, niet met een persoonlijke verzameling.
Niet doen
Maak geen skill voor iets wat je één keer doet; een goede prompt is dan sneller. Zet regels die altijd moeten gelden niet in een skill maar in CLAUDE.md, en regels die nooit mogen falen in een hook. Installeer geen pakketten met tientallen community-skills op dag één: elke beschrijving kost ruimte in de skilllijst, en overlappende beschrijvingen laten Claude de verkeerde kiezen. En stop een skill niet vol met klantgegevens; dat hoort in je CRM, bereikbaar via MCP.
Een concreet MKB-voorbeeld
Neem een installatiebedrijf met acht mensen dat zijn website in een Next.js-repo heeft en offertes in Word maakt. Een praktische eerste stap: één projectskill voor blogs in de eigen tone of voice, gebruikt door de collega die de website bijhoudt, en één skill voor offertes die met de maandelijkse prijsexport uit de administratie rekent. Beide in dezelfde repo, beide via een pull request aangepast. Na een maand weet je welke regels ontbreken, omdat je ziet welke correcties je steeds handmatig doet. Die correcties worden de volgende regels in SKILL.md.
Nederlandse context
Claude volgt Nederlandse instructies goed, dus schrijf de body van je skill in de taal van je team. Let bij de beschrijving op de woorden die mensen echt typen, vaak een mix van Nederlands en Engels. Werk je met klantdata, houd die dan uit de skill en lees de AVG-sectie bij Claude Code privacy. Wil je dit met je team in één middag goed neerzetten, met jullie eigen eerste skill als resultaat, dan is dat precies waar we in de Claude Code Masterclass mee oefenen.
FAQ
Veelgestelde vragen
Wat zijn skills in Claude Code?
Een skill in Claude Code is een map met een SKILL.md-bestand: YAML-frontmatter met een naam en beschrijving, en daaronder instructies. Claude Code laadt bij elke sessie alleen de beschrijvingen en haalt de volledige inhoud erbij als je vraag erop lijkt of als je /naam typt. Zo leg je een werkwijze één keer vast in plaats van hem elke keer opnieuw uit te leggen.
Waar zet je een skill in Claude Code?
In ~/.claude/skills/naam/SKILL.md voor jezelf in al je projecten, of in .claude/skills/naam/SKILL.md in je repo voor iedereen die die repo gebruikt. Een skill is altijd een map met SKILL.md erin, nooit een los .md-bestand. Bij twee skills met dezelfde naam wint die van de organisatie, dan de persoonlijke, dan die van het project.
Hoe roep je een skill aan in Claude Code?
Typ /naam aan het begin van je bericht, eventueel met argumenten erachter, zoals /release-notes 3.2.0. Claude kan een skill ook zelf kiezen als je vraag lijkt op de beschrijving. Wil je dat alleen jij hem start, zet dan disable-model-invocation: true in de frontmatter.
Wat is het verschil tussen een skill en een slash command in Claude Code?
Ze zijn samengevoegd. Een bestand in .claude/commands/deploy.md en een skill in .claude/skills/deploy/SKILL.md maken allebei /deploy. Een skill kan daarnaast extra bestanden in zijn map hebben, regelen wie hem mag starten en automatisch door Claude geladen worden. Anthropic adviseert voor nieuw werk de skill-vorm; bij dezelfde naam wint de skill.
Wat is het verschil tussen een skill en een subagent in Claude Code?
Een skill is herbruikbare kennis of een werkwijze die in je eigen gesprek laadt. Een subagent is een aparte werker met een eigen contextvenster die alleen een samenvatting teruggeeft. Ze combineren: met context: fork draait een skill in een subagent, en een subagent kan skills vooraf laden via het veld skills.
Wat zijn de beste Claude Code skills om te installeren?
Begin met wat er al in zit: /code-review voor bugs in je wijzigingen, /simplify om op te ruimen en /doctor om je setup te controleren. Van de plugins in Anthropics officiële marketplace zijn frontend-design (voor schermen met een eigen visuele richting) en skill-creator (om je eigen skills te maken en testen) de nuttigste startpunten. Lees bij elke skill van derden eerst SKILL.md en de scripts voordat je installeert.
Hoe installeer je de frontend-design plugin in Claude Code?
Typ in Claude Code /plugin install frontend-design@claude-plugins-official, bekijk wat de plugin toevoegt en kies een scope: voor jou, voor iedereen in de repo, of alleen voor jou in deze repo. Daarna gebruikt Claude de skill vanzelf bij frontendwerk, of je start hem als /frontend-design:frontend-design. De officiële marketplace voegt Claude Code bij je eerste interactieve sessie zelf toe.
Werken mijn Claude Code skills ook op claude.ai?
Niet automatisch. Skills die je op claude.ai aanzet, komen bij een ingelogde terminalsessie wel naar ~/.claude/skills/synced/, maar lokale skills gaan nooit de andere kant op. Wil je een Claude Code-skill op claude.ai gebruiken, dan upload je hem daar als zip. Claude.ai accepteert alleen de velden name, description, license, compatibility, metadata en allowed-tools; Claude Code-velden zoals argument-hint geven daar een foutmelding.
Bronnen
Bronnen die we bijhouden
Elke claim op deze pagina is te herleiden; de officiële artikelen zijn op de bijwerkdatum nagelezen.
Officiële documentatie
- Extend Claude with skillsFrontmatter, locaties en voorrang, laden en budgetten, argumenten, live context, delen en troubleshooting.
- Extend Claude Code: features overviewHet verschil tussen CLAUDE.md, skills, subagents, MCP en hooks, met contextkosten per onderdeel.
- CommandsDe meegeleverde skills zoals /code-review, /simplify, /doctor, /batch en /skill-doctor.
- Install and manage pluginsPlugins installeren, scopes en plugins delen via .claude/settings.json.
- anthropics/claude-plugins-officialDe officiële marketplace met onder meer frontend-design, code-review en skill-creator.
- Skill authoring best practicesSchrijfadvies voor beschrijvingen en instructies dat in alle Claude-producten geldt.
- Steering Claude CodeAnthropics eigen uitleg over wanneer je CLAUDE.md, skills, hooks of subagents kiest.
- obra/superpowersDe community-plugin met een ontwikkelmethode als skills; sterren opgehaald op 30 oktober 2026.
Verdieping op Project Impact
- De Claude Code-gidsTerug naar het overzicht van deze subgids.
- Claude skills: de catalogusAlle officiële en community-skills, plus installeren op claude.ai en via de API.
- Claude Code-functiesSubagents, hooks, MCP en plugins in samenhang.
- Commands en shortcutsAlle slash-commando's, inclusief /skills, /plugin en /reload-skills.
- Tutorial: CLAUDE.mdWat in CLAUDE.md hoort en wat je beter in een skill zet.
- Tutorial: hooksRegels die altijd moeten gelden afdwingen in plaats van vragen.
- Claude pluginsSkills bundelen en verspreiden over meerdere repo's.
- Agent Skills als open standaardWaarom dezelfde skill ook buiten Claude werkt, en waar dat ophoudt.
- Claude Code MasterclassMet je team je eerste gedeelde skills bouwen en testen.
Je eerste gedeelde skills goed neerzetten?
In de Claude Code Masterclass bouwt je team een eigen skill, test hem op echte vragen en leert wat in CLAUDE.md, een skill of een hook hoort.