deliberation
v1.0.0Decision-making through deliberation - seeking unity through discernment rather than consensus through debate
Architecture patterns for multi-agent systems with orchestrators, sub-agents, and tool coordination
/plugin install building-multiagent-systems@2389-research
Full plugin documentation and usage guide
Architecture patterns for multi-agent systems where AI agents coordinate using tools.
/plugin install building-multiagent-systems@2389-research
Guides you through designing and implementing multi-agent systems -- coordination, lifecycle management, production hardening. Based on patterns from real production systems.
// Four-layer architecture for each agent
const parentAgent = new Agent({
model: 'sonnet', // Layer 1: Reasoning
tools: [editTool, readTool, bashTool], // Layer 3: Tool bus with schemas
permissions: ['file:read', 'file:write'] // Layer 2: Orchestration policy
});
// Fan-out/fan-in pattern: spawn specialist sub-agents
const reviewers = [
{ type: 'security', model: 'smart', tools: [readTool] },
{ type: 'performance', model: 'fast', tools: [readTool] },
{ type: 'style', model: 'fast', tools: [readTool] },
{ type: 'tests', model: 'smart', tools: [readTool, bashTool] }
];
// Spawn with permission inheritance (read-only for reviewers)
const results = await Promise.all(
reviewers.map(r => parentAgent.spawnSubAgent({
name: r.type,
model: r.model,
tools: r.tools,
permissions: ['file:read'], // Cannot write - safer
timeout: 120000
}))
);
// Cascading cleanup with heartbeat monitoring
async function cleanup() {
const children = await getChildAgents();
await Promise.all(children.map(c => c.stop()));
await this.stop();
}
Before architecting, the skill asks:
See skills/SKILL.md for the complete architecture patterns and implementation guidance.
Production-ready patterns over improvisation. Every pattern here addresses a real failure mode from a production system.
Get started in seconds
/plugin marketplace add 2389-research/claude-plugins
/plugin install building-multiagent-systems
Skills auto-trigger when relevant