Multi-agent consensus voting with domain-weighted expertise for critical decisions requiring structured validation
Execute weighted multi-agent voting for critical decisions where domain expertise matters. Unlike debate (collaborative synthesis) or n-version (parallel generation), this skill focuses on structured voting with expertise weighting for security, authentication, and data-handling changes.
From ~/.amplihack/.claude/context/DISCOVERIES.md (Pattern Applicability Analysis):
Voting vs Expert Judgment Selection Criteria
When Voting Works:
- Adversarial environment (can't trust individual nodes)
- Binary or simple discrete choices
- No objective quality metric available
- Consensus more valuable than correctness
When Expert Judgment Works:
- Cooperative environment (honest actors)
- Complex quality dimensions
- Objective evaluation criteria exist
- Correctness more valuable than consensus
This skill uses BOTH strategically: Expert judgment to evaluate, weighted voting to decide.
AUTO-TRIGGERS (high-risk domains):
EXPLICIT TRIGGERS:
AVOID FOR:
debate-workflow instead)n-version-workflow instead)Voting Mode:
simple-majority - 50%+ votes to passsupermajority - 66%+ votes to pass (DEFAULT for security)unanimous - 100% agreement requiredAgent Selection:
auto - Select agents based on detected domain (DEFAULT)manual - Specify agents explicitlycomprehensive - All relevant agents voteWeight Calibration:
static - Fixed weights per domain (DEFAULT)| Agent | Security | Auth | Data | Algorithm | General |
|---|---|---|---|---|---|
| security | 3.0 | 2.5 | 2.5 | 1.5 | 1.0 |
| reviewer | 1.5 | 1.5 | 1.5 | 2.0 | 2.0 |
| architect | 1.5 | 2.0 | 2.0 | 2.5 | 2.0 |
| tester | 1.0 | 1.5 | 1.5 | 2.0 | 1.5 |
| optimizer | 0.5 | 0.5 | 0.5 | 2.5 | 1.0 |
| cleanup | 0.5 | 0.5 | 0.5 | 1.0 | 1.5 |
Weight Interpretation:
Analyze the change or decision to determine primary domain:
Domain Detection Triggers:
SECURITY: encrypt, decrypt, hash, salt, vulnerability, CVE, injection
AUTH: login, logout, session, token, jwt, oauth, password, credential
DATA: pii, gdpr, sensitive, personal, private, secret, key
ALGORITHM: sort, search, calculate, compute, process, transform
Based on detected domain, select relevant agents with weights:
For SECURITY domain:
For AUTH domain:
For DATA domain:
For ALGORITHM domain:
Each selected agent receives:
Decision Prompt Template:
## Decision Required: [TITLE]
**Domain:** [SECURITY | AUTH | DATA | ALGORITHM]
**Your Weight:** [X.X] (based on domain expertise)
### Context
[Relevant background and constraints]
### Options
1. [Option A]: [Description]
2. [Option B]: [Description]
3. [Reject Both]: Propose alternative
### Evaluation Criteria
- Security implications
- Implementation complexity
- Maintainability
- Risk assessment
### Your Vote
Provide:
1. Your vote (Option 1, 2, or Reject)
2. Confidence level (HIGH, MEDIUM, LOW)
3. Key reasoning (2-3 sentences max)
4. Any conditions or caveats
For each agent, collect structured vote:
agent: security
weight: 3.0
vote: Option 1
confidence: HIGH
reasoning: "Option 1 follows OWASP best practices for credential storage. Option 2 uses deprecated hashing algorithm."
conditions: ["Ensure salt length >= 16 bytes", "Use constant-time comparison"]
Weighted Vote Calculation:
For each option:
weighted_score = sum(agent_weight * confidence_multiplier)
Where confidence_multiplier:
HIGH = 1.0
MEDIUM = 0.7
LOW = 0.4
Example Calculation:
| Agent | Weight | Vote | Confidence | Score |
|---|---|---|---|---|
| security | 3.0 | A | HIGH | 3.0 |
| architect | 1.5 | A | MEDIUM | 1.05 |
| reviewer | 1.5 | B | HIGH | 1.5 |
| tester | 1.0 | A | LOW | 0.4 |
Option A Score: 3.0 + 1.05 + 0.4 = 4.45
Option B Score: 1.5
Total Weighted Votes: 5.95
Option A Percentage: 74.8% (SUPERMAJORITY)
Based on configured voting mode:
simple-majority (50%+):
supermajority (66%+): (DEFAULT for security)
unanimous (100%):
If Consensus Reached:
## Consensus Voting Result
**Decision:** [Selected Option]
**Domain:** SECURITY
**Threshold:** Supermajority (66%+)
**Result:** PASSED (74.8%)
### Vote Summary
| Agent | Weight | Vote | Confidence |
| --------- | ------ | ---- | ---------- |
| security | 3.0 | A | HIGH |
| architect | 1.5 | A | MEDIUM |
| reviewer | 1.5 | B | HIGH |
| tester | 1.0 | A | LOW |
### Key Reasoning (from highest-weighted agents)
- **security (3.0):** "Option 1 follows OWASP best practices..."
### Conditions/Caveats
- Ensure salt length >= 16 bytes
- Use constant-time comparison
### Dissenting View
- **reviewer (1.5):** "Option B has simpler implementation..."
If No Consensus:
## Consensus Voting Result
**Decision:** NO CONSENSUS
**Domain:** AUTH
**Threshold:** Supermajority (66%+)
**Result:** FAILED (52.3%)
### Recommendation
- Escalate to `/amplihack:debate` for structured trade-off analysis
- OR: Gather more information and re-vote
- OR: Accept simple majority with documented risk
Benefits:
Costs:
Use When: Decision is discrete, domain expertise matters, audit trail needed
Context: Choosing between bcrypt, argon2id, and PBKDF2 for new auth system
Domain Detection: AUTH (password, hash)
Agents Selected:
Votes:
Result: argon2id wins with 68.2% (supermajority passed)
Context: Token bucket vs sliding window vs fixed window
Domain Detection: SECURITY (rate limit, protection)
Agents Selected:
Votes:
Result: token bucket wins with 69.4% (supermajority passed)
Context: Microservices vs monolith for new feature
Domain Detection: ALGORITHM (general architecture)
Agents Selected:
Votes:
Result: No consensus (52.1%) - Escalate to /amplihack:debate
When voting fails to reach consensus:
Skill(debate-workflow) with vote contextUse consensus voting to select between N-version implementations:
This skill enforces: