agentleFS
LukehleLukehle/claude-quorum/skills/quorum/SKILL.md

quorum

Skill0 starsChanged 3 months agoMITView on GitHub

Run a multi-agent quorum - parallel evidence miners with per-subject lenses, adversarial verification, a judge panel, and dissent-honoring synthesis - when an answer must be defensible rather than plausible. Handles audits, gap analyses, post-mortems, architecture rulings, and gated re-runs. Trigger on "run the quorum", "/quorum", "requorum", "continue the loop until the quorum passes", "adversarial review", "multi-perspective analysis", "stress test this", "is this defensible", "second opinion", or any request for a verified analysis. Pass the question or scope as args.

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not re-derive the process.

    line 12
  2. Very specific:

    Before spawning anything, run mece-decompose on the question: bound the domain, split it into mutually-exclusive, collectively-exhaustive …

    line 58
  3. Distinctive:

    Every quantitative claim in the final report is verifier-confirmed.

    line 167

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Quorum

A quorum is for questions where being plausible is not enough. Asking one capable reviewer "does this look right?" reliably returns yes — the question invites confirmation. A quorum instead runs independent lenses that each try to break the work, then rules on what survives.

Do not re-derive the process. Instantiate this template with the subject.

Everything below traces to a retrospective over ~21 production runs. See CALIBRATION.md for what was actually measured; the two findings that matter most:

The separate adversarial Verify phase is the differentiator — verified over lens-name specificity, with survival uniform at ~86% across lenses.

The only family-invariant is a dissent-honoring convergence step. It survives every specimen, including judge-less and verify-less runs.


Parse the ask before spawning anything

Family comes from the leading verb plus the trailing deliverable-noun:

SignalFamilyShape
refine / gaps / what's nextauditFull Mine → Verify → Judge → Synthesize
how to build / what's missing to shipbuild-gapPanel → Judge, verify folded in; requorum gate loop
why did X fail / what went wrongforensicsFACTS first, then Mine-against-facts → Verify → Synthesize; output must include a prevention process
analyze / rebuild / designreviewReview lenses → one judge that dedupes, verifies and prioritizes
research / landscaperesearchDelegate mining to a research skill; judges score its verified output
generation with checkable ground truthgenerationMine → Verify only. No judge panel over an uncontested check

Then three parse rules, each attested in real usage:

  1. A definite past-tense referent is a retrieval obligation. "our X", "the X we did", "like we did for Y" → Grep/Glob it before mining or building. On an empty search, ask. Never substitute a build for a lookup.
  2. An until-clause is an explicit done-check. "keep running until X", "do not prompt me" → re-run until X holds, capped at 3 rounds unless stated. (Attested 9× across 6 sessions.)
  3. Scale is signalled by the subject, not by magic words. Size the panel to the stakes: 2-3 lenses for a quick review, 5+ for an audit. ("quick"/"exhaustive" were typed 0× — do not look for them.)

Client-facing deliverable? (email, sent artifact, site or form copy) → seat a brand/client-voice lens. It catches internal codenames leaking into external text and tone drift.


The four phases

0. Decompose (pre-step, when the question is divisible)

Before spawning anything, run mece-decompose on the question: bound the domain, split it into mutually-exclusive, collectively-exhaustive branches, mark the kill-test branch, and check every leaf is something a miner can actually settle. One branch becomes one miner's charter; the kill-test branch is mined first. Skip only when the subject is a single indivisible artifact (one page, one function) — then lenses alone carve the coverage.

1. Mine

3-6 parallel miners, one per orthogonal lens. Each returns structured findings:

{ title, claim, evidence, impact, severity, recommendation, lens }

Lenses are coined per subject from its failure and value axes — what could go wrong here, and who would notice. Never reviewer 1 / 2 / 3. Every non-audit run in the corpus swapped 100% of the pinned roster; a roster is a starting vocabulary, not a default. See quorum-lenses.

Every finding must carry re-checkable evidence — counts, file paths, verbatim quotes ≤200 chars — that a downstream agent will actually re-open. Grep and scripts for transcript audits, direct reads of cited sources for design, fetches for research. Never dump whole large files.

2. Verify

One adversarial verifier per deduped finding, prompted to REFUTE by independently re-checking the evidence. isReal = false when the core evidence cannot be reproduced. Findings that fail die here.

This is the phase that earns the whole exercise. If you cut anything, do not cut this. See quorum-verification.

3. Judge

Judges are the 2-4 hard constraints that would actually kill or approve this class of decision, named from the subject's real stakes. Use zero judges and go straight to synthesis when nothing is contested — generation with checkable ground truth is Mine→Verify only.

Judges see the confirmed dossier as data. They may not launch tools or re-mine, though a targeted re-read of one cited artifact is allowed. Each returns: top recommendations with gain and effort, rejected items with reasons, and one novel insight. See quorum-judging.

4. Synthesize — the one phase you may never omit

One agent merges. An action endorsed by 2+ judges outranks single-judge picks. Disagreements are reported with an explicit ruling, never silently dropped.

Output sections, in this order:

  1. Root causes, ranked and quantified
  2. Top actions table with gain and effort
  3. Stop-doing list
  4. Disagreements and rulings

Deterministic steps stay in code

Dedup, vote tallying, ruling, ranking, and requorum diffing are data transforms. Doing them with an agent is slower, costlier, and non-reproducible.

import { dedupeFindings, tallyVerdicts, ruleFinding, rankFindings,
         judgeConsensus, requorumDiff, shouldContinue } from '/absolute/path/to/.claude/claude-quorum/tools/quorum-lib.mjs';

Tested behaviours worth knowing, because each is a way a run quietly goes wrong:

  • Dedup preserves every contributing lens. "Three lenses found this independently" is signal the judges need.
  • Abstentions are not support. A verifier that failed to reach a conclusion is not evidence.
  • A tie fails. Contested evidence is PLAUSIBLE, never CONFIRMED.
  • Disputed judge picks are returned, not dropped.
  • A restated blocker is the same blocker across requorum rounds.

Model routing

Pass explicitly at spawn; do not let a cheap session silently become the gatekeeper.

RoleTier
Minersmid tier, high effort
Verifiers and judgestop tier, pinned — never inherit
Synthesizerinherit session tier, highest effort

On a seat where routing is restricted, compensate with process rather than accepting a weaker gate — see quorum-degradation.


Requorum (gate mode)

"continue the loop until the quorum passes" / "requorum" → run one round with the same roster against a changed subject, diffing each finding against the prior ruling's open blockers. Persist the returned requorum and loopControl, and let the caller invoke another round only when loopControl.continue is true. Stop at zero remaining or the round cap.

requorumDiff matches restated blockers fuzzily, so a reworded blocker reads as remaining rather than as simultaneously closed and newly raised. shouldContinue enforces the cap and reports what is still open when it trips.

Distinct from a loop-until-dry mining round, which deepens evidence within one run.


Hard rules

  • Dedup between Mine and Verify in code, not with an agent.
  • Every quantitative claim in the final report is verifier-confirmed; anything else is marked unverified.
  • Judges get the dossier as JSON and no tools.
  • A quorum that finds nothing on its first run should be suspected, not celebrated — either the lenses were generic or they were not genuinely trying to break the work.
  • Save durable conclusions to memory only when they change standing behaviour.

Related skills

  • quorum-lenses — coining lenses for a subject
  • quorum-verification — the refutation phase in depth
  • quorum-judging — panels, consensus, and dissent
  • quorum-degradation — running this on a restricted harness
  • design-quorum, code-quorum, research-quorum, decision-quorum, incident-quorum — adapters

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.