James: mijn AI assistant framework
Claude Code is krachtig maar vanilla. James is mijn persoonlijk AI assistant framework: een butler die me helpt, niet vervangt. Skills, agents, CLI tools, en een changelog die elke verbetering documenteert.
Claude Code is krachtig. Maar vanilla Claude Code is als een lege werkplaats. Elke keer opnieuw je gereedschap zoeken, je conventies uitleggen, je workflow opbouwen. Dat schaalt niet.
James is mijn oplossing: een persoonlijk AI assistant framework dat bovenop Claude Code draait. Een butler die me helpt, niet vervangt. In deze blog leg ik uit wat James doet, waarom ik het bouwde, en hoe het constant evolueert.
Waarom een framework?
Na maanden met Claude Code werken zag ik patronen. Dezelfde CLAUDE.md configuratie kopiëren naar elk project. Dezelfde prompts herschrijven. Dezelfde fouten opnieuw maken.
Het probleem is niet Claude Code. Het probleem is dat kennis en configuratie verspreid raakt. Elk project is een eiland. Wat ik leer in project A, moet ik handmatig overbrengen naar project B.
James centraliseert alles. Skills, agents, CLI tools, conventies. Eén plek, automatisch beschikbaar in elk project.
De butler metafoor
De naam James komt van de butler. Niet toevallig. Een goede butler:
- Kent je voorkeuren zonder dat je ze herhaalt
- Handelt zelfstandig binnen duidelijke grenzen
- Escaleert alleen wanneer nodig
- Wordt beter naarmate jullie langer samenwerken
Dat is precies wat ik wilde. Geen AI die alles overneemt, maar een assistent die mij sneller maakt. Die de saaie taken afhandelt zodat ik me kan focussen op de interessante problemen.
Wat James doet
Skills
Skills zijn kennismodules die on-demand laden. Werk ik in Laravel? De Laravel skill laadt automatisch. Schrijf ik Livewire componenten? Die skill activeert. Geen handmatig kopiëren van documentatie, geen context verspillen aan irrelevante informatie.
Mijn skills:
php/laravel/livewire/volt- Framework kennispest-testing- Test conventies en patternstailwindcss-development- Styling utilitiesfluxui- Component library docsvendor-docs- Lokale package documentatie
Agents
Agents zijn gespecialiseerde assistenten met eigen context en tools. De tester agent draait tests en spawnt automatisch de fixer bij failures. De researcher agent verzamelt context voordat ik begin te bouwen. De documenter agent houdt mijn .docs/ folder up-to-date.
Elk met hun eigen verantwoordelijkheid. Elk beperkt tot wat ze moeten doen. Geen agent die per ongeluk productie code overschrijft omdat hij te veel rechten had.
CLI tools
James integreert met externe services via simpele CLI tools:
linear- Issue tracking zonder MCP overheadpostman- API collection managementsentry- Error tracking en debugging
Waarom CLI in plaats van MCP servers? Minder tokens, snellere responses, betere controle. Een linear issue ODI-234 command is goedkoper dan een MCP server die constant context inneemt.
De structuur
Alles leeft in ~/James/:
~/James/
├── skills/ # Domeinkennis
├── agents/ # Gespecialiseerde assistenten
├── commands/ # Custom slash commands
├── vendor-docs/ # Package documentatie
├── bin/ # CLI tools
├── CLAUDE.md # Global instructies
└── CHANGELOG.md # Versie geschiedenis
Bij installatie worden symlinks gemaakt naar ~/.claude/. Elk project krijgt automatisch toegang. Geen configuratie per project nodig.
Continue verbetering
James is nooit af. Elke keer dat ik een repetitieve taak tegenkom, vraag ik: kan dit beter?
Kopieer ik dezelfde prompt vaker dan drie keer? Het wordt een skill. Doe ik handmatig iets dat een agent kan? Het wordt een agent. Vergeet ik vaak een stap in mijn workflow? Het wordt een check in /done.
Het geheim zit in de changelog. Elke verbetering documenteer ik:
2026-01-27 - Feature skill 2.0: Tasks orchestration, Plan Mode for spec
2026-01-24 - Added multi-workspace Linear, multi-org Sentry
2026-01-23 - Added browser skill with Playwright
Geen fancy versioning tool. Gewoon een markdown file met datum en beschrijving. Simpel, doorzoekbaar, menselijk leesbaar. En het dwingt me om na te denken over wat ik toevoeg.
Plan Mode en Tasks
James bouwt voort op Claude Code's native features. Plan Mode voor gestructureerd nadenken. Tasks voor werk coördinatie. Spec-Driven Development voor grote features.
De /feature workflow combineert alles: Linear issue ophalen, research doen, spec schrijven in Plan Mode, implementeren met Tasks, testen, documenteren. Dat verdient zijn eigen blog, die volgt in james-feature-workflow.
Wat nog komt
James heeft meer features die ik de komende maanden zal onthullen. De /feature workflow krijgt een deep dive. En ik experimenteer met persistent memory structuren, al weet ik nog niet of dat echte waarde gaat toevoegen.
Het idee is een memory/ folder met belangrijke context die sessies overleeft. Beslissingen, patronen, geleerde lessen. Maar de vraag blijft: levert het genoeg op om de complexiteit te rechtvaardigen? Dat onderzoek ik nog.
Zelf beginnen
Je hoeft niet alles in één keer te bouwen. Start met:
- Eén skill voor iets dat je vaak doet
- Eén agent voor een repetitieve taak
- Een changelog om bij te houden wat je verbetert
Laat het organisch groeien. Na een maand heb je een framework dat specifiek voor jouw workflow werkt.
Conclusie
James is geen product. Het is een aanpak. Een manier om AI-gedreven development systematisch te maken in plaats van ad-hoc.
De butler helpt, vervangt niet. Kent mijn voorkeuren, handelt binnen grenzen, wordt elke dag een beetje beter. Na een jaar bouwen kan ik niet meer zonder.
Wil je je eigen James bouwen? In mijn trainingen help ik je van scratch naar werkend framework. Of neem contact op als je eerst wil sparren over je aanpak.