agentleFS
peterbamuhigirepeterbamuhigire/chwezi-dev-engine/skills/sdlc-meta/council/SKILL.md

council

Skill31 starsChanged 18 days agoMITView on GitHub

Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls where multiple valid paths exist and structured disagreement is more useful than a single confident answer. Not for code review, implementation planning, or architecture design — use the dedicated agents/skills for those.

153 other projects use a version of this, 16 of them edited.

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

9 rules. 0 are common, 8 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 136 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before reading other voices, write down your initial position, the three strongest reasons for it, and the main risk in your preferred path.

    line 83
  2. Distinctive:

    never dismiss an external view without explaining why

    line 117
  3. Distinctive:

    if an external voice changed your recommendation, say so explicitly

    line 118
  4. Distinctive:

    always show the strongest dissent, even if you reject it

    line 119
  5. Distinctive:

    if two voices align against your initial position, treat that as real signal

    line 120
  6. Distinctive:

    keep the raw positions visible before the verdict

    line 121
  7. Distinctive:

    Keep it scannable on a phone screen.

    line 140
  8. Very specific:

    Only persist a council outcome when it changes something real: update the relevant plan/backlog file, or a durable engine doc (e.g.

    line 157
  9. Distinctive:

    Default is one round. If another round is needed, keep the new question focused, include the previous verdict only if necessary, and keep …

    line 163

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

Convene four advisors for ambiguous decisions:

  • the in-context voice (this session)
  • a Skeptic subagent
  • a Pragmatist subagent
  • a Critic subagent

This is for decision-making under ambiguity, not code review, implementation planning, or architecture design — this engine already has agents/planner.md and agents/architect.md for those, and sdlc-meta/santa-method for adversarial verification of a finished deliverable.

<!-- dual-compat-start -->

Use When

  • a decision has multiple credible paths and no obvious winner
  • you need explicit tradeoff surfacing
  • the user asks for second opinions, dissent, or multiple perspectives
  • conversational anchoring is a real risk (you have been arguing for one path for a while)
  • a go / no-go call would benefit from adversarial challenge

Examples: ship an engine's install surface now vs. hold for the full profile system; adopt a rules layer everywhere vs. per-engine; import a skill wholesale vs. cherry-pick one clause into an existing skill (the exact kind of call this Kaizen operation makes repeatedly).

Do Not Use When

Instead of councilUse
Verifying whether output is correctsdlc-meta/santa-method
Breaking a feature into implementation stepsagents/planner.md
Designing system architectureagents/architect.md
Reviewing code for bugs or securityagents/code-reviewer.md, agents/security-reviewer.md, or santa-method
Straight factual questionsanswer directly
Obvious execution tasksjust do the task

Roles

VoiceLens
Architect (in-context)correctness, maintainability, long-term implications
Skepticpremise challenge, simplification, assumption breaking
Pragmatistshipping speed, user impact, operational reality
Criticedge cases, downside risk, failure modes

The three external voices are launched as fresh subagents with only the question and relevant context, never the full ongoing conversation transcript. That is the anti-anchoring mechanism — use the Agent tool with a fresh (non-fork) agent type for each, per this engine's own superpowers:dispatching-parallel-agents pattern where applicable.

Required Inputs

  • One decision question: what is being decided, which constraints bind, and what counts as success.
  • The minimum context that changes the answer (files, snippets, metrics), not the conversation transcript.
  • Authority to run three fresh, non-fork subagents; without it, see Degraded Mode under Quality Standards.

Workflow

1. Extract the real question

Reduce the decision to one explicit prompt: what are we deciding, what constraints matter, what counts as success? If vague, ask one clarifying question before convening the council.

2. Gather only the necessary context

Collect the minimum relevant files, snippets, or metrics. Skip repo-wide context unless it materially changes the answer.

3. Form your own position first

Before reading other voices, write down your initial position, the three strongest reasons for it, and the main risk in your preferred path. Do this first so the synthesis does not simply mirror the external voices.

4. Launch three independent voices in parallel

Each subagent gets the decision question, compact context, a strict role, and no unnecessary conversation history:

You are the [ROLE] on a four-voice decision council.

Question:
[decision question]

Context:
[only the relevant snippets or constraints]

Respond with:
1. Position — 1-2 sentences
2. Reasoning — 3 concise bullets
3. Risk — biggest risk in your recommendation
4. Surprise — one thing the other voices may miss

Be direct. No hedging. Keep it under 300 words.

Role emphasis: Skeptic challenges framing and proposes the simplest credible alternative; Pragmatist optimizes for speed, simplicity, and real-world execution; Critic surfaces downside risk, edge cases, and failure reasons.

5. Synthesize with bias guardrails

You are both a participant and the synthesizer:

  • never dismiss an external view without explaining why
  • if an external voice changed your recommendation, say so explicitly
  • always show the strongest dissent, even if you reject it
  • if two voices align against your initial position, treat that as real signal
  • keep the raw positions visible before the verdict

6. Present a compact verdict

## Council: [short decision title]

**Architect:** [1-2 sentence position] — [1 line why]
**Skeptic:** [1-2 sentence position] — [1 line why]
**Pragmatist:** [1-2 sentence position] — [1 line why]
**Critic:** [1-2 sentence position] — [1 line why]

### Verdict
- **Consensus:** [where they align]
- **Strongest dissent:** [most important disagreement]
- **Premise check:** [did the Skeptic challenge the question itself?]
- **Recommendation:** [the synthesized path]

Keep it scannable on a phone screen.

Quality Standards

  • Each external voice starts from a fresh context holding only the question and the compact context.
  • The in-context position, its three reasons and its main risk are written before any external voice is read.
  • The strongest dissent is shown in the verdict, even when it is rejected, with the reason for rejecting it.
  • Degraded mode: when subagents cannot be launched, say so, write the three voices as separate passes after fixing your own position, and label the verdict "single-context council" so readers weigh it accordingly.

Outputs

  • The compact council verdict (step 6), shown to the user.
  • A dated decision record, persisted only under the Persistence Rule below.

Persistence Rule

Only persist a council outcome when it changes something real: update the relevant plan/backlog file, or a durable engine doc (e.g. this engine's docs/), never an ad-hoc scratch note. Do not persist every decision regardless of importance.

Multi-Round Follow-up

Default is one round. If another round is needed, keep the new question focused, include the previous verdict only if necessary, and keep the Skeptic as clean as possible to preserve anti-anchoring value.

Anti-Patterns

  • using council for code review
  • using council when the task is just implementation work
  • feeding the subagents the entire conversation transcript
  • hiding disagreement in the final verdict
  • persisting every decision as a note regardless of importance

Evidence Produced

CategoryArtifactFormatExample
Release evidenceDated council decision record: question, the four positions, strongest dissent, premise check, recommendation, and whether an external voice changed the in-context positionMarkdown section appended to the plan, backlog or docs/ record the decision changes (Persistence Rule)docs/plans/NEXT_FEATURES.md entry "Council 2026-09-29: land the rules layer before importing gap skills; dissent: Skeptic says half the gaps are false"
CorrectnessIn-context position fixed before the external voices were read (position, three reasons, main risk)Bullet list kept with the verdict working notes"Position: defer imports. Reasons: session budget, unverified gaps, roster dependency. Risk: roster ships with missing skills"

A verdict that changes nothing real is shown to the user and not persisted; its only evidence is the verdict in the session.

References

  • sdlc-meta/santa-method — adversarial verification of a finished deliverable
  • sdlc-meta/skill-engine-audit — whole-engine audit and scoring
  • SRS engine's architecture-decision-records-equivalent practice — formalize the outcome when the decision becomes long-lived system policy (this engine's agents/architect.md ADR template)

Example

Question: "Should this Kaizen pass import the full ~25 gap skills list now, or land the agent roster and rules layer first and defer skill imports to a follow-up session?"

Likely council shape: Architect weighs structural completeness against session risk; Skeptic questions whether all 25 are really gaps (per the verification-and-corrections pass, several weren't); Pragmatist asks what fits in the current session's budget without half-finishing everything; Critic flags the cost of an unfinished import (an agent roster with no skills it references). The value is not unanimity — it is making the disagreement legible before choosing.

<!-- dual-compat-end -->

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.