--- name: swarm-advanced description: Advanced swarm orchestration patterns for research, development, testing, and complex distributed workflows version: 2.0.0 category: orchestration tags: [swarm, distributed, parallel, research, testing, development, coordination] author: Claude Flow Team --- # Advanced Swarm Orchestration Master advanced swarm patterns for distributed research, development, and testing workflows. This skill covers comprehensive orchestration strategies using both MCP tools and CLI commands. ## Quick Start ### Prerequisites ```bash # Ensure Claude Flow is installed npm install -g claude-flow@alpha # Add MCP server (if using MCP tools) claude mcp add claude-flow npx claude-flow@alpha mcp start ``` ### Basic Pattern ```javascript // 1. Initialize swarm topology mcp__claude-flow__swarm_init({ topology: "mesh", maxAgents: 6 }) // 2. Spawn specialized agents mcp__claude-flow__agent_spawn({ type: "researcher", name: "Agent 1" }) // 3. Orchestrate tasks mcp__claude-flow__task_orchestrate({ task: "...", strategy: "parallel" }) ``` ## Core Concepts ### Swarm Topologies **Mesh Topology** - Peer-to-peer communication, best for research and analysis - All agents communicate directly - High flexibility and resilience - Use for: Research, analysis, brainstorming **Hierarchical Topology** - Coordinator with subordinates, best for development - Clear command structure - Sequential workflow support - Use for: Development, structured workflows **Star Topology** - Central coordinator, best for testing - Centralized control and monitoring - Parallel execution with coordination - Use for: Testing, validation, quality assurance **Ring Topology** - Sequential processing chain - Step-by-step processing - Pipeline workflows - Use for: Multi-stage processing, data pipelines ### Agent Strategies **Adaptive** - Dynamic adjustment based on task complexity **Balanced** - Equal distribution of work across agents **Specialized** - Task-specific agent assignment **Parallel** - Maximum concurrent execution ## Pattern 1: Research Swarm ### Purpose Deep research through parallel information gathering, analysis, and synthesis. ### Architecture ```javascript // Initialize research swarm mcp__claude-flow__swarm_init({ "topology": "mesh", "maxAgents": 6, "strategy": "adaptive" }) // Spawn research team const researchAgents = [ { type: "researcher", name: "Web Researcher", capabilities: ["web-search", "content-extraction", "source-validation"] }, { type: "researcher", name: "Academic Researcher", capabilities: ["paper-analysis", "citation-tracking", "literature-review"] }, { type: "analyst", name: "Data Analyst", capabilities: ["data-processing", "statistical-analysis", "visualization"] }, { type: "analyst", name: "Pattern Analyzer", capabilities: ["trend-detection", "correlation-analysis", "outlier-detection"] }, { type: "documenter", name: "Report Writer", capabilities: ["synthesis", "technical-writing", "formatting"] } ] // Spawn all agents researchAgents.forEach(agent => { mcp__claude-flow__agent_spawn({ type: agent.type, name: agent.name, capabilities: agent.capabilities }) }) ``` ### Research Workflow #### Phase 1: Information Gathering ```javascript // Parallel information collection mcp__claude-flow__parallel_execute({ "tasks": [ { "id": "web-search", "command": "search recent publications and articles" }, { "id": "academic-search", "command": "search academic databases and papers" }, { "id": "data-collection", "command": "gather relevant datasets and statistics" }, { "id": "expert-search", "command": "identify domain experts and thought leaders" } ] }) // Store research findings in memory mcp__claude-flow__memory_usage({ "action": "store", "key": "research-findings-" + Date.now(), "value": JSON.stringify(findings), "namespace": "research", "ttl": 604800 // 7 days }) ``` #### Phase 2: Analysis and Validation ```javascript // Pattern recognition in findings mcp__claude-flow__pattern_recognize({ "data": researchData, "patterns": ["trend", "correlation", "outlier", "emerging-pattern"] }) // Cognitive analysis mcp__claude-flow__cognitive_analyze({ "behavior": "research-synthesis" }) // Quality assessment mcp__claude-flow__quality_assess({ "target": "research-sources", "criteria": ["credibility", "relevance", "recency", "authority"] }) // Cross-reference validation mcp__claude-flow__neural_patterns({ "action": "analyze", "operation": "fact-checking", "metadata": { "sources": sourcesArray } }) ``` #### Phase 3: Knowledge Management ```javascript // Search existing knowledge base mcp__claude-flow__memory_search({ "pattern": "topic X", "namespace": "research", "limit": 20 }) // Create knowledge graph connections mcp__claude-flow__neural_patterns({ "action": "learn", "operation": "knowledge-graph", "metadata": { "topic": "X", "connections": relatedTopics, "depth": 3 } }) // Store connections for future use mcp__claude-flow__memory_usage({ "action": "store", "key": "knowledge-graph-X", "value": JSON.stringify(knowledgeGraph), "namespace": "research/graphs", "ttl": 2592000 // 30 days }) ``` #### Phase 4: Report Generation ```javascript // Orchestrate report generation mcp__claude-flow__task_orchestrate({ "task": "generate comprehensive research report", "strategy": "sequential", "priority": "high", "dependencies": ["gather", "analyze", "validate", "synthesize"] }) // Monitor research progress mcp__claude-flow__swarm_status({ "swarmId": "research-swarm" }) // Generate final report mcp__claude-flow__workflow_execute({ "workflowId": "research-report-generation", "params": { "findings": findings, "format": "comprehensive", "sections": ["executive-summary", "methodology", "findings", "analysis", "conclusions", "references"] } }) ``` ### CLI Fallback ```bash # Quick research swarm npx claude-flow swarm "research AI trends in 2025" \ --strategy research \ --mode distributed \ --max-agents 6 \ --parallel \ --output research-report.md ``` ## Pattern 2: Development Swarm ### Purpose Full-stack development through coordinated specialist agents. ### Architecture ```javascript // Initialize development swarm with hierarchy mcp__claude-flow__swarm_init({ "topology": "hierarchical", "maxAgents": 8, "strategy": "balanced" }) // Spawn development team const devTeam = [ { type: "architect", name: "System Architect", role: "coordinator" }, { type: "coder", name: "Backend Developer", capabilities: ["node", "api", "database"] }, { type: "coder", name: "Frontend Developer", capabilities: ["react", "ui", "ux"] }, { type: "coder", name: "Database Engineer", capabilities: ["sql", "nosql", "optimization"] }, { type: "tester", name: "QA Engineer", capabilities: ["unit", "integration", "e2e"] }, { type: "reviewer", name: "Code Reviewer", capabilities: ["security", "performance", "best-practices"] }, { type: "documenter", name: "Technical Writer", capabilities: ["api-docs", "guides", "tutorials"] }, { type: "monitor", name: "DevOps Engineer", capabilities: ["ci-cd", "deployment", "monitoring"] } ] // Spawn all team members devTeam.forEach(member => { mcp__claude-flow__agent_spawn({ type: member.type, name: member.name, capabilities: member.capabilities, swarmId: "dev-swarm" }) }) ``` ### Development Workflow #### Phase 1: Architecture and Design ```javascript // System architecture design mcp__claude-flow__task_orchestrate({ "task": "design system architecture for REST API", "strategy": "sequential", "priority": "critical", "assignTo": "System Architect" }) // Store architecture decisions mcp__claude-flow__memory_usage({ "action": "store", "key": "architecture-decisions", "value": JSON.stringify(architectureDoc), "namespace": "development/design" }) ``` #### Phase 2: Parallel Implementation ```javascript // Parallel development tasks mcp__claude-flow__parallel_execute({ "tasks": [ { "id": "backend-api", "command": "implement REST API endpoints", "assignTo": "Backend Developer" }, { "id": "frontend-ui", "command": "build user interface components", "assignTo": "Frontend Developer" }, { "id": "database-schema", "command": "design and implement database schema", "assignTo": "Database Engineer" }, { "id": "api-documentation", "command": "create API documentation", "assignTo": "Technical Writer" } ] }) // Monitor development progress mcp__claude-flow__swarm_monitor({ "swarmId": "dev-swarm", "interval": 5000 }) ``` #### Phase 3: Testing and Validation ```javascript // Comprehensive testing mcp__claude-flow__batch_process({ "items": [ { type: "unit", target: "all-modules" }, { type: "integration", target: "api-endpoints" }, { type: "e2e", target: "user-flows" }, { type: "performance", target: "critical-paths" } ], "operation": "execute-tests" }) // Quality assessment mcp__claude-flow__quality_assess({ "target": "codebase", "criteria": ["coverage", "complexity", "maintainability", "security"] }) ``` #### Phase 4: Review and Deployment ```javascript // Code review workflow mcp__claude-flow__workflow_execute({ "workflowId": "code-review-process", "params": { "reviewers": ["Code Reviewer"], "criteria": ["security", "performance", "best-practices"] } }) // CI/CD pipeline mcp__claude-flow__pipeline_create({ "config": { "stages": ["build", "test", "security-scan", "deploy"], "environment": "production" } }) ``` ### CLI Fallback ```bash # Quick development swarm npx claude-flow swarm "build REST API with authentication" \ --strategy development \ --mode hierarchical \ --monitor \ --output sqlite ``` ## Pattern 3: Testing Swarm ### Purpose Comprehensive quality assurance through distributed testing. ### Architecture ```javascript // Initialize testing swarm with star topology mcp__claude-flow__swarm_init({ "topology": "star", "maxAgents": 7, "strategy": "parallel" }) // Spawn testing team const testingTeam = [ { type: "tester", name: "Unit Test Coordinator", capabilities: ["unit-testing", "mocking", "coverage", "tdd"] }, { type: "tester", name: "Integration Tester", capabilities: ["integration", "api-testing", "contract-testing"] }, { type: "tester", name: "E2E Tester", capabilities: ["e2e", "ui-testing", "user-flows", "selenium"] }, { type: "tester", name: "Performance Tester", capabilities: ["load-testing", "stress-testing", "benchmarking"] }, { type: "monitor", name: "Security Tester", capabilities: ["security-testing", "penetration-testing", "vulnerability-scanning"] }, { type: "analyst", name: "Test Analyst", capabilities: ["coverage-analysis", "test-optimization", "reporting"] }, { type: "documenter", name: "Test Documenter", capabilities: ["test-documentation", "test-plans", "reports"] } ] // Spawn all testers testingTeam.forEach(tester => { mcp__claude-flow__agent_spawn({ type: tester.type, name: tester.name, capabilities: tester.capabilities, swarmId: "testing-swarm" }) }) ``` ### Testing Workflow #### Phase 1: Test Planning ```javascript // Analyze test coverage requirements mcp__claude-flow__quality_assess({ "target": "test-coverage", "criteria": [ "line-coverage", "branch-coverage", "function-coverage", "edge-cases" ] }) // Identify test scenarios mcp__claude-flow__pattern_recognize({ "data": testScenarios, "patterns": [ "edge-case", "boundary-condition", "error-path", "happy-path" ] }) // Store test plan mcp__claude-flow__memory_usage({ "action": "store", "key": "test-plan-" + Date.now(), "value": JSON.stringify(testPlan), "namespace": "testing/plans" }) ``` #### Phase 2: Parallel Test Execution ```javascript // Execute all test suites in parallel mcp__claude-flow__parallel_execute({ "tasks": [ { "id": "unit-tests", "command": "npm run test:unit", "assignTo": "Unit Test Coordinator" }, { "id": "integration-tests", "command": "npm run test:integration", "assignTo": "Integration Tester" }, { "id": "e2e-tests", "command": "npm run test:e2e", "assignTo": "E2E Tester" }, { "id": "performance-tests", "command": "npm run test:performance", "assignTo": "Performance Tester" }, { "id": "security-tests", "command": "npm run test:security", "assignTo": "Security Tester" } ] }) // Batch process test suites mcp__claude-flow__batch_process({ "items": testSuites, "operation": "execute-test-suite" }) ``` #### Phase 3: Performance and Security ```javascript // Run performance benchmarks mcp__claude-flow__benchmark_run({ "suite": "comprehensive-performance" }) // Bottleneck analysis mcp__claude-flow__bottleneck_analyze({ "component": "application", "metrics": ["response-time", "throughput", "memory", "cpu"] }) // Security scanning mcp__claude-flow__security_scan({ "target": "application", "depth": "comprehensive" }) // Vulnerability analysis mcp__claude-flow__error_analysis({ "logs": securityScanLogs }) ``` #### Phase 4: Monitoring and Reporting ```javascript // Real-time test monitoring mcp__claude-flow__swarm_monitor({ "swarmId": "testing-swarm", "interval": 2000 }) // Generate comprehensive test report mcp__claude-flow__performance_report({ "format": "detailed", "timeframe": "current-run" }) // Get test results mcp__claude-flow__task_results({ "taskId": "test-execution-001" }) // Trend analysis mcp__claude-flow__trend_analysis({ "metric": "test-coverage", "period": "30d" }) ``` ### CLI Fallback ```bash # Quick testing swarm npx claude-flow swarm "test application comprehensively" \ --strategy testing \ --mode star \ --parallel \ --timeout 600 ``` ## Pattern 4: Analysis Swarm ### Purpose Deep code and system analysis through specialized analyzers. ### Architecture ```javascript // Initialize analysis swarm mcp__claude-flow__swarm_init({ "topology": "mesh", "maxAgents": 5, "strategy": "adaptive" }) // Spawn analysis specialists const analysisTeam = [ { type: "analyst", name: "Code Analyzer", capabilities: ["static-analysis", "complexity-analysis", "dead-code-detection"] }, { type: "analyst", name: "Security Analyzer", capabilities: ["security-scan", "vulnerability-detection", "dependency-audit"] }, { type: "analyst", name: "Performance Analyzer", capabilities: ["profiling", "bottleneck-detection", "optimization"] }, { type: "analyst", name: "Architecture Analyzer", capabilities: ["dependency-analysis", "coupling-detection", "modularity-assessment"] }, { type: "documenter", name: "Analysis Reporter", capabilities: ["reporting", "visualization", "recommendations"] } ] // Spawn all analysts analysisTeam.forEach(analyst => { mcp__claude-flow__agent_spawn({ type: analyst.type, name: analyst.name, capabilities: analyst.capabilities }) }) ``` ### Analysis Workflow ```javascript // Parallel analysis execution mcp__claude-flow__parallel_execute({ "tasks": [ { "id": "analyze-code", "command": "analyze codebase structure and quality" }, { "id": "analyze-security", "command": "scan for security vulnerabilities" }, { "id": "analyze-performance", "command": "identify performance bottlenecks" }, { "id": "analyze-architecture", "command": "assess architectural patterns" } ] }) // Generate comprehensive analysis report mcp__claude-flow__performance_report({ "format": "detailed", "timeframe": "current" }) // Cost analysis mcp__claude-flow__cost_analysis({ "timeframe": "30d" }) ``` ## Advanced Techniques ### Error Handling and Fault Tolerance ```javascript // Setup fault tolerance for all agents mcp__claude-flow__daa_fault_tolerance({ "agentId": "all", "strategy": "auto-recovery" }) // Error handling pattern try { await mcp__claude-flow__task_orchestrate({ "task": "complex operation", "strategy": "parallel", "priority": "high" }) } catch (error) { // Check swarm health const status = await mcp__claude-flow__swarm_status({}) // Analyze error patterns await mcp__claude-flow__error_analysis({ "logs": [error.message] }) // Auto-recovery attempt if (status.healthy) { await mcp__claude-flow__task_orchestrate({ "task": "retry failed operation", "strategy": "sequential" }) } } ``` ### Memory and State Management ```javascript // Cross-session persistence mcp__claude-flow__memory_persist({ "sessionId": "swarm-session-001" }) // Namespace management for different swarms mcp__claude-flow__memory_namespace({ "namespace": "research-swarm", "action": "create" }) // Create state snapshot mcp__claude-flow__state_snapshot({ "name": "development-checkpoint-1" }) // Restore from snapshot if needed mcp__claude-flow__context_restore({ "snapshotId": "development-checkpoint-1" }) // Backup memory stores mcp__claude-flow__memory_backup({ "path": "/workspaces/claude-code-flow/backups/swarm-memory.json" }) ``` ### Neural Pattern Learning ```javascript // Train neural patterns from successful workflows mcp__claude-flow__neural_train({ "pattern_type": "coordination", "training_data": JSON.stringify(successfulWorkflows), "epochs": 50 }) // Adaptive learning from experience mcp__claude-flow__learning_adapt({ "experience": { "workflow": "research-to-report", "success": true, "duration": 3600, "quality": 0.95 } }) // Pattern recognition for optimization mcp__claude-flow__pattern_recognize({ "data": workflowMetrics, "patterns": ["bottleneck", "optimization-opportunity", "efficiency-gain"] }) ``` ### Workflow Automation ```javascript // Create reusable workflow mcp__claude-flow__workflow_create({ "name": "full-stack-development", "steps": [ { "phase": "design", "agents": ["architect"] }, { "phase": "implement", "agents": ["backend-dev", "frontend-dev"], "parallel": true }, { "phase": "test", "agents": ["tester", "security-tester"], "parallel": true }, { "phase": "review", "agents": ["reviewer"] }, { "phase": "deploy", "agents": ["devops"] } ], "triggers": ["on-commit", "scheduled-daily"] }) // Setup automation rules mcp__claude-flow__automation_setup({ "rules": [ { "trigger": "file-changed", "pattern": "*.js", "action": "run-tests" }, { "trigger": "PR-created", "action": "code-review-swarm" } ] }) // Event-driven triggers mcp__claude-flow__trigger_setup({ "events": ["code-commit", "PR-merge", "deployment"], "actions": ["test", "analyze", "document"] }) ``` ### Performance Optimization ```javascript // Topology optimization mcp__claude-flow__topology_optimize({ "swarmId": "current-swarm" }) // Load balancing mcp__claude-flow__load_balance({ "swarmId": "development-swarm", "tasks": taskQueue }) // Agent coordination sync mcp__claude-flow__coordination_sync({ "swarmId": "development-swarm" }) // Auto-scaling mcp__claude-flow__swarm_scale({ "swarmId": "development-swarm", "targetSize": 12 }) ``` ### Monitoring and Metrics ```javascript // Real-time swarm monitoring mcp__claude-flow__swarm_monitor({ "swarmId": "active-swarm", "interval": 3000 }) // Collect comprehensive metrics mcp__claude-flow__metrics_collect({ "components": ["agents", "tasks", "memory", "performance"] }) // Health monitoring mcp__claude-flow__health_check({ "components": ["swarm", "agents", "neural", "memory"] }) // Usage statistics mcp__claude-flow__usage_stats({ "component": "swarm-orchestration" }) // Trend analysis mcp__claude-flow__trend_analysis({ "metric": "agent-performance", "period": "7d" }) ``` ## Best Practices ### 1. Choosing the Right Topology - **Mesh**: Research, brainstorming, collaborative analysis - **Hierarchical**: Structured development, sequential workflows - **Star**: Testing, validation, centralized coordination - **Ring**: Pipeline processing, staged workflows ### 2. Agent Specialization - Assign specific capabilities to each agent - Avoid overlapping responsibilities - Use coordination agents for complex workflows - Leverage memory for agent communication ### 3. Parallel Execution - Identify independent tasks for parallelization - Use sequential execution for dependent tasks - Monitor resource usage during parallel execution - Implement proper error handling ### 4. Memory Management - Use namespaces to organize memory - Set appropriate TTL values - Create regular backups - Implement state snapshots for checkpoints ### 5. Monitoring and Optimization - Monitor swarm health regularly - Collect and analyze metrics - Optimize topology based on performance - Use neural patterns to learn from success ### 6. Error Recovery - Implement fault tolerance strategies - Use auto-recovery mechanisms - Analyze error patterns - Create fallback workflows ## Real-World Examples ### Example 1: AI Research Project ```javascript // Research AI trends, analyze findings, generate report mcp__claude-flow__swarm_init({ topology: "mesh", maxAgents: 6 }) // Spawn: 2 researchers, 2 analysts, 1 synthesizer, 1 documenter // Parallel gather → Analyze patterns → Synthesize → Report ``` ### Example 2: Full-Stack Application ```javascript // Build complete web application with testing mcp__claude-flow__swarm_init({ topology: "hierarchical", maxAgents: 8 }) // Spawn: 1 architect, 2 devs, 1 db engineer, 2 testers, 1 reviewer, 1 devops // Design → Parallel implement → Test → Review → Deploy ``` ### Example 3: Security Audit ```javascript // Comprehensive security analysis mcp__claude-flow__swarm_init({ topology: "star", maxAgents: 5 }) // Spawn: 1 coordinator, 1 code analyzer, 1 security scanner, 1 penetration tester, 1 reporter // Parallel scan → Vulnerability analysis → Penetration test → Report ``` ### Example 4: Performance Optimization ```javascript // Identify and fix performance bottlenecks mcp__claude-flow__swarm_init({ topology: "mesh", maxAgents: 4 }) // Spawn: 1 profiler, 1 bottleneck analyzer, 1 optimizer, 1 tester // Profile → Identify bottlenecks → Optimize → Validate ``` ## Troubleshooting ### Common Issues **Issue**: Swarm agents not coordinating properly **Solution**: Check topology selection, verify memory usage, enable monitoring **Issue**: Parallel execution failing **Solution**: Verify task dependencies, check resource limits, implement error handling **Issue**: Memory persistence not working **Solution**: Verify namespaces, check TTL settings, ensure backup configuration **Issue**: Performance degradation **Solution**: Optimize topology, reduce agent count, analyze bottlenecks ## Related Skills - `sparc-methodology` - Systematic development workflow - `github-integration` - Repository management and automation - `neural-patterns` - AI-powered coordination optimization - `memory-management` - Cross-session state persistence ## References - [Claude Flow Documentation](https://github.com/ruvnet/claude-flow) - [Swarm Orchestration Guide](https://github.com/ruvnet/claude-flow/wiki/swarm) - [MCP Tools Reference](https://github.com/ruvnet/claude-flow/wiki/mcp) - [Performance Optimization](https://github.com/ruvnet/claude-flow/wiki/performance) --- **Version**: 2.0.0 **Last Updated**: 2025-10-19 **Skill Level**: Advanced **Estimated Learning Time**: 2-3 hours