agentleFS
automagik-devautomagik-dev/genie/skills/council/SKILL.md

council

Skill351 starsChanged 7 months agoApache-2.0View on GitHub

Assess a proposal through independent technical, product, risk, and dissenting lenses, then synthesize a decision without mutating unless explicitly requested.

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

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

  • 0

    Common

    Most of the 127 edited versions we read keep these.

  • 1

    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:

    Use a council when a consequential decision benefits from independent scrutiny.

    line 10

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

Use a council when a consequential decision benefits from independent scrutiny. The council assesses; it does not edit files, change configuration, or execute the plan unless the user explicitly asks for that.

The council is a saved workflow, not a procedure this skill performs inline. The single source of truth is .claude/workflows/council.js in the genie repository's canonical workflow catalog (see .claude/workflows/README.md there); this skill is its front door. On a runtime that runs saved workflows, run the script at <repository root>/.claude/workflows/council.js when that file exists, otherwise ~/.claude/workflows/council.js (delivered by genie install / genie update); give the runtime that explicit script path, never a bare name — both scopes now carry these names and the order a name resolves in is undocumented. When the runtime refuses that path as outside what the session may load, read the same file and pass its full text as the runtime's inline script, never a bare name, and name the file that ran inline beside the relayed result. Pass the decision as a string or {decision, constraints?, evidence?, unknowns?}, and relay the returned report unchanged; lenses that returned nothing are listed under notConvened and were never averaged in. On a runtime without a workflow surface, dispatch the lenses below by hand with the same brief; the roster and both response shapes are the workflow's and must not diverge from it.

Dispatch

Choose the lenses the decision needs from the set below, sized to its stakes: Dissent is always included, and at least one other lens supplies independent evidence. Send each chosen lens to its own subagent through the runtime's native delegation surface, in parallel where supported. Every lens receives the same decision statement, constraints, evidence, and explicit unknowns — and nothing else. The session transcript, the emerging consensus, and another lens's answer stay outside the brief, because a lens that reads the room returns an echo instead of evidence. Lenses that run on one model family through one runtime are role-separated, not independent; say so when reporting, alongside the lenses that did not answer.

  • Architecture — contracts, coupling, failure modes, operability, long-term cost.
  • Delivery — sequencing, testability, migration, rollback, evidence required to ship.
  • Product — user value, usability, scope discipline, compatibility.
  • Security — trust boundaries, permissions, data exposure, abuse cases.
  • Dissent — the strongest evidence-backed case against the emerging consensus.

Lens response

Verdict: support | support-with-conditions | oppose | insufficient-evidence
Confidence: low | medium | high
Key evidence:
- ...
Risks or objections:
- ...
Required conditions:
- ...
Unknowns:
- ...

A dissenting finding is preserved verbatim in the dissenting lens's own words and attributed to it. It is never paraphrased into agreement, folded into the consensus line, or deleted because the majority disagrees.

Synthesis

Decision: proceed | proceed-with-conditions | revise | stop | gather-evidence
Consensus: <where the lenses agree>
Dissent: <minority positions, attributed by lens>
Conditions: <concrete prerequisites>
Evidence gaps: <unknowns that could change the decision>
Next action: <one bounded next step>

The synthesizer integrates; it does not assess. It writes its own reading of the decision before the consensus line, so the summary is not an echo of the loudest lens, and it introduces no finding traceable to no lens report. Agreement between lenses is signal: repeated findings are counted, not compressed away as overlap. Explain how conflicts were resolved. If evidence is insufficient, say so rather than manufacturing consensus. End after the assessment unless mutation was explicitly authorized.

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.