Install
$ agentstack add skill-aldianriski-lean-flow-council ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
LLM Council
Ask one AI, get one answer — and you can't tell if it's great or mid, because you only saw one perspective. The council runs your question through 5 independent advisors (different thinking lenses), has them peer-review each other anonymously, then a chairman synthesizes a final recommendation: where they agree, where they clash, and what to actually do. Adapted from Andrej Karpathy's LLM Council, run inside Claude via sub-agents with different lenses instead of different models.
> Cap (ADR-006): this SKILL is the procedure only. The executable artifacts — advisor > definitions, prompt templates, the worked example — live in references/ and are read on demand, > so they don't count toward the ~110-line cap.
When to run
For decisions where being wrong is expensive and there's genuine uncertainty — pricing, positioning, pivots, hard architectural / scope forks, "am I crazy to do X?". NOT for one-right-answer questions, creation tasks, or processing/summarizing tasks. If you already know the answer and just want validation, expect the council to tell you things you don't want to hear — that's the point. Triggers are in the description; reserve it (~11 model calls/run).
The five advisors
Five thinking styles chosen for the tensions they create — Contrarian ↔ Expansionist (downside ↔ upside), First Principles ↔ Executor (rethink ↔ ship), with the Outsider in the middle keeping everyone honest. Full definitions → references/advisors.md (read before step 2).
Tier
Dispatched roles — advisors (step 2), peer reviewers (step 3), the research pass (step 1C) — run on cheap-tier sonnet sub-agents (Agent-tool model: override); only the chairman synthesis (step 4) stays on the session model (the high-judgment step). Tier map → .claude/CONTEXT.md.
The 6 steps
All sub-agent prompt templates are in references/prompts.md — read it before spawning.
- Frame (+ context & research). Scan the workspace for context (CLAUDE.md ·
memory/· referenced files — ≤30s). Decide if the call turns on external current facts; if so, run one shared research pass (template in prompts.md) and carry an evidence brief — say so in one line if you skip it. Reframe the raw question into one neutral prompt every advisor receives. Too vague → ask one clarifying question, then proceed. - Convene (5 advisors, parallel). Spawn all 5 as sub-agents (identities → advisors.md; template → prompts.md), 150–300 words each, leaning fully into their lens. Each first emits its 1–2 decision-critical questions, then its analysis (a question no advisor resolves becomes a chairman blind-spot). Exception: the Outsider does NOT get the evidence brief — keep it naive (that's the curse-of-knowledge detector).
- Peer review (5, parallel). Anonymize the responses as A–E, randomizing the mapping independently per reviewer (not once). Each reviewer scores on a rubric — reasoning · evidence · coverage, NOT length/fluency — then answers: strongest? biggest blind spot? what did ALL miss? (template → prompts.md).
- Chairman synthesis (session model). One agent gets the question + de-anonymized responses + all 5 reviews + the advisor questions → the verdict (template → prompts.md): agree · clash · blind spots · recommendation (written before the score) · pre-mortem · calibrated confidence + dissent · one-thing-first · the single-model ceiling caveat. The chairman MAY side with a lone dissenter if the reasoning is strongest.
- Write the verdict (lean). Present in chat AND write only the verdict (sections per prompts.md) to
verdict-.md— use the slug the ADR will use. Default to the OS temp dir; repo only if asked. Never dump the full transcript. - Feed forward. The verdict is a decision input, not a record. Hard-to-reverse + surprising + a real trade-off → fold the recommendation + alternatives into an ADR (
docs/adr/, DOCS_Guide §4), then the verdict file can be deleted. Don't accumulate stale verdicts.
Conditional passes (gated — off by default)
Two optional passes fire only when warranted, keeping the base run at ~11 calls (templates → prompts.md). Say in one line whether each fired or was skipped.
- Moderator (unknown-unknowns) — after step 3, before the chairman. Fires when the panel converges fast (groupthink risk). One cheap sub-agent surfaces the most important consideration no advisor/reviewer raised → feeds the chairman as an extra blind spot. +1 call.
- Fact-verify (adversarial) — after step 4. Fires only when the verdict rests on external facts / citations / benchmarks — skip for pure judgment forks (the common case). One refuter per claim cluster (~1–4) extracts load-bearing claims + verifies cited sources (a citation resolving to no real source = FALSE); the chairman corrects/demotes before finalizing and notes it in Confidence & Dissent. +1–4 calls.
Worked example → references/example.md.
Red flags
❌ Spawning advisors sequentially — always parallel; sequential lets earlier responses bleed in. ❌ Skipping anonymization for peer review — reviewers defer to thinking styles instead of judging merit. ❌ Forcing the chairman to the majority — it may side with the strongest reasoning, even a lone dissenter. ❌ Counciling a trivial question — one right answer → just answer it; the council is for genuine uncertainty. ❌ Dumping the full transcript into the verdict file — write only the verdict sections; the sprawl is what makes it un-lean. ❌ Laundering disagreement into false consensus — low advisor agreement is reported with a lowered confidence, never smoothed into a confident verdict. ❌ Over-trusting unanimity — 5 personas on one model share its knowledge gaps; the verdict says so (the ceiling caveat), so agreement isn't read as independent proof. ❌ Running the gated passes on a pure-judgment fork — fact-verify fires only when the verdict rests on external facts; the moderator only when groupthink risk is real. Default off; never a reflex.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aldianriski
- Source: aldianriski/lean-flow
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.