Swarm Orchestration
What This Skill Does
Orchestrates multi-agent swarms using agentic-flow's advanced coordination system. Supports mesh, hierarchical, and adaptive topologies with automatic task distribution, load balancing, and fault tolerance.
Prerequisites
-
agentic-flow v1.5.11+
-
Node.js 18+
-
Understanding of distributed systems (helpful)
Quick Start
Initialize swarm
npx agentic-flow hooks swarm-init --topology mesh --max-agents 5
Spawn agents
npx agentic-flow hooks agent-spawn --type coder npx agentic-flow hooks agent-spawn --type tester npx agentic-flow hooks agent-spawn --type reviewer
Orchestrate task
npx agentic-flow hooks task-orchestrate
--task "Build REST API with tests"
--mode parallel
Topology Patterns
- Mesh (Peer-to-Peer)
// Equal peers, distributed decision-making await swarm.init({ topology: 'mesh', agents: ['coder', 'tester', 'reviewer'], communication: 'broadcast' });
- Hierarchical (Queen-Worker)
// Centralized coordination, specialized workers await swarm.init({ topology: 'hierarchical', queen: 'architect', workers: ['backend-dev', 'frontend-dev', 'db-designer'] });
- Adaptive (Dynamic)
// Automatically switches topology based on task await swarm.init({ topology: 'adaptive', optimization: 'task-complexity' });
Task Orchestration
Parallel Execution
// Execute tasks concurrently const results = await swarm.execute({ tasks: [ { agent: 'coder', task: 'Implement API endpoints' }, { agent: 'frontend', task: 'Build UI components' }, { agent: 'tester', task: 'Write test suite' } ], mode: 'parallel', timeout: 300000 // 5 minutes });
Pipeline Execution
// Sequential pipeline with dependencies await swarm.pipeline([ { stage: 'design', agent: 'architect' }, { stage: 'implement', agent: 'coder', after: 'design' }, { stage: 'test', agent: 'tester', after: 'implement' }, { stage: 'review', agent: 'reviewer', after: 'test' } ]);
Adaptive Execution
// Let swarm decide execution strategy await swarm.autoOrchestrate({ goal: 'Build production-ready API', constraints: { maxTime: 3600, maxAgents: 8, quality: 'high' } });
Memory Coordination
// Share state across swarm await swarm.memory.store('api-schema', { endpoints: [...], models: [...] });
// Agents read shared memory const schema = await swarm.memory.retrieve('api-schema');
Advanced Features
Load Balancing
// Automatic work distribution await swarm.enableLoadBalancing({ strategy: 'dynamic', metrics: ['cpu', 'memory', 'task-queue'] });
Fault Tolerance
// Handle agent failures await swarm.setResiliency({ retry: { maxAttempts: 3, backoff: 'exponential' }, fallback: 'reassign-task' });
Performance Monitoring
// Track swarm metrics const metrics = await swarm.getMetrics(); // { throughput, latency, success_rate, agent_utilization }
Integration with Hooks
Pre-task coordination
npx agentic-flow hooks pre-task --description "Build API"
Post-task synchronization
npx agentic-flow hooks post-task --task-id "task-123"
Session restore
npx agentic-flow hooks session-restore --session-id "swarm-001"
Best Practices
-
Start small: Begin with 2-3 agents, scale up
-
Use memory: Share context through swarm memory
-
Monitor metrics: Track performance and bottlenecks
-
Enable hooks: Automatic coordination and sync
-
Set timeouts: Prevent hung tasks
Troubleshooting
Issue: Agents not coordinating
Solution: Verify memory access and enable hooks
Issue: Poor performance
Solution: Check topology (use adaptive) and enable load balancing
Learn More
-
Swarm Guide: docs/swarm/orchestration.md
-
Topology Patterns: docs/swarm/topologies.md
-
Hooks Integration: docs/hooks/coordination.md