ruvnet/ruflo1 file

Agent Topology Optimizer

Agent skill for topology-optimizer - invoke with $agent-topology-optimizer

Specification
Skill ID
ruvnet/ruflo/agent-topology-optimizer
Publisher
ruvnet
Repository
ruflo
Installs
0
Files
1
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

ruvnet/ruflo/agent-topology-optimizerInstalls these files
  • SKILL.md

What this skill tells the agent


name: Topology Optimizer type: agent category: optimization 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 = {
      genetic: new GeneticPlacementAlgorithm(),
      simulated_annealing: new SimulatedAnnealingPlacement(),
      particle_swarm: new ParticleSwarmPlacement(),
      graph_partitioning: new GraphPartitioningPlacement(),
      machine_learning: new MLBasedPlacement()
    };
  }
  
  // Multi-algorithm agent placement optimization
  async optimizePlacement(agents, constraints, objectives) {
    const results = new Map();
    
    // Run multiple algorithms in parallel
    const algorithmPromises = Object.entries(this.algorithms).map(
      async ([name, algorithm]) => {
        const result = await algorithm.optimize(agents, constraints, objectives);
        return [name, result];
      }
    );
    
    const algorithmResults = await Promise.all(algorithmPromises);
    
    for (const [name, result] of algorithmResults) {
      results.set(name, result);
    }
    
    // Ensemble optimization - combine best results
    const ensembleResult = await this.ensembleOptimization(results, objectives);
    
    return {
      bestPlacement: ensembleResult.placement,
      algorithm: ensembleResult.algorithm,
      score: ensembleResult.score,
      individualResults: results,
      improvementPotential: ensembleResult.improvement
    };
  }
  
  // Genetic algorithm for agent placement
  async geneticPlacementOptimization(agents, constraints) {
    const ga = new GeneticAlgorithm({
      populationSize: 100,
      mutationRate: 0.1,
      crossoverRate: 0.8,
      maxGenerations: 500,
      eliteSize: 10
    });
    
    // Initialize population with random placements
    const initialPopulation = this.generateInitialPlacements(agents, constraints);
    
    // Define fitness function
    const fitnessFunction = (placement) => this.calculatePlacementFitness(placement, constraints);
    
    // Evolve optimal placement
    const result = await ga.evolve(initialPopulation, fitnessFunction);
    
    return {

Use this skill in a project

Open any RiverX project, search the Skills panel for ruvnet/ruflo/agent-topology-optimizer, and install it in one click.

Use this skill