Claude Code Skills in 2026: zo bouw je een Skills-bibliotheek voor jezelf
MarkdownZo maak je Claude Code Skills: de structuur van SKILL.md, de description-formule, kant-en-klare collecties van Anthropic en anti-patterns. Stap voor stap in 30 minuten.
Lees het volledige artikel
Belangrijkste punten
Claude Code Skills zijn mappen met een SKILL.md-bestand dat Claude alleen in de context laadt wanneer dat nodig is. CLAUDE.md blijft voortdurend in het geheugen en verbruikt het tokenbudget, terwijl een skill pas bij een trigger wordt geladen. Tientallen skills kunnen daardoor gemakkelijk naast elkaar bestaan in één project. Het belangrijkste onderdeel van een skill is de description: Claude gebruikt die om te bepalen of de skill moet worden geactiveerd. In dit artikel leg ik de structuur van SKILL.md uit, de description-formule, kant-en-klare collecties en hoe je in 30 minuten je eerste skill bouwt.
Ailoot-documentatie: API, sleutels en configuratie.
Wat is een Skill in Claude Code, en waarom is het niet gewoon ‘een grotere prompt’?
Belangrijkste punten
Een skill is een map met een SKILL.md-bestand waarin staat wanneer en hoe je een specifieke methodologie toepast. Anthropic vergelijkt een skill met instructies voor een nieuwe medewerker: je schrijft niet elke dag elke stap voor; je geeft diegene een procedure en die past die zelf toe in de juiste situaties. Het belangrijkste verschil met CLAUDE.md is dat een skill alleen in de context wordt geladen wanneer dat nodig is. Zo kunnen tientallen skills in een project staan zonder het tokenbudget te overschrijden.
Claude Code Skills zijn een ingebouwde functie van Claude Code die Anthropic in oktober 2025 lanceerde voor Pro/Max/Team/Enterprise. Later maakten ze de specificatie Agent Skills openbaar als standaard die ook buiten Claude werkt. In code is het gewoon een map:
.claude/skills/
├── deploy-to-prod/
│ ├── SKILL.md
│ └── scripts/
│ └── check-migrations.sh
├── weekly-content-plan/
│ └── SKILL.md
└── triage-support-tickets/
└── SKILL.md
Elke map is één skill. Het bestand SKILL.md is Markdown met bovenaan YAML-frontmatter en daaronder gewone instructies. Wanneer een gebruiker vraagt: ‘laten we naar productie deployen’, ziet Claude de description van de skill deploy-to-prod, herkent de trigger ‘naar productie deployen’, laadt de inhoud van SKILL.md in de context en volgt de stappen.
Drie niveaus van progressief laden
Anthropic bouwde skills met progressief laden: gegevens worden in lagen geladen wanneer dat nodig is. In de Anthropic Engineering-blog beschrijft het team dit als het ‘kernontwerpprincipe dat Agent Skills flexibel en schaalbaar maakt’ (Anthropic Engineering).
De drie laadniveaus:
- Metadata (altijd) - wanneer een sessie begint, ziet Claude alleen de
nameendescriptionvan elke skill. Budget: ongeveer 100 tokens per skill. - Instructies (bij een trigger) - wanneer de gebruiker iets relevants zegt, laadt Claude de inhoud van SKILL.md. Budget: minder dan 5000 tokens.
- Bronnen (op aanvraag) - meegeleverde bestanden (voorbeelden, sjablonen, datasets) worden alleen opgehaald wanneer het model er zelf naar zoekt. Budget: onbeperkt.
Vroeger moest alles wat de AI moest ‘onthouden’ in CLAUDE.md staan, en een project met 50 regels liep al snel tegen de contextlimiet aan. Met skills kunnen er gemakkelijk tientallen in één project staan, omdat alleen hun descriptions in de initiële context komen.
Waar skills staan: vier niveaus
| Niveau | Pad | Geldt voor |
|---|---|---|
| Enterprise | Beheerde organisatie-instellingen | Alle medewerkers van het bedrijf |
| Personal | ~/.claude/skills/<name>/SKILL.md | Al je projecten |
| Project | .claude/skills/<name>/SKILL.md | Alleen dit project |
| Plugin | <plugin>/skills/<name>/SKILL.md | Waar de plugin is ingeschakeld |
Prioriteit: enterprise overschrijft personal, personal overschrijft project. Plugins gebruiken de namespace plugin-name:skill-name en conflicteren niet. Dat is handig: zet algemene professionele skills in ~/.claude/skills/ en projectspecifieke skills in .claude/skills/ van de repository.
Wat staat er in een SKILL.md?
Belangrijkste punten
SKILL.md is een Markdown-bestand met bovenaan YAML-frontmatter en daaronder instructietekst. Het bevat minimaal twee velden: name (maximaal 64 tekens) en description (maximaal 1024 tekens). Het volledige schema bevat ook allowed-tools, disable-model-invocation, paths, context: fork, agent en hooks. Anthropic raadt aan de instructietekst binnen 500 regels te houden en al het overige in nabijgelegen referentiebestanden te zetten.
Hier is een minimaal voorbeeld: twintig regels en de skill is klaar:
---
name: weekly-content-plan
description: Maakt een wekelijkse postplanning voor een Telegram-kanaal en korte verticale video's. Triggers - "maak een postplanning", "wat moet ik deze week posten", "een kanaalplanning voor 7 dagen". Niet activeren als het verzoek over een website of e-mailnieuwsbrief gaat.
---
# Weekly Content Plan
## Steps
1. Lees `knowledge/audience.md` - voor wie we schrijven
2. Lees `knowledge/tone-of-voice.md` - hoe we schrijven
3. Lees de laatste 10 posts in het kanaal - wat al aan bod is gekomen
4. Bedenk 7 onderwerpen voor de week: 3 gericht op verkoop, 2 deskundig, 2 persoonlijk
5. Geef voor elk onderwerp één openingszin en drie bullets over de post
6. Geef de uitvoer als tabel: dag van de week | type | openingszin | plan
Dat is genoeg. Als een gebruiker schrijft: ‘laten we de posts voor deze week plannen’, ziet Claude de trigger in de description, laadt SKILL.md, leest de genoemde bestanden en geeft een tabel als uitvoer.
Grenzen om rekening mee te houden
De officiële Claude API-documentatie stelt strikte limieten:
name: maximaal 64 tekens; alleen kleine letters, cijfers en koppeltekens, zonder XML-tags.anthropicenclaudezijn gereserveerd.description: maximaal 1024 tekens in de API; verplicht en zonder XML-tags.- Budget voor de lijst: in Claude Code nemen de descriptions van alle skills samen ongeveer 1% van het contextvenster in. Bij veel skills worden descriptions afgekapt, waardoor de trefwoorden die Claude nodig heeft om verzoeken te herkennen kunnen verdwijnen.
- Inhoud van SKILL.md: Anthropic raadt aan de inhoud binnen 500 regels te houden. Verplaats alles wat langer is naar bestanden in
references/,scripts/enexamples/en laad ze via de instructies.
Na het comprimeren van de context (/compact) bewaart Claude de eerste 5000 tokens van elke eerder gebruikte skill; het totale budget voor alle opnieuw gekoppelde skills is 25 000 tokens. Als een skill niet past, wordt het gedrag ervan ‘vergeten’.
Volledig frontmatter-schema
Gebruik minimaal name en description. Productieskills gebruiken ook andere velden:
| Veld | Doel | Voorbeeld |
|---|---|---|
name | Skillnaam; standaard de mapnaam als deze ontbreekt | deploy-to-prod |
description | Trigger voor automatische aanroep | Zie de formule hieronder |
when_to_use | Aanvullende triggerzinnen | ["deploy", "let's ship it"] |
allowed-tools | Tools die zonder toestemming kunnen worden gebruikt | ["Read", "Bash(npm run build)"] |
disable-model-invocation | true - alleen de gebruiker kan de skill aanroepen | Voor gevaarlijke handelingen |
user-invocable | false - alleen Claude kan de skill aanroepen | Voor achtergrondkennis |
paths | Glob-patronen waarvoor de skill actief is | ["src/**/*.ts"] |
context: fork | Uitvoeren in een geïsoleerde subagent | Wanneer de context zwaar is |
agent | Type subagent om te starten | Explore, Plan, general-purpose |
effort | Redeneerniveau | low, medium, high, xhigh, max |
model | Welk model de skill krijgt | claude-opus-4-7 |
hooks | Hooks in de levenscyclus van de skill | Zie de sectie over hooks |
Het veld disable-model-invocation: true is onmisbaar voor alles wat niet automatisch mag worden uitgevoerd. Een skill deploy-to-prod met deze vlag kan bijvoorbeeld alleen worden aangeroepen als de gebruiker expliciet /deploy-to-prod typt. Zonder die vlag zou Claude kunnen deployen omdat ‘de code er klaar uitziet’.
Waarom bepaalt de description 90% van het werk, en hoe schrijf je die?
Belangrijkste punten
Description is het enige veld dat Claude aan het begin van een sessie ziet. Als die slecht is geschreven, werkt de skill niet, zelfs niet als de instructietekst perfect is. Een goede description bestaat uit drie delen: wat de skill doet + triggerzinnen tussen aanhalingstekens + wanneer je die NIET moet gebruiken. Anthropic raadt in de eigen skill-creator aan descriptions ‘een beetje dwingend’ te formuleren — Claude activeert skills vaak te weinig.
De meest voorkomende fout van vibe-coders is een description schrijven als ‘Hulpmiddel voor X’. De skill bestaat fysiek in de map, maar Claude roept die niet aan.
Een slechte description
description: Bouw dashboards.
Wat Claude niet kan bepalen: als de gebruiker vraagt ‘laat me de omzet van deze week zien’, gaat het dan om een dashboard? Als de gebruiker vraagt om een ‘omzetgrafiek’, gaat het dan om een dashboard of gewoon om een algemene grafiek? Betekent een verzoek om een ‘maandelijks rapport’ zeker niet dat het om een dashboard gaat?
Anthropic’s eigen skill-creator verwoordt de aanbeveling rechtstreeks:
Claude heeft momenteel de neiging skills te weinig te activeren: ze niet te gebruiken wanneer dat nuttig zou zijn. Maak skilldescriptions daarom een beetje ‘dwingend’.
De formule voor een goede description
Drie delen:
- Wat de skill doet - één zin over het resultaat, niet het proces. Niet ‘genereert SQL’, maar ‘zet verkoopcijfers in een tabel voor een Telegram-kanaal’.
- Wanneer je de skill activeert - 3-5 zinnen tussen aanhalingstekens die gebruikers echt zeggen. Raad niet; bekijk je chat- en supportgeschiedenis.
- Wanneer je de skill NIET activeert - 1-2 zinnen over vergelijkbare taken waarop de skill niet moet reageren. Zonder dit onderdeel blijven twee vergelijkbare skills elkaar in de weg zitten.
Een voorbeeld van een sterke description uit mijn project (vereenvoudigd en geanonimiseerd):
description: |
Schrijft en publiceert een SEO-gids voor de blog volgens het redactionele beleid.
Triggers: "schrijf een gids over X", "laten we een nieuwe pijler maken",
"een blogartikel over Y", "maak een bloggids over Z".
Niet activeren als het verzoek over een e-mailnieuwsbrief,
een Telegram-post of een interne teaminstructie gaat -
daarvoor zijn andere skills.
Wat hier werkt:
- Het werkwoord ‘schrijft en publiceert’ in plaats van ‘helpt met’ geeft een concreet resultaat aan.
- Vier triggerzinnen tussen aanhalingstekens dekken verschillende formuleringen.
- Er staat ook een Engelse trigger bij: als de gebruiker overschakelt naar de taal van het team, werkt de skill nog steeds.
- Een aparte sectie ‘niet activeren als’ voorkomt conflicten met e-mail- en postskills.
Een description testen
In de eigen skill-creator bouwde Anthropic een methodologie voor trigger-evals in: 20 prompts om te controleren of een skill wordt geactiveerd. Tien moeten de skill activeren en tien niet, waaronder bijna-treffers waarbij de formulering vergelijkbaar is, maar de taak anders.
In termen van vibe-coders betekent dit: open na het schrijven van de description een lege chat en probeer 5 zinnen die je echt gebruikt, plus 3 zinnen die erop lijken maar iets anders betekenen. Als de skill niet wordt geactiveerd wanneer dat wel moet, of juist wordt geactiveerd wanneer dat niet moet, pas dan de description aan. Schrijf pas daarna de instructietekst.
Welke 5 Skills zou ik als eerste installeren?
Belangrijkste punten
De snelste strategie voor een ondernemer is beginnen met kant-en-klare collecties en die aanpassen. Anthropic en Vercel hebben openbare collecties gepubliceerd die je met één opdracht kunt installeren en die typische taken zoals documenten en design afdekken. In mei 2026 had de officiële repository anthropics/skills ongeveer 138.000 sterren.
De eerste twee weken besteden aan het schrijven van je eigen skills is een verliesstrategie. Begin met kant-en-klare skills en kijk hoe ze zijn opgebouwd; voeg daarna je eigen skills toe met dezelfde aanpak. Bewezen collecties van anderen aanpassen aan je eigen behoeften is goedkoper dan alles vanaf nul bouwen. Dit zijn vijf collecties waarmee ik zou beginnen:
1. anthropics/skills - officiële collectie met skill-creator
Repository: github.com/anthropics/skills. 138,000 GitHub-sterren. De collectie bevat officiële skills van het Anthropic-team: skill-creator (een meta-skill die andere skills schrijft), claude-api (helpt API-integraties bouwen) en kant-en-klare documentskills voor PowerPoint, Excel, Word en PDF.
Installeren met Claude Code:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills
De belangrijkste waarde is skill-creator. Die schrijft op basis van je description een SKILL.md, voert daarna 20 trigger-evals uit en past de description aan totdat de skill wordt geactiveerd waar dat hoort. Eigenlijk is het ‘een skill om skills te maken’.
2. mattpocock/skills - de virale collectie van een TypeScript-expert
De collectie bevat 12 actieve skills, waaronder:
grill-me- stelt vragen volgens een beslisboom totdat de onzekerheden rond de taak zijn opgelost. Het grootste pijnpunt voor vibe-coders — ‘ik weet niet wat ik wil’ — wordt al in de eerste iteratie aangepakt.caveman- perst de communicatie van het model samen tot een telegrafische stijl.diagnose- debuggen via een cyclus van reproduceren - minimaliseren - een hypothese opstellen - instrumenteren - oplossen - regressietesten.tdd- dwingt red-green-refactor af: eerst een falende test, dan een minimale oplossing en daarna refactoren.to-issues- zet een plan om in verticaal opgedeelde GitHub-issues (full-stack, onafhankelijk te deployen).
Installeren:
npx skills@latest add mattpocock/skills
/setup-matt-pocock-skills
3. coreyhaines31/marketingskills - een collectie voor marketeers
Als je online programma’s runt, als freelance marketeer werkt of een bureau leidt, hoef je geen zes maanden te besteden aan het schrijven van eigen skills. De helft van de taken is al verpakt.
4. vercel-labs/agent-skills - design zonder AI-uitstraling
Repository: github.com/vercel-labs/agent-skills. De belangrijkste skill is web-design-guidelines. De skill controleert UI-code aan de hand van meer dan 100 regels voor toegankelijkheid, prestaties en gebruiksgemak.
Daarnaast is er Anthropic frontend-design, met meer dan 110,000 installaties per week. Die laat AI een stijl kiezen voordat het code begint te schrijven. Zonder deze skill heeft elke pagina die Claude genereert het lettertype Inter, een paarse gradient en kaarten in een raster. Het resultaat is voor iedereen hetzelfde.
Zonder frontend-design kan een Claude-landingspagina er al snel hetzelfde uitzien — met bijvoorbeeld het lettertype Inter, een paarse gradient en een raster met kaarten. De skill helpt je een eigen ontwerpstijl te kiezen in plaats van de standaardinstelling te gebruiken.
5. obra/superpowers - workflow met meerdere agents
Als je de eerste drie uit deze lijst installeert — anthropics/skills, mattpocock/skills en coreyhaines31/marketingskills — heeft je Claude Code al in de eerste maand tientallen kant-en-klare skills voor de meeste taken van een ondernemer.
Welke terugkerende taken moet je omzetten in een skill?
Belangrijkste punten
De regel is eenvoudig: elke handeling die je meer dan twee keer per week uitvoert en die min of meer dezelfde stappen volgt, komt in aanmerking als skill. Geen ingewikkeld ‘jaarlijks verslag voor de accountant’, maar routinewerk: een contentplanning voor een kanaal, bonnetjes van klanten controleren of een welkomstmail voor een nieuwe deelnemer. Een skill maakt van een eenmalige inspanning een middel dat zonder jou werkt.
In werk voor klanten en projecten van anderen heb ik dit patroon tientallen keren gezien. Iemand heeft ‘dat ene ding dat die telkens weer vanaf nul doet’. Elke maandag schrijven ze hetzelfde soort rapport. Elke keer dat er een nieuwe klant begint, volgen ze dezelfde procedure. Elke publicatie gebruikt hetzelfde sjabloon. En elke keer kost het 30-90 minuten omdat ze de stappen moeten onthouden, de juiste bestanden moeten openen en de Claude-prompt opnieuw moeten formuleren.
De oplossing is om het één keer in een skill te verpakken. Daarna zeg je één zin en laadt Claude de methodologie, leest de benodigde bronnen en levert het resultaat. Drie voorbeelden uit verschillende vakgebieden:
Voorbeeld 1. Freelance marketeer - skill weekly-content-plan
Wat diegene handmatig doet: elke maandag een week aan Telegram-posts voorbereiden voor drie klanten. De merkstijlgids van de klant openen, recente posts doornemen, onderwerpen bedenken op basis van de productkalender en een tabel maken met openingszinnen en bullets.
Als skill wordt dit een instructie in vijf stappen: het tone-of-voice-bestand van de klant lezen, de productkalender lezen, de laatste 10 posts controleren op herhaling, zeven onderwerpen bedenken en die verdelen over typen (gericht op verkoop, deskundig, persoonlijk), en een tabel uitvoeren.
De opdracht ‘laten we de posts voor klant X voor deze week plannen’ verandert een uur voorbereiding in drie minuten wachten. De marketeer controleert het resultaat, brengt gerichte wijzigingen aan en stuurt het naar de klant.
Voorbeeld 2. Extern accountant - skill monthly-receipts-close (voorbeeld van de auteur)
Wat diegene handmatig doet: elke maand voor elke klant in de portefeuille het bankafschrift exporteren, afstemmen met betalingen in het boekhoudsysteem, niet-geclassificeerde betalingen markeren, een voorlopig inkomstenrapport opstellen en de inkomensstructuur met die van de vorige maand vergelijken.
De skill is een instructie in zes stappen plus een paar shellscripts in de map scripts/ om bankafschriften te parseren. De trigger ‘sluit mei af voor klant X’ vraagt Claude om binnen 4-5 minuten een rapport met gemarkeerde afwijkingen te maken.
Voorbeeld 3. Maker van een online programma - skill welcome-letter-new-participant
Wat diegene handmatig doet: een nieuwe deelnemer heeft betaald en er moet een welkomstmail worden geschreven. Een goede welkomstmail is persoonlijk: die houdt rekening met het kanaal waarlangs de deelnemer kwam, welk product die kocht, in welke groep die zit en welke materialen meegestuurd moeten worden. Een sjabloon met ‘hallo, we zijn blij’ doet dat niet.
De skill geeft Claude opdracht knowledge/audience.md te lezen (wie deze mensen zijn), knowledge/products/<product>.md (wat ze krijgen) en de laatste drie welkomstmails (om herhaling te vermijden), en vervolgens de mail met deze structuur te schrijven: openingszin - productspecifieke informatie - de eerste drie stappen - afsluiting.
Veel sneller dan handmatig. De kwaliteit is consistenter omdat Claude eraan denkt drie bronnen te controleren, terwijl iemand die haast heeft er één overslaat.
Wat je NIET in een skill moet omzetten
- Eenmalige taken. Doe je iets één keer per jaar bij het invullen van je belastingaangifte, beschrijf het dan gewoon in de chat aan Claude. Een skill verdient zichzelf terug na 3+ herhalingen.
- Taken die te algemeen zijn. ‘Help me met marketing’ is geen skill; het is alle marketing. Een skill is ‘een wekelijkse contentplanning’: een specifieke handeling met een specifiek resultaat.
- Taken zonder herhaalbare stappen. Is het proces elke keer anders, dan is het geen skill maar een eenmalige taak.
Hoe schrijft Skill Creator skills voor je?
Belangrijkste punten
Skill Creator is een meta-skill van Anthropic, gelanceerd met de opdracht /skill-creator. De tool leidt je door zes stappen: opstellen, testen, evalueren, itereren, optimaliseren en verpakken. Het resultaat is een gebruiksklare SKILL.md die is getest met 20 trigger-evals (10 moeten activeren en 10 mogen niet activeren). Voor iemand die niet programmeert is dit de snelste manier om een eerste werkende skill te schrijven, zonder YAML uit te zoeken of met Claude te discussiëren.
De moeilijkheid is dat je niet zomaar in één keer een goede skill schrijft. Een description is vaak te beperkt of te breed, mist de zinnen die gebruikers echt gebruiken of conflicteert met een naburige skill. Anthropic pakte dit aan door skill-creator uit te brengen, een meta-skill die andere skills kan maken.
Installeer anthropics/skills, zeg tegen Claude /skill-creator (of gewoon ‘laten we een skill voor het weekrapport maken’) en volg een workflow in zes stappen:
- Opstellen - skill-creator stelt vragen: wat de skill moet doen, welke triggerzinnen je moet gebruiken, welke bronnen je moet lezen en welke stappen je moet volgen. Het resultaat is de eerste versie van SKILL.md.
- Testen - skill-creator maakt 20 testprompts: 10 die de skill moeten activeren en 10 die op triggers lijken maar dat niet mogen (bijna-treffers).
- Evalueren - de tool voert elke prompt uit in een nieuwe chat en controleert of de skill is geactiveerd. Als de skill wordt geactiveerd waar dat niet moet of niet wordt geactiveerd waar dat wel moet, wordt het resultaat gemarkeerd.
- Itereren - de tool herschrijft de description op basis van de mislukkingen en voert de tests opnieuw uit.
- Optimaliseren - de laatste afwerking: controleren of de limiet van 1024 tekens wordt overschreden en of er conflicten zijn met bestaande projectskills.
- Verpakken - de definitieve SKILL.md en referentiebestanden in de juiste structuur plaatsen.
In de praktijk ziet het er zo uit: je praat 15-20 minuten met Claude, beantwoordt 7-8 verhelderende vragen en krijgt uiteindelijk een kant-en-klare, geteste skill die op de juiste triggers wordt geactiveerd.
Een bijkomend voordeel is dat skill-creator een voorbeeldige stijl laat zien voor het schrijven van SKILL.md. Je kunt het eigen bestand openen en de indeling, toon en structuur van de stappen bekijken. De tool demonstreert zichzelf: je leest het en leert hoe je je eigen skill schrijft.
Skills, CLAUDE.md, Subagents, MCP, Hooks: welke gebruik je?
Belangrijkste punten
Claude Code heeft vijf afzonderlijke bouwstenen om gedrag uit te breiden, en ze zijn niet onderling uitwisselbaar. CLAUDE.md bevat permanente projectkennis. Skills zijn herhaalbare workflows die door triggers worden geactiveerd. Subagents voeren werk parallel uit in een aparte context. MCP koppelt externe systemen (API’s, databases). Hooks reageren automatisch op gebeurtenissen. De meest voorkomende fout van vibe-coders is alles in CLAUDE.md stoppen of een skill met een hook proberen te maken.
Het vaakst voorkomende probleem in projecten die ik heb beoordeeld, is dat CLAUDE.md projectregels, stapsgewijze publicatie-instructies, een commit-sjabloon en een databasebeschrijving allemaal samen bevat. Daardoor raakt de context overbelast en werkt het in de praktijk ook niet: Claude voert de instructie ‘wanneer de gebruiker vraagt om te publiceren’ niet uit, omdat het model heel CLAUDE.md als algemene context zonder expliciete triggers behandelt.
De oplossing is elk onderdeel aan de juiste bouwsteen toe te wijzen:
| Wat | Wanneer gebruik je het | Voorbeeld |
|---|---|---|
| CLAUDE.md | Kennis die ALTIJD nodig is | ‘Het project heeft een vaste taal’, ‘geen lange streepjes in tekst’, ‘de merknaam wordt met een “o” gespeld’ |
| Skills | Een herhaalbaar proces dat door een trigger wordt geactiveerd | ‘Naar productie publiceren’, ‘wekelijkse postplanning’, ‘de boekhouding van de klant voor de maand afsluiten’ |
| Subagents | Parallel werk of zware context isoleren | ‘Beveiligingsaudit terwijl ik een nieuwe functie plan’, ‘de codebase in een aparte sessie beoordelen’ |
| MCP | Een extern systeem koppelen | ‘Gegevens uit het CRM ophalen’, ‘taken uit de tracker ophalen’, ‘de website in een browser controleren’ |
| Hooks | Automatisch reageren op een gebeurtenis | ‘Een controle uitvoeren na Edit’, ‘gevaarlijke opdrachten blokkeren’, ‘een Telegram-melding sturen wanneer het klaar is’ |
In het kort komt het neer op een eenvoudige logica: Skills en MCP dekken de meeste workflows; Hooks automatiseren routinewerk zoals codecontroles, tests en beveiligingsmaatregelen. Subagents zijn nodig wanneer de context zwaar wordt. De meest voorkomende fout is een subagent maken waar een skill nodig is.
Beslisboom
Wanneer je denkt: ‘Ik wil dat Claude X doet’:
- Is deze kennis altijd nodig? Bijvoorbeeld: ‘Het project heeft een vaste taal’ of ‘we gebruiken geen em-dashes’. → Zet het in
CLAUDE.md. - Is het een procedure met een trigger die je nu handmatig uitvoert? Bijvoorbeeld: ‘Ik schrijf elke maandag een rapport’. → Maak een skill.
- Heb je toegang tot een extern systeem nodig? Bijvoorbeeld de Stripe API of je CRM. → Koppel een MCP-server.
- Moet Claude Code automatisch reageren op een gebeurtenis? Bijvoorbeeld na elke Edit een linter uitvoeren. → Schrijf een hook.
- Is de taak zwaar, neemt die alle context in beslag en moet je daarnaast iets parallel doen? → Voer die uit in een subagent.
90% van de taken van een ondernemer-vibe-coder valt in categorieën 1-3. Hooks en subagents zijn hulpmiddelen voor gevorderden, voor wanneer je verder bent dan ‘één taak tegelijk’.
Slash Commands en Skills zijn hetzelfde
Een belangrijke verandering in Claude Code: het oude systeem voor slash commands (.claude/commands/) en skills zijn feitelijk samengevoegd. Zowel het bestand .claude/commands/deploy.md als .claude/skills/deploy/SKILL.md maakt een opdracht /deploy. Als de namen overeenkomen, krijgt de skill voorrang. Gebruik je nog het oude slash-command-formaat, stap dan over op skills; de syntaxis is duidelijker en er zijn meer mogelijkheden.
7 fouten waardoor een skill niet werkt
Belangrijkste punten
De meest voorkomende skillproblemen zijn geen bugs in Claude, maar fouten in de skill zelf. Een description zonder triggers, een overbelaste SKILL.md van 2,000 regels, twee vergelijkbare skills die conflicteren of proberen ‘alles van de marketplace’ te downloaden. Elk van deze fouten verstoort de activatie of werking van de skill.
1. Een description zonder triggers: de skill wordt niet geactiveerd
Symptoom: je hebt een skill geschreven, de structuur gecontroleerd en alles is geldig, maar Claude roept de skill niet aan bij gebruikersverzoeken. De oorzaak is bijna altijd dezelfde: een description als ‘Hulpmiddel voor content schrijven’. Claude weet niet op welke zinnen die moet reageren. Oplossing: zet 3-5 echte zinnen van gebruikers tussen aanhalingstekens in de description.
2. SKILL.md langer dan 500 regels: de aandacht verslapt
Anthropic raadt expliciet aan om de inhoud van het bestand binnen 500 regels te houden. Zijn je instructies 2,000 regels lang, dan verliest Claude zijn focus, volgt het stappen maar gedeeltelijk en raakt het in de war over de volgorde. Oplossing: verplaats grote gedeelten naar nabijgelegen bestanden — examples/, references/, scripts/ — en verwijs er vanuit SKILL.md naar.
3. Eén skill voor ‘alles over content’ in plaats van drie kleine
Een verleidelijke opzet: één grote content-skill met Telegram-posts, landingspagina’s en e-mail. Die werkt niet. De skill wordt voor de verkeerde verzoeken geactiveerd, haalt methodologieën door elkaar en levert een gemiddeld resultaat. Oplossing: één skill = één herhaalbare handeling. Heb je echt drie routines rond ‘content’, maak dan drie skills: telegram-post, landing-section, email-broadcast.
4. Een skill zonder sectie ‘wanneer NIET gebruiken’: conflicten
Symptoom: er zijn twee vergelijkbare skills in het project en Claude roept de verkeerde aan. Bijvoorbeeld: de ene skill gaat over een e-mailnieuwsbrief en de andere specifiek over welkomstmails voor deelnemers aan een programma. Zonder een expliciete voorwaarde als ‘niet activeren als het verzoek over een algemene mailinglijst gaat’ wordt de skill voor welkomstmails geactiveerd bij elke vermelding van ‘e-mail’. Oplossing: vermeld negatieve gevallen duidelijk in de description.
5. 50 skills in een project: descriptions worden afgekapt
Uit de Claude Code-documentatie:
Skillnamen worden altijd opgenomen, maar bij veel skills worden descriptions afgekapt om binnen de tekenlimiet te blijven. Daardoor kunnen de trefwoorden verdwijnen die Claude gebruikt om je verzoek te herkennen. Budget - 1% van het contextvenster van het model.
Als je 50 skillcollecties van een marketplace hebt gedownload, worden sommige descriptions afgekapt. De trefwoorden waarop je rekende kunnen verdwijnen. Oplossing: houd de 10-15 nuttigste skills in het actieve project. Bewaar de rest in een inactief archief buiten alle vindbare skillsmappen, bijvoorbeeld een aparte skill-archive/ bij je eigen materiaal. Installeer alleen benodigde skills in project- of gebruikersscope. ~/.claude/skills/ is een geïnstalleerde persoonlijke bibliotheek die in alle projecten zichtbaar is; daarheen verplaatsen verwijdert skills niet uit ontdekking.
6. Skills van niet-geverifieerde bronnen: beveiligingsrisico
Anthropic waarschuwt hiervoor in de officiële documentatie:
Gebruik skills alleen van vertrouwde bronnen: skills die je zelf hebt gemaakt of van Anthropic hebt gekregen. Een kwaadaardige skill kan Claude ertoe brengen tools aan te roepen of code uit te voeren op manieren die afwijken van het opgegeven doel van de skill.
Een willekeurige GitHub-repository kan een skill bevatten die je API-sleutels lekt zodra je die voor het eerst aanroept. Oplossing: open SKILL.md en lees het zelf voordat je de skill installeert. Voer geen skills van onbekende auteurs uit in belangrijke projecten.
7. Een skill zonder kennismap levert ‘gemiddelde ChatGPT’ op
De subtielste en meest voorkomende anti-pattern. Een skill is een methodologie, maar zonder context betekent die methodologie niets. Schrijf je een skill ‘maak een welkomstmail’ terwijl er in het project geen bestand is dat het publiek beschrijft en ook geen bestand over de merkstem, dan schrijft Claude een gemiddelde ChatGPT-mail die niet van die van anderen te onderscheiden is.
Een skill werkt het best wanneer je eerst het Second Brain van het project hebt opgebouwd volgens de principes in de gids over CLAUDE.md. Bouw eerst de kennisstructuur en maak daarna skills die erop steunen. Draai je de volgorde om, dan krijg je routinewerk van gemiddelde kwaliteit in plaats van persoonlijk werk in jouw stijl.
Zo bouw je je eerste skill in 30 minuten
Belangrijkste punten
Een recept stap voor stap om je eerste werkende skill te bouwen: kies één herhaalbare handeling, schrijf de stappen uit, maak de mapstructuur, schrijf de description met de formule, test die met 5-8 prompts en verbeter die totdat de skill wordt geactiveerd waar dat hoort. Een realistische tijdsinschatting voor de eerste skill is 30-40 minuten. Elke volgende skill kost 10-15 minuten omdat het formaat vertrouwd raakt.
Hier is het concrete plan dat ik gebruikte om de eerste skills in mijn projecten te bouwen:
Stap 1. Kies één herhaalbare handeling
Open je agenda van de afgelopen maand. Zoek een taak die je minstens 4-5 keer hebt uitgevoerd en die elke keer 30-60 minuten kost. Geen brede taak als ‘marketing’, maar iets concreets: ‘maandags verkooprapport’, ‘een nieuwe klant onboarden’ of ‘de prijslijst voor een promotie bijwerken’.
Hoe specifieker de formulering, hoe eenvoudiger de skill en hoe duidelijker de trigger.
Stap 2. Schrijf het proces handmatig uit
Schrijf in een apart bestand of in een chat met Claude (niet voor de skill, maar als concept) de stappen uit die je volgt:
1. Open de klantendatabase
2. Filter op de status "wacht op welkomstmail"
3. Controleer via welk kanaal de klant is gekomen
4. Haal de e-mailsjabloon voor dat kanaal op uit de map "templates"
5. Vul de naam, het product en de startdatum in
6. Verstuur
Dit is nog geen skill, maar een set notities. Zonder deze notities raak je echter al vanaf het begin in de war bij het schrijven van SKILL.md.
Stap 3. Maak de mapstructuur
mkdir -p .claude/skills/welcome-email-new-client
touch .claude/skills/welcome-email-new-client/SKILL.md
Of zet de skill in ~/.claude/skills/ als je die in al je projecten wilt gebruiken.
Stap 4. Schrijf SKILL.md met behulp van het sjabloon
Skelet:
---
name: welcome-email-new-client
description: |
Maakt een welkomstmail voor een nieuwe klant met het sjabloon voor het kanaal waarlangs die klant is binnengekomen.
Triggers: "schrijf een welkomstmail voor nieuwe klant X",
"onboard nieuwe deelnemer Y", "welkomstmail voor klant van kanaal Z".
Niet activeren als het verzoek over een algemene mailinglijst
of een e-mailcampagne gaat - daarvoor zijn andere skills.
---
# Welcome Email for a New Client
## Steps
1. Lees `knowledge/audience/segments.md` - welke klantsegmenten we hebben
2. Lees `knowledge/templates/welcome/` - sjablonen per kanaal
3. Bepaal het kanaal van de klant aan de hand van de verzoekcontext
4. Vul de naam van de klant, de productnaam en de startdatum in
5. Controleer de lengte: maximaal 800 tekens
6. Geef de definitieve e-mailtekst in een formaat dat direct kan worden gekopieerd
## Important
- Gebruik geen ‘beste vriend’ of ‘hallo’ - gebruik natuurlijke taal
- Eén alinea, één idee
- Sluit af met één oproep tot actie, niet twee
Stap 5. Test met 5-8 prompts
Open een nieuwe lege chat met Claude Code in dit project. Probeer 5 zinnen die je echt gebruikt en 3 vergelijkbare zinnen die de skill niet mogen activeren:
Moet activeren:
- ‘Schrijf een welkomstmail voor nieuwe klant Ivanov’
- ‘Onboard een nieuwe deelnemer die programma X heeft gekocht’
- ‘Welkomstmail voor een klant van Instagram’
Mag niet activeren:
- ‘Stuur een promotionele e-mail naar de hele lijst’
- ‘E-mailcampagne voor de nieuwjaarsvakantie’
- ‘Schrijf een follow-up aan een klant die niet heeft betaald’
Controleer bij elke zin of de skill is geactiveerd. Wordt de skill in verkeerde gevallen geactiveerd, maak de description dan specifieker. Wordt die niet geactiveerd waar dat wel moet, verruim dan de triggerzinnen.
Stap 6. Pas de description iteratief aan
Bewerk na elke mislukte test alleen de description, niet de instructietekst. Na 2-3 iteraties wordt de skill betrouwbaar geactiveerd. Sla die op, commit de wijzigingen en gebruik de skill daarna dagelijks.
Laatste advies: probeer je eerste skill niet perfect te maken. Zorg dat die werkt. De afwerking komt na je vijfde of tiende skill, wanneer je patronen in je formuleringen en in de antwoorden van Claude begint te zien.
Kies voor deze week één terugkerende taak uit je agenda, reserveer 30 minuten en volg de zes bovenstaande stappen. Dan werkt Claude volgens jouw methodologie in plaats van te gokken.
Bronnen
- Claude uitbreiden met skills - Claude Code-documentatie
- Overzicht van Agent Skills - Claude Platform-documentatie
- Agents uitrusten voor de echte wereld met Agent Skills - Anthropic Engineering Blog
- anthropics/skills - officiële repository met skill-creator
- Skill Creator SKILL.md - bron van de trigger-evals-methodologie
- vercel-labs/agent-skills - ontwerprichtlijnen
- Open standaard Agent Skills - specificatie
Heb je via Ailoot toegang tot AI-modellen nodig, bekijk dan Ailoot.
Meer details
Vragen en antwoorden
Maakt een skill naar ~/.claude/skills/ verplaatsen die inactief?
Nee. Die map is de geïnstalleerde persoonlijke scope en maakt de skill in je projecten beschikbaar. Bewaar ongebruikte pakketten buiten alle vindbare skillsmappen in een archief en installeer alleen wat nodig is.
Hoe test ik of een description goed activeert?
Probeer vijf formuleringen die de skill moeten activeren en drie vergelijkbare verzoeken die dat niet moeten doen. Gebruik verse chats, noteer welke skill laadde en pas de description aan bij gemiste echte verzoeken of verkeerde treffers.