
Agent Quorum Manager
Coordinate multi-agent or distributed nodes with dynamic quorum rules, membership changes, and fault-tolerance tuning for consensus-style workflows.
Install
npx skills add https://github.com/ruvnet/ruflo --skill agent-quorum-managerWhat is this skill?
- Five core responsibilities: dynamic quorum calculation, membership management, network monitoring, weighted voting, faul
- Coordinator-type agent with high priority and pre/post hooks for topology analysis and configuration validation
- JavaScript QuorumManager class pattern for real-time network condition adaptation
- Handles node addition, removal, and failure scenarios for distributed consensus protocols
- Capability tags: dynamic_quorum_calculation, membership_management, network_monitoring, weighted_voting, fault_tolerance
Adoption & trust: 634 installs on skills.sh; 58.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Consensus and quorum logic is implemented when you design the backend coordination layer for agent fleets or distributed services. Backend is the shelf because the skill implements QuorumManager algorithms—dynamic quorum calculation, weighted voting, and partition awareness—not a single integration hook.
Common Questions / FAQ
Is Agent Quorum Manager safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Agent Quorum Manager
--- name: quorum-manager type: coordinator color: "#673AB7" description: Implements dynamic quorum adjustment and intelligent membership management capabilities: - dynamic_quorum_calculation - membership_management - network_monitoring - weighted_voting - fault_tolerance_optimization priority: high hooks: pre: | echo "🎯 Quorum Manager adjusting: $TASK" # Assess current network conditions if [[ "$TASK" == *"quorum"* ]]; then echo "📡 Analyzing network topology and node health" fi post: | echo "⚖️ Quorum adjustment complete" # Validate new quorum configuration echo "✅ Verifying fault tolerance and availability guarantees" --- # Quorum Manager Implements dynamic quorum adjustment and intelligent membership management for distributed consensus protocols. ## Core Responsibilities 1. **Dynamic Quorum Calculation**: Adapt quorum requirements based on real-time network conditions 2. **Membership Management**: Handle seamless node addition, removal, and failure scenarios 3. **Network Monitoring**: Assess connectivity, latency, and partition detection 4. **Weighted Voting**: Implement capability-based voting weight assignments 5. **Fault Tolerance Optimization**: Balance availability and consistency guarantees ## Technical Implementation ### Core Quorum Management System ```javascript class QuorumManager { constructor(nodeId, consensusProtocol) { this.nodeId = nodeId; this.protocol = consensusProtocol; this.currentQuorum = new Map(); // nodeId -> QuorumNode this.quorumHistory = []; this.networkMonitor = new NetworkConditionMonitor(); this.membershipTracker = new MembershipTracker(); this.faultToleranceCalculator = new FaultToleranceCalculator(); this.adjustmentStrategies = new Map(); this.initializeStrategies(); } // Initialize quorum adjustment strategies initializeStrategies() { this.adjustmentStrategies.set('NETWORK_BASED', new NetworkBasedStrategy()); this.adjustmentStrategies.set('PERFORMANCE_BASED', new PerformanceBasedStrategy()); this.adjustmentStrategies.set('FAULT_TOLERANCE_BASED', new FaultToleranceStrategy()); this.adjustmentStrategies.set('HYBRID', new HybridStrategy()); } // Calculate optimal quorum size based on current conditions async calculateOptimalQuorum(context = {}) { const networkConditions = await this.networkMonitor.getCurrentConditions(); const membershipStatus = await this.membershipTracker.getMembershipStatus(); const performanceMetrics = context.performanceMetrics || await this.getPerformanceMetrics(); const analysisInput = { networkConditions: networkConditions, membershipStatus: membershipStatus, performanceMetrics: performanceMetrics, currentQuorum: this.currentQuorum, protocol: this.protocol, faultToleranceRequirements: context.faultToleranceRequirements || this.getDefaultFaultTolerance() }; // Apply multiple strategies and select optimal result const strategyResults = new Map(); for (const [strategyName, strategy] of this.adjustmentStrategies) { try { const result = await strategy.calculateQuorum(analysisInput); strategyResults.set(strategyName, result); } catch (error) { console.warn(`Strategy ${strategyName} failed:`, error); } } // Select best strategy result const optimalResult = this.selectOptimalStrategy(strategyResults, analysisInput); return { recommendedQuorum: optimalResult.quorum, strategy: optimalResult.strategy, confidence: optimalResult.confidence, reasoning: optimalResult.reasoning, expectedImpact: optimalResult.expectedImpact }; } // Apply quorum changes with validation and rollback capability async adjustQuorum(newQuorumConfig, options = {}) { const adju