AI / GenAI·6 min·27 september 2026

Claude Code keurt nu je instructies op oude promptgewoontes

Mijn Claude Code laadt bij elke sessie in deze repo drie instructiebestanden: een globale CLAUDE.md, een voor de map met al mijn projecten en een voor sparkone.nl zelf. Samen zijn dat 9715 woorden. Het meeste daarvan is ooit geschreven omdat er iets misging, en bij veel regels staat nog wanneer.

Op 24 september heb ik daar al in gesnoeid. In de git-historie van deze site staan die dag twee commits met als omschrijving “geschiedenis weg, symptomen blijven”. Het idee was dat een regel niet sterker wordt van de datum waarop hij ontstond. Deze week bleek Anthropic daar een gereedschap voor te hebben gebouwd.

In juni schreef ik al over het advies om het model minder te vertellen. Nu komt daar een meetlat bij.

Wat er nieuw is

Claude Code 2.1.283 voegt /doctor prompt-audit toe, ook te starten als /checkup prompt-audit. De changelog omschrijft het als een audit van je CLAUDE.md-bestanden, skills, agents en commands op promptpatronen die voor oudere modellen zijn geschreven. Meer zegt de changelog er niet over. De documentatie van /doctor noemde de nieuwe optie op 26 september nog niet, en een losse docs-pagina voor de audit gaf een 404.

Er bestaat wel een oudere broer. Onder /claude-api staat al een subcommando prompt-audit voor wie apps bouwt op de Claude API. Die leunt op een uitgebreide gids die met Claude Code wordt meegeleverd, en daarin staat precies welke patronen als verouderd gelden. Ik ga ervan uit dat de nieuwe /doctor-variant met dezelfde meetlat werkt, maar dat heb ik niet kunnen vaststellen.

Wat de audit als verouderd ziet

Het uitgangspunt van de gids is dat huidige modellen instructies nauwkeuriger en letterlijker opvolgen dan de modellen waarvoor veel prompttekst is geschreven. Oude tekst kost dan niet alleen tokens, hij stuurt het gedrag de verkeerde kant op. De gids zegt er nadrukkelijk bij dat het doel het vinden van specifieke gedateerde instructies is, en dat korter maken geen doel op zich is.

PatroonVoorbeeldWat de gids voorstelt
DruktaalCRITICAL: You MUST use this tool when...Zeggen wanneer je de tool gebruikt
Aansporing“Be thorough. Do not be lazy.”Weg, huidige modellen doen dat uit zichzelf
Verbodslijsten“nooit X, vermijd Y, doe geen Z”Houden wat een echte reden heeft, de rest positief formuleren
Stap-voor-stapscriptsSTAP 1: ... STAP 2: ... voor oordeelswerkHet doel beschrijven, niet de route
GeschiedenisverhalenIncidentdatums, PR-nummers, vastgepinde modelnamenDe huidige regel noemen, de archeologie schrappen
De recency-valEén misstap uit één sessie als vaste regelAlleen houden wat de meeste sessies helpt

Volgens de gids kan een verbod op een fout die het model toch niet zou maken, het juist richting die fout trekken. Een verbodslijst is dus niet gratis, ook niet als elk verbod op zich klopt.

Er staat ook een lijst in van wat de audit moet laten staan. Context is nooit overbodig: wie het publiek is, welke omgeving het is, en de redenen achter een regel. Een verbod op een fout die het huidige model nog steeds maakt, blijft ook staan. En de gids zegt letterlijk dat een audit die niets vindt ook niets moet veranderen.

Mijn eigen stapel ernaast gelegd

De audit zelf heb ik nog niet kunnen draaien. Mijn installatie staat op versie 2.1.273, en de audit zit pas in 2.1.283. Wel liet ik een paar van de signalen uit de gids tellen in de bestanden die hier bij elke sessie meeladen. Dat is een telling en geen audit.

SignaalWat de telling vond
IMPORTANT, CRITICAL, MUST, NEVER, ALWAYS0 regels, in alle vier de CLAUDE.md-bestanden
Regels met “nooit”, “verboden” of een ❌20 in de globale CLAUDE.md, 18 in die van sparkone.nl
Regels met een datum uit 202648, verspreid over drie CLAUDE.md-bestanden en twee commands

De klassieke hoofdletters kwamen dus niet voor. Het patroon dat wel terugkomt is de geschiedenis. Achter veel regels staat nog op welke dag iets misging, en dat noemt de gids archeologie.

Die grens is lastig te trekken. De gids wil dat een reden blijft staan, want een reden is context. Het incident dat tot die reden leidde, mag weg. In de praktijk loopt dat door elkaar. “Blotato weigert een post boven de 200 geplande” is een reden. “Op 13 augustus ging het mis met de alt-tekst” is een incident. Maar dat incident vertelt ook welk veld verdween, en dat is precies wat een volgende sessie moet weten.

De kanttekening

De leverancier bepaalt wat verouderd is. De meetlat komt van dezelfde partij die de modellen maakt, en hij verschuift bij elk nieuw model. De gids zegt het zelf: draai de audit opnieuw bij elke modelrelease. Je instructies worden daarmee een product dat hoort bij één model van één aanbieder. Wie ze afstemt op Claude, stemt ze af weg van alles wat niet Claude is.

De audit stelt voor, jij beslist. Of een verbod een echte fout tegenhoudt of alleen een oude angst is, kan de audit niet zien. Dat weet alleen wie erbij was. De gids is daar eerlijk over: vragen of het model een instructie nodig heeft is geen meting. Je moet het gedrag vóór en na testen. Wie de voorstellen blind overneemt, schrapt ook de regels die er om een goede reden stonden.

Controleren kost gebruik. De audit leest al je instructies door, en de controle die de gids aanraadt vraagt om proefdraaien vóór en na elke wijziging. Dat gaat van je limiet af, en bij een grote stapel skills en commands is dat geen kleine post.

Wat ik zelf doe

Ik werk Claude Code bij en draai de audit eerst alleen lezend, zonder iets te laten aanpassen. Daarna loop ik de voorstellen per regel na. De incidentdatums mogen weg waar de regel zonder datum net zo duidelijk is. Wat blijft staan zijn de regels met een reden die een volgende sessie nodig heeft, ook als de audit ze als geschiedenis markeert.

Dezelfde release geeft beheerders ook twee instellingen voor modelkeuze. Ze kunnen met availableModelsMatch instellen dat nieuwe modelversies geblokkeerd blijven tot ze expliciet worden toegelaten, en met deniedModels specifieke modellen weren. Als instructies per model worden geschreven, is het logisch dat je ook per model kunt kiezen wanneer je overstapt.

Veelgestelde vragen

Wat doet /doctor prompt-audit?

Het loopt je CLAUDE.md-bestanden, skills, agents en commands na op prompttaal die voor oudere modellen is geschreven. Denk aan druktaal in hoofdletters, lange verbodslijsten, stap-voor-stapscripts en regels die nog naar een oud incident verwijzen.

Past de audit mijn bestanden zelf aan?

De gids achter de /claude-api-variant zegt dat de audit wijzigingen voorstelt als diff en niets toepast zonder toestemming. Of de /doctor-variant zich hetzelfde gedraagt, staat nog niet in de documentatie.

Moet ik mijn CLAUDE.md dan korter maken?

Niet per se. De gids waarschuwt er zelf voor om iets te schrappen alleen omdat het lang is. Context over je project, je publiek en de redenen achter regels blijft staan. Wat weg mag, zijn instructies voor gedrag dat het huidige model toch al vertoont.

Bronnen

  • Claude Code changelog, versie 2.1.283, geraadpleegd 26 september 2026 — github.com/anthropics/claude-code
  • Claude Code Docs, pagina “Commands”, geraadpleegd 26 september 2026 — code.claude.com
  • Auditgids shared/prompt-audit.md uit de skill claude-api die met Claude Code wordt meegeleverd (bundel 2.1.281), gelezen 26 september 2026
  • Eigen telling over de CLAUDE.md-bestanden en commands van deze site, 26 september 2026
  • Eigen stuk, 23 juni 2026 — Vertel het model minder. Het weet vaak een betere weg.

Gecontroleerd op 26 september 2026 tegen de changelog, de docs en de meegeleverde auditgids. Twee dingen heb ik niet kunnen verifiëren. De audit zelf heb ik niet gedraaid, omdat mijn installatie nog op 2.1.273 staat. En of /doctor prompt-audit dezelfde gids gebruikt als /claude-api prompt-audit, staat nergens; de changelog en de gids gebruiken dezelfde omschrijving, maar dat is geen bewijs. De tellingen zijn eenvoudige zoekopdrachten op een paar signalen uit de gids en geen oordeel over elke regel.