agentleFS
epicsagasepicsagas/epic-harness/skills/council/SKILL.md

council

Skill20 starsChanged 2 months agoApache-2.0View on GitHub

4-voice parallel deliberation (Architect · Skeptic · Pragmatist · Critic) for architecture, tech selection, or design decisions with no clear answer. Anti-anchoring: each voice gets independent context. Records decision in harness-mem.

143 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use agent-payment-x402, motion-advanced 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.
  • TironFoxSkill

    agent-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 5 projects that use this

  • renepfSkill

    motion-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

  • RojiosSkill

    defi-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 6 projects that use this

  • scottwaterSkill

    modernize

    Rebase an aging PR onto its current base and decide whether it should be modernized, reworked, or closed. Use when asked to rebase, update, or modernize an old PR.

    Also in 7 projects that use this

  • RojiosSkill

    dart-flutter-patterns

    Production-ready Dart and Flutter patterns covering null safety, immutable state, async composition, widget architecture, popular state management frameworks (BLoC, Riverpod, Provider), GoRouter navigation, Dio networking, Freezed code generation, and clean architecture.

    Also in 5 projects that use this

  • scottwaterSkill

    leaving-pr-comments

    Format comments an agent posts on GitHub on the user's behalf. Use whenever leaving a PR comment, review comment, or reply.

    Also in 6 projects that use this

  • +1 more from scottwater
  • +1 more from Rojios

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 128 edited versions we read keep these.

  • 4

    Distinctive

    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:

    NO MAJOR DECISION WITHOUT AT LEAST TWO OPPOSING VIEWPOINTS.

    line 9
  2. Distinctive:

    After all 4 voices report back:

    line 42
  3. Distinctive:

    Only summoning voices that agree with you

    line 80
  4. Distinctive:

    Not recording the decision and rationale

    line 82

“Common” is measured: kept by at least 6 in 10 of the 128 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

Council — Structured Multi-Voice Decision Making

Iron Law

NO MAJOR DECISION WITHOUT AT LEAST TWO OPPOSING VIEWPOINTS.

When to Trigger

  • Architecture choices (monolith vs microservice, SQL vs NoSQL)
  • Technology selection (framework, library, language)
  • Design decisions with no clear right answer
  • Trade-offs between competing requirements (speed vs quality, security vs usability)
  • User explicitly requests deliberation

Process

1. Identify the Decision

State the decision in one clear question. Example: "Should we use WebSockets or SSE for real-time updates?"

2. Summon 4 Voices (Parallel)

Launch 4 independent subagents using the Agent tool, each with ONLY the question and relevant context (NOT the full conversation history — this prevents anchoring bias):

VoiceRoleFocus
ArchitectLong-term correctnessMaintainability, extensibility, architectural alignment
SkepticChallenge assumptionsSimpler alternatives, hidden costs, "what if we don't?"
PragmatistShip it nowTimeline, user impact, operational complexity, team skills
CriticFind the cracksEdge cases, failure modes, migration risks, rollback difficulty

Anti-Anchoring Rule: Each voice receives only:

  • The decision question
  • Relevant codebase context (file paths, current architecture)
  • Their role and focus area They do NOT receive: the full conversation, other voices' opinions, or the user's leaning.

3. Synthesize

After all 4 voices report back:

  1. List areas of agreement (strong signal)
  2. List areas of disagreement (where trade-offs live)
  3. Present the user with:
    • Recommended option (based on agreement weight)
    • Key trade-off (the real decision to make)
    • Reversibility (how hard to undo each option)

4. Record Decision

Save the decision to memory:

epic mem add \
  --title "Decision: {question}" \
  --type decision \
  --importance 0.9 \
  --body "Context: ...\nOptions: ...\nChosen: ...\nRationale: ...\nTrade-off accepted: ..."

Anti-Rationalization

ExcuseRebuttalWhat to do instead
"I already know the answer"Your gut feeling is not analysis. Council surfaces blind spots.Run Council anyway — you'll learn something.
"This is too slow for a simple decision"5 minutes of council prevents weeks of regret.Set a 5-minute timer and run the full process.
"The team already agreed"Groupthink is not consensus. Diverse perspectives prevent disasters.Summon all 4 voices — especially the Skeptic and Critic.
"I don't need 4 voices for this"Even simple decisions benefit from the Skeptic and Critic.Run all 4 voices. Skipping voices skips insight.

Evidence Required

  • All 4 voices were summoned and reported back
  • Areas of agreement and disagreement are listed
  • A recommended option with key trade-off is presented
  • Decision recorded in memory with rationale
  • No voice received the full conversation history

Red Flags

  • Skipping the Council for "obvious" decisions
  • Only summoning voices that agree with you
  • Reading the full conversation to all voices (anchoring)
  • Not recording the decision and rationale

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.