← Developers

agentteam

Het agentteam

Een agent die bouwt, kijkt zijn eigen werk niet goed na. Daarom werkt bij ons een team naast de bouwende agent: een plugin met onafhankelijke rollen die elk één ding doen, en die niets mogen wat hun rol niet vraagt. Een PM schrijft de opdracht, reviewers lezen zonder te wijzigen, een test-schrijver raakt alleen tests aan, een updater werkt dependencies bij, een designer maakt alleen beeld.

Het team werkt in Claude Code en in Wisp, en legt zijn opdrachten en reviews neer in vigil. Het is open source.

De rollen

Zes rollen, elk met een duidelijke grens. Wat een rol niet mag, is even belangrijk als wat hij doet: zo kan een reviewer geen code "even rechtzetten" en kan een updater niets pushen.

PM

Schrijft van een vraag of een analyse een opdracht: het doel, wat erbuiten valt, toetsbare acceptatiecriteria, een risicoklasse en een dreigingsmodel. Leest het project om de opdracht klein en toetsbaar te maken. Na een review stelt hij per bevinding voor wat ermee moet: nu oplossen, naar de inbox, of aanvaarden.

Mag niet: code schrijven, en beslissen. De opdracht keurt u zelf goed, in vigil.

Security-reviewer

Kijkt wijzigingen na op beveiliging, voor Symfony en PHP, Vue en TypeScript, Node en Tauri. Krijgt de diff, leest de code eromheen en verifieert elke bevinding voor hij ze meldt. Werkt op vraag, of vóór een merge request naar main.

Mag niet: code wijzigen.

Code-reviewer

Kijkt na op correctheid, randgevallen, foutafhandeling, testdekking en de conventies van het project. Krijgt de diff, leest de code eromheen en mag de lint- en testcommando's van het project draaien om te zien wat er echt gebeurt.

Mag niet: code wijzigen. Beveiliging laat hij aan de security-reviewer.

Test-schrijver

Schrijft tests voor gewijzigde code (PHPUnit voor Symfony, Vitest voor Vue, TypeScript en Node), draait ze en rapporteert. Vindt hij een bug, dan meldt hij die in zijn rapport en laat hij de test niet rood achter, maar markeert hij ze als onvolledig met een verwijzing.

Mag niet: iets anders dan testbestanden aanmaken of wijzigen.

Updater

Voert een updateplan uit in een aparte werkkopie: werkt de opgegeven dependencies bij binnen hun constraint, draait de tests van het project en commit het resultaat. Het plan komt uit vigil.

Mag niet: pushen of een merge request openen. Dat gebeurt pas na de review, en de merge request opent vigil als bot.

Designer

Maakt beeld voor een project, met drie skills: een schema dat een werking uitlegt, een korte clip die een handeling toont, en screenshots en opnames van een demo. Hij werkt vanuit wat er al is (een mockup, een opname, de huisstijl), met fictieve gegevens en zonder externe fonts of bronnen. Wat in een pagina moet, levert hij als stukje HTML in zijn rapport.

Mag niet: code of templates wijzigen, en niet committen, pushen of een merge request openen. Hij schrijft alleen beeldmateriaal; de bouwende agent zet het in de pagina.

En de bouwende agent?

Die hoort niet bij de plugin: dat is uw eigen agent in Claude Code of Wisp, of uzelf. Het team werkt ernaast en kijkt na wat er gebouwd is. De regels gelden voor iedereen: zonder goedgekeurde opdracht wordt er niet gebouwd, en zonder review komt er niets op main.

De commando's

Tien commando's, in Claude Code als slash-commando en in Wisp als knop of skill. De eerste twee dragen de werkstroom; de rest roept één rol apart op.

/team:opdracht

Laat de PM een opdracht schrijven voor wat er gebouwd moet worden, stuurt ze naar vigil en wacht tot u ze daar goedkeurt. Vóór elke bouwtaak. Kan ook een bestaande opdracht koppelen, of tonen waar de opdracht van deze branch staat.

/team:review

De teamreview vóór een merge request naar main, of op elke branch als u erom vraagt. De risicoklasse van de opdracht bepaalt wie nakijkt. Het oordeel wordt als stempel vastgelegd. Met --controle volgt de tweede ronde, die alleen naar de fixes kijkt; met --achteraf krijgt een hotfix zijn review achteraf.

/team:security-review

Laat alleen de security-reviewer de huidige wijzigingen nakijken en toont het rapport. Voor wanneer u een security-check wil zonder de volledige teamreview.

/team:code-review

Laat alleen de code-reviewer nakijken op correctheid, randgevallen, foutafhandeling, tests en conventies, en toont het rapport.

/team:write-tests

Laat de test-schrijver tests schrijven en draaien voor de huidige wijzigingen. Alleen testbestanden worden aangemaakt of gewijzigd; een gevonden bug komt in het rapport, niet als rode test.

/team:update

Laat het team de dependencies van een project bijwerken en er een merge request van maken: het plan komt uit vigil, de updater werkt in een aparte werkkopie, de reviewers kijken na, en vigil opent de merge request als bot. Met --dry-run stopt het vóór de push.

/team:inbox

Werkt een idee uit de inbox van Toolbox uit tot een analyse in het project waarin u staat: context, opties, aanbeveling en omvang. Zodra u zegt dat de analyse klaar is, vinkt het het idee af in Toolbox.

/team:docs

Tekent een schema voor de documentatie van een project, in de huisstijl en zonder externe fonts. De bron en de export komen in de map met schema's van het project, en het schema in de README. Een skill van de designer.

/team:clip

Maakt van een mockup of rond een opname een korte promoclip die naadloos lust, als MP4, WebM en poster, met het stukje HTML voor de pagina: speelt vanzelf af, en toont een stilstaand beeld voor wie minder beweging wil. Gemaakt met HyperFrames, met vaste versies en zonder telemetrie. Een skill van de designer.

/team:screens

Maakt screenshots (WebP van 1600 px, licht en donker) en ruwe opnames (de bron voor /team:clip) van een demo die het project zelf start, volgens een contract in het project en met Playwright op een vaste versie. Alleen een demo op de eigen computer, met fictieve gegevens en zonder echte login in het contract. Een skill van de designer.

De regels

Het team is pas iets waard als zijn oordeel ergens aan vastzit. Deze regels zorgen daarvoor, en vigil houdt ze bij. Het volledige verhaal, van idee tot merge, staat op de pagina over vigil.

De klasse bepaalt wie nakijkt

Elke opdracht heeft een risicoklasse. Licht (alleen documenten) en hotfix: niemand vooraf. Normaal: de code-reviewer. Gevoelig: de security- en de code-reviewer tegelijk. Zonder opdracht: ook beide, tenzij de wijziging alleen documenten raakt.

Twee rondes

Na de review volgt hoogstens één controleronde, die alleen naar de fixes kijkt. Wat daarna nog openstaat, beslist u: aanvaarden, naar de inbox, of uitdrukkelijk nog een ronde vragen.

Bevindingen als werk

Elke bevinding wordt een eigen werkpunt in vigil. De PM stelt voor, u beslist: nu oplossen, naar de inbox van Toolbox, of aanvaarden met een reden. Wat beslist is, meldt de volgende review niet opnieuw.

Een oordeel voor precies die inhoud

De stempel van een review hoort bij de exacte inhoud die nagekeken werd. Verandert er daarna nog iets, dan geldt hij niet meer en moet de review opnieuw.

De push-guard

Een push naar main zonder geldige stempel wordt tegengehouden, in Claude Code door de plugin en in Wisp door de pushknop. Naar een featurebranch pushen mag altijd.

De poort en het bot

Een merge request naar main opent vigil als bot, alleen voor nagekeken inhoud. In CI vraagt de poort het oordeel aan vigil, en zonder bevestigde, niet-blokkerende review blijft ze dicht. Mergen doet een mens.

In Wisp

Wisp, onze editor, leest dezelfde plugin en zet het team in de interface. Dezelfde rollen, dezelfde regels, dezelfde stempel.

Het team in één oogopslag

Wisp haalt de plugin op, maakt de rollen beschikbaar voor zijn eigen agent en toont ze in het skills-paneel. Per project vinkt u aan welke rollen meedoen.

Laat nakijken

Eén knop start de teamreview: elke reviewer krijgt een eigen sessie, en het rapport gaat naar vigil zoals bij Claude Code. De stempel telt dus ook voor de poort in CI.

Een model per rol

Per rol kiest u welk model ze gebruikt. Een reviewer mag zwaarder zijn dan de bouwende agent; een test-schrijver hoeft dat niet.

De pushknop

De pushknop van Wisp leest dezelfde stempel als de push-guard. Per project kiest u of hij waarschuwt of blokkeert bij een push naar main zonder geldige review.

Installatie

De plugin staat in een publieke repository. Eén keer de marketplace toevoegen, daarna werkt het team in elke sessie.

Claude Code

Voeg de marketplace pxlbox toe en installeer de plugin team. Na een nieuwe versie werkt u bij met claude plugin update team@pxlbox.

claude plugin marketplace add https://gitlab.com/pxlbox/ai.git
claude plugin install team@pxlbox

Wisp

Onder Instellingen → Team geeft u op waar de plugin vandaan komt en kiest u Ophalen. Wisp haalt de repository in zijn eigen datamap, koppelt de skills en vertaalt de rollen voor zijn agent; de plugin zelf verandert niet, dus Claude Code blijft dezelfde bestanden lezen. De bron wordt bij het project bewaard, zodat een collega die het opent de plugin ook krijgt.

gitlab.com/pxlbox/ai

Het team praat met vigil voor opdrachten, reviews en de poort. Zonder vigil werken de reviewers, de test-schrijver en de schema's gewoon; wat ontbreekt, is het geheugen: wie wat goedkeurde, wat al beslist is, en of de poort open mag.

De plugin op GitLab Hoe vigil werkt