guide security

Claude Code Skills: hoe NanoClaw uitbreidbaarheid krijgt zonder plugin-marktplaats

NanoClaws.io

NanoClaws.io

@nanoclaws

26 februari 2026

8 min leestijd

Claude Code Skills: hoe NanoClaw uitbreidbaarheid krijgt zonder plugin-marktplaats

Het plugin-marktplaatsmodel heeft een verleidelijke pitch: installeer wat je nodig hebt, sla over wat je niet nodig hebt, draag je eigen bij. Het werkte voor browsers, voor VS Code, voor WordPress. Het leek logisch om hetzelfde model toe te passen op AI-agents. Toen kwam ClawHub — 41,7% van de gepubliceerde skills bevatte kwetsbaarheden, honderden waren ronduit kwaadaardig, en het hele vertrouwensmodel stortte in onder het gewicht van een supply chain die niemand kon auditen.

NanoClaw keek naar die mislukking en stelde een andere vraag: wat als uitbreidbaarheid helemaal geen marktplaats vereiste? Wat als het toevoegen van een nieuwe mogelijkheid aan je AI-assistent zo eenvoudig was als Claude Code vertellen wat je wilde, en het de broncode direct laten aanpassen?

Dat is het Claude Code skills-model. En het blijkt zowel eenvoudiger als veiliger te zijn dan welk pluginsysteem dan ook.

Hoe skills werkelijk werken

Een Claude Code skill is een slash-commando — zoals /add-telegram of /add-discord — dat je uitvoert in een Claude Code-sessie. Wanneer je een skill aanroept, leest Claude Code de NanoClaw-broncode, begrijpt de bestaande architectuur en schrijft de nieuwe integratie rechtstreeks in de codebase. Het installeert geen pakket uit een registry. Het downloadt geen code van het internet. Het genereert code die past bij jouw specifieke NanoClaw-instantie, door jou beoordeeld voordat het draait.

De /add-telegram skill installeert bijvoorbeeld geen Telegram npm-pakket en koppelt het via een plugin-interface. Het voegt een Telegram-botlistener toe aan NanoClaw's berichtenlus, met de node-telegram-bot-api-bibliotheek, met hetzelfde containerisolatie- en beveiligingsmodel dat WhatsApp al gebruikt. De gegenereerde code volgt dezelfde patronen als de bestaande codebase omdat Claude Code de bestaande codebase kan zien en de stijl kan matchen.

Dit verschilt fundamenteel van een pluginsysteem op drie manieren. Ten eerste is de code zichtbaar. Je kunt elke toegevoegde regel lezen, begrijpen wat het doet en aanpassen als je wilt. Er is geen gecompileerde binary, geen geminificeerde bundel, geen ondoorzichtig pakket dat je blind vertrouwt. Ten tweede is de code lokaal. Het leeft in jouw repository, onder jouw versiebeheer, onderworpen aan jouw reviewproces. Het belt niet naar huis, updatet niet automatisch, verandert geen gedrag zonder jouw medeweten. Ten derde is de code geïntegreerd. Het draait niet in een aparte plugin-sandbox met een beperkte API — het is onderdeel van de applicatie, met volledige toegang tot de patronen en hulpmiddelen die de rest van de codebase gebruikt. ## Waarom dit veiliger is dan plugins

Het beveiligingsargument is eenvoudig, maar het is de moeite waard om uit te spellen omdat het het tegenovergestelde is van wat de meeste ontwikkelaars verwachten.

In een pluginsysteem hangt beveiliging af van vertrouwen. Je vertrouwt de plugin-auteur, je vertrouwt het reviewproces van de marktplaats, je vertrouwt dat het pakket niet gecompromitteerd is sinds het beoordeeld werd, en je vertrouwt dat de dependencies ook niet gecompromitteerd zijn. Elk van deze vertrouwensaannames is een potentieel faalpunt, en ClawHub toonde aan dat ze allemaal tegelijk kunnen falen.

In het skills-model hangt beveiliging af van zichtbaarheid. Wanneer Claude Code een Telegram-integratie genereert, kun je precies zien wat het doet voordat je het draait. Je kunt de code reviewen, testen, aanpassen of volledig afwijzen. De vertrouwensgrens is niet "vertrouw ik het npm-pakket van deze onbekende ontwikkelaar?" — het is "doet deze code die ik kan lezen wat ik wil dat het doet?"

Er is ook geen supply chain om aan te vallen. Een kwaadwillende kan geen getrojaniseerde skill uploaden naar een marktplaats omdat er geen marktplaats is. Ze kunnen geen populaire pakketnaam typosquatten omdat er geen pakketten zijn. Het aanvalsoppervlak dat honderden kwaadaardige ClawHub-skills mogelijk maakte, bestaat simpelweg niet in dit model.

De afweging is dat skills Claude Code nodig hebben om ze te genereren, wat betekent dat je een Anthropic API-key en een Claude Code-sessie nodig hebt. Je kunt niet door een catalogus bladeren en op "installeren" klikken. Maar voor een project waarvan de gebruikers ontwikkelaars zijn die vertrouwd zijn met een CLI, is deze afweging nauwelijks merkbaar — en de beveiligingsvoordelen zijn aanzienlijk.

De skills die vandaag bestaan

NanoClaw wordt geleverd met WhatsApp ingebouwd. Al het andere wordt toegevoegd via skills. De huidige skillset dekt de meest gevraagde integraties: /add-telegram voor Telegram-botondersteuning, /add-discord voor Discord-gateway-integratie, /add-slack voor Slack Events API, en /add-signal voor Signal-berichten.

Elke skill genereert ruwweg 100-300 regels code, afhankelijk van de complexiteit van de API van het kanaal. De gegenereerde code bevat de kanaallistener, berichtopmaak, containerrouting en configuratie — alles wat nodig is om de integratie end-to-end te laten werken. Het bevat ook de omgevingsvariabeledeclaraties en setup-instructies, zodat je precies weet welke tokens en credentials je moet opgeven.

Naast kanaalintegraties kunnen skills tools en mogelijkheden toevoegen. Een /add-web-search skill zou een webzoektool kunnen toevoegen die agents in containers kunnen gebruiken. Een /add-calendar skill zou kunnen integreren met Google Calendar voor planning. Het patroon is hetzelfde: Claude Code leest de codebase, begrijpt de architectuur en genereert code die past. ## De fork-vriendelijke filosofie

Er zit een diepere filosofie achter het skills-model die het waard is om te verwoorden. NanoClaw is ontworpen om geforkt te worden. Niet in de vijandige zin van "neem de code en concurreer" — in de collaboratieve zin van "neem de code en maak het van jou."

Wanneer je /add-telegram draait, installeer je geen dependency die je bindt aan NanoClaw's releasecyclus. Je voegt code toe aan jouw fork die je volledig bezit. Als NanoClaw's upstream verandert op een manier die je niet bevalt, werkt je Telegram-integratie nog steeds. Als je wilt aanpassen hoe Telegram-berichten worden opgemaakt, bewerk je de code direct — geen plugin-API-beperkingen, geen wachten tot upstream een nieuwe hook beschikbaar stelt.

Dit is het tegenovergestelde van de platformlock-in die plugin-marktplaatsen creëren. WordPress-plugins binden je aan WordPress. VS Code-extensies binden je aan VS Code. ClawHub-skills bonden je aan OpenClaw. NanoClaw-skills genereren gewoon TypeScript dat toevallig werkt met NanoClaw's architectuur maar niet afhankelijk is van enige plugin-runtime of marktplaatsinfrastructuur.

Het resultaat is een project dat in de loop der tijd capabeler wordt — niet omdat een marktplaats groeit, maar omdat elke fork van een gebruiker precies de mogelijkheden verzamelt die ze nodig hebben, gegenereerd door een AI die de codebase goed genoeg begrijpt om deze correct uit te breiden. Het is uitbreidbaarheid door begrip, niet door abstractie.

Blijf op de hoogte

Ontvang updates over nieuwe releases, integraties en NanoClaw-ontwikkeling. Geen spam, op elk moment opzegbaar.