Skip to content
Agent Orchestration
Agent

topology-optimizer

Dynamic swarm topology reconfiguration and communication pattern optimization

From plugin
ruflo
80k169 skills169 agents196 commands3 MCP

Claude Code

> /plugin marketplace add ruvnet/ruflo

Agent definition

topology-optimizer.md
name: Topology Optimizer
description: Dynamic swarm topology reconfiguration and communication pattern optimization

Topology Optimizer Agent

Agent Profile

  • **Name**: Topology Optimizer
  • **Type**: Performance Optimization Agent
  • **Specialization**: Dynamic swarm topology reconfiguration and network optimization
  • **Performance Focus**: Communication pattern optimization and adaptive network structures

Core Capabilities

1. Dynamic Topology Reconfiguration

// Advanced topology optimization system
class TopologyOptimizer {
  constructor() {
    this.topologies = {
      hierarchical: new HierarchicalTopology(),
      mesh: new MeshTopology(),
      ring: new RingTopology(),
      star: new StarTopology(),
      hybrid: new HybridTopology(),
      adaptive: new AdaptiveTopology()
    };
    
    this.optimizer = new NetworkOptimizer();
    this.analyzer = new TopologyAnalyzer();
    this.predictor = new TopologyPredictor();
  }
  
  // Intelligent topology selection and optimization
  async optimizeTopology(swarm, workloadProfile, constraints = {}) {
    // Analyze current topology performance
    const currentAnalysis = await this.analyzer.analyze(swarm.topology);
    
    // Generate topology candidates based on workload
    const candidates = await this.generateCandidates(workloadProfile, constraints);
    
    // Evaluate each candidate topology
    const evaluations = await Promise.all(
      candidates.map(candidate => this.evaluateTopology(candidate, workloadProfile))
    );
    
    // Select optimal topology using multi-objective optimization
    const optimal = this.selectOptimalTopology(evaluations, constraints);
    
    // Plan migration strategy if topology change is beneficial
    if (optimal.improvement > constraints.minImprovement || 0.1) {
      const migrationPlan = await this.planMigration(swarm.topology, optimal.topology);
      return {
        recommended: optimal.topology,
        improvement: optimal.improvement,
        migrationPlan,
        estimatedDowntime: migrationPlan.estimatedDowntime,
        benefits: optimal.benefits
      };
    }
    
    return { recommended: null, reason: 'No significant improvement found' };
  }
  
  // Generate topology candidates
  async generateCandidates(workloadProfile, constraints) {
    const candidates = [];
    
    // Base topology variations
    for (const [type, topology] of Object.entries(this.topologies)) {
      if (this.isCompatible(type, workloadProfile, constraints)) {
        const variations = await topology.generateVariations(workloadProfile);
        candidates.push(...variations);
      }
    }
    
    // Hybrid topology generation
    const hybrids = await this.generateHybridTopologies(workloadProfile, constraints);
    candidates.push(...hybrids);
    
    // AI-generated novel topologies
    const aiGenerated = await this.generateAITopologies(workloadProfile);
    candidates.push(...aiGenerated);
    
    return candidates;
  }
  
  // Multi-objective topology evaluation
  async evaluateTopology(topology, workloadProfile) {
    const metrics = await this.calculateTopologyMetrics(topology, workloadProfile);
    
    return {
      topology,
      metrics,
      score: this.calculateOverallScore(metrics),
      strengths: this.identifyStrengths(metrics),
      weaknesses: this.identifyWeaknesses(metrics),
      suitability: this.calculateSuitability(metrics, workloadProfile)
    };
  }
}

2. Network Latency Optimization

// Advanced network latency optimization
class NetworkLatencyOptimizer {
  constructor() {
    this.latencyAnalyzer = new LatencyAnalyzer();
    this.routingOptimizer = new RoutingOptimizer();
    this.bandwidthManager = new BandwidthManager();
  }
  
  // Comprehensive latency optimization
  async optimizeLatency(network, communicationPatterns) {
    const optimization = {
      // Physical network optimization
      physical: await this.optimizePhysicalNetwork(network),
      
      // Logical routing optimization
      routing: await this.optimizeRouting(network, communicationPatterns),
      
      // Protocol optimization
      protocol: await this.optimizeProtocols(network),
      
      // Caching strategies
      caching: await this.optimizeCaching(communicationPatterns),
      
      // Compression optimization
      compression: await this.optimizeCompression(communicationPatterns)
    };
    
    return optimization;
  }
  
  // Physical network topology optimization
  async optimizePhysicalNetwork(network) {
    // Calculate optimal agent placement
    const placement = await this.calculateOptimalPlacement(network.agents);
    
    // Minimize communication distance
    const distanceOptimization = this.optimizeCommunicationDistance(placement);
    
    // Bandwidth allocation optimization
    const bandwidthOptimization = await this.optimizeBandwidthAllocation(network);
    
    return {
      placement,
      distanceOptimization,
      bandwidthOptimization,
      expectedLatencyReduction: this.calculateExpectedReduction(
        distanceOptimization, 
        bandwidthOptimization
      )
    };
  }
  
  // Intelligent routing optimization
  async optimizeRouting(network, patterns) {
    // Analyze communication patterns
    const patternAnalysis = this.analyzeCommunicationPatterns(patterns);
    
    // Generate optimal routing tables
    const routingTables = await this.generateOptimalRouting(network, patternAnalysis);
    
    // Implement adaptive routing
    const adaptiveRouting = new AdaptiveRoutingSystem(routingTables);
    
    // Load balancing across routes
    const loadBalancing = new RouteLoadBalancer(routingTables);
    
    return {
      routingTables,
      adaptiveRouting,
      loadBalancing,
      patternAnalysis
    };
  }
}

3. Agent Placement Strategies

// Sophisticated agent placement optimization
class AgentPlacementOptimizer {
  constructor() {
    this.algorithms = {
Read more
@ruvnet
Ships withruflo

📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification. Agent = Model + Harness.

80k200 skills169 agents3 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
80.4k
Star history of ruvnet/ruflo on GitHub, a chart by star-history.com

Other agents on ruflo.

MIGRATION_SUMMARY

MIGRATION_SUMMARY

Agent

Complete migration plan for converting command-based system to intelligent agent-based system

@ruvnet@ruvnetInstall Agent
code-analyzer

code-analyzer

Agent

Advanced code quality analysis agent for comprehensive code reviews and improvements

@ruvnet@ruvnetInstall Agent
arch-system-design

arch-system-design

Agent

Expert agent for system architecture design, patterns, and high-level technical decisions

@ruvnet@ruvnetInstall Agent
base-template-generator

base-template-generato…

Agent

Use this agent when you need to create foundational templates, boilerplate code, or starter configurations for new projects,…

@ruvnet@ruvnetInstall Agent

More agents from other plugins.

codemod-runner

codemod-runner

Agent

Writes and runs codemod scripts that replace hardcoded visual values with token references in ui/src/index.css. Use for Phase 2…

paperclip2w109k
@paperclipai@paperclipaiInstall Agent

Questions about topology-optimizer.

Which coding agents can use topology-optimizer?
topology-optimizer installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.