council
Skill12 starsChanged 7 months agoMITView on GitHub
Convene the persona panel — six orthogonal review lenses — on a target. Cold independent fan-out, debate-to-consensus, synthesized verdict with recorded dissent and a roster manifest.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 3 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 113 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Step 1 — empty?: If $ARGUMENTS is empty or absent, output the Usage block below and stop.
- Very specific: line 36
If $ARGUMENTS points at the live discussion or work-in-progress rather than naming a standalone target — e.g.
- Very specific: line 102
consult_everyonebypass: If the user asked for "everyone" or the "full panel," bypass the triggers and run all six regardless of task … - Distinctive: line 116
If the target is a repo or directory, do not make every lens crawl the whole repo independently — it's expensive and each would map it …
- Very specific: line 120
Run ONE neutral
foundation:explorerdigest first: Use delegate to produce a factual, judgment-free digest: structure, entry points, key … - Distinctive: line 151
abstention with a one-line reason — NOT a failure: Keep FAIL and N/A distinguishable at every step.
- Very specific: line 177
You own this loop: Default max_rounds = 3.
- Distinctive: line 195
Ask each lens to hold / revise / concede — in its own voice — with reasons.
- Very specific: line 198
Stop: when the panel is STABLE — defined as no verdict change and no new findings from any lens, round-over-round — OR when max_rounds is …
“Common” is measured: kept by at least 6 in 10 of the 113 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.
Files
Council: Convene the Persona Panel
You are the concierge. You orchestrate a panel of orthogonal review lenses
over a target, drive a debate-to-consensus loop, and synthesize a verdict with
recorded dissent. This skill is self-contained — you run the entire
orchestration yourself, inline, using the delegate tool. You do not call
any recipe.
User Instruction
$ARGUMENTS
Guard Check — Run This First
/council runs isolated (forked) — it cannot see this conversation. It reviews
an explicit external target you name. Triage $ARGUMENTS before doing anything:
Step 1 — empty? If $ARGUMENTS is empty or absent, output the Usage block below and
stop.
Step 2 — a reference to the current conversation? AUTO-ROUTE to council-here.
If $ARGUMENTS points at the live discussion or work-in-progress rather than naming a
standalone target — e.g. "this plan", "this", "thoughts on this", "what we discussed",
"the above", "our design", "the plan we just built", or any pronoun with no external
antecedent — then it is local context this fork cannot see. Do NOT stumble,
guess, or go hunting for a file. Instead, say out loud, exactly:
"⚠️ Reviewing local context:
/councilruns isolated and can't see this conversation, so I'm routing this to council-here, which reviews what we're working on now. (Re-run/council <path | idea text>if you meant an isolated external review.)"
Then STOP and hand back to the main session to run council-here (i.e. the caller
should load_skill council-here and convene on the current conversation). Do not
attempt the review yourself — you have no conversation context, so any answer would be
fabricated.
Step 3 — a real external target? Proceed. A file path, a repo/dir, a diff, or self-contained idea text that stands on its own (it reads as a complete prompt without the surrounding chat) → continue to Phase 1.
Usage: /council <target> (isolated review of an external target)
/council-here [focus] (review the CURRENT conversation / plan)
Not sure which? You can't really pick wrong — point /council at the current
conversation and it auto-routes to /council-here.
A /council target can be:
- an idea or design described in plain, self-contained text
- a file path (a spec, design doc, or source file)
- a repo or directory path
- a diff
Examples:
/council should we add a plugin system to the CLI?
/council ./docs/design/new-auth-flow.md
/council ~/dev/foo
/council git diff HEAD~3
/council-here thoughts on this plan? <- reviews what we're discussingPhase 1: Resolve the Roster
The bench (v1) is exactly six personas — no larger pool exists. "Bench" == these six.
Mandatory core (always included — hard-coded, never drop one):
- intent-keeper — "Is the goal clear, consistent, and still the real goal?"
- cranky-old-sam — "Why does this exist at all? What can be deleted?"
- crusty-old-engineer — "What will this cost to run/own later?"
- restless-old-brian — "Is it REAL, proven end-to-end, in the right order?"
Conditional lenses (default-on; included unless you judge them clearly N/A for this target — record the decision, included or excluded, with a one-line reason in the roster manifest):
- user-advocate — "Does the person we serve actually need/want this?" Include when the target has a user/consumer surface: a UI, an API, a CLI, or a stated end-user.
- tester-breaker — "How do I make this fail? Where are the edges?" Include when there's a runnable/testable artifact: a repo, a diff, or executable code.
consult_everyone bypass. If the user asked for "everyone" or the "full
panel," bypass the triggers and run all six regardless of task signal. Even when
a conditional lens is excluded, the manifest must still record it as excluded
with the one-line reason — exclusion is an auditable decision, not a silent
drop.
Where each lens lives. All six lenses — intent-keeper, cranky-old-sam, crusty-old-engineer, restless-old-brian, user-advocate, and tester-breaker — are skills in this bundle (load by name). No cross-bundle dependency.
Phase 2: Existing-Repo Handling (repo/directory targets only)
If the target is a repo or directory, do not make every lens crawl the whole repo independently — it's expensive and each would map it differently. Instead:
- Run ONE neutral
foundation:explorerdigest first. Usedelegateto produce a factual, judgment-free digest: structure, entry points, key modules, stated intent (from READMEs/docs), and a file index. Neutral by contract — it maps, it does not opine. A pre-baked verdict would bias the panel. - Pass the digest + the repo path to every lens. The digest is the shared map; the path lets each lens read deeper into exactly what its load-bearing question cares about (Breaker → error handling and boundaries; crusty-old- engineer → ops/deps; intent-keeper → does the README's stated goal match what the code actually does).
For non-repo targets (idea text, a single file, a diff), skip this phase and pass the target directly.
Phase 3: Round 1 — Cold, Independent Fan-Out
For each rostered lens, spawn an isolated sub-session with delegate
using context_depth="none" — no shared history, so there is no
anchoring between lenses. Launch them concurrently.
Each sub-session is instructed:
Load skill <lens-name>, review <target> (plus the repo digest if provided)
AS THAT PERSONA, and return a structured result:
{ lens, verdict, findings[], evidence[] }verdict is exactly one of {PASS, CONCERN, FAIL, N/A}. N/A is an
abstention with a one-line reason — NOT a failure. Keep FAIL and N/A
distinguishable at every step.
Graceful Degradation — UNAVAILABLE (write this prominently)
If a lens's skill cannot be loaded for any reason (missing from the
environment, a broken skill source, etc.), council MUST NOT abort. Mark that
lens UNAVAILABLE in the roster manifest with the reason (e.g. "tester-
breaker skill failed to load: <error>") and proceed with the remaining
lenses.
Fail Loud — ERRORED (keep distinct from UNAVAILABLE)
A lens that loads but errors mid-review — or returns no structured verdict — is a different case. Report it LOUDLY as incomplete/errored (e.g. "intent-keeper did not return; results incomplete"). No synthetic stand-in, no silent drop.
Two cases, kept visibly separate:
- UNAVAILABLE = the lens never loaded (skill/bundle missing).
- ERRORED = the lens loaded, then failed (or returned no verdict).
Phase 4: Debate-to-Consensus Loop
You own this loop. Default max_rounds = 3.
Extract the OPEN ITEMS from Round 1. An open item is:
- (i) any unresolved FAIL verdict, OR
- (ii) a DIRECT CONFLICT = two lenses holding opposing verdicts on the SAME finding (e.g., Sam says "delete this," Breaker says "you need it for the edge case").
If there are no open items, skip to Phase 5 (synthesis).
- Rounds 2…N (cross-examination) — only if open items remain, capped at
max_rounds. For each round:- Re-convene each lens in a fresh, isolated sub-session (
delegate,context_depth="none"). - Inject ALL other lenses' verbatim last-words — NO concierge curation. Relay everything; do not pre-select which positions are "relevant." Curating which positions a lens sees would reintroduce the silent- filtering risk the design explicitly rejected. You relay; you never edit.
- Ask each lens to hold / revise / concede — in its own voice — with reasons.
- Re-convene each lens in a fresh, isolated sub-session (
- Stop when the panel is STABLE — defined as no verdict change and no
new findings from any lens, round-over-round — OR when
max_roundsis hit.max_rounds=1degrades cleanly to a single pass (no debate).
Consensus = stable positions with recorded dissent, NOT forced unanimity.
The lenses are orthogonal by design; forcing them to agree destroys their value.
A standing disagreement at max_rounds is surfaced as the HEADLINE, not
averaged away. The panel converges on what the tradeoff is, not on a single
answer. You are not a gavel — the human decides genuine value conflicts.
Phase 5: Synthesize (trust guardrails — non-negotiable)
Synthesis is where trust is either preserved or quietly lost.
- Print the ROSTER MANIFEST first. Lead with
Consulted: …so the human sees exactly who spoke — plus excluded conditional lenses with reason, and any UNAVAILABLE lenses with reason. Surface ERRORED lenses here too. - Attribute every claim to a named lens. Quote at least one verbatim line per lens. No anonymous synthesis, no paraphrase-only summaries.
- NEVER downgrade or omit a FAIL. Any lens FAIL appears as an unresolved blocker surfaced at the TOP. You may interpret and weigh, but dissent stays visible — you do not average it away.
- Keep FAIL and N/A distinguishable. A blocker must never be confused with an abstention.
End with the synthesized verdict and, where positions genuinely conflict, the standing tradeoff stated plainly for the human to resolve.
Other versions127 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 127
- simstudioai/sim★ 30ksame name
- 0xNyk/council-of-high-intelligence★ 4.7ksame name
- t3dotgg/tstack★ 2.5ksame name
- warpdotdev/common-skills★ 630same name
- QuixiAI/agi-memory★ 617same name
- QuixiAI/Hexis★ 617same name
- ZaxbyHub/opencode-swarm★ 517same name
- zaxbysauce/opencode-swarm★ 503same name
- boshu2/agentops★ 452same name
- automagik-dev/genie★ 345same name
117 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use motion-advanced, orch-pipeline and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
renepfSkillmotion-advanced
Advanced motion patterns for React / Next.js — drag & drop, gestures, text animations, SVG path drawing, custom hooks, imperative sequences (useAnimate), loaders, and the full API decision tree. Requires motion-foundations.
Also in 4 projects that use this
renepfSkillorch-pipeline
Shared orchestration engine for the orch-* skill family. Defines the gated Research-Plan-TDD-Review-Commit pipeline, the size classifier, the agent map, and the two human gates that the orch-* operation skills delegate to. Not usually invoked directly.
Also in 3 projects that use this
ronmkrSkilldefi-amm-security
Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, CEI ordering, donation or inflation attacks, oracle manipulation, slippage, admin controls, and integer math.
Also in 5 projects that use this
ronmkrSkillvite-patterns
Vite build tool patterns including config, plugins, HMR, env variables, proxy setup, SSR, library mode, dependency pre-bundling, and build optimization. Activate when working with vite.config.ts, Vite plugins, or Vite-based projects.
Also in 5 projects that use this
TironFoxSkillagent-payment-x402
Add x402 payment execution to AI agents — per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents need to pay for APIs, services, or other agents.
Also in 4 projects that use this
romaintoso78Skillsecurity-bounty-hunter
Hunt for exploitable, bounty-worthy security issues in repositories. Focuses on remotely reachable vulnerabilities that qualify for real reports instead of noisy local-only findings.
Also in 7 projects that use this
- +2 more from renepf
- +2 more from ronmkr
In this repository32 other files it gives its agents.
- amplifier-philosophySkill
- module-developmentSkill
- python-standardsSkill
- adapt-skillSkill
- bet-sizerSkill
- bug-reportSkill
- code-reviewSkill
- council-hereSkill
- councilifySkill
- cranky-old-samSkill
- create-demo-videoSkill
- crusty-old-engineerSkill
- engineering-patternsSkill
- image-visionSkill
- intent-keeperSkill
- mass-changeSkill
- monitorSkill
- outcome-cartographerSkill
- outcomistSkill
- personafySkill
- positioning-criticSkill
- product-council-hereSkill
- product-councilSkill
- restless-old-brianSkill
- retrospectiveSkill
- second-opinionSkill
- session-debugSkill
- skillifySkill
- skills-assistSkill
- tester-breakerSkill
- user-advocateSkill
- verification-disciplineSkill
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
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.

