Coding

Multi-Council Decision Engine

Try it

Give your agent a virtual board of 8 specialized reasoning frameworks (strategy, risk, market, operations, ethics, forecasting, execution, AI-engineering) th...

What it does

Give your agent a virtual board of 8 specialized reasoning frameworks (strategy, risk, market, operations, ethics, forecasting, execution, AI-engineering) that independently evaluate a decision and synthesize a go/hold/kill verdict with confidence and concrete findings.

The skill document

Multi-Council Decision Engine

Most agents either skip strategic evaluation entirely or bolt on a single "is this a good idea?" LLM call. This skill gives your agent 8 distinct reasoning-framework "councils" — each one applies a genuinely different analytical lens (inversion/mental-models for strategy, antifragility/black-swan for risk, capital-allocation/reflexivity for market, workflow/bottleneck for operations, stakeholder/compliance for ethics, probabilistic/scenario for forecasting, first-principles for execution, architecture-tradeoffs for AI engineering) — then mechanically synthesizes their votes into one verdict.

This is not "ask the AI for advice" — it's a structured, repeatable decision gate: each council returns the same JSON shape (summary, key findings, risks, recommendation, confidence), risk/ethics councils get hard veto power over "kill" votes, and the synthesis is computed by counting votes, not by asking a model to summarize itself.

Why this matters

A single LLM call asked "should I do X?" tends to be agreeable and shallow. Running the same question through 8 independently-prompted, methodologically distinct frameworks and forcing them into a structured verdict catches things a single pass misses — this was built and battle-tested gating real business decisions (which is also exactly how a bug was caught during validation: see the synthesis-shape note below).

Setup

  1. Copy both files (business_mind_tree.py, venture_council_gate.py) into your project — they're designed to work together but business_mind_tree.py can be used standalone if you only need raw council calls without the gate/verdict wrapper.

  2. Set OPENROUTER_API_KEY in your environment.

  3. Call a single council directly, or run the full gate:

    from business_mind_tree import strategy_council, multi_council
    
    # one council
    result = strategy_council("Should we raise prices 10% this quarter?")
    print(result["recommendation"], result["confidence"])
    
    # multiple councils + synthesis
    result = multi_council(
        "Should we raise prices 10% this quarter?",
        councils=["strategy", "risk", "market"],
    )
    print(result["synthesis"]["consensus_recommendation"])
    

    Or use the higher-level gate (runs all 8 councils, returns a clean verdict):

    from venture_council_gate import run_venture_gate
    
    gate = run_venture_gate("New venture idea: ...", venture_key="my_venture")
    print(gate.verdict, gate.confidence, gate.synthesis)
    

Important: synthesis is a STRING, not a dict

multi_council()'s raw return has result["synthesis"] as a dict (consensus_recommendation, all_findings, all_concerns, etc). The gate functions in venture_council_gate.py already convert this to readable text via _synthesis_to_text() before returning it on GateResult.synthesis — if you build your own wrapper around multi_council() directly, don't assume result["synthesis"] is already a string, or you'll hit a TypeError the first time you try to slice or concatenate it. This was a real bug found in production use before this skill was published — _synthesis_to_text() is the fix, kept in to save you from rediscovering it.

Models used

Most councils run on a dynamically-selected "heavy" model (compares current flagship candidates by price/context-window and picks the cheapest in the top tier — currently checks gpt-5.5, claude-opus-4.8, glm-5.2). Light councils (operations, execution) use a cheaper fixed model. Override COUNCILS in business_mind_tree.py if you want different model choices.

Cost

Each council call costs roughly $0.001-$0.01 depending on prompt length and model selected (logged to cost_log.json next to the script). A full 8-council gate run costs roughly $0.02-$0.08 total.

Related skills

Structured multi-criteria decision analysis for ranking options with weights, constraints, confidence, tradeoff reasoning, sensitivity analysis, and explaina...

26 installs

Distill decision contexts, options, trade-offs, and outcomes into structured decision records. Use when the user is facing a choice, has made a decision they...

17 installs

Run a decision asynchronously — the memo, the silent-read window, the comment protocol, and the deadline that makes it land without a meeting. Use when asked...

Use when the user asks for a council, second opinions, a debate, or multi-perspective deliberation on a question — or when a decision is high-stakes, contested, or ambiguous enough that a single answer risks being confidently wrong or sycophantic.

Structured decision modifiers (/think, /verify, /adversarial, /edge, /confidence, /assumptions, etc.) to stress-test conclusions, evidence, assumptions, alternatives, and edge cases. Use when validating an important design, architecture decision, or ambiguous plan before committing.

26 installs

Use when a complex problem needs a structured expert team rather than a single general answer. Runs a Single-CEO Expert Council with a Nuwa-style decision le...

3 installs