← Back to Skills Marketplace
wahajahmed010

Council of LLMs

by Wahaj Ahmed · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
119
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install council-of-llms
Description
Multi-model deliberation for high-stakes decisions. Don't take one model's word for it.
README (SKILL.md)

Council of LLMs

Overview

A real council spawns 3 parallel subagents, each with a different model and perspective, then synthesizes their outputs into a unified verdict. This is NOT one model roleplaying 3 experts — it's genuinely different models providing independent analysis.

Models

Read from ~/.openclaw/council-config.json:

{
  "council_models": [
    "ollama/kimi-k2.6:cloud",
    "ollama/deepseek-v3.2:cloud",
    "ollama/gemma4:31b-cloud"
  ],
  "default_timeout": 900,
  "max_tokens": 8192
}

Perspectives

Each model gets a different lens:

Model Perspective Role
kimi-k2.6 Strategos Big-picture strategy, business impact, feasibility
deepseek-v4-pro Analyticos Data quality, technical correctness, edge cases
gemma4:31b Creativos Creative alternatives, user experience, novel approaches

How to Run a Council

Step 1: Prepare the Context

Gather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.

Step 2: Spawn 3 Parallel Subagents

sessions_spawn(
  runtime: "subagent",
  mode: "run",
  model: "ollama/kimi-k2.6:cloud",
  label: "Council-Strategos",
  lightContext: true,
  runTimeoutSeconds: 900,
  task: "You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]
  
  Analyze from a STRATEGIC perspective:
  - Business impact and feasibility
  - Market positioning and competitive advantage
  - Resource requirements and ROI
  - Strategic risks and opportunities
  
  Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)

sessions_spawn(
  runtime: "subagent",
  mode: "run",
  model: "ollama/deepseek-v4-pro:cloud",
  label: "Council-Analyticos",
  lightContext: true,
  runTimeoutSeconds: 900,
  task: "You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]
  
  Analyze from an ANALYTICAL perspective:
  - Data quality and completeness
  - Technical correctness and edge cases
  - Statistical validity and sample sizes
  - Logical consistency and contradictions
  
  Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)

sessions_spawn(
  runtime: "subagent",
  mode: "run",
  model: "ollama/gemma4:31b-cloud",
  label: "Council-Creativos",
  lightContext: true,
  runTimeoutSeconds: 900,
  task: "You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]
  
  Analyze from a CREATIVE perspective:
  - User experience and usability
  - Novel alternatives and unconventional approaches
  - Design and presentation improvements
  - What's missing that no one else would think of
  
  Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)

Step 3: Synthesize

When all 3 return, merge their verdicts:

  1. Consensus points — where all 3 agree
  2. Disagreements — where they differ and why
  3. Blind spots — what none of them caught
  4. Final verdict — weighted synthesis with conditions
  5. Action items — concrete next steps

Write the synthesis to council-review-[topic].md.

Critical Rules

  1. Paste ALL context inline — agents have no conversation history
  2. Keep task descriptions under 2000 words — longer = context overflow = failure
  3. Use lightContext: true — always, to prevent context bloat
  4. Set runTimeoutSeconds: 900 — councils need time
  5. Don't spawn with too much data — if pasting 10k+ words, summarize first
  6. Wait for ALL 3 to complete — don't synthesize with 2/3 results
  7. Never re-spawn — if one model times out, note it in the synthesis

Common Failure Modes

Symptom Cause Fix
All 3 return empty Gateway overload Kill zombie subagents, wait, retry
One model times out Slow model + complex task Increase timeout or simplify task
Context overflow (300k+ tokens) Too much data pasted Summarize to \x3C2000 words
Shallow analysis Vague task description Be specific about what to analyze
All 3 say the same thing Not enough perspective differentiation Make perspective prompts more distinct

Anti-Patterns

  • ❌ Spawning one subagent and asking it to "be 3 experts" — that's roleplay, not a council
  • ❌ Pasting 10k+ words of raw data — summarize first
  • ❌ Using the same model for all 3 perspectives — defeats the purpose
  • ❌ Synthesizing before all 3 complete — wait for everyone
  • ❌ Ignoring disagreements — disagreements are the most valuable output
Usage Guidance
This skill appears to do what it claims: orchestrate multiple LLMs via OpenClaw. Before installing, be aware: (1) you must have OpenClaw providers configured — providing provider tokens (e.g., Ollama/OpenAI) means any content the skill sends (including full file contents when using --review) will go to those services; don't submit sensitive secrets unless you trust those providers. (2) The provided Bash script is an MVP/placeholder — the actual parallel 'sessions_spawn' logic is not implemented and the advertised safeguards (cost cap, enforced timeouts/rate limits) are largely descriptive, not enforced in the script. (3) There's a small bug/typo in the script (a stray 'n' before the review-file assignment) that may break --review; jq is used but not checked for presence. Recommended actions: review and test the script in a safe environment, ensure jq and openclaw are installed, inspect ~/.openclaw/council-config.json for defaults/presets, and avoid passing sensitive files to the skill unless you have acceptable data-sharing policies with your LLM providers.
Capability Analysis
Type: OpenClaw Skill Name: council-of-llms Version: 1.0.0 The Council of LLMs skill is a legitimate framework for orchestrating multi-model deliberation and debate. The core logic in `scripts/council.sh` serves as a wrapper for OpenClaw's `sessions_spawn` capability, and the documentation in `SKILL.md` and `README.md` accurately reflects the tool's purpose for security audits and architecture reviews. No indicators of data exfiltration, malicious execution, or prompt injection attacks were found; the file-reading functionality (`--review`) is consistent with the stated goal of analyzing code or documents.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description (multi-model deliberation) match the files and runtime: SKILL.md, prompts, and scripts orchestrate multiple LLM providers via OpenClaw. Required tools (openclaw, sessions_spawn) are appropriate for the stated goal and no unrelated credentials/binaries are requested.
Instruction Scope
Instructions and the script stick to the council use case (listing models, selecting models, reading an optional review file, and orchestrating debate). Important: when --review is used the script injects file contents into the question (so local file data will be sent to configured models) — this is expected for a code-review task but is a privacy/exfiltration risk if you run it on sensitive files. Also, SKILL.md describes safeguards (cost cap, timeouts, rate limiting) but the included script is an MVP placeholder and does not implement enforcement of those limits.
Install Mechanism
No automated download/install from untrusted URLs. SKILL.md suggests installing via ClawHub or cloning from GitHub — both are standard. There is no extract-from-arbitrary-URL install spec in the manifest.
Credentials
The skill does not request environment variables or credentials directly in registry metadata. SKILL.md recommends configuring provider tokens via OpenClaw (e.g., ollama.cloud.token) which is appropriate. Users should note that providing provider tokens gives the configured models access to any data the skill sends (e.g., review file contents). install.json defines configurable env defaults (COUNCIL_TIMEOUT, COUNCIL_MAX_TOKENS) — reasonable and not excessive.
Persistence & Privilege
always is false and the skill does not request permanent system-wide changes or touch other skills' configs. It reads/writes only its own config path (~/.openclaw/council-config.json) and does not escalate privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install council-of-llms
  3. After installation, invoke the skill by name or use /council-of-llms
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Multi-model deliberation for high-stakes decisions
Metadata
Slug council-of-llms
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Council of LLMs?

Multi-model deliberation for high-stakes decisions. Don't take one model's word for it. It is an AI Agent Skill for Claude Code / OpenClaw, with 119 downloads so far.

How do I install Council of LLMs?

Run "/install council-of-llms" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Council of LLMs free?

Yes, Council of LLMs is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Council of LLMs support?

Council of LLMs is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Council of LLMs?

It is built and maintained by Wahaj Ahmed (@wahajahmed010); the current version is v1.0.0.

💬 Comments