Llm council aggregation
Skill Paldom/llm-council-skills/skills/llm-council-aggregation
Agent Skills for building and operating LLM councils - multi-model deliberation with anonymized peer review, robust aggregation, calibrated escalation, and defenses against correlated failure.
npx -y skills add Paldom/llm-council-skills --skill llm-council-aggregationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Combines multiple LLM answers or judge verdicts robustly - correlated-error limits of majority voting, reliability weighting, side-swapped pairwise comparison, judge-synthesizer separation, and surfacing dissent. Use for "combine/aggregate model outputs", "LLM judge panel/jury", "majority vote across models", "rank council responses". Not for pipeline topology, member choice, or stage prompts.
SKILL.md
9.2 KB, as published. Nobody here has run it
LLM Council Aggregation
Purpose
Combines multiple LLM outputs or judge verdicts into one final answer, score, or ranking — robustly. This is the aggregation step of a multi-model system: given N model responses or N judge verdicts on the same item(s), decide how they get turned into one result without either (a) treating naive majority vote as automatically safe, or (b) throwing away disagreement that was actually useful signal.
Core thesis: judge/model agreement is not ground truth. Frontier models share training data and alignment recipes, so their errors correlate — a panel can carry far less independent signal than its member count suggests, and judges can agree with each other while being collectively wrong relative to humans. Measure this on your own eval set before trusting any aggregation scheme; never assume it.
When to use
Use when the user wants to:
- Combine N model outputs into one final answer (majority vote, weighted vote, synthesis).
- Aggregate or reconcile verdicts/scores/rankings from an LLM judge panel or jury.
- Decide how to handle disagreement between judges or council members.
- Choose between mean, weighted vote, geometric median, or a synthesized write-up for combining outputs.
- Set up pairwise LLM comparisons and worry about position bias.
Trigger even when the user never says "council" — e.g. "I have 5 model outputs for each item, what's the best way to pick the winner?", "we ran the same prompt through 3 models, how do we decide on one final answer?", "can we just average the judge scores?".
When NOT to use
- Pipeline topology/stage design ("how should the council's stages flow",
"what's the architecture for our multi-model system") — sibling
llm-council-architecture, not this skill. - Whether to use a council at all ("should we even use multiple models
for this", "is one model good enough") — sibling
llm-council-when. - Member selection ("which models should sit on the panel", "how many
judges do we need") — sibling
llm-council-architecture/member-choice scope, not aggregation. - Writing the stage prompts ("write the judge prompt", "draft the
synthesizer's prompt") — sibling
llm-council-prompts. - Single-judge model evaluation ("evaluate my model's accuracy against this benchmark" with one judge, no panel/aggregation question) — generic eval setup, out of scope.
- Statistics homework unrelated to combining model/judge outputs (e.g. "what's the variance formula for a small sample") — out of scope.
- Database aggregation queries (SQL
GROUP BY/SUM/HAVING) — unrelated meaning of "aggregate."
Workflow
-
Name the failure mode before picking a method. State up front: naive voting is capped by correlated errors, not by the number of judges. Ask (or infer) whether the user has already measured co-failure/agreement on their own data — if not, that's the first gap to flag, not a method choice. Full evidence:
references/aggregation-methods.md#why-naive-voting-fails. -
Match the situation to a method using
references/aggregation-methods.md#method-selection-table:- Classification with a validation set → weight votes by each model's validation-set macro-F1, never by self-reported confidence.
- Reasoning/math → trace-level synthesis (aggregate reasoning traces, not just final answers).
- Subjective quality evaluation → a council of judges, synthesized — more separable and human-consistent than one judge; a small diverse panel can beat one top-tier judge at much lower cost.
- Cost-constrained → conditional escalation: 2 judges by default, invoke a 3rd only when they disagree.
- Suspected corrupted/miscalibrated judges → geometric median instead of mean (breakdown point ~50%).
- Ranking with judges of unequal reliability → judge-aware Bradley-Terry, which infers per-judge reliability jointly with the ranking.
-
If pairwise comparison is in play, apply the discipline in
references/aggregation-methods.md#pairwise-discipline: both orders, count a win only when both agree (else tie), and reserve full pairwise for a calibration set once you're at scale — production defaults to pointwise. -
Pick a confidence/weighting tier deliberately, per
references/aggregation-methods.md#confidence-and-calibration: simple mean (equal judges only) < stated-confidence weighting (ONLY if calibrated) < historical-reliability weighting (best, needs upkeep). If the user proposes weighting by self-reported confidence, ask whether it's been calibrated against human labels — if not, warn it can add nothing over plain majority, or be actively counterproductive on hard items. Point to the calibration loop (200–500 verdicts vs. human labels, Cohen's kappa per pair, Krippendorff's alpha panel-wide, target ≥0.6, quarterly re-run). -
Apply judge hygiene from
references/aggregation-methods.md#judge-bias-and-hygiene: judge from a different model family than the generator, separate the judge role from the synthesizer role, require citing evidence before scoring, add a do-not-reward-length clause, temperature 0, and still expect self-inconsistency across runs on high-stakes items (repeat trials). -
Design the synthesis step to preserve disagreement, not collapse it — see
references/aggregation-methods.md#disagreement-as-the-product. A correct synthesis states where members agree, surfaces and explains disagreement (steelman both sides), draws from all responses rather than only the top-ranked one, flags remaining uncertainty, and routes high-disagreement/low-confidence items to a human instead of forcing a synthetic consensus. -
Default the rating scale to 0–5 for judge scoring unless the user has a reason to deviate — validate it against a human-labeled sample rather than assuming it's settled (single-study evidence; see
references/aggregation-methods.md#scale-choice).
Output spec
A complete answer names: which method fits the user's situation (from the
selection table) and why, the specific correlated-error/co-failure risk for
their setup, the confidence/weighting tier they should use and what
calibration it requires, any pairwise-bias controls needed, and how the
synthesis step should preserve rather than collapse disagreement. Point to
references/aggregation-methods.md for full detail and citations rather than
inlining every paper's numbers.
Failure modes to name explicitly
- Naive majority/average vote presented as automatically reliable — name the correlated-error ceiling (effective vote count can be far below panel size) before endorsing any vote scheme.
- Judge agreement treated as human alignment — judges converging on each other is not evidence they match human judgment on subjective rubrics.
- Uncalibrated confidence weighting — self-reported confidence with no calibration check adds nothing over plain majority, and can be inversely correlated with correctness on hard tasks.
- Consensus-collapsed synthesis — a blended "average" write-up can discard most of the good, non-majority ideas a single council member produced; treat disagreement as content to preserve, not noise to average out.
- Same-family judge and generator — self-preference bias inflates scores for outputs from the judge's own model family.
Gotchas
- Don't recommend more judges as a fix for unreliability without first asking whether errors are correlated — more correlated judges can add cost without adding independent signal.
- Pairwise comparison is O(n²); don't default to full pairwise at scale — pointwise plus periodic pairwise calibration is the production default.
- A "council" that always resolves to the majority-vote answer with no escalation path or human-in-the-loop for high-disagreement cases has quietly reintroduced the naive-voting failure mode this skill exists to avoid.
- Cite only the named papers/sources in
references/aggregation-methods.md.
Siblings
llm-council-when— whether to use a council at all for a given task.llm-council-architecture— pipeline topology and stage design.llm-council-members— which models/judges to include and how many.llm-council-prompts— writing the prompts for each stage.llm-council-cost— budgeting and cost tradeoffs across council designs.llm-council-failure-modes— broader council failure modes beyond aggregation.llm-council-harness— running/orchestrating the council end to end.
References
references/aggregation-methods.md— method-selection table, pairwise discipline, confidence/calibration tiers, judge-bias hygiene, disagreement synthesis, scale choice, and full citations.