From shannon
Multi-validator agreement gate with 5-state synthesis and multi-round debate iteration. ALWAYS use when the user says "consensus validation", "validate with N reviewers", "agreement gate", "high-confidence validation", "consensus gate", or needs confidence-scored verdicts. Spawns ≥2 (default 3) independent validators in isolated evidence dirs, applies the 5-state synthesis table (UNANIMOUS_PASS / UNANIMOUS_FAIL / MAJORITY_PASS / MAJORITY_FAIL / SPLIT), and escalates SPLIT or borderline MAJORITY to up to 3 rounds of filesystem-mediated debate.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shannon:consensus-engineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execution-time agreement gate. Spawns ≥2 (default 3) independent validators against the same feature; applies Shannon's 5-state synthesis table; escalates non-unanimous outcomes to multi-round debate via the `judge-with-debate` engine. Synthesizes a confidence-scored verdict.
Execution-time agreement gate. Spawns ≥2 (default 3) independent validators against the same feature; applies Shannon's 5-state synthesis table; escalates non-unanimous outcomes to multi-round debate via the judge-with-debate engine. Synthesizes a confidence-scored verdict.
| State | Condition | Verdict | Confidence |
|---|---|---|---|
| UNANIMOUS_PASS | All PASS | PASS | HIGH |
| UNANIMOUS_FAIL | All FAIL | FAIL | HIGH |
| MAJORITY_PASS | ≥⅔ PASS (after debate if needed) | PASS | MEDIUM |
| MAJORITY_FAIL | ≥⅔ FAIL (after debate if needed) | FAIL | MEDIUM |
| SPLIT | Neither side ⅔ after max debate rounds | DISAGREEMENT_UNRESOLVED | LOW |
Confidence never upgrades — a late-arriving PASS verdict does NOT turn SPLIT into UNANIMOUS_PASS, even if the late verdict is well-evidenced. Confidence is fixed at the time of synthesis.
agents/meta-judge.md).e2e-evidence/consensus/<run-id>/
validator-1/
validator-2/
validator-3/
report.md (synthesizer-owned)
.shannon/state/consensus-rubric-<run-id>.yaml.Task (SINGLE assistant response, N Task tool calls). Each receives:
---
VALIDATOR: {1|2|3}
VERDICT: PASS | FAIL
SCORE: X.X/5.0
CRITERIA:
- {criterion_1}: {X.X}/5.0
- {criterion_2}: {X.X}/5.0
ISSUES:
- {issue with file:line}
EVIDENCE:
- {evidence_path_1}
- {evidence_path_2}
---
Aggregate verdict headers. Apply 5-state synthesis table:
(pass_count, fail_count, total) per criterion AND overall.If UNANIMOUS_PASS or UNANIMOUS_FAIL → emit verdict with HIGH confidence; skip Phase 4.
Otherwise → check escalation conditions:
judge-with-debate)Delegate to judge-with-debate skill for the iteration mechanics. Inputs:
.specs/reports/consensus-<run-id>.[1|N].md).Debate runs up to 3 rounds:
## Debate Round R to their own report file. Previous rounds are preserved.After convergence (or 3 rounds, whichever first):
The synthesizer emits a unified report:
# Consensus Report — <run-id>
## Per-criterion scores
| Criterion | V1 (initial) | V2 (initial) | V3 (initial) | V1 (final) | V2 (final) | V3 (final) | Consensus | Within Threshold? |
|-----------|-------------|-------------|-------------|-----------|-----------|-----------|-----------|-------------------|
| {criterion_1} | {X.X} | {X.X} | {X.X} | {X.X} | {X.X} | {X.X} | {avg} | YES/NO |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
## Verdict
- State: {UNANIMOUS_PASS | UNANIMOUS_FAIL | MAJORITY_PASS | MAJORITY_FAIL | SPLIT}
- Final: {PASS | FAIL | DISAGREEMENT_UNRESOLVED}
- Confidence: {HIGH | MEDIUM | LOW}
- Debate Rounds: {0-3}
## Disagreement Protocol Applied (if non-unanimous)
- Diverging criteria: {list}
- Resolution: {converged via debate / re-ran validator / sharpened criterion / discarded erroring validator}
## Cited Evidence
- {file:line} — {context}
- ...
validator-<N>/ subdirectory (append-only across debate rounds).report.md..shannon/state/consensus-rubric-<run-id>.yaml.A validator that writes outside its directory invalidates the run.
If debate is not chosen (e.g., user explicitly disables debate), the legacy single-round disagreement protocol still applies:
codebase-analysis on the divergent evidence.--mode consensus.judge for those (Shannon-distinctive quorum semantics differ from consensus).## Debate Round R; never overwrites.judge-with-debate — the iteration engine for Phase 4 escalation.agents/meta-judge.md — generates the consensus rubric.judge — alternative quorum gate (pre-execution plan review, post-execution evidence audit); distinct from consensus's "did this feature pass?" semantics.judge — single-validator primitive used inside each validator.codebase-analysis — fallback non-debate disagreement protocol.dispatch-parallel — orchestrates parallel validator spawn.agents/consensus-validator.md — the validator agent.agents/meta-judge.md — rubric generator.core/SUBAGENT_PATTERNS.md — consensus vs quorum vs debate design rationale.npx claudepluginhub krzemienski/shannon --plugin shannonCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.