Building multi-agent systems often sounds great until you actually try running sequential tasks. You start with a clear architecture spec, and by step four, your LLM has forgotten half its constraints.
To fix this, I stopped using monolithic system prompts and built an open-source framework of 64 specialized agent roles tied to strict execution runbooks.
The Problem: Context Degradation Across Handoffs
When an agent acts as a generalist (handling product specs, architecture, AND code writing simultaneously), the attention mechanism dilutes key constraints.
The Solution: Isolated Agent Schemas
By splitting tasks into hyper-focused roles—such as an API Contract Validator or an Edge-Case Test Engineer—we can pass structured JSON handoffs between distinct system prompts.
Here is a simplified example of how we isolate context boundaries in Python/CLI:
bash # Example invocation of an isolated agent role npx ai-product-team execute --role architecture-validator --input ./spec.json ### Try It Out & Contribute The entire project is open-source. You can inspect the complete set of 64 agent personas, runbooks, and CLI integrations directly on GitHub:
3orionkings / ai-product-team
64 specialist AI agents, 28 shared methods and 12 workflows for building AI features in Claude Code and Codex. Runs only the roles a request needs and keeps an evidence ledger.
AI Product Team
64 specialist agents, 28 shared methods and 12 workflows for building AI features inside Claude Code and Codex. Ask a product question in plain language. Your assistant runs only the specialists that question needs, and keeps a record of what every conclusion rests on.
The organization at a glance. The orchestrator at the top is the aipt-workflow-orchestrator role, and it runs in your own session. Three directors (Product, Engineering and Assurance) sit between it and the teams; they are not shown above. Browse every role in the agent directory.
Why
When you pass a product problem between research, design and coding assistants, things go missing in the handoffs:
- the source of a requirement gets lost;
- an open question quietly becomes an accepted fact;
- "the tests pass" turns out to refer to yesterday's code;
- an agent's "done" is taken at its word.
This package gives a coding…
If you want to test the interactive control plane simulations, check out the live lab over at my personal site: emmanuelbenami.com.
I’d love to know: how are you currently structuring handoffs between automated LLM processes?

