Claude-plugin: veilige bouwprompt
Iemand stuurt je een prompt met de belofte dat Claude “even” een plugin voor je database bouwt. Je plakt hem in Claude Code. De eerste minuten lijken onschuldig: het model leest je project, zoekt tabellen en schrijft een plan. Maar als de opdracht niet scherp genoeg is, schuift het gesprek ongemerkt door naar een live verbinding met echte klantdata.
Een populaire X-post over Claude-plugins geeft hiervoor een opvallend verstandige basis: eerst code lezen, geen databaseverbinding maken, geen .env openen, daarna pas een bouwlijst tonen en op bevestiging wachten. Anthropic bevestigt dat je nu een eigen plugin kunt uploaden of indienen. De ontbrekende stap zit niet in de techniek, maar in de opdracht: wanneer mag de agent precies van onderzoek naar uitvoering?

“Alleen lezen” begrenst de vraag nog niet
Een read-only databaseaccount voorkomt wijzigingen. Het voorkomt niet dat een agent een complete klantentabel uitleest. Vraag daarom niet om “toegang tot productdata”, maar om benoemde antwoorden. Bijvoorbeeld: geef per dag het aantal nieuwe accounts en het aantal daarvan met een afgeronde betaling terug. Geen namen, e-mailadressen, losse orders of vrije SQL. Schrijf ook op wat “nieuw” en “betaald” betekenen. Anders kan het model bij elke nieuwe vraag een andere definitie kiezen.
Mijn oordeel: een goede bouwprompt is hier vooral een bevoegdheidsgrens. De agent moet kunnen aantonen wat hij onderzocht heeft en moet stoppen voordat hij een echte verbinding maakt. Pas na je akkoord krijgt hij een nieuwe, afgebakende uitvoeropdracht. Een zin als “vraag eerst toestemming” is te zwak wanneer het plan niet concreet zegt welke gegevens de connector terugstuurt. Dat onderscheid tussen een opdracht voor een agent en een gewone chatprompt zie je ook bij kleinere taken.
Gebruik deze opdracht voor de onderzoeksfase
Je kunt de eerste fase zo formuleren:
Onderzoek alleen de code van dit project. Open geen .env, secrets of klantdata en maak geen verbinding met productie. Zoek waar aanmeldingen, bevestigde betalingen en fouten worden geregistreerd. Geef per gewenste vraag: de bron, de exacte definitie van het getal, de velden die nodig zijn, de gegevens die nooit in het antwoord mogen verschijnen, en een test met een bekende periode. Schrijf nog geen plugin, server of configuratie. Wacht na het plan op mijn besluit.
Dit is geen magische veiligheidslaag. Een prompt kan een verkeerd ingerichte tool niet tegenhouden. Controleer dus ook welke bestanden en verbindingen de agent technisch kan bereiken. Voor de latere uitvoering hoort de server zelf de gegevens te filteren; de modelinstructie mag dat niet als enige bescherming dragen. Lees ook hoe je onbetrouwbare broninhoud uit een prompt houdt zodra de agent websites of documenten raadpleegt.
De proefvraag bepaalt of de opdracht goed was
Na een goedgekeurd plan test je één echte vraag, bijvoorbeeld “Hoeveel aanmeldingen van vorige week hebben betaald?” Vergelijk de uitkomst met het betaaloverzicht. Controleer ook het antwoord wanneer er nul betalingen zijn en wanneer een betaling later wordt teruggedraaid. Als die drie gevallen niet kloppen, moet eerst de definitie of query worden hersteld. Een mooie pluginbeschrijving lost dat niet op.
Het zwakke punt van deze strakke aanpak is snelheid. Je laat de agent twee keer stoppen en moet zelf de begrippen controleren. Dat kost tijd. Bij klant- en betaalgegevens is die controle goedkoper dan een overtuigend antwoord op de verkeerde vraag. Wie vandaag wil beginnen, kan één terugkerende vraag uitschrijven en de definitie naast het bestaande dashboard leggen. Daarna pas is een bouwprompt zinvol. Anthropic documenteert bovendien welke pluginonderdelen per Claude-app werken; controleer dat vóór je web of mobiel in je opdracht belooft.