Agent skill

Agent Resource Allocator

by ruvnet in ruvnet/ruflo

Agent skill for resource-allocator - invoke with $agent-resource-allocator

MITAuto-check passed

Install Agent Resource Allocator

skills CLI
$ npx skills add ruvnet/ruflo --skill agent-resource-allocator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/ruflo agent-resource-allocator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/ruflo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/agent-resource-allocator .claude/skills/agent-resource-allocator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
agent-resource-allocator
GitHub stars
74k
Used in
2 other repos
Token cost
~4.9k tokens
SKILL.md length
166 words
Files
1
Skills in repo
264
Repo updated
First seen
Licence
MIT

At a glance

Agent skill for resource-allocator - invoke with $agent-resource-allocator

  • Works in 4 steps: Adaptive Resource Allocation → Predictive Scaling with Machine Learning → Circuit Breaker and Fault Tolerance → …
  • SKILL.md covers Agent Profile, Core Capabilities, MCP Integration Hooks and Operational Commands, plus 2 more sections
  • Calls npx

What it does

Agent Resource Allocator is an agent skill from ruvnet/ruflo. Agent skill for resource-allocator - invoke with $agent-resource-allocator

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: 🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory…. The licence is MIT.

Example prompts

  • “/agent-resource-allocator”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Adaptive Resource Allocation
  2. Predictive Scaling with Machine Learning
  3. Circuit Breaker and Fault Tolerance
  4. Performance Profiling and Optimization

What it can do on your machine

Read from SKILL.md and the folder at commit de590e1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Agent Resource Allocator loads about 4.9k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 166 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~25
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/ruflo at commit de590e1, republished under its MIT licence (© ruvnet). 166 words, ~4,880 tokens.

Download SKILL.mdSave it as .claude/skills/agent-resource-allocator/SKILL.md (or your agent's skills folder).
name
agent-resource-allocator
description
Agent skill for resource-allocator - invoke with $agent-resource-allocator

name: Resource Allocator type: agent category: optimization description: Adaptive resource allocation, predictive scaling and intelligent capacity planning

Resource Allocator Agent

Agent Profile

  • Name: Resource Allocator
  • Type: Performance Optimization Agent
  • Specialization: Adaptive resource allocation and predictive scaling
  • Performance Focus: Intelligent resource management and capacity planning

Core Capabilities

1. Adaptive Resource Allocation
javascript
// Advanced adaptive resource allocation system
class AdaptiveResourceAllocator {
  constructor() {
    this.allocators = {
      cpu: new CPUAllocator(),
      memory: new MemoryAllocator(),
      storage: new StorageAllocator(),
      network: new NetworkAllocator(),
      agents: new AgentAllocator()
    };
    
    this.predictor = new ResourcePredictor();
    this.optimizer = new AllocationOptimizer();
    this.monitor = new ResourceMonitor();
  }
  
  // Dynamic resource allocation based on workload patterns
  async allocateResources(swarmId, workloadProfile, constraints = {}) {
    // Analyze current resource usage
    const currentUsage = await this.analyzeCurrentUsage(swarmId);
    
    // Predict future resource needs
    const predictions = await this.predictor.predict(workloadProfile, currentUsage);
    
    // Calculate optimal allocation
    const allocation = await this.optimizer.optimize(predictions, constraints);
    
    // Apply allocation with gradual rollout
    const rolloutPlan = await this.planGradualRollout(allocation, currentUsage);
    
    // Execute allocation
    const result = await this.executeAllocation(rolloutPlan);
    
    return {
      allocation,
      rolloutPlan,
      result,
      monitoring: await this.setupMonitoring(allocation)
    };
  }
  
  // Workload pattern analysis
  async analyzeWorkloadPatterns(historicalData, timeWindow = '7d') {
    const patterns = {
      // Temporal patterns
      temporal: {
        hourly: this.analyzeHourlyPatterns(historicalData),
        daily: this.analyzeDailyPatterns(historicalData),
        weekly: this.analyzeWeeklyPatterns(historicalData),
        seasonal: this.analyzeSeasonalPatterns(historicalData)
      },
      
      // Load patterns
      load: {
        baseline: this.calculateBaselineLoad(historicalData),
        peaks: this.identifyPeakPatterns(historicalData),
        valleys: this.identifyValleyPatterns(historicalData),
        spikes: this.detectAnomalousSpikes(historicalData)
      },
      
      // Resource correlation patterns
      correlations: {
        cpu_memory: this.analyzeCPUMemoryCorrelation(historicalData),
        network_load: this.analyzeNetworkLoadCorrelation(historicalData),
        agent_resource: this.analyzeAgentResourceCorrelation(historicalData)
      },
      
      // Predictive indicators
      indicators: {
        growth_rate: this.calculateGrowthRate(historicalData),
        volatility: this.calculateVolatility(historicalData),
        predictability: this.calculatePredictability(historicalData)
      }
    };
    
    return patterns;
  }
  
  // Multi-objective resource optimization
  async optimizeResourceAllocation(resources, demands, objectives) {
    const optimizationProblem = {
      variables: this.defineOptimizationVariables(resources),
      constraints: this.defineConstraints(resources, demands),
      objectives: this.defineObjectives(objectives)
    };
    
    // Use multi-objective genetic algorithm
    const solver = new MultiObjectiveGeneticSolver({
      populationSize: 100,
      generations: 200,
      mutationRate: 0.1,
      crossoverRate: 0.8
    });
    
    const solutions = await solver.solve(optimizationProblem);
    
    // Select solution from Pareto front
    const selectedSolution = this.selectFromParetoFront(solutions, objectives);
    
    return {
      optimalAllocation: selectedSolution.allocation,
      paretoFront: solutions.paretoFront,
      tradeoffs: solutions.tradeoffs,
      confidence: selectedSolution.confidence
    };
  }
}
2. Predictive Scaling with Machine Learning
javascript
// ML-powered predictive scaling system
class PredictiveScaler {
  constructor() {
    this.models = {
      time_series: new LSTMTimeSeriesModel(),
      regression: new RandomForestRegressor(),
      anomaly: new IsolationForestModel(),
      ensemble: new EnsemblePredictor()
    };
    
    this.featureEngineering = new FeatureEngineer();
    this.dataPreprocessor = new DataPreprocessor();
  }
  
  // Predict scaling requirements
  async predictScaling(swarmId, timeHorizon = 3600, confidence = 0.95) {
    // Collect training data
    const trainingData = await this.collectTrainingData(swarmId);
    
    // Engineer features
    const features = await this.featureEngineering.engineer(trainingData);
    
    // Train$update models
    await this.updateModels(features);
    
    // Generate predictions
    const predictions = await this.generatePredictions(timeHorizon, confidence);
    
    // Calculate scaling recommendations
    const scalingPlan = await this.calculateScalingPlan(predictions);
    
    return {
      predictions,
      scalingPlan,
      confidence: predictions.confidence,
      timeHorizon,
      features: features.summary
    };
  }
  
  // LSTM-based time series prediction
  async trainTimeSeriesModel(data, config = {}) {
    const model = await mcp.neural_train({
      pattern_type: 'prediction',
      training_data: JSON.stringify({
        sequences: data.sequences,
        targets: data.targets,
        features: data.features
      }),
      epochs: config.epochs || 100
    });
    
    // Validate model performance
    const validation = await this.validateModel(model, data.validation);
    
    if (validation.accuracy > 0.85) {
      await mcp.model_save({
        modelId: model.modelId,
        path: '$models$scaling_predictor.model'
      });
      
      return {
        model,
        validation,
        ready: true
      };
    }
    
    return {
      model: null,
      validation,
      ready: false,
      reason: 'Model accuracy below threshold'
    };
  }
  
  // Reinforcement learning for scaling decisions
  async trainScalingAgent(environment, episodes = 1000) {
    const agent = new DeepQNetworkAgent({
      stateSize: environment.stateSize,
      actionSize: environment.actionSize,
      learningRate: 0.001,
      epsilon: 1.0,
      epsilonDecay: 0.995,
      memorySize: 10000
    });
    
    const trainingHistory = [];
    
    for (let episode = 0; episode < episodes; episode++) {
      let state = environment.reset();
      let totalReward = 0;
      let done = false;
      
      while (!done) {
        // Agent selects action
        const action = agent.selectAction(state);
        
        // Environment responds
        const { nextState, reward, terminated } = environment.step(action);
        
        // Agent learns from experience
        agent.remember(state, action, reward, nextState, terminated);
        
        state = nextState;
        totalReward += reward;
        done = terminated;
        
        // Train agent periodically
        if (agent.memory.length > agent.batchSize) {
          await agent.train();
        }
      }
      
      trainingHistory.push({
        episode,
        reward: totalReward,
        epsilon: agent.epsilon
      });
      
      // Log progress
      if (episode % 100 === 0) {
        console.log(`Episode ${episode}: Reward ${totalReward}, Epsilon ${agent.epsilon}`);
      }
    }
    
    return {
      agent,
      trainingHistory,
      performance: this.evaluateAgentPerformance(trainingHistory)
    };
  }
}
3. Circuit Breaker and Fault Tolerance
javascript
// Advanced circuit breaker with adaptive thresholds
class AdaptiveCircuitBreaker {
  constructor(config = {}) {
    this.failureThreshold = config.failureThreshold || 5;
    this.recoveryTimeout = config.recoveryTimeout || 60000;
    this.successThreshold = config.successThreshold || 3;
    
    this.state = 'CLOSED'; // CLOSED, OPEN, HALF_OPEN
    this.failureCount = 0;
    this.successCount = 0;
    this.lastFailureTime = null;
    
    // Adaptive thresholds
    this.adaptiveThresholds = new AdaptiveThresholdManager();
    this.performanceHistory = new CircularBuffer(1000);
    
    // Metrics
    this.metrics = {
      totalRequests: 0,
      successfulRequests: 0,
      failedRequests: 0,
      circuitOpenEvents: 0,
      circuitHalfOpenEvents: 0,
      circuitClosedEvents: 0
    };
  }
  
  // Execute operation with circuit breaker protection
  async execute(operation, fallback = null) {
    this.metrics.totalRequests++;
    
    // Check circuit state
    if (this.state === 'OPEN') {
      if (this.shouldAttemptReset()) {
        this.state = 'HALF_OPEN';
        this.successCount = 0;
        this.metrics.circuitHalfOpenEvents++;
      } else {
        return await this.executeFallback(fallback);
      }
    }
    
    try {
      const startTime = performance.now();
      const result = await operation();
      const endTime = performance.now();
      
      // Record success
      this.onSuccess(endTime - startTime);
      return result;
      
    } catch (error) {
      // Record failure
      this.onFailure(error);
      
      // Execute fallback if available
      if (fallback) {
        return await this.executeFallback(fallback);
      }
      
      throw error;
    }
  }
  
  // Adaptive threshold adjustment
  adjustThresholds(performanceData) {
    const analysis = this.adaptiveThresholds.analyze(performanceData);
    
    if (analysis.recommendAdjustment) {
      this.failureThreshold = Math.max(
        1, 
        Math.round(this.failureThreshold * analysis.thresholdMultiplier)
      );
      
      this.recoveryTimeout = Math.max(
        1000,
        Math.round(this.recoveryTimeout * analysis.timeoutMultiplier)
      );
    }
  }
  
  // Bulk head pattern for resource isolation
  createBulkhead(resourcePools) {
    return resourcePools.map(pool => ({
      name: pool.name,
      capacity: pool.capacity,
      queue: new PriorityQueue(),
      semaphore: new Semaphore(pool.capacity),
      circuitBreaker: new AdaptiveCircuitBreaker(pool.config),
      metrics: new BulkheadMetrics()
    }));
  }
}
4. Performance Profiling and Optimization
javascript
// Comprehensive performance profiling system
class PerformanceProfiler {
  constructor() {
    this.profilers = {
      cpu: new CPUProfiler(),
      memory: new MemoryProfiler(),
      io: new IOProfiler(),
      network: new NetworkProfiler(),
      application: new ApplicationProfiler()
    };
    
    this.analyzer = new ProfileAnalyzer();
    this.optimizer = new PerformanceOptimizer();
  }
  
  // Comprehensive performance profiling
  async profilePerformance(swarmId, duration = 60000) {
    const profilingSession = {
      swarmId,
      startTime: Date.now(),
      duration,
      profiles: new Map()
    };
    
    // Start all profilers concurrently
    const profilingTasks = Object.entries(this.profilers).map(
      async ([type, profiler]) => {
        const profile = await profiler.profile(duration);
        return [type, profile];
      }
    );
    
    const profiles = await Promise.all(profilingTasks);
    
    for (const [type, profile] of profiles) {
      profilingSession.profiles.set(type, profile);
    }
    
    // Analyze performance data
    const analysis = await this.analyzer.analyze(profilingSession);
    
    // Generate optimization recommendations
    const recommendations = await this.optimizer.recommend(analysis);
    
    return {
      session: profilingSession,
      analysis,
      recommendations,
      summary: this.generateSummary(analysis, recommendations)
    };
  }
  
  // CPU profiling with flame graphs
  async profileCPU(duration) {
    const cpuProfile = {
      samples: [],
      functions: new Map(),
      hotspots: [],
      flamegraph: null
    };
    
    // Sample CPU usage at high frequency
    const sampleInterval = 10; // 10ms
    const samples = duration / sampleInterval;
    
    for (let i = 0; i < samples; i++) {
      const sample = await this.sampleCPU();
      cpuProfile.samples.push(sample);
      
      // Update function statistics
      this.updateFunctionStats(cpuProfile.functions, sample);
      
      await this.sleep(sampleInterval);
    }
    
    // Generate flame graph
    cpuProfile.flamegraph = this.generateFlameGraph(cpuProfile.samples);
    
    // Identify hotspots
    cpuProfile.hotspots = this.identifyHotspots(cpuProfile.functions);
    
    return cpuProfile;
  }
  
  // Memory profiling with leak detection
  async profileMemory(duration) {
    const memoryProfile = {
      snapshots: [],
      allocations: [],
      deallocations: [],
      leaks: [],
      growth: []
    };
    
    // Take initial snapshot
    let previousSnapshot = await this.takeMemorySnapshot();
    memoryProfile.snapshots.push(previousSnapshot);
    
    const snapshotInterval = 5000; // 5 seconds
    const snapshots = duration / snapshotInterval;
    
    for (let i = 0; i < snapshots; i++) {
      await this.sleep(snapshotInterval);
      
      const snapshot = await this.takeMemorySnapshot();
      memoryProfile.snapshots.push(snapshot);
      
      // Analyze memory changes
      const changes = this.analyzeMemoryChanges(previousSnapshot, snapshot);
      memoryProfile.allocations.push(...changes.allocations);
      memoryProfile.deallocations.push(...changes.deallocations);
      
      // Detect potential leaks
      const leaks = this.detectMemoryLeaks(changes);
      memoryProfile.leaks.push(...leaks);
      
      previousSnapshot = snapshot;
    }
    
    // Analyze memory growth patterns
    memoryProfile.growth = this.analyzeMemoryGrowth(memoryProfile.snapshots);
    
    return memoryProfile;
  }
}

MCP Integration Hooks

Resource Management Integration
javascript
// Comprehensive MCP resource management
const resourceIntegration = {
  // Dynamic resource allocation
  async allocateResources(swarmId, requirements) {
    // Analyze current resource usage
    const currentUsage = await mcp.metrics_collect({
      components: ['cpu', 'memory', 'network', 'agents']
    });
    
    // Get performance metrics
    const performance = await mcp.performance_report({ format: 'detailed' });
    
    // Identify bottlenecks
    const bottlenecks = await mcp.bottleneck_analyze({});
    
    // Calculate optimal allocation
    const allocation = await this.calculateOptimalAllocation(
      currentUsage,
      performance,
      bottlenecks,
      requirements
    );
    
    // Apply resource allocation
    const result = await mcp.daa_resource_alloc({
      resources: allocation.resources,
      agents: allocation.agents
    });
    
    return {
      allocation,
      result,
      monitoring: await this.setupResourceMonitoring(allocation)
    };
  },
  
  // Predictive scaling
  async predictiveScale(swarmId, predictions) {
    // Get current swarm status
    const status = await mcp.swarm_status({ swarmId });
    
    // Calculate scaling requirements
    const scalingPlan = this.calculateScalingPlan(status, predictions);
    
    if (scalingPlan.scaleRequired) {
      // Execute scaling
      const scalingResult = await mcp.swarm_scale({
        swarmId,
        targetSize: scalingPlan.targetSize
      });
      
      // Optimize topology after scaling
      if (scalingResult.success) {
        await mcp.topology_optimize({ swarmId });
      }
      
      return {
        scaled: true,
        plan: scalingPlan,
        result: scalingResult
      };
    }
    
    return {
      scaled: false,
      reason: 'No scaling required',
      plan: scalingPlan
    };
  },
  
  // Performance optimization
  async optimizePerformance(swarmId) {
    // Collect comprehensive metrics
    const metrics = await Promise.all([
      mcp.performance_report({ format: 'json' }),
      mcp.bottleneck_analyze({}),
      mcp.agent_metrics({}),
      mcp.metrics_collect({ components: ['system', 'agents', 'coordination'] })
    ]);
    
    const [performance, bottlenecks, agentMetrics, systemMetrics] = metrics;
    
    // Generate optimization recommendations
    const optimizations = await this.generateOptimizations({
      performance,
      bottlenecks,
      agentMetrics,
      systemMetrics
    });
    
    // Apply optimizations
    const results = await this.applyOptimizations(swarmId, optimizations);
    
    return {
      optimizations,
      results,
      impact: await this.measureOptimizationImpact(swarmId, results)
    };
  }
};

Operational Commands

Resource Management Commands
bash
# Analyze resource usage
npx claude-flow metrics-collect --components ["cpu", "memory", "network"]

# Optimize resource allocation
npx claude-flow daa-resource-alloc --resources <resource-config>

# Predictive scaling
npx claude-flow swarm-scale --swarm-id <id> --target-size <size>

# Performance profiling
npx claude-flow performance-report --format detailed --timeframe 24h

# Circuit breaker configuration
npx claude-flow fault-tolerance --strategy circuit-breaker --config <config>
Optimization Commands
bash
# Run performance optimization
npx claude-flow optimize-performance --swarm-id <id> --strategy adaptive

# Generate resource forecasts
npx claude-flow forecast-resources --time-horizon 3600 --confidence 0.95

# Profile system performance
npx claude-flow profile-performance --duration 60000 --components all

# Analyze bottlenecks
npx claude-flow bottleneck-analyze --component swarm-coordination

Integration Points

With Other Optimization Agents
  • Load Balancer: Provides resource allocation data for load balancing decisions
  • Performance Monitor: Shares performance metrics and bottleneck analysis
  • Topology Optimizer: Coordinates resource allocation with topology changes
With Swarm Infrastructure
  • Task Orchestrator: Allocates resources for task execution
  • Agent Coordinator: Manages agent resource requirements
  • Memory System: Stores resource allocation history and patterns

Performance Metrics

Resource Allocation KPIs
javascript
// Resource allocation performance metrics
const allocationMetrics = {
  efficiency: {
    utilization_rate: this.calculateUtilizationRate(),
    waste_percentage: this.calculateWastePercentage(),
    allocation_accuracy: this.calculateAllocationAccuracy(),
    prediction_accuracy: this.calculatePredictionAccuracy()
  },
  
  performance: {
    allocation_latency: this.calculateAllocationLatency(),
    scaling_response_time: this.calculateScalingResponseTime(),
    optimization_impact: this.calculateOptimizationImpact(),
    cost_efficiency: this.calculateCostEfficiency()
  },
  
  reliability: {
    availability: this.calculateAvailability(),
    fault_tolerance: this.calculateFaultTolerance(),
    recovery_time: this.calculateRecoveryTime(),
    circuit_breaker_effectiveness: this.calculateCircuitBreakerEffectiveness()
  }
};

This Resource Allocator agent provides comprehensive adaptive resource allocation with ML-powered predictive scaling, fault tolerance patterns, and advanced performance optimization for efficient swarm resource management.

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/agent-resource-allocator of ruvnet/ruflo.

Open the folder on GitHubat commit de590e1

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in ruvnet/ruflo, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Agent Resource Allocator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Agent Resource Allocator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agent Resource Allocator this skillruvnet/ruflo74k2 repos~4.9kAutomated safety check: PassMIT
Multi Resource Allocation Validationbenchflow-ai/skillsbench1.8k—~883Automated safety check: PassApache-2.0
Resourceswindmill-labs/windmill18k—~1.7kAutomated safety check: PassCustom licence
Resource Hintsthedaviddias/Front-End-Checklist74k—~430Automated safety check: PassMIT
Get Available ResourcesK-Dense-AI/scientific-agent-skills48k1 repos~2.9kAutomated safety check: PassMIT
Free Design Resourcessickn33/agentic-awesome-skills47k1 repos~6.5kAutomated safety check: PassMIT

Similar skills

  • Multi Resource Allocation Validation

    benchflow-ai/skillsbench

    Validate and repair proposed resource allocations by replaying them against temporary capacity.

    1.8k GitHub stars~883 tokensUpdated 2 mo ago
    Auto-check passed
  • Resources

    windmill-labs/windmill

    MUST use when managing resources.

    18k GitHub stars~1.7k tokensUpdated today
    Backend & APIsAuto-check passed
  • Resource Hints

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Use resource hints for faster loading.

    74k GitHub stars~430 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Get Available Resources

    K-Dense-AI/scientific-agent-skills

    Detects host inventory and effective CPU, memory, disk, scheduler, container, and accelerator limits when a user asks for resource-aware planning or before a clearly resource-sensitive local workload.

    48k GitHub starsUsed in 1 repo~2.9k tokens
    Testing & QAAuto-check passed
  • Free Design Resources

    sickn33/agentic-awesome-skills

    Design resource register: resource and provider, licence type, commercial-use and attribution rules, export format, lock-in risk, free tier limit and accessibility notes.

    47k GitHub starsUsed in 1 repo~6.5k tokens
    Frontend & DesignAuto-check passed
  • Azure Resource Visualizer

    github/awesome-copilot

    Official

    Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources.

    40k GitHub starsUsed in 2 repos~2.4k tokens
    DevelopmentAuto-check passed

More from ruvnet/ruflo

All 264 skills in this repo
  • Stores, searches, and retrieves successful patterns with HNSW-indexed semantic search so agents can reuse past solutions instead of relearning them.

    74k GitHub starsUsed in 2 repos~830 tokens
    Auto-check passed
  • Runs claude-flow CLI security scans for input validation, path traversal, SQL injection, XSS, hardcoded secrets and known CVEs, and writes an audit report.

    74k GitHub starsUsed in 2 repos~823 tokens
    Auto-check passed
  • Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.

    74k GitHub starsUsed in 2 repos~829 tokens
    Auto-check passed
  • Coordinates a hierarchical swarm of specialized agents through the claude-flow CLI for work that spans several files or modules at once.

    74k GitHub starsUsed in 2 repos~779 tokens
    Auto-check passed
  • Sets up and drives Ruflo, an npm-installed orchestration layer for multi-agent swarms, persistent memory, routing, hooks and its MCP tool catalog.

    74k GitHub starsUsed in 1 repo~975 tokens
    Auto-check passed
  • Agent Coordination

    ruvnet/ruflo

    Reference for spawning, listing, monitoring and stopping agents with claude-flow commands, with agent type families, routing codes and coordination tips.

    74k GitHub starsUsed in 2 repos~519 tokens
    Auto-check passed

Questions about Agent Resource Allocator

What does Agent Resource Allocator do?

Agent skill for resource-allocator - invoke with $agent-resource-allocator. Agent Resource Allocator is an agent skill from ruvnet/ruflo.

How do I install Agent Resource Allocator in Claude Code?

Run `npx skills add ruvnet/ruflo --skill agent-resource-allocator -a claude-code`. Or copy the skill folder (.agents/skills/agent-resource-allocator in ruvnet/ruflo) into .claude/skills/agent-resource-allocator in your project. Claude Code loads it when a task matches its description.

How do I install Agent Resource Allocator in Codex?

Run `npx skills add ruvnet/ruflo --skill agent-resource-allocator -a codex`. Or copy the skill folder (.agents/skills/agent-resource-allocator in ruvnet/ruflo) into .agents/skills/agent-resource-allocator in your project. Codex loads it when a task matches its description.

Can I use Agent Resource Allocator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/ruflo --skill agent-resource-allocator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-resource-allocator, .gemini/skills/agent-resource-allocator, .github/skills/agent-resource-allocator and .opencode/skills/agent-resource-allocator in your project.

What does Agent Resource Allocator need to run?

Going by SKILL.md and its folder, Agent Resource Allocator needs the command-line tools its instructions call (npx).

Does Agent Resource Allocator access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Agent Resource Allocator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Agent Resource Allocator use?

Agent Resource Allocator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Agent Resource Allocator use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Agent Resource Allocator?

Skills that share tags, products or a category with Agent Resource Allocator: Multi Resource Allocation Validation (benchflow-ai/skillsbench, 1.8k stars), Resources (windmill-labs/windmill, 18k stars), Resource Hints (thedaviddias/Front-End-Checklist, 74k stars) and Get Available Resources (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agent Resource Allocator?

ruvnet (a GitHub user) maintains it in ruvnet/ruflo, which has 74,012 GitHub stars. The repository holds 264 skills in this directory. The repository was last updated on October 7, 2026.

Source: ruvnet/ruflo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.