CLAUDE.md, Rules en Skills: Zo Configureer je AI die je Bedrijf Kent

Stel je voor: je neemt een briljante medewerker aan. Slimmer dan wie ook in je team. Maar je geeft geen onboarding, geen procesbeschrijvingen, en geen huisregels. Na een week heeft die medewerker vijf keer het verkeerde bestandsformaat gebruikt, de database-conventies genegeerd, en een email gestuurd in een toon die niet bij je merk past.

Dat is wat er gebeurt als je Claude Code gebruikt zonder configuratie.

In het vorige deel behandelde ik de basis: installatie en de 3-laag structuur. Nu gaan we de diepte in. Hoe schrijf je een CLAUDE.md die echt werkt? Wanneer gebruik je rules? En wat zijn skills — en waarom zijn ze het verschil tussen een tool en een teamlid?

CLAUDE.md schrijven: de onboarding die alles verandert

Je CLAUDE.md is het belangrijkste bestand in je project. Het wordt bij elke sessie geladen en bepaalt hoe Claude Code zich gedraagt. Behandel het als een onboarding-document voor een nieuwe developer.

Wat erin moet staan

1. Wat is dit project? (2-3 zinnen)

Niet een essay. Een korte context zodat Claude begrijpt waar het mee werkt:

markdown
## Project
E-commerce platform voor vintage kleding.
Next.js 14 frontend met App Router, Supabase backend, Stripe betalingen.
Doelgroep: vrouwen 25-45 die tweedehands designer merken zoeken.

2. Mapstructuur (met beschrijvingen)

Claude Code kan je bestanden lezen, maar een expliciete structuur scheelt het duizenden tokens aan verkenning:

markdown
## Mapstructuur
- src/app/ — Next.js pagina's (App Router)
- src/components/ui/ — Herbruikbare UI componenten (Radix UI + Tailwind)
- src/components/features/ — Feature-specifieke componenten
- src/lib/ — Utility functies, Supabase client, Stripe helpers
- src/hooks/ — Custom React hooks
- supabase/migrations/ — Database migraties (NOOIT handmatig bewerken)
- tests/ — Alle tests (NOOIT naast bronbestanden)

3. Expliciete regels (do's en don'ts)

Dit is waar de meeste mensen te vaag zijn. Wees letterlijk:

markdown
## Regels
- NOOIT inline styles — altijd Tailwind classes
- NOOIT directe Supabase queries in componenten — gebruik src/lib/queries/
- NOOIT console.log in commits — gebruik de logger uit src/lib/logger.ts
- Tests staan ALTIJD in tests/ (niet naast bronbestanden)
- Nieuwe API routes ALTIJD met rate limiting (src/lib/rate-limit.ts)
- Commitberichten in het Engels, in imperatief: "Add feature X" niet "Added feature X"

4. Beschikbare commando's

markdown
## Development
- `bun dev` — lokale server (NIET npm, wij gebruiken bun)
- `bun test` — tests draaien
- `bun run build` — productie build controleren
- `bunx supabase db push` — migraties toepassen

Wat er NIET in moet staan

  • Wisselende informatie (planning, sprint-details) → gebruik MEMORY.md
  • Domeinspecifieke regels → gebruik .claude/rules/
  • Herbruikbare workflows → gebruik .claude/skills/
  • Secrets of API keys → gebruik .env en settings.json

Het @import systeem

CLAUDE.md ondersteunt imports voor documenten die altijd geladen moeten worden:

markdown
@Strategie/02-positionering.md
@Strategie/04-content-strategie.md

Ik gebruik dit voor mijn positionering en content-strategie — documenten die bij elke content-taak relevant zijn. Maar wees zuinig: elke import kost context-ruimte. Maximaal 500 regels totaal aan imports.

Let op: @import werkt alleen in CLAUDE.md, niet in rules-bestanden.

Rules: Claude Code configuratie die automatisch wisselt

Rules zijn CLAUDE.md-fragmenten die alleen laden wanneer Claude werkt met bestanden in een specifiek pad. Dit is krachtig omdat je domeinspecifieke regels hebt zonder je hoofdconfiguratie te vervuilen.

Hoe het werkt

Maak een bestand in .claude/rules/ met YAML frontmatter:

yaml
---
paths:
  - "src/components/**"
  - "src/app/**"
---

# Frontend Regels

Alle componenten gebruiken Radix UI als basis.
Styling gebeurt via Tailwind — nooit inline CSS.
Elk component exporteert een type-definitie.
Loading states zijn verplicht voor async componenten.

Zodra Claude een bestand in src/components/ aanraakt, laden deze regels automatisch. Werkt het in supabase/migrations/, dan laden ze niet.

Mijn rules-structuur (echt voorbeeld)

Mijn content-workspace heeft 5 rules die automatisch wisselen:

BestandLaadt wanneerWat het doet
tone-of-voice.mdAltijd (geen paths)Vincent's schrijfstijl, verboden zinnen, authority signalen
content-workflow.mdAltijd (geen paths)Opslagconventies, werkwijze per content type
linkedin-rules.mdContent/linkedin/**Algoritme regels, format-mix, hook formules
blog-rules.mdContent/blog/**Frontmatter template, SEO vereisten, categories
email-rules.mdContent/email/**MJML standaarden, kleurenschema, naamgeving

Het resultaat: als ik aan een LinkedIn post werk, kent Claude de LinkedIn-algoritme regels. Werk ik aan een blog, dan kent het de SEO-vereisten en het juiste frontmatter-formaat. Zonder dat ik iets hoef te schakelen.

Universele vs. pad-specifieke rules

Rules zonder paths: in de frontmatter laden altijd — net als content in CLAUDE.md zelf. Gebruik dit voor regels die projectbreed gelden (toon, werkwijze).

Rules met paths: laden alleen wanneer Claude bestanden in die paden aanraakt. Gebruik dit voor domeinspecifieke conventies.

Waarom rules en niet subdirectory CLAUDE.md bestanden?

Je kunt ook CLAUDE.md bestanden in submappen zetten (src/components/CLAUDE.md). Maar die laden alleen als Claude's werkdirectory precies die map is. In de praktijk werk je bijna altijd vanuit de project root — waardoor ze nooit laden. Rules met paths laden zodra Claude een bestand aanraakt dat matcht. Veel betrouwbaarder.

Skills: herbruikbare workflows

Skills zijn het meest onderschatte onderdeel van Claude Code. Een skill is een instructieset die Claude vertelt hoe het een specifieke taak moet aanpakken — van begin tot eind.

Het verschil met rules

  • Rules zeggen: "houd je aan deze regels" (passief, context)
  • Skills zeggen: "voer deze taak zo uit" (actief, workflow)

Skill-structuur

javascript
.claude/skills/
├── blog-writer/
│   ├── SKILL.md          — De instructies
│   └── references/       — Optioneel: referentiedocumenten
├── linkedin-writer/
│   └── SKILL.md
└── seo-agent/
    └── SKILL.md

Een SKILL.md heeft YAML frontmatter met een name en description. De description bepaalt wanneer Claude de skill automatisch activeert:

yaml
---
name: blog-writer
description: >
  Write SEO-optimized blog posts for vincentvandeth.nl.
  Use whenever the user mentions "blog", "artikel", or "post schrijven".
---

# Blog Writer

Je schrijft blogposts voor vincentvandeth.nl. Volg deze stappen:

1. Bepaal het topic, de doelgroep, en het type (pillar, supporting, how-to)
2. Maak de folder structuur aan
3. Schrijf de complete index.md met frontmatter
4. Voeg image placeholders toe
5. Sla op in Content/blog/drafts/

Skills vs. Plugins: het verschil

Dit is een veelgestelde vraag. Het korte antwoord:

AspectSkillPlugin
ActiveringAutomatisch (op basis van description) of via Skill toolVia slash command (/naam)
Locatie.claude/skills/ in je project.claude/plugins/ of marketplace
ScopeEén taak of workflowKan meerdere skills + commands bevatten
VolgordeModel bepaalt wanneer het pastGebruiker roept het expliciet aan

Skills zijn ideaal voor taken die Claude zelfstandig moet herkennen en uitvoeren: "de gebruiker wil een blogpost schrijven → activeer blog-writer skill."

Plugins zijn ideaal voor pipelines met een vaste volgorde: "voer eerst research uit, dan SEO-analyse, dan schrijven, dan validatie." Een plugin bundelt meerdere skills en dwingt de volgorde af via slash commands.

Mijn skills in productie

Ik heb 30+ skills in mijn content-workspace:

Content creatie: blog-writer, linkedin-writer, email-sequence, copywriting, cold-email Strategie: content-strategy, marketing-ideas, pricing-strategy, launch-strategy SEO: seo-agent (keyword research), seo-interlinker (interne links) Research: research-agent (bronnen zoeken via Perplexity + Brave Search) Data: audience-intelligence (live Supabase queries voor doelgroep-inzichten) Publicatie: blog-publisher (Git pipeline), blog-images (visuals maken)

Elke skill is getest en geëvalueerd met de Skill Creator plugin. Daarover meer in deel 4.

Skill structuur met automatische triggers
Skills activeren automatisch op basis van de description in het YAML frontmatter

Alles samenvoegen: een echt project configureren

Hier is hoe je een nieuw project in 15 minuten configureert:

Stap 1: Maak CLAUDE.md in je project root

bash
touch CLAUDE.md

Beschrijf: wat is het project, mapstructuur, conventies, commando's.

Stap 2: Maak de rules directory

bash
mkdir -p .claude/rules

Maak 1-2 domeinspecifieke rules voor je belangrijkste werkgebieden.

Stap 3: Maak je eerste skill

bash
mkdir -p .claude/skills/mijn-eerste-skill

Beschrijf een taak die je regelmatig uitvoert. Wees specifiek over de stappen.

Stap 4: Configureer settings

bash
# .claude/settings.json
{
  "permissions": {
    "allow": ["Read", "Write", "Edit"]
  }
}

Stap 5: Start Claude Code en test

bash
claude

Geef het een taak en kijk of het je regels volgt. Verfijn waar nodig.

De investering die zich terugbetaalt

Een goede CLAUDE.md schrijven kost je een uur. Rules en skills opzetten nog een uur. Maar die twee uur besparen je tientallen uren per week aan:

  • Context opnieuw uitleggen bij elke sessie
  • Fouten corrigeren die regels hadden voorkomen
  • Workflows handmatig herhalen die een skill automatiseert

Na een week merkt je het verschil. Na een maand vraag je je af hoe je ooit zonder hebt gewerkt.

Volgende stap

In deel 4 leer je hoe je je skills niet alleen schrijft, maar ook evalueert en meetbaar verbetert — met de Skill Creator plugin.

Wil je dit niet zelf uitzoeken? Plan een kennismakingsgesprek — ik configureer Claude Code voor jouw bedrijfsproces en draag de kennis over aan je team.

Vincent van Deth

AI Strategy & Architecture

Met jarenlange ervaring in marketingstrategie en AI-architectuur help ik bedrijven om hun groeipotentieel te maximaliseren met data-gedreven inzichten en AI-automatisering.

Mijn expertise ligt in het ontwerpen van AI-agent workflows, het strategisch inzetten van multi-agent systemen en het verbeteren van processen door schaalbare, auditeerbare oplossingen.

Of het nu gaat om het verfijnen van je AI-strategie, het selecteren van de juiste modellen of het implementeren van governance voor AI-gestuurde processen — ik bied maatwerkadvies dat leidt tot meetbare resultaten.

Reacties

Je e-mailadres wordt niet gepubliceerd. Reacties worden beoordeeld voor plaatsing.

Reacties laden...