← Back to Skills Marketplace
morozsm

Consilium

by Sergey Morozik · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
584
Downloads
2
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install consilium
Description
Your personal board of AI advisors — the only skill that uses truly different AI models (not one model role-playing). Get better answers to hard questions by...
README (SKILL.md)

Consilium — True Multi-Model Deliberation

Ask a hard question → 3-5 AI models from different providers analyze it independently → you get a synthesis with consensus, disagreements, action items, and minority opinions.

Unlike other council skills: this uses genuinely different models (Anthropic + OpenAI + Google + others), not one model playing multiple roles. Different training data = different blind spots = better coverage.

Always respond in the same language as the user's question.

Examples

  • /council Should we migrate from monolith to microservices given our 4-person team?
  • /council --profile fast Evaluate the risks of this investment strategy
  • /council How to resolve a complex equity dispute with my co-founder?
  • After results: "Tell me more about what Gemini said on point 3" (follow-up with specific panelist)

Requirements

  • Minimum 3 models from different providers in agents.defaults.models allowlist
  • Tools: sessions_spawn, subagents, sessions_history (enabled by default)
  • Each council run = 3-5 API calls (one per model) + synthesis
  • No additional API keys, Python scripts, or external dependencies

Privacy & Data

  • Your question is sent to each model provider in your panel. Only use models/providers you trust.
  • council-panel.json (saved to workspace root) contains only model names and slot assignments, not queries or responses.
  • Panelist responses exist only in sub-agent session memory and are auto-archived per your OpenClaw settings.
  • No data is sent to external services beyond your configured model providers.

Panel

On first use, check available models and ask the user to confirm the panel. Save to workspace root as council-panel.json for reuse. User can re-run panel selection anytime with --models.

Slot roles (fill from available models)

Slot Role Good candidates
Deep thinker Nuance, system thinking Claude Opus, GPT-5, Gemini Pro
Pragmatist Concise, actionable Claude Sonnet, GPT-mini, Gemini Flash
Broad analyst Wide knowledge, structure GPT-5, Gemini Pro, Claude Opus
Technical Rigor, edge cases Gemini Pro, Claude Sonnet, GLM
Contrarian Challenge assumptions GLM, any model with contrarian lens

Rules: Each slot = different model. Prefer different providers. Min 3 models to run. If fewer than 3 available, inform user.

Example council-panel.json

{
  "panel": [
    { "slot": "deep_thinker", "model": "anthropic/claude-opus-4-6", "lens": "Deep analysis" },
    { "slot": "pragmatist", "model": "anthropic/claude-sonnet-4-5", "lens": "Pragmatic" },
    { "slot": "broad_analyst", "model": "github-copilot/gpt-5.2", "lens": "Broad knowledge" }
  ],
  "confirmed": "2026-02-24"
}

Profiles

  • thorough (default): All panel slots, quorum = max(slots - 2, 2)
  • balanced: 3 strongest slots, quorum 2
  • fast: 2 fastest slots, quorum 2

Workflow

  1. Dispatch — spawn panelists in parallel (sessions_spawn, mode=run, timeout 120s). Assign unique lens per slot. Detect question language, hardcode in prompt. Tell user: "Panel dispatched, ~60s. Send a follow-up when ready."
  2. Collect — on user's follow-up: subagents listsessions_history. Synthesize when quorum met.
  3. Debate (only if --rounds 2) — anonymized digest → rebuttals. See references/PROTOCOL.md.
  4. Synthesize — produce output below.

Output Format

## Council of Experts
**Question:** ... | **Panel:** ... | **Profile:** ...
---
### Positions
**{Model}** ({lens}) — {2-3 sentence summary}

### ✅ Consensus
### ⚡ Disagreements
### 🗣️ Minority opinions

### 🎯 Synthesis
Agreement: 🟢 strong (4-5) | 🟡 mixed (3) | 🔴 split

### 📋 Action Items
1. **{Highest priority}** — {effort/time estimate}
2. **{Next action}** — {estimate}
3. **{Next action}** — {estimate}

Randomize position order. Quote with attribution. Preserve minority views. Never fabricate consensus. Section headers and content in user's language.

Follow-up

After synthesis, the user can drill deeper with a specific panelist:

  • "Tell me more about what GPT said on point 2"
  • "I want the contrarian's take on the action items"

Use sessions_history to retrieve that panelist's full response, then expand on the specific point in that model's perspective.

Flags

--profile thorough|balanced|fast · --models \x3Clist> · --skip \x3Cmodel> · --rounds 2 · --quorum N · --timeout N · --lens "..." · --lenses "a,b,c"

Prompt templates, debate mechanics, error handling → references/PROTOCOL.md

Usage Guidance
This skill is an orchestrator that will send your question to each model provider you have configured. Before installing/using it: 1) confirm you trust the model providers in your agents.defaults (their credentials remain in your environment, not provided by the skill); 2) be aware each council run multiplies API calls (costs and rate limits); 3) check your OpenClaw session archival and workspace retention settings if you don't want panel responses or the council-panel.json to persist; and 4) if you expect access to specific providers, make sure those models are actually available in your agent configuration — the skill won't add credentials for you.
Capability Analysis
Type: OpenClaw Skill Name: consilium Version: 1.1.0 The skill is classified as suspicious due to a significant prompt injection vulnerability against its sub-agents. The `references/PROTOCOL.md` file reveals that user input (`{question}`) and potentially user-controlled `lens_description` (via flags described in `SKILL.md`) are directly embedded into the prompt template for spawned sub-agents. This allows a malicious user to craft inputs that could manipulate sub-agent behavior, potentially leading to unintended actions or information disclosure if the sub-agents have access to sensitive tools or data. While the skill's stated purpose is benign and it explicitly denies external dependencies or data exfiltration to unauthorized endpoints, this vulnerability represents a high-risk capability without clear malicious intent from the developer.
Capability Assessment
Purpose & Capability
The name/description match the behavior in SKILL.md: it orchestrates 3–5 different models and synthesizes responses. It does not request unrelated credentials or binaries. The claim that models come from different providers is a function of the user's model configuration (agents.defaults.models); the skill does not add extra secrets or external services. Note: example model names (e.g., github-copilot/gpt-5.2) assume the agent environment already has access to those provider models — the skill does not provide or request those credentials itself.
Instruction Scope
Runtime instructions are narrowly scoped: spawn parallel sub-agents, collect their session history, synthesize, and save a small council-panel.json to workspace root. The skill explicitly warns that user queries are sent to each configured model provider (expected behavior). There are no instructions to read unrelated system files, search user filesystem, or transmit data to unexpected endpoints. Small note: the skill relies on session auto-archiving per OpenClaw settings — users should confirm archive policy if they care about persistence.
Install Mechanism
Instruction-only skill with no install spec and no code files. Nothing is downloaded or written to disk by an installer beyond the explicit save of council-panel.json at runtime, so install risk is minimal.
Credentials
No environment variables, keys, or config paths are required by the skill itself. It relies on models already configured in the agent (which implies provider credentials exist elsewhere). This is proportional to its purpose; it does not request unrelated secrets or broad system access.
Persistence & Privilege
The skill saves council-panel.json to the workspace root (panel model names and slot assignments only) and uses sub-agent session memory / auto-archive for panel responses. This is reasonable for reuse but means panel configuration and possibly archived session content may persist according to agent settings — users should check workspace and archive retention policies. always:false and normal autonomous invocation settings are appropriate.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install consilium
  3. After installation, invoke the skill by name or use /consilium
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
v1.1: Follow-up with specific panelists, Action Items in output, Privacy & Data section, competitive differentiation (true multi-model vs role-playing), improved description
v1.0.0
Initial release: multi-model expert deliberation with unique lenses, profiles, debate rounds, and consensus synthesis
Metadata
Slug consilium
Version 1.1.0
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Consilium?

Your personal board of AI advisors — the only skill that uses truly different AI models (not one model role-playing). Get better answers to hard questions by... It is an AI Agent Skill for Claude Code / OpenClaw, with 584 downloads so far.

How do I install Consilium?

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

Is Consilium free?

Yes, Consilium is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Consilium support?

Consilium is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Consilium?

It is built and maintained by Sergey Morozik (@morozsm); the current version is v1.1.0.

💬 Comments