AI & I

🛠 Mike Krieger over agent-native bouwen, sub-agents en waarom je product twee keer herschrijven nu gewoon bij de workflow hoort

Open in Readwise →

Hoofdonderwerpen

  • Wat wél en niet makkelijker wordt door AI-bouwen — models zijn goed in features toevoegen, slecht in weghalen. Intuïtie over wat wél en niet in een product hoort bouw je nog steeds alleen via echte gebruikers op.
  • Agent-native product design — hoe bouw je software waarin een agent (een AI die zelfstandig taken uitvoert met tools) álles kan wat een gebruiker kan, zonder dat het kaartenhuis omvalt.
  • Rewrites zijn nu normaal — waar Fred Brooks (auteur Mythical Man-Month, klassiek softwareboek uit 1975) waarschuwde tegen herschrijven, doet Anthropic het nu meerdere keren pre-launch omdat het dagen kost in plaats van een jaar.
  • Teamstructuur bij Anthropic Labs — kleine teams met één persoon met 'founder-level conviction', designers die net zoveel code schrijven als engineers, en een incubator-model met review elke 2 weken.
  • Het enterprise-dilemma — je klanten willen stabiliteit, maar over 3 maanden moet je weer de helft weggooien omdat de models beter zijn geworden.

Key insights — hoe Mike Krieger AI gebruikt

  • Hij laat Claude Code sub-agents het werk doen, zodat de main loop (de hoofdconversatie met Claude) open blijft voor gesprek. Dit voelt veel meer als praten met iemand dan als een tool die 5 minuten vastloopt op een complexe taak.
  • Hij maakt skills (herbruikbare instructiepakketten voor Claude, officieel Agent Skills genoemd) voor terugkerende patronen — inclusief een skill die Dan Shippers agent-native write-up afdwingt tijdens prototyping.
  • Hij gebruikt Claude om Claude te testen — inclusief een iOS work-journal app waar één Claude met een andere Claude in chat praat om het flow te verifiëren (de tweede Claude deed alsof hij een gestreste werknemer was).
  • Hij prompteert Claude Code expliciet: 'doe weinig werk zelf, delegeer aan sub-agents' — dat houdt de conversatie levendig.
  • Prove-it-to-me culture: hij wil in PRs (Pull Requests, codewijzigingen die review nodig hebben) niet alleen zien dat tests slagen, maar een Loom (schermopname) van de agent die het daadwerkelijk gebruikt.

What to Build

1. Agent-native prototyping skill voor Claude Code

Wat het is: Een skill die Claude dwingt om elk prototype agent-native te bouwen — dus elke gebruikersactie moet ook door een agent uitvoerbaar zijn, met stabiele primitives (bouwstenen/kernfuncties) die flexibel genoeg zijn voor onverwacht agent-gedrag.

Hoe Mike het bouwt: Hij vroeg Claude Code letterlijk: 'maak een skill van Dan's agent-native write-up'. Claude maakte de skill aan, installeerde 'm, vertelde hem dat hij moest herstarten — alles via zelfreferentie.

Web research:

  • vercel-labs/agent-skills — 19k stars, MIT-licentie. Bevat composition-patterns skill die anti-patterns zoals 'boolean prop proliferation' blokkeert.
  • travisvn/awesome-claude-skills — curated directory van Skills.
  • Skills werken via filesystem (SKILL.md-bestanden) en worden contextueel of via slash-commands (/skill-naam) geactiveerd. Ze laden on-demand, dus geen token-verspilling.

Analyse: De grootste winst is niet de skill zelf, maar dat de skill nieuwe code agent-aware laat bouwen vanaf regel 1. Mike's kernpunt: Claude-models zijn hier beter in dan Codex-models (Codex denkt default als 'traditional engineer' met guardrails en één pad; agent-native wil juist flexibiliteit).

Stappenplan voor Stooker / Cowork:

  1. Lees de agent-native write-up van Every (zoek op 'Every agent-native').
  2. Open Claude Code in een project en vraag: 'lees deze write-up [paste], en maak er een skill van die ik kan activeren met /agent-native bij elk nieuw prototype'.
  3. Claude maakt een .claude/skills/agent-native/SKILL.md met instructies (stabiele primitives, elke user-action ook als tool, testbaarheid via harnesses).
  4. Test door een klein Next.js/Supabase-prototype op te zetten met /agent-native actief — check of elke route ook als MCP-tool (Model Context Protocol, Anthropic's standaard om AI met externe tools te laten praten) beschikbaar is.
  5. Voor Cowork: overweeg fork van vercel-labs/agent-skills als basis.

2. Claude-to-Claude test harness voor agent-native producten

Wat het is: Een testopstelling waar één Claude-instantie je product gebruikt alsof hij een gebruiker is, en andere Claudes met hem interacteren. Vervangt traditionele unit tests voor onvoorspelbare agent-flows.

Hoe Mike het bouwt: Hij liet Claude chatten met Claude in zijn work-journal app. Eén Claude deed alsof hij een werknemer was met een rotdag; de andere reageerde empathisch. Geen unit test had dit kunnen vangen, maar het onthulde edge cases in het product.

Web research: Geen directe repo's gevonden. Pattern heet 'context forking' (sub-agents in geïsoleerde contexts die schone samenvattingen terugsturen). Zie PubNub's guide op context forking en Sankalp's Claude Code 2.0 deep-dive.

Analyse: Dit is eigenlijk end-to-end testing voor het AI-tijdperk. Traditionele tests falen op agent-native producten omdat je niet weet welk pad de agent neemt. De oplossing: zet meerdere Claudes in verschillende rollen en laat ze je app stress-testen.

Stappenplan voor Cowork:

  1. Maak een test-harness/ folder in je Cowork-repo.
  2. Gebruik Claude SDK (Anthropic's Python/TypeScript library) om meerdere Claude-sessies parallel te starten.
  3. Geef elke Claude een persona via system prompt: 'jij bent een barista die een stocklijst wil aanmaken', 'jij bent een HQ-manager die rapportages wil'.
  4. Log alle acties naar Supabase (tabel harness_runs met agent_id, action, state_before, state_after).
  5. Review daily: wat voor rare paden kwamen naar boven? Welke stuurden je DB in een ongeldige state?

3. Zelf-documenterende codebase voor solo vibe coders

Wat het is: Een workflow waar Claude je codebase zo documenteert dat een nieuwe collega (of jij over 3 maanden) hem meteen snapt — cruciaal als je vibe-codet en niet alles in je hoofd hebt.

Hoe Dan Shipper het doet: Hij kreeg proof live, crashte, had een SWAT-team intern nodig, en moest realtime een AGENTS.md-achtige uitleg genereren zodat anderen konden helpen debuggen.

Web research:

  • ivawzh/agents-md — composable Markdown fragments voor AI-agent context. CLI agents-md compose bouwt dynamische docs uit fragments.
  • Best practice uit 2500+ repos: kort houden, lint met npx markdownlint, gebruik docs/ folder met frontmatter per sectie.

Analyse: Dit is verzekering tegen de 4 AM debug-sessie. Als jouw Supabase + Next.js app groeit, wordt de mentale load te groot. De oplossing: laat Claude na elke merge automatisch een AGENTS.md updaten.

Stappenplan voor Stooker-tools:

  1. Installeer agents-md CLI in je Next.js project.
  2. Maak een .claude/commands/update-docs.md slash-command: 'lees de laatste 5 commits, update AGENTS.md fragments in docs/'.
  3. Voeg aan je GitHub Actions (of een git pre-commit hook) toe: roep deze command aan na elke push naar main.
  4. Resultaat: altijd actuele docs die Claude (en nieuwe mensen) meteen snappen.

4. Sub-agent delegation setup voor conversationele Claude Code

Wat het is: Claude Code configureren zodat de hoofdagent vrijwel al het werk delegeert aan sub-agents (gespecialiseerde Claudes in isolated contexts), waardoor de main loop (je chat-gesprek) open blijft.

Hoe Mike het doet: Hij heeft expliciet in zijn Claude Code-config staan: 'doe weinig werk zelf, delegeer aan sub-agents'. Dit betekent dat tijdens een complex refactor de hoofd-Claude met hem blijft praten terwijl sub-agents het werk doen.

Web research:

  • Sub-agents worden gedefinieerd in markdown met JSON schema frontmatter, opgeslagen in ~/.claude/agents (globaal) of project/.claude/agents.
  • Required fields: description (3-5 woorden), prompt, subagent_type, optioneel model (haiku voor snelle taken) en run_in_background.
  • Agent Harness + MCP Integration — combineert Anthropic's long-running harness met MCP gateway voor Linear/GitHub/Slack.

Analyse: Dit is de grootste quality-of-life upgrade voor dagelijks vibe-coden. Je verliest niet 5 minuten staren naar een terminal; je blijft in gesprek terwijl dingen gebeuren. Mike noemt dit een van de redenen waarom Claude Code zo persoonlijk voelt.

Stappenplan:

  1. Maak in je Cowork/Stooker project een .claude/agents/ folder.
  2. Definieer 3 sub-agents: researcher (Haiku, web + docs lezen), implementer (Sonnet, code schrijven), qa-runner (Haiku, tests draaien en output samenvatten).
  3. Elk in eigen markdown-bestand met frontmatter: description: 'run tests and summarize', model: haiku, run_in_background: true.
  4. Voeg aan je root CLAUDE.md toe: 'delegate implementation to implementer sub-agent, delegate test runs to qa-runner, summarize in main thread'.
  5. Gebruik Haiku waar mogelijk voor snelheid/kosten.

Takeaways voor Stooker + AI

  • Stop met features toevoegen, leer weghalen. Mike's Burbn-les: 8 features maken geen product; soms is het verwijderen van 3 wat jouw product werkt. Voor jouw vibe-coded tools: maandelijks één 'delete-sprint'.
  • Rewrite twee keer voor launch is het nieuwe normaal. Cowork werd in 10 dagen v1 gebouwd bij Anthropic. Voor Stooker-interne tools: geef jezelf expliciet toestemming om na week 1 de hele Next.js app opnieuw te bouwen als het model een betere architectuur voorstelt.
  • Enterprise-klanten zijn een anker bij AI-snelheid. Als je ooit Stooker-tech gaat verkopen (andere koffiebranders, hospitality), moet je contracten schrijven die zeggen: 'het product evolueert continu, jullie kunnen features uitzetten per rol'. Niet: 'dit is wat je krijgt voor een jaar'.
  • 'Het voelt alsof mijn Claude van mij is' — dit is marketing-goud voor specialty coffee. Een agent met je eigen naam (jouw Stooker-Claude die je menu, je herkomsten, je blends kent) voelt heel anders dan generic ChatGPT. Overweeg per team-member een persoonlijke sub-agent met eigen naam en specialisatie.
  • Hire voor product-intuitie, niet voor technische diepte — bij Anthropic Labs hebben designers even veel code als engineers. Jouw volgende hire voor AI-tools hoeft geen senior engineer te zijn; iemand met goede taste + kan met Claude Code werken is genoeg, mits je één senior iemand hebt voor de architectuur.
  • Proof-of-thoughtfulness > proof-of-work. Als iemand in je team een AI-output oplevert, vraag niet 'werkt het?' maar 'waarom deze keuze versus die?'. 9 van de 10 keer was het een model-keuze — en dan weet je dat je nog moet reviewen.

Gerelateerd