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

quorum-lenses

Skill0 starsChanged 3 months agoMITView on GitHub

Coin the lenses for a quorum - deriving them from the subject's own failure and value axes rather than reusing a generic roster, sizing the panel, testing lenses for orthogonality, and the starting vocabulary of seats that have earned their place. Use when setting up any quorum, and when a run returned thin or redundant findings. Trigger on "what lenses", "who should review this", "roster", "perspectives", "the quorum found nothing", "reviewers keep finding the same thing", "set up the panel".

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Check by asking, for each pair: *what does A find that B cannot?* If you cannot answer, merge them and add a genuinely different one.

    line 46

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Coining lenses

A lens is a specific way this subject could fail, held by an agent whose only job is to find that failure. Not a job title. Not a persona.

The corpus is unambiguous here: every non-audit run swapped 100% of the pinned roster. Lenses that worked were derived from the subject. A roster is a starting vocabulary, never a default to apply.


Derive from two axes

For the subject in front of you, ask:

  1. How could this fail? Not "what is bad" in general — what are the specific mechanisms by which this particular thing goes wrong?
  2. Who would notice, and when? Different stakeholders notice different failures at different times. Each distinct noticing-position is a candidate lens.

Then name each lens as the question it asks, phrased as an attempt to break the thing.

Weak (a role)Strong (a failure hunt)
Security reviewer"Show me the input that reaches the database unsanitized"
UX reviewer"Show me a first-time user who cannot complete the primary task"
Finance reviewer"Show me this number is in the wrong period"
Performance reviewer"Show me the query that degrades at 10× the data"
Quality reviewer(unsalvageable — it hunts nothing)

The test: could this lens return "nothing found" and have that be informative? A lens hunting a specific failure yields a meaningful negative. "Quality reviewer: nothing found" means nothing.


Orthogonality

Lenses must catch different failures. Two lenses that would find the same finding are one lens and a wasted agent.

Check by asking, for each pair: what does A find that B cannot? If you cannot answer, merge them and add a genuinely different one.

Common redundancy traps:

  • Security + reliability overlap heavily on input validation. Split by consequence instead: one hunts exposure, one hunts outage.
  • Two seniority levels of the same lens ("senior architect" and "junior developer") — that is one lens with a tone knob.
  • A lens per file or per section. Those are subject artifacts, not lenses. The audit corpus explicitly rejected its own five miner lens names as a reusable roster for exactly this reason.

Sizing

Scale to the stakes, not to a magic word (the corpus shows "quick" and "exhaustive" were never typed):

StakesLensesJudges
A quick check before moving on2-30 — go straight to synthesis
Ordinary review3-40-1
Something shipping to others4-52
Audit, post-mortem, irreversible decision5-63

Beyond six lenses, returns fall off and dedup load rises. If you want more coverage, deepen the evidence requirement instead of adding a seventh lens.

Judges are not extra lenses. They are the hard constraints that would kill or approve the decision. Zero judges is correct when nothing is contested — a generation task with checkable ground truth is Mine→Verify only.


The starting vocabulary

Seats that earned their place in the corpus. Adapt or discard freely — this is a prompt for your own derivation, not a roster to apply.

SeatUniquely catchesFamilies
architectstructural and coupling risk, migration hazardbuild, audit
security / railsrail violations, exposure; holds vetoesbuild, audit
operator (daily driver)day-2 friction, real usage costbuild, review
strategy / ROI (thin-scope guardian, token economist)value per effort, scope creepbuild; audit judge
delivery pragmatistship-now versus perfect tradeoffsbuild
automation architectdeterministic-over-model-drivenaudit judge
reliability judgefirst-time-right; where more process hurtsaudit judge
red-team / refuterinvalidation of claimed evidence — this seat is the Verify phaseall
brand / client-voiceinternal codenames leaking into client text, tone driftconditional — client-facing deliverables only
visual · ux · messaging · conversion · responsivedesign-review axesreview

Rejected seats, recorded because negative results are cheap to lose

  • A forensics trio of root-cause / timeline-integrity / blast-radius — invented, zero mined runs, rejected 3/3 judges. It reads plausibly, which is precisely why it needed rejecting.
  • post-mortem / forecaster as listed vocabulary — not attested in real use.

Writing the miner prompt

Each miner gets: the lens question, the scope, the evidence contract, and the output schema.

You are the CUTOFF lens on the July close package.

Hunt exactly one failure: show me a figure that belongs in a different period.
Look at date basis (effective vs posting vs created), timezone conversion at
period boundaries, and whether any extract was taken while the period was open.

Every finding must cite re-checkable evidence: the file and line, the query, or a
verbatim quote under 200 characters. A finding you cannot point at is not a finding.

Return: {title, claim, evidence, impact, severity, recommendation}
Return an empty array if you find nothing. Do not pad.

Four things that make this work:

  1. One failure per miner. A miner asked to find "issues" finds shallow ones across the board.
  2. Name where to look, without naming what to conclude.
  3. State the evidence contract explicitly — it is what makes Verify possible at all.
  4. Permit an empty result. Miners that cannot return nothing will invent something, and invented findings consume verifier budget and dilute the dossier.

When a run comes back wrong

SymptomCauseFix
Everything deduped into two findingsLenses were not orthogonalRe-derive from distinct failure axes
Findings are generic ("could improve error handling")Lenses were roles, not failure huntsRewrite as "show me…" questions
Nothing survived VerifyMiners padded, or evidence contract was absentTighten the contract; permit empty returns
Everything survived Verify on round oneVerifiers were not genuinely adversarialRe-prompt to refute; check they re-opened the evidence
Judges all said the same thingJudges were lenses again, not constraintsName the 2-4 things that would actually kill this

That fourth row deserves suspicion by default. A quorum that finds nothing, or confirms everything, on its first run has usually failed to be adversarial rather than discovered that the work is perfect.


Related skills

  • quorum — the orchestrator
  • quorum-verification — what the refuter seat does
  • quorum-judging — why judges are constraints rather than lenses
  • the domain adapters — worked lens sets for common subjects

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.