aiskillstore/building-multiagent-systems
This skill should be used when designing or implementing systems with multiple AI agents that coordinate to accomplish tasks. Triggers on "multi-agent", "orchestrator", "sub-agent", "coordination", "delegation", "parallel agents", "sequential pipeline", "fan-out", "map-reduce", "spawn agents", "agent hierarchy".
This is a copy. The original lives at comeonoliver/building-multiagent-systems.
npx skills add https://github.com/aiskillstore/marketplace --skill building-multiagent-systems
Comprehensive architecture patterns for multi-agent systems where AI agents coordinate to accomplish complex tasks using tools. Language-agnostic and applicable across TypeScript, Python, Go, Rust, and other environments.
Before architecting any system, ask these six mandatory questions:
Every agent follows the four-layer architecture for testability, safety, and modularity:
| Layer | Name | Responsibility |
|-------|------|----------------|
| 1 | Reasoning (LLM) | Plans, critiques, decides which tools to call |
| 2 | Orchestration | Validates, routes, enforces policy, spawns sub-agents |
| 3 | Tool Bus | Schema validation, tool execution coordination |
| 4 | Deterministic Adapters | File I/O, APIs, shell commands, database access |
Critical Rule: Everything below Layer 1 must be deterministic. No LLM calls in tools.
See references/four-layer-architecture.md for detailed implementation with code examples.
| Pattern | Purpose |
|---------|---------|
| Event-Sourcing | All state changes as events for audit trails and replay |
| Hierarchical IDs | Encode delegation hierarchy (e.g., session.1.2) for cost aggregation |
| Agent State Machines | Explicit states (idle → thinking → tool_execution → stopped) with invalid transition errors |
| Communication | EventEmitter for state changes, promises for result collection |
Choose based on discovery question answers:
| Pattern | Use Case | Trade-offs |
|---------|----------|------------|
| Fan-Out/Fan-In | Parallel independent work | Fast but costly; watch for orphans |
| Sequential Pipeline | Multi-stage transformations | Bottleneck at slowest stage |
| Recursive Delegation | Hierarchical task breakdown | Must add depth limits |
| Work-Stealing Queue | 1000+ tasks with load balancing | No built-in priority |
| Map-Reduce | Cost optimization | Cheap map ($0.01), smart reduce ($0.15) |
| Peer Collaboration | LLM council for bias reduction | Expensive (3N+1 calls), slow |
| MAKER | Zero-error tasks (100K+ steps) | 5× cost but ~0% error rate |
See references/coordination-patterns.md for detailed implementations.
| Requirement | Recommended Pattern |
|-------------|---------------------|
| Parallel independent tasks | Fan-Out/Fan-In |
| Each stage depends on previous | Sequential Pipeline |
| Complex task decomposition | Recursive Delegation |
| Large batch processing | Work-Stealing Queue |
| Cost-sensitive analysis | Map-Reduce |
| Need diverse perspectives | Peer Collaboration |
| Zero error tolerance | MAKER |
For tasks requiring 100K+ steps with zero error tolerance (medical, financial, legal domains):
Cost comparison: Same cost as traditional approach, zero errors vs. 10+ errors.
See references/maker-pattern.md for full implementation with medical diagnosis example.
| Mechanism | Purpose |
|-----------|---------|
| Permission Inheritance | Children inherit subset of parent permissions (cannot escalate) |
| Resource Locking | Acquire/release patterns for shared resources |
| Rate Limiting | Token bucket algorithm across all agents |
| Result Caching | Cache read-only, idempotent, expensive operations |
Sub-Agent as Tool Pattern: Wrap specialized agents as tools the parent can call, providing composable abstractions and natural lifecycle management.
See references/tool-coordination.md for implementations.
"Always stop children before stopping self." This prevents orphaned agents.
1. Get all child agents
2. Stop all children in parallel
3. Stop self
4. Cancel ongoing work
5. Flush events
If pause/resume unavailable, implement manual checkpointing: save agent state (messages, context, tool results), then restore later.
| Concern | Solution |
|---------|----------|
| Orphan Detection | Heartbeat monitoring every 30 seconds |
| Cost Tracking | Hierarchical aggregation across agent tree |
| Session Persistence | Project-level task store for cross-session work |
| Checkpointing | Save after 10+ tools, $1.00 cost, or 5 minutes elapsed |
| Self-Modification Safety | Blast radius assessment, branch isolation, test-first |
See references/production-hardening.md for detailed implementations.
A pull request orchestrator using Fan-Out/Fan-In:
When guiding implementation of multi-agent systems:
10. Add monitoring and cost tracking - Hierarchical aggregation across agent tree
11. Consider self-modification safety - If agents can modify code, add safety protocol
| Pitfall | Impact |
|---------|--------|
| Missing four-layer architecture | Untestable, unsafe, hard to debug |
| LLM calls in tools (Layer 3-4) | Non-deterministic, can't unit test |
| No schema-first tool design | Sub-agents can't discover tools |
| Missing cascading stop | Orphaned agents consuming resources |
| No permission inheritance | Sub-agents can escalate privileges |
| No timeouts | Indefinite hangs waiting for sub-agents |
| Unbounded concurrency | Resource exhaustion from too many agents |
| Ignoring cost tracking | Budget surprises |
| No partial-failure handling | One failure cascades to all agents |
| Unpersisted state | Unrecoverable workflows on crash |
| Uncoordinated tool access | Race conditions on shared resources |
| Wrong model selection | Cost inefficiency (Sonnet for simple tasks) |
| Self-modification without safety | Sub-agents break themselves |
| No heartbeat monitoring | Can't detect orphans after parent crash |
Detailed implementations with code examples:
| File | Contents |
|------|----------|
| references/four-layer-architecture.md | Four-layer stack, deterministic boundary, schema-first tools |
| references/coordination-patterns.md | Seven coordination patterns with code |
| references/maker-pattern.md | MAKER implementation, voting, medical diagnosis example |
| references/tool-coordination.md | Permission inheritance, locking, rate limiting, caching |
| references/production-hardening.md | Cascading stop, orphan detection, cost tracking, checkpointing |
Take aiskillstore/building-multiagent-systems from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.