{"id":"665e05be-7c44-44f9-8426-f2dab1b351b5","entityType":"agent","slug":"clawhub-wahajahmed010-council-of-llms","name":"Council Of Llms","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wahajahmed010-council-of-llms","canonicalPath":"/agent/clawhub-wahajahmed010-council-of-llms","generatedAt":"2026-10-11T01:49:55.041Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":null},"description":"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,... Skill: Council Of Llms Owner: wahajahmed010 Summary: Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-05-14T12:31:30.186Z | user v2: Models are now user-configurable via council-config.json instead of hardcoded. Perspectives (Strategos/Analyticos/Creativos)","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s173f134cjwrtga3tp1pwvjf8d851jc2:council-of-llms","sourceUrl":"https://clawhub.ai/wahajahmed010/council-of-llms","homepage":"https://clawhub.ai/wahajahmed010/skills/council-of-llms","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wahajahmed010/council-of-llms","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wahajahmed010/skills/council-of-llms","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":null},"stars":null,"forks":null,"downloads":1236,"packageName":null,"latestVersion":"2.0.0","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:01:55.236Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T23:01:55.248Z","lastCrawledAt":"2026-10-10T23:01:55.236Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T23:01:55.236Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.0","createdAt":"2026-05-14T12:31:30.186Z","changelog":"v2: Models are now user-configurable via council-config.json instead of hardcoded. Perspectives (Strategos/Analyticos/Creativos) are defined by role, not by model name. Example config shows how to set up your own models. Better anti-patterns section.","fileCount":4,"zipByteSize":5592},{"version":"1.2.0","createdAt":"2026-05-03T21:43:46.301Z","changelog":"Added security section explaining the skill is sandbox-safe. sessions_spawn is a text-in/text-out primitive, not arbitrary code execution.","fileCount":3,"zipByteSize":4326},{"version":"1.1.0","createdAt":"2026-04-28T23:19:49.954Z","changelog":"Enhanced description, added tags for better discoverability and confidence","fileCount":3,"zipByteSize":3963},{"version":"1.0.2","createdAt":"2026-04-28T23:06:39.250Z","changelog":"Add README with companion skill link, deepseek-v4-pro model","fileCount":3,"zipByteSize":3819},{"version":"1.0.1","createdAt":"2026-04-28T22:51:06.710Z","changelog":"Fix SKILL.md path","fileCount":2,"zipByteSize":2500},{"version":"1.0.0","createdAt":"2026-04-20T16:20:47.003Z","changelog":"Initial release: Multi-model deliberation for high-stakes decisions","fileCount":7,"zipByteSize":10563}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173f134cjwrtga3tp1pwvjf8d851jc2:council-of-llms","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T01:49:55.040Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wahajahmed010-council-of-llms/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":null},"readme":"Skill: Council Of Llms\n\nOwner: wahajahmed010\n\nSummary: Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,...\n\nTags: latest:2.0.0\n\nVersion history:\n\nv2.0.0 | 2026-05-14T12:31:30.186Z | user\n\nv2: Models are now user-configurable via council-config.json instead of hardcoded. Perspectives (Strategos/Analyticos/Creativos) are defined by role, not by model name. Example config shows how to set up your own models. Better anti-patterns section.\n\nv1.2.0 | 2026-05-03T21:43:46.301Z | user\n\nAdded security section explaining the skill is sandbox-safe. sessions_spawn is a text-in/text-out primitive, not arbitrary code execution.\n\nv1.1.0 | 2026-04-28T23:19:49.954Z | user\n\nEnhanced description, added tags for better discoverability and confidence\n\nv1.0.2 | 2026-04-28T23:06:39.250Z | user\n\nAdd README with companion skill link, deepseek-v4-pro model\n\nv1.0.1 | 2026-04-28T22:51:06.710Z | user\n\nFix SKILL.md path\n\nv1.0.0 | 2026-04-20T16:20:47.003Z | user\n\nInitial release: Multi-model deliberation for high-stakes decisions\n\nArchive index:\n\nArchive v2.0.0: 4 files, 5592 bytes\n\nFiles: README.md (2516b), skill-card.md (2266b), SKILL.md (6685b), _meta.json (134b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: council-of-llms\ndescription: \"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy, Analysis, Creativity), then synthesizes their independent outputs into a unified verdict with consensus points, disagreements, and action items. Fixes the single-model roleplay anti-pattern that causes context overflow and shallow analysis. Requires the subagent-orchestration skill for base spawning patterns. Triggers on: council, deliberate, debate, review, stress-test, multi-model, decision, verdict, analysis, perspectives.\"\ntags:\n  - council\n  - multi-model\n  - deliberation\n  - analysis\n  - decision-making\n  - subagent\n  - orchestration\n  - llm\n  - review\n  - stress-test\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nConfigure your council models in `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"your-strategic-model\",\n    \"your-analytical-model\",\n    \"your-creative-model\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n**Choose models with different strengths:**\n- **Strategos (Strategic):** Pick a model known for strategic thinking, long-context reasoning, and business insight\n- **Analyticos (Analytical):** Pick a model known for data analysis, technical precision, and logical reasoning\n- **Creativos (Creative):** Pick a model known for creative thinking, novel perspectives, and user empathy\n\nThe more diverse the models, the better the council output. Using the same model for all three defeats the purpose.\n\n**Example configuration:**\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different analytical lens:\n\n| Perspective | Role | Focus |\n|------------|------|-------|\n| **Strategos** | Strategic analyst | Big-picture strategy, business impact, feasibility, ROI |\n| **Analyticos** | Data & logic analyst | Technical correctness, edge cases, data quality, consistency |\n| **Creativos** | Creative thinker | Novel alternatives, user experience, unconventional approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\nRead the model names from `council-config.json` and spawn each with a different perspective:\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <first model from config>,\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n\n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <second model from config>,\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n\n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Logical consistency\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <third model from config>,\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Creativos, a creative thinker. [PASTE CONTEXT HERE]\n\n  Analyze from a CREATIVE perspective:\n  - Novel alternatives and unconventional approaches\n  - User experience and usability\n  - What's missing that no one else would think of\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n```\n\n### Step 3: Synthesize\n\nWhen all 3 return, merge their verdicts:\n\n1. **Consensus points** — where all 3 agree\n2. **Disagreements** — where they differ and why\n3. **Blind spots** — what none of them caught\n4. **Final verdict** — weighted synthesis with conditions\n5. **Action items** — concrete next steps\n\nWrite the synthesis to `council-review-[topic].md`.\n\n## Critical Rules\n\n1. **Paste ALL context inline** — agents have no conversation history\n2. **Keep task descriptions under 2000 words** — longer = context overflow = failure\n3. **Use `lightContext: true`** — always, to prevent context bloat\n4. **Set `runTimeoutSeconds` from config** — default 900, increase for complex topics\n5. **Don't spawn with too much data** — if pasting 10k+ words, summarize first\n6. **Wait for ALL 3 to complete** — don't synthesize with 2/3 results\n7. **Never re-spawn** — if one model times out, note it in the synthesis\n\n## Common Failure Modes\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |\n| One model times out | Slow model + complex task | Increase timeout or simplify task |\n| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |\n| Shallow analysis | Vague task description | Be specific about what to analyze |\n| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |\n\n## Security & Safety\n\nThis skill is **read-only and sandbox-safe**:\n- Spawns 3 text-in/text-out subagents via `sessions_spawn` — no filesystem access, no arbitrary commands, no network calls\n- Subagents receive a text prompt and return a text analysis — that's it\n- No `exec`, no shell commands, no file reads/writes, no API calls\n- Models are configured locally — you control which models run\n- All output is a markdown synthesis file written to your workspace\n\n## Anti-Patterns\n\n- Spawning one subagent and asking it to \"be 3 experts\" — that's roleplay, not a council\n- Pasting 10k+ words of raw data — summarize first\n- Using the same model for all 3 perspectives — defeats the purpose\n- Synthesizing before all 3 complete — wait for everyone\n- Ignoring disagreements — disagreements are the most valuable output\n\nFile v2.0.0:README.md\n\n# Council of LLMs\n\nMulti-model council deliberation for OpenClaw. Spawn 3 parallel subagents with different models and perspectives, then synthesize their outputs into a unified verdict.\n\n## Why This Exists\n\nSingle-model \"councils\" — where one subagent roleplays 3 experts — fail repeatedly. They produce context overflow (300-600k tokens), shallow analysis, and empty outputs. Real deliberation requires genuinely different models providing independent perspectives.\n\n## How It Works\n\n1. **Spawn 3 parallel subagents**, each with a different model:\n   - **Strategos** (kimi-k2.6) — strategy, business impact, feasibility\n   - **Analyticos** (deepseek-v4-pro) — data quality, technical correctness, edge cases\n   - **Creativos** (gemma4:31b) — creative alternatives, UX, novel approaches\n\n2. **Each agent analyzes independently** with their specific lens\n\n3. **Synthesize** — merge verdicts into consensus, disagreements, blind spots, and action items\n\n## Quick Start\n\n```python\n# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize\n```\n\n## Critical Rules\n\n- **Paste ALL context inline** — agents have no conversation history\n- **Keep task descriptions under 2000 words** — longer = context overflow = failure\n- **Use `lightContext: true`** — always\n- **Set `runTimeoutSeconds: 900`** — councils need time\n- **Wait for ALL 3 to complete** — don't synthesize early\n\n## Configuration\n\nModels are read from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Companion Skill\n\n- **[Subagent Orchestration](https://github.com/wahajahmed010/subagent-orchestration)** — Core delegation patterns, sandbox constraints, timeout strategy, and failure mode reference. Council of LLMs builds on these patterns for multi-agent deliberation.\n\n## Install\n\n```bash\n# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration\n```\n\n## ClawHub\n\nPublished at: https://clawhub.com/skills/council-of-llms\n\n## License\n\nMIT-0\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1778761890186\n}\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\nReal multi-model council deliberation for OpenClaw subagents that spawns three parallel subagents with distinct analytical perspectives and synthesizes their independent outputs into a unified verdict.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wahajahmed010](https://clawhub.ai/user/wahajahmed010)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to run multi-model reviews, debates, stress tests, and decision analyses by assigning strategic, analytical, and creative perspectives to separate subagents before synthesizing a final verdict.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Configured council models may be cloud-backed, so copied context can be sent to external model providers.\n\nMitigation: Review configured models before use and avoid pasting secrets, credentials, customer data, regulated information, or proprietary material unless sharing with those providers is acceptable.\n\nRisk: The skill can create a local council-review markdown file in the workspace.\n\nMitigation: Review generated files before sharing, committing, or using them as decision records.\n\nRisk: The skill depends on companion subagent orchestration behavior.\n\nMitigation: Review or pin the companion subagent skill before installing or running the council workflow.\n\n## Reference(s):\n\n- [Council Of Llms on ClawHub](https://clawhub.ai/wahajahmed010/skills/council-of-llms)\n- [Subagent Orchestration companion skill](https://github.com/wahajahmed010/subagent-orchestration)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, configuration]\n\n**Output Format:** [Markdown synthesis with structured verdicts, consensus points, disagreements, blind spots, and action items]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May create a local council-review markdown file in the workspace.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.2.0: 3 files, 4326 bytes\n\nFiles: README.md (2516b), SKILL.md (6272b), _meta.json (134b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: council-of-llms\ndescription: \"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs (kimi-k2.6, deepseek-v4-pro, gemma4:31b) and distinct analytical perspectives (Strategy, Analysis, Creativity), then synthesizes their independent outputs into a unified verdict with consensus points, disagreements, and action items. Fixes the single-model roleplay anti-pattern that causes context overflow and shallow analysis. Requires the subagent-orchestration skill for base spawning patterns. Triggers on: council, deliberate, debate, review, stress-test, multi-model, decision, verdict, analysis, perspectives.\"\ntags:\n  - council\n  - multi-model\n  - deliberation\n  - analysis\n  - decision-making\n  - subagent\n  - orchestration\n  - llm\n  - review\n  - stress-test\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nRead from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v3.2:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different lens:\n\n| Model | Perspective | Role |\n|-------|------------|------|\n| kimi-k2.6 | **Strategos** | Big-picture strategy, business impact, feasibility |\n| deepseek-v4-pro | **Analyticos** | Data quality, technical correctness, edge cases |\n| gemma4:31b | **Creativos** | Creative alternatives, user experience, novel approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/kimi-k2.6:cloud\",\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Market positioning and competitive advantage\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/deepseek-v4-pro:cloud\",\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Statistical validity and sample sizes\n  - Logical consistency and contradictions\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/gemma4:31b-cloud\",\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]\n  \n  Analyze from a CREATIVE perspective:\n  - User experience and usability\n  - Novel alternatives and unconventional approaches\n  - Design and presentation improvements\n  - What's missing that no one else would think of\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n```\n\n### Step 3: Synthesize\n\nWhen all 3 return, merge their verdicts:\n\n1. **Consensus points** — where all 3 agree\n2. **Disagreements** — where they differ and why\n3. **Blind spots** — what none of them caught\n4. **Final verdict** — weighted synthesis with conditions\n5. **Action items** — concrete next steps\n\nWrite the synthesis to `council-review-[topic].md`.\n\n## Critical Rules\n\n1. **Paste ALL context inline** — agents have no conversation history\n2. **Keep task descriptions under 2000 words** — longer = context overflow = failure\n3. **Use `lightContext: true`** — always, to prevent context bloat\n4. **Set `runTimeoutSeconds: 900`** — councils need time\n5. **Don't spawn with too much data** — if pasting 10k+ words, summarize first\n6. **Wait for ALL 3 to complete** — don't synthesize with 2/3 results\n7. **Never re-spawn** — if one model times out, note it in the synthesis\n\n## Common Failure Modes\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |\n| One model times out | Slow model + complex task | Increase timeout or simplify task |\n| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |\n| Shallow analysis | Vague task description | Be specific about what to analyze |\n| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |\n\n## Security & Safety\n\nThis skill is **read-only and sandbox-safe**:\n- Spawns 3 text-in/text-out subagents via `sessions_spawn` — no filesystem access, no arbitrary commands, no network calls\n- Subagents receive a text prompt and return a text analysis — that's it\n- No `exec`, no shell commands, no file reads/writes, no API calls\n- Models are configured locally via `~/.openclaw/council-config.json` — you control which models run\n- All output is a markdown synthesis file written to your workspace\n\n**Why ClawHub may flag this:** The skill mentions `sessions_spawn` and model names, which can look like command execution. In reality, `sessions_spawn` is an OpenClaw primitive that creates an isolated text conversation — equivalent to opening 3 chat windows and pasting a prompt into each.\n\n## Anti-Patterns\n\n- ❌ Spawning one subagent and asking it to \"be 3 experts\" — that's roleplay, not a council\n- ❌ Pasting 10k+ words of raw data — summarize first\n- ❌ Using the same model for all 3 perspectives — defeats the purpose\n- ❌ Synthesizing before all 3 complete — wait for everyone\n- ❌ Ignoring disagreements — disagreements are the most valuable output\n\nFile v1.2.0:README.md\n\n# Council of LLMs\n\nMulti-model council deliberation for OpenClaw. Spawn 3 parallel subagents with different models and perspectives, then synthesize their outputs into a unified verdict.\n\n## Why This Exists\n\nSingle-model \"councils\" — where one subagent roleplays 3 experts — fail repeatedly. They produce context overflow (300-600k tokens), shallow analysis, and empty outputs. Real deliberation requires genuinely different models providing independent perspectives.\n\n## How It Works\n\n1. **Spawn 3 parallel subagents**, each with a different model:\n   - **Strategos** (kimi-k2.6) — strategy, business impact, feasibility\n   - **Analyticos** (deepseek-v4-pro) — data quality, technical correctness, edge cases\n   - **Creativos** (gemma4:31b) — creative alternatives, UX, novel approaches\n\n2. **Each agent analyzes independently** with their specific lens\n\n3. **Synthesize** — merge verdicts into consensus, disagreements, blind spots, and action items\n\n## Quick Start\n\n```python\n# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize\n```\n\n## Critical Rules\n\n- **Paste ALL context inline** — agents have no conversation history\n- **Keep task descriptions under 2000 words** — longer = context overflow = failure\n- **Use `lightContext: true`** — always\n- **Set `runTimeoutSeconds: 900`** — councils need time\n- **Wait for ALL 3 to complete** — don't synthesize early\n\n## Configuration\n\nModels are read from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Companion Skill\n\n- **[Subagent Orchestration](https://github.com/wahajahmed010/subagent-orchestration)** — Core delegation patterns, sandbox constraints, timeout strategy, and failure mode reference. Council of LLMs builds on these patterns for multi-agent deliberation.\n\n## Install\n\n```bash\n# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration\n```\n\n## ClawHub\n\nPublished at: https://clawhub.com/skills/council-of-llms\n\n## License\n\nMIT-0\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1777844626301\n}\n\nArchive v1.1.0: 3 files, 3963 bytes\n\nFiles: README.md (2516b), SKILL.md (5471b), _meta.json (134b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: council-of-llms\ndescription: \"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs (kimi-k2.6, deepseek-v4-pro, gemma4:31b) and distinct analytical perspectives (Strategy, Analysis, Creativity), then synthesizes their independent outputs into a unified verdict with consensus points, disagreements, and action items. Fixes the single-model roleplay anti-pattern that causes context overflow and shallow analysis. Requires the subagent-orchestration skill for base spawning patterns. Triggers on: council, deliberate, debate, review, stress-test, multi-model, decision, verdict, analysis, perspectives.\"\ntags:\n  - council\n  - multi-model\n  - deliberation\n  - analysis\n  - decision-making\n  - subagent\n  - orchestration\n  - llm\n  - review\n  - stress-test\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nRead from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v3.2:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different lens:\n\n| Model | Perspective | Role |\n|-------|------------|------|\n| kimi-k2.6 | **Strategos** | Big-picture strategy, business impact, feasibility |\n| deepseek-v4-pro | **Analyticos** | Data quality, technical correctness, edge cases |\n| gemma4:31b | **Creativos** | Creative alternatives, user experience, novel approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/kimi-k2.6:cloud\",\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Market positioning and competitive advantage\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/deepseek-v4-pro:cloud\",\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Statistical validity and sample sizes\n  - Logical consistency and contradictions\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/gemma4:31b-cloud\",\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]\n  \n  Analyze from a CREATIVE perspective:\n  - User experience and usability\n  - Novel alternatives and unconventional approaches\n  - Design and presentation improvements\n  - What's missing that no one else would think of\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n```\n\n### Step 3: Synthesize\n\nWhen all 3 return, merge their verdicts:\n\n1. **Consensus points** — where all 3 agree\n2. **Disagreements** — where they differ and why\n3. **Blind spots** — what none of them caught\n4. **Final verdict** — weighted synthesis with conditions\n5. **Action items** — concrete next steps\n\nWrite the synthesis to `council-review-[topic].md`.\n\n## Critical Rules\n\n1. **Paste ALL context inline** — agents have no conversation history\n2. **Keep task descriptions under 2000 words** — longer = context overflow = failure\n3. **Use `lightContext: true`** — always, to prevent context bloat\n4. **Set `runTimeoutSeconds: 900`** — councils need time\n5. **Don't spawn with too much data** — if pasting 10k+ words, summarize first\n6. **Wait for ALL 3 to complete** — don't synthesize with 2/3 results\n7. **Never re-spawn** — if one model times out, note it in the synthesis\n\n## Common Failure Modes\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |\n| One model times out | Slow model + complex task | Increase timeout or simplify task |\n| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |\n| Shallow analysis | Vague task description | Be specific about what to analyze |\n| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |\n\n## Anti-Patterns\n\n- ❌ Spawning one subagent and asking it to \"be 3 experts\" — that's roleplay, not a council\n- ❌ Pasting 10k+ words of raw data — summarize first\n- ❌ Using the same model for all 3 perspectives — defeats the purpose\n- ❌ Synthesizing before all 3 complete — wait for everyone\n- ❌ Ignoring disagreements — disagreements are the most valuable output\n\nFile v1.1.0:README.md\n\n# Council of LLMs\n\nMulti-model council deliberation for OpenClaw. Spawn 3 parallel subagents with different models and perspectives, then synthesize their outputs into a unified verdict.\n\n## Why This Exists\n\nSingle-model \"councils\" — where one subagent roleplays 3 experts — fail repeatedly. They produce context overflow (300-600k tokens), shallow analysis, and empty outputs. Real deliberation requires genuinely different models providing independent perspectives.\n\n## How It Works\n\n1. **Spawn 3 parallel subagents**, each with a different model:\n   - **Strategos** (kimi-k2.6) — strategy, business impact, feasibility\n   - **Analyticos** (deepseek-v4-pro) — data quality, technical correctness, edge cases\n   - **Creativos** (gemma4:31b) — creative alternatives, UX, novel approaches\n\n2. **Each agent analyzes independently** with their specific lens\n\n3. **Synthesize** — merge verdicts into consensus, disagreements, blind spots, and action items\n\n## Quick Start\n\n```python\n# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize\n```\n\n## Critical Rules\n\n- **Paste ALL context inline** — agents have no conversation history\n- **Keep task descriptions under 2000 words** — longer = context overflow = failure\n- **Use `lightContext: true`** — always\n- **Set `runTimeoutSeconds: 900`** — councils need time\n- **Wait for ALL 3 to complete** — don't synthesize early\n\n## Configuration\n\nModels are read from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Companion Skill\n\n- **[Subagent Orchestration](https://github.com/wahajahmed010/subagent-orchestration)** — Core delegation patterns, sandbox constraints, timeout strategy, and failure mode reference. Council of LLMs builds on these patterns for multi-agent deliberation.\n\n## Install\n\n```bash\n# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration\n```\n\n## ClawHub\n\nPublished at: https://clawhub.com/skills/council-of-llms\n\n## License\n\nMIT-0\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1777418389954\n}\n\nArchive v1.0.2: 3 files, 3819 bytes\n\nFiles: README.md (2516b), SKILL.md (5023b), _meta.json (134b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: council-of-llms\ndescription: \"Multi-model council deliberation. Spawn 3 subagents with different models and perspectives, synthesize their outputs into a unified verdict. Use when you need diverse analysis, stress-testing ideas, or high-stakes decisions requiring multiple viewpoints. Triggers on: council, deliberate, debate, review, stress-test, multi-model.\"\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nRead from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v3.2:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different lens:\n\n| Model | Perspective | Role |\n|-------|------------|------|\n| kimi-k2.6 | **Strategos** | Big-picture strategy, business impact, feasibility |\n| deepseek-v4-pro | **Analyticos** | Data quality, technical correctness, edge cases |\n| gemma4:31b | **Creativos** | Creative alternatives, user experience, novel approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/kimi-k2.6:cloud\",\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Market positioning and competitive advantage\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/deepseek-v4-pro:cloud\",\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Statistical validity and sample sizes\n  - Logical consistency and contradictions\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/gemma4:31b-cloud\",\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]\n  \n  Analyze from a CREATIVE perspective:\n  - User experience and usability\n  - Novel alternatives and unconventional approaches\n  - Design and presentation improvements\n  - What's missing that no one else would think of\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n```\n\n### Step 3: Synthesize\n\nWhen all 3 return, merge their verdicts:\n\n1. **Consensus points** — where all 3 agree\n2. **Disagreements** — where they differ and why\n3. **Blind spots** — what none of them caught\n4. **Final verdict** — weighted synthesis with conditions\n5. **Action items** — concrete next steps\n\nWrite the synthesis to `council-review-[topic].md`.\n\n## Critical Rules\n\n1. **Paste ALL context inline** — agents have no conversation history\n2. **Keep task descriptions under 2000 words** — longer = context overflow = failure\n3. **Use `lightContext: true`** — always, to prevent context bloat\n4. **Set `runTimeoutSeconds: 900`** — councils need time\n5. **Don't spawn with too much data** — if pasting 10k+ words, summarize first\n6. **Wait for ALL 3 to complete** — don't synthesize with 2/3 results\n7. **Never re-spawn** — if one model times out, note it in the synthesis\n\n## Common Failure Modes\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |\n| One model times out | Slow model + complex task | Increase timeout or simplify task |\n| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |\n| Shallow analysis | Vague task description | Be specific about what to analyze |\n| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |\n\n## Anti-Patterns\n\n- ❌ Spawning one subagent and asking it to \"be 3 experts\" — that's roleplay, not a council\n- ❌ Pasting 10k+ words of raw data — summarize first\n- ❌ Using the same model for all 3 perspectives — defeats the purpose\n- ❌ Synthesizing before all 3 complete — wait for everyone\n- ❌ Ignoring disagreements — disagreements are the most valuable output\n\nFile v1.0.2:README.md\n\n# Council of LLMs\n\nMulti-model council deliberation for OpenClaw. Spawn 3 parallel subagents with different models and perspectives, then synthesize their outputs into a unified verdict.\n\n## Why This Exists\n\nSingle-model \"councils\" — where one subagent roleplays 3 experts — fail repeatedly. They produce context overflow (300-600k tokens), shallow analysis, and empty outputs. Real deliberation requires genuinely different models providing independent perspectives.\n\n## How It Works\n\n1. **Spawn 3 parallel subagents**, each with a different model:\n   - **Strategos** (kimi-k2.6) — strategy, business impact, feasibility\n   - **Analyticos** (deepseek-v4-pro) — data quality, technical correctness, edge cases\n   - **Creativos** (gemma4:31b) — creative alternatives, UX, novel approaches\n\n2. **Each agent analyzes independently** with their specific lens\n\n3. **Synthesize** — merge verdicts into consensus, disagreements, blind spots, and action items\n\n## Quick Start\n\n```python\n# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize\n```\n\n## Critical Rules\n\n- **Paste ALL context inline** — agents have no conversation history\n- **Keep task descriptions under 2000 words** — longer = context overflow = failure\n- **Use `lightContext: true`** — always\n- **Set `runTimeoutSeconds: 900`** — councils need time\n- **Wait for ALL 3 to complete** — don't synthesize early\n\n## Configuration\n\nModels are read from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Companion Skill\n\n- **[Subagent Orchestration](https://github.com/wahajahmed010/subagent-orchestration)** — Core delegation patterns, sandbox constraints, timeout strategy, and failure mode reference. Council of LLMs builds on these patterns for multi-agent deliberation.\n\n## Install\n\n```bash\n# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration\n```\n\n## ClawHub\n\nPublished at: https://clawhub.com/skills/council-of-llms\n\n## License\n\nMIT-0\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1777417599250\n}\n\nArchive v1.0.1: 2 files, 2500 bytes\n\nFiles: SKILL.md (5019b), _meta.json (134b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: council-of-llms\ndescription: \"Multi-model council deliberation. Spawn 3 subagents with different models and perspectives, synthesize their outputs into a unified verdict. Use when you need diverse analysis, stress-testing ideas, or high-stakes decisions requiring multiple viewpoints. Triggers on: council, deliberate, debate, review, stress-test, multi-model.\"\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nRead from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v3.2:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different lens:\n\n| Model | Perspective | Role |\n|-------|------------|------|\n| kimi-k2.6 | **Strategos** | Big-picture strategy, business impact, feasibility |\n| deepseek-v3.2 | **Analyticos** | Data quality, technical correctness, edge cases |\n| gemma4:31b | **Creativos** | Creative alternatives, user experience, novel approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/kimi-k2.6:cloud\",\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Market positioning and competitive advantage\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/deepseek-v3.2:cloud\",\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n  \n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Statistical validity and sample sizes\n  - Logical consistency and contradictions\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: \"ollama/gemma4:31b-cloud\",\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: 900,\n  task: \"You are Creativos, a creative and UX thinker. [PASTE CONTEXT HERE]\n  \n  Analyze from a CREATIVE perspective:\n  - User experience and usability\n  - Novel alternatives and unconventional approaches\n  - Design and presentation improvements\n  - What's missing that no one else would think of\n  \n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n```\n\n### Step 3: Synthesize\n\nWhen all 3 return, merge their verdicts:\n\n1. **Consensus points** — where all 3 agree\n2. **Disagreements** — where they differ and why\n3. **Blind spots** — what none of them caught\n4. **Final verdict** — weighted synthesis with conditions\n5. **Action items** — concrete next steps\n\nWrite the synthesis to `council-review-[topic].md`.\n\n## Critical Rules\n\n1. **Paste ALL context inline** — agents have no conversation history\n2. **Keep task descriptions under 2000 words** — longer = context overflow = failure\n3. **Use `lightContext: true`** — always, to prevent context bloat\n4. **Set `runTimeoutSeconds: 900`** — councils need time\n5. **Don't spawn with too much data** — if pasting 10k+ words, summarize first\n6. **Wait for ALL 3 to complete** — don't synthesize with 2/3 results\n7. **Never re-spawn** — if one model times out, note it in the synthesis\n\n## Common Failure Modes\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |\n| One model times out | Slow model + complex task | Increase timeout or simplify task |\n| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |\n| Shallow analysis | Vague task description | Be specific about what to analyze |\n| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |\n\n## Anti-Patterns\n\n- ❌ Spawning one subagent and asking it to \"be 3 experts\" — that's roleplay, not a council\n- ❌ Pasting 10k+ words of raw data — summarize first\n- ❌ Using the same model for all 3 perspectives — defeats the purpose\n- ❌ Synthesizing before all 3 complete — wait for everyone\n- ❌ Ignoring disagreements — disagreements are the most valuable output\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1777416666710\n}\n\nArchive v1.0.0: 7 files, 10563 bytes\n\nFiles: examples/outputs.md (3674b), install.json (1266b), prompts/charter.md (1038b), README.md (1515b), scripts/council.sh (8518b), SKILL.md (8089b), _meta.json (134b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: council-of-llms\nemoji: 🏛️\ndescription: Multi-model deliberation for high-stakes decisions. Don't take one model's word for it.\ndetails: |\n  **Council of LLMs** orchestrates structured multi-model debate — routing a single question to multiple LLMs simultaneously, collecting their answers, and surfacing agreements/disagreements.\n\n  ## Best For\n  - Security audits\n  - Architecture decisions  \n  - Policy analysis\n  - LLM output evaluation\n\n  ## Pre-requisites\n  - OpenClaw with 2+ LLM providers configured\n  - Recommended: Ollama Cloud for parallel execution\n\n  ## Quick Start\n\n  ```bash\n  # Run with demo question\n  council\n\n  # Run with your question\n  council \"Should we use JWT or session cookies?\"\n\n  # Interactive model selection\n  council --select-models \"Architecture decision\"\n  ```\n\n  ## Usage\n\n  ### Model Selection\n  ```bash\n  # List available models\n  council --list-models\n\n  # Explicit model list\n  council \"Security audit\" --models \"ollama/kimi-k2.5,openai/gpt-4o\"\n\n  # Use preset\n  council \"Code review\" --preset security\n  ```\n\n  ### Configuration\n  ```bash\n  # Sequential mode (limited hardware)\n  council \"Question\" --sequential\n\n  # Extended timeout\n  council \"Question\" --timeout 180\n\n  # Export results\n  council \"Question\" --output report.md\n  ```\n\n  ## Safeguards\n  - Timeout per model: 120s (configurable)\n  - Cost cap: 50K tokens\n  - Max rounds: 2\n  - Model diversity required\n  - Rate limiting\n\n  ## When NOT to Use\n  - Quick factual lookups\n  - Real-time applications\n  - Cost-sensitive products\n  - Tasks requiring consistent answers\n\ninstall:\n  - npm install -g clawhub\n  - clawhub install wahajahmed010/council-of-llms\n\n---\n\n# Council of LLMs\n\nMulti-model deliberation for high-stakes decisions. Don't take one model's word for it.\n\n**Version:** 1.0.0  \n**License:** MIT  \n**Author:** Wahaj Ahmed\n\n## Overview\n\nThe Council of LLMs orchestrates structured multi-model debate — routing a single question to multiple LLMs simultaneously, collecting their answers, and surfacing agreements/disagreements. Built for decisions where being wrong costs more than the overhead of multiple perspectives.\n\n**Best for:** Security audits, architecture decisions, policy analysis, LLM output evaluation  \n**Not for:** Quick lookups, casual chat, first drafts\n\n## Pre-requisites\n\n- **OpenClaw with multiple LLM providers configured** (required)\n  - Verify: `openclaw status` shows 2+ providers\n  - Examples: `ollama/kimi-k2.5`, `openai/gpt-4o`, `anthropic/claude-3-opus`\n\n- **Multi-model access** (recommended)\n  - Local Ollama: Can run 1 model at a time (sequential mode)\n  - **Recommended: Ollama Cloud** — parallel multi-model execution\n    - Sign up: https://ollama.com/cloud\n    - Configure: `openclaw config set ollama.cloud.token=YOUR_TOKEN`\n\n## Installation\n\n### Via ClawHub (Recommended)\n\n```bash\nclawhub install wahajahmed010/council-of-llms\n```\n\n### Manual\n\n```bash\ncd ~/.openclaw/skills\ngit clone https://github.com/wahajahmed010/council-of-llms.git\n```\n\n## Usage\n\n### Quick Start (Zero Config)\n\n```bash\n# Run with built-in sample question\ncouncil\n\n# Run with your own question\ncouncil \"Should we use JWT or session cookies for auth?\"\n\n# Security audit example\ncouncil --review \"Analyze this Python function for security issues\" --input ./auth.py\n```\n\n### Model Selection\n\n```bash\n# List available models\ncouncil --list-models\n\n# Interactive model selection\ncouncil \"Architecture decision\" --select-models\n\n# Explicit model list\ncouncil \"Security audit\" --models \"ollama/kimi-k2.5,openai/gpt-4o,anthropic/claude-3-opus\"\n\n# Use specific council preset\ncouncil \"Code review\" --preset security\n```\n\n### Configuration\n\n```bash\n# Sequential mode (for limited hardware)\ncouncil \"Question\" --sequential\n\n# Extended timeout for complex analysis\ncouncil \"Question\" --timeout 180\n\n# Export results\ncouncil \"Question\" --output report.md\n```\n\n## How It Works\n\n### Architecture\n\n```\nUser Question\n      ↓\n[Pre-flight Check] → Verify 2+ models available\n      ↓\n[Agent Spawning] → Spawn 2-3 agents with different models\n      ↓\n[Round 1: Opening] → Each agent provides initial analysis\n      ↓\n[Round 2: Rebuttal] → Agents respond to each other's points\n      ↓\n[Synthesis] → Compare positions, find agreements/disagreements\n      ↓\n[Report] → Structured output with verdict\n```\n\n### Fallback Mode\n\nIf `sessions_spawn` is unavailable, the skill automatically switches to **single-prompt multi-persona simulation** — all \"agents\" represented as sections in one prompt. Slightly less authentic but works everywhere.\n\n## Output Format\n\n```markdown\n# Council Report: [Question]\n\n## Participants\n- Strategist (ollama/kimi-k2.5)\n- Security Expert (openai/gpt-4o)\n- Pragmatist (anthropic/claude-3-opus)\n\n## Individual Positions\n\n### Strategist\n**Stance:** JWT with short expiry\n**Key Points:**\n- Stateless authentication scales horizontally\n- Reduces database lookups\n- Industry standard for microservices\n\n### Security Expert\n**Stance:** Session cookies with httpOnly\n**Key Points:**\n- XSS protection via httpOnly flag\n- Easier revocation on compromise\n- No token storage complexity\n\n### Pragmatist\n**Stance:** Hybrid approach\n**Key Points:**\n- Sessions for web, JWT for API\n- Best of both worlds\n- Implementation overhead worth it\n\n## Agreement Matrix\n\n| Point | Strategist | Security | Pragmatist |\n|-------|------------|----------|------------|\n| Stateless scaling | ✅ | ⚠️ | ✅ |\n| XSS protection | ⚠️ | ✅ | ✅ |\n| Revocation ease | ⚠️ | ✅ | ✅ |\n| Implementation | ✅ | ✅ | ⚠️ |\n\n## Key Disagreements\n\n1. **Security vs Scalability**: Security Expert prioritizes safety over performance\n2. **Complexity**: Strategist sees JWT as simpler; Security Expert sees sessions as simpler\n\n## Synthesis\n\n**Consensus:** Hybrid approach recommended for most teams\n**Dissent:** Security Expert maintains pure sessions for high-security contexts\n**Confidence:** Medium (genuine disagreement on trade-offs)\n\n## Recommendation\n\nStart with session cookies. Migrate to JWT only if:\n- Horizontal scaling becomes bottleneck\n- Stateless requirement is critical\n- Team has JWT expertise\n\n---\n*Generated by Council of LLMs v1.0.0*\n*Models: kimik2.5, gpt-4o, claude-3-opus*\n*Time: 45s | Tokens: 12,847*\n```\n\n## Safeguards\n\nThe skill includes automatic protections:\n\n| Safeguard | Default | Description |\n|-----------|---------|-------------|\n| Timeout per model | 120s | Kills slow models, proceeds with others |\n| Cost cap | 50K tokens | Hard stop if projection exceeds limit |\n| Max rounds | 2 | Prevents infinite deliberation |\n| Model diversity | Required | Rejects if all models same provider |\n| Rate limiting | 10/min | Prevents accidental spam |\n| Partial failure | Continue | Works even if 1 model fails |\n| Context budget | 70% window | Fails fast before overflow |\n| User opt-in | Required | Shows cost estimate before run |\n\n## Configuration\n\n`~/.openclaw/council-config.json`:\n\n```json\n{\n  \"default_models\": [\n    \"ollama/kimi-k2.5\",\n    \"openai/gpt-4o\",\n    \"anthropic/claude-3-opus\"\n  ],\n  \"timeout\": 120,\n  \"max_tokens_per_model\": 8192,\n  \"cost_warning_threshold\": 25000,\n  \"sequential_fallback\": true,\n  \"output_format\": \"markdown\",\n  \"presets\": {\n    \"security\": {\n      \"models\": [\"openai/gpt-4o\", \"anthropic/claude-3-opus\"],\n      \"system_prompt\": \"security-expert\"\n    },\n    \"architecture\": {\n      \"models\": [\"ollama/kimi-k2.5\", \"anthropic/claude-3-opus\"],\n      \"system_prompt\": \"systems-architect\"\n    }\n  }\n}\n```\n\n## Limitations\n\n- **Speed:** 2-3x slower than single model (parallel helps)\n- **Cost:** Multiplies by number of models\n- **Not for:** Simple facts, casual chat, first drafts\n- **Diversity is limited:** Most models share training data biases\n\n## When NOT to Use\n\n- Simple factual queries (weather, definitions)\n- Real-time applications (chat, support bots) where latency matters\n- Cost-sensitive products with limited API budgets\n- Tasks requiring authoritative, consistent answers (legal, medical — a council of conflicting advice is dangerous)\n\n## License\n\nMIT © 2026 Wahaj Ahmed\n\nFile v1.0.0:README.md\n\n# Council of LLMs\n\n> **Don't take one model's word for it.**\n\nMulti-model deliberation for high-stakes decisions. The Council of LLMs routes a single question to multiple AI models simultaneously, surfaces their agreements and disagreements, and presents a structured analysis — so you get rigorous, cross-model insight instead of a single potentially-biased answer.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Quick Start\n\n```bash\n# Install\nclawhub install wahajahmed010/council-of-llms\n\n# Run with default question (demo)\ncouncil\n\n# Run with your own question\ncouncil \"Should we use JWT or session cookies for auth?\"\n\n# Interactive model selection\ncouncil --select-models \"Architecture decision\"\n```\n\n## What It Does\n\n```\nYour Question\n     ↓\n[Multiple LLMs] → Parallel deliberation\n     ↓\n[Analysis] → Agreements, disagreements, synthesis\n     ↓\n[Report] → Structured verdict with confidence\n```\n\n## When to Use\n\n| ✅ Use Council | ❌ Skip Council |\n|----------------|-----------------|\n| Security audits | Quick lookups |\n| Architecture decisions | Casual chat |\n| Policy analysis | First drafts |\n| LLM output evaluation | Simple facts |\n\n## Pre-requisites\n\n- **OpenClaw with 2+ LLM providers** (required)\n- **Recommended:** Ollama Cloud for parallel execution\n\n## Documentation\n\n- [SKILL.md](SKILL.md) — Full usage guide\n- [examples/outputs.md](examples/outputs.md) — Sample outputs\n\n## License\n\nMIT © 2026 Wahaj Ahmed\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776702047003\n}\n\nFile v1.0.0:examples/outputs.md\n\n# Council of LLMs — Example Outputs\n\n## Example 1: Security Review\n\n**Input:**\n```python\ndef authenticate(token):\n    user = db.query(f\"SELECT * FROM users WHERE token = '{token}'\")\n    return user\n```\n\n**Council Output:**\n\n### Participants\n- Security Auditor (openai/gpt-4o)\n- Pragmatic Developer (anthropic/claude-3-opus)\n\n### Individual Positions\n\n#### Security Auditor\n**Position:** CRITICAL — SQL injection vulnerability\n**Key Points:**\n1. Direct string interpolation in SQL query\n2. Token is user-controlled input\n3. Classic injection vector — attacker can extract all data\n4. Must use parameterized queries\n\n#### Pragmatic Developer\n**Position:** Agrees on severity, notes implementation ease\n**Key Points:**\n1. Confirms SQL injection risk\n2. Fix is simple: use ORM or parameterized queries\n3. No valid use case for this pattern\n4. Should block CI/CD until fixed\n\n### Agreement Matrix\n\n| Point | Security | Developer |\n|-------|----------|-----------|\n| SQLi exists | ✅ | ✅ |\n| Severity: Critical | ✅ | ✅ |\n| Fix difficulty | Low | Low |\n| Blocks deployment | ✅ | ✅ |\n\n### Synthesis\n\n**Unanimous consensus:** Critical SQL injection. Must fix before deployment.\n\n**Fix:**\n```python\ndef authenticate(token):\n    user = db.query(\"SELECT * FROM users WHERE token = ?\", (token,))\n    return user\n```\n\n---\n\n## Example 2: Architecture Decision\n\n**Question:** Should we migrate from REST to GraphQL?\n\n**Council Output:**\n\n### Participants\n- API Strategist (ollama/kimi-k2.5)\n- Performance Engineer (openai/gpt-4o)\n- Frontend Lead (anthropic/claude-3-opus)\n\n### Individual Positions\n\n#### API Strategist\n**Position:** GraphQL for new services, REST for existing\n**Key Points:**\n1. GraphQL solves over-fetching\n2. Migration cost is high\n3. Strangler fig pattern works\n4. Don't rewrite working code\n\n#### Performance Engineer\n**Position:** REST with optimized endpoints\n**Key Points:**\n1. GraphQL complexity adds latency\n2. Caching is harder\n3. REST can be optimized per use case\n4. Performance wins are marginal\n\n#### Frontend Lead\n**Position:** GraphQL if mobile is priority\n**Key Points:**\n1. Mobile teams love GraphQL\n2. Reduces round trips significantly\n3. Type safety is big win\n4. But requires team learning curve\n\n### Agreement Matrix\n\n| Point | Strategist | Performance | Frontend |\n|-------|------------|-------------|----------|\n| GraphQL benefits | ✅ | ⚠️ | ✅ |\n| Migration cost | High | Medium | Medium |\n| Performance | ⚠️ | ✅ REST | ⚠️ |\n| Mobile priority | ⚠️ | ⚠️ | ✅ |\n\n### Key Disagreements\n\n1. **Migration approach**: Strategist says gradual, others say evaluate need first\n2. **Performance**: Engineer sees GraphQL complexity; others see query optimization\n\n### Synthesis\n\n**Split consensus:** \n- ✅ GraphQL for new mobile-heavy services\n- ✅ REST for existing backend services\n- ⚠️ No full migration without clear mobile use case\n\n**Recommendation:** Start with GraphQL for mobile API only. Measure before expanding.\n\n---\n\n## Example 3: Simple Question (Overkill Warning)\n\n**Question:** What time is it in Tokyo?\n\n**Council Output:**\n\n```\n⚠️ COUNCIL NOT RECOMMENDED\n\nThis is a factual lookup with clear correct answer.\nSingle model response would be faster and equally accurate.\n\nUse: openclaw ask \"What time is it in Tokyo?\"\nInstead of council for this query.\n```\n\n---\n\n## When to Use Council\n\n| Scenario | Single Model | Council |\n|----------|--------------|---------|\n| Factual lookup | ✅ | ❌ Overkill |\n| Security audit | ⚠️ | ✅ Justified |\n| Architecture decision | ⚠️ | ✅ Justified |\n| Creative writing | ✅ | ❌ Unnecessary |\n| Policy analysis | ❌ Biased | ✅ Justified |\n\nFile v1.0.0:prompts/charter.md\n\n# Council Charter\n\n## Role\n\nYou are a member of the Council of LLMs, a deliberative body where multiple AI models analyze the same problem from different angles.\n\n## Your Voice\n\n{{ROLE_DESCRIPTION}}\n\n{{ROLE_BIAS}}\n\n## Rules of Engagement\n\n1. **State your position clearly** — No hedging. Take a stance.\n2. **Cite reasoning** — Explain WHY you hold this position, not just WHAT it is.\n3. **Acknowledge uncertainty** — If you're unsure, say so explicitly.\n4. **Engage with other council members** — Respond to their points, don't ignore them.\n5. **Stay in character** — Don't become generic. Your specific perspective matters.\n\n## Output Format\n\n```\n**Position:** [One sentence stance]\n\n**Key Points:**\n1. [Point with reasoning]\n2. [Point with reasoning]\n3. [Point with reasoning]\n\n**Uncertainties:**\n- [What you're unsure about]\n\n**Response to Others:**\n- [Council Member]: [Your response to their argument]\n```\n\n## Current Question\n\n{{QUESTION}}\n\n## Previous Rounds\n\n{{DEBATE_HISTORY}}\n\n## Your Turn\n\nProvide your analysis now.\n\nFile v1.0.0:install.json\n\n{\n  \"name\": \"council-of-llms\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Multi-model deliberation for high-stakes decisions. Don't take one model's word for it.\",\n  \"author\": \"Wahaj Ahmed\",\n  \"license\": \"MIT\",\n  \"category\": \"productivity\",\n  \"keywords\": [\n    \"council\",\n    \"multi-model\",\n    \"deliberation\",\n    \"debate\",\n    \"decision-making\",\n    \"security\",\n    \"architecture\"\n  ],\n  \"requirements\": {\n    \"openclaw\": \">=0.5.0\",\n    \"tools\": [\"sessions_spawn\"],\n    \"optional\": [\"memory_search\"]\n  },\n  \"runtime\": {\n    \"type\": \"instruction\",\n    \"entry\": \"SKILL.md\"\n  },\n  \"config\": {\n    \"env\": {\n      \"COUNCIL_TIMEOUT\": {\n        \"default\": \"120\",\n        \"description\": \"Per-model timeout in seconds\"\n      },\n      \"COUNCIL_MAX_TOKENS\": {\n        \"default\": \"8192\",\n        \"description\": \"Max tokens per model response\"\n      },\n      \"COUNCIL_COST_WARNING\": {\n        \"default\": \"25000\",\n        \"description\": \"Token threshold for cost warning\"\n      }\n    },\n    \"files\": [\n      \"~/.openclaw/council-config.json\"\n    ]\n  },\n  \"links\": {\n    \"homepage\": \"https://github.com/wahajahmed010/council-of-llms\",\n    \"repository\": \"https://github.com/wahajahmed010/council-of-llms\",\n    \"issues\": \"https://github.com/wahajahmed010/council-of-llms/issues\"\n  }\n}","readmeExcerpt":"Skill: Council Of Llms Owner: wahajahmed010 Summary: Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-05-14T12:31:30.186Z | user v2: Models are now user-configurable via council-config.json instead of hardcoded. Perspectives (Strategos/Analyticos/Creativos) ","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"council_models\": [\n    \"your-strategic-model\",\n    \"your-analytical-model\",\n    \"your-creative-model\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}"},{"language":"json","snippet":"{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}"},{"language":"text","snippet":"sessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <first model from config>,\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]\n\n  Analyze from a STRATEGIC perspective:\n  - Business impact and feasibility\n  - Resource requirements and ROI\n  - Strategic risks and opportunities\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <second model from config>,\n  label: \"Council-Analyticos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]\n\n  Analyze from an ANALYTICAL perspective:\n  - Data quality and completeness\n  - Technical correctness and edge cases\n  - Logical consistency\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)\n\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <third model from config>,\n  label: \"Council-Creativos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout from config>,\n  task: \"You are Creativos, a creative thinker. [PASTE CONTEXT HERE]\n\n  Analyze from a CREATIVE perspective:\n  - Novel alternatives and unconventional approaches\n  - User experience and usability\n  - What's missing that no one else would think of\n\n  Return your analysis as a structured review with: verdict, conditions, risks, recommendations.\"\n)"},{"language":"python","snippet":"# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize"},{"language":"json","snippet":"{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}"},{"language":"bash","snippet":"# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: council-of-llms\ndescription: \"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy, Analysis, Creativity), then synthesizes their independent outputs into a unified verdict with consensus points, disagreements, and action items. Fixes the single-model roleplay anti-pattern that causes context overflow and shallow analysis. Requires the subagent-orchestration skill for base spawning patterns. Triggers on: council, deliberate, debate, review, stress-test, multi-model, decision, verdict, analysis, perspectives.\"\ntags:\n  - council\n  - multi-model\n  - deliberation\n  - analysis\n  - decision-making\n  - subagent\n  - orchestration\n  - llm\n  - review\n  - stress-test\n---\n\n# Council of LLMs\n\n## Overview\n\nA 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.\n\n## Models\n\nConfigure your council models in `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"your-strategic-model\",\n    \"your-analytical-model\",\n    \"your-creative-model\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n**Choose models with different strengths:**\n- **Strategos (Strategic):** Pick a model known for strategic thinking, long-context reasoning, and business insight\n- **Analyticos (Analytical):** Pick a model known for data analysis, technical precision, and logical reasoning\n- **Creativos (Creative):** Pick a model known for creative thinking, novel perspectives, and user empathy\n\nThe more diverse the models, the better the council output. Using the same model for all three defeats the purpose.\n\n**Example configuration:**\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Perspectives\n\nEach model gets a different analytical lens:\n\n| Perspective | Role | Focus |\n|------------|------|-------|\n| **Strategos** | Strategic analyst | Big-picture strategy, business impact, feasibility, ROI |\n| **Analyticos** | Data & logic analyst | Technical correctness, edge cases, data quality, consistency |\n| **Creativos** | Creative thinker | Novel alternatives, user experience, unconventional approaches |\n\n## How to Run a Council\n\n### Step 1: Prepare the Context\n\nGather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.\n\n### Step 2: Spawn 3 Parallel Subagents\n\nRead the model names from `council-config.json` and spawn each with a different perspective:\n\n```\nsessions_spawn(\n  runtime: \"subagent\",\n  mode: \"run\",\n  model: <first model from config>,\n  label: \"Council-Strategos\",\n  lightContext: true,\n  runTimeoutSeconds: <default_timeout fro"},{"path":"README.md","content":"# Council of LLMs\n\nMulti-model council deliberation for OpenClaw. Spawn 3 parallel subagents with different models and perspectives, then synthesize their outputs into a unified verdict.\n\n## Why This Exists\n\nSingle-model \"councils\" — where one subagent roleplays 3 experts — fail repeatedly. They produce context overflow (300-600k tokens), shallow analysis, and empty outputs. Real deliberation requires genuinely different models providing independent perspectives.\n\n## How It Works\n\n1. **Spawn 3 parallel subagents**, each with a different model:\n   - **Strategos** (kimi-k2.6) — strategy, business impact, feasibility\n   - **Analyticos** (deepseek-v4-pro) — data quality, technical correctness, edge cases\n   - **Creativos** (gemma4:31b) — creative alternatives, UX, novel approaches\n\n2. **Each agent analyzes independently** with their specific lens\n\n3. **Synthesize** — merge verdicts into consensus, disagreements, blind spots, and action items\n\n## Quick Start\n\n```python\n# Spawn all 3 in parallel\nsessions_spawn(model=\"kimi-k2.6:cloud\", label=\"Council-Strategos\", ...)\nsessions_spawn(model=\"deepseek-v4-pro:cloud\", label=\"Council-Analyticos\", ...)\nsessions_spawn(model=\"gemma4:31b-cloud\", label=\"Council-Creativos\", ...)\n\n# Wait for all 3 to complete, then synthesize\n```\n\n## Critical Rules\n\n- **Paste ALL context inline** — agents have no conversation history\n- **Keep task descriptions under 2000 words** — longer = context overflow = failure\n- **Use `lightContext: true`** — always\n- **Set `runTimeoutSeconds: 900`** — councils need time\n- **Wait for ALL 3 to complete** — don't synthesize early\n\n## Configuration\n\nModels are read from `~/.openclaw/council-config.json`:\n\n```json\n{\n  \"council_models\": [\n    \"ollama/kimi-k2.6:cloud\",\n    \"ollama/deepseek-v4-pro:cloud\",\n    \"ollama/gemma4:31b-cloud\"\n  ],\n  \"default_timeout\": 900,\n  \"max_tokens\": 8192\n}\n```\n\n## Companion Skill\n\n- **[Subagent Orchestration](https://github.com/wahajahmed010/subagent-orchestration)** — Core delegation patterns, sandbox constraints, timeout strategy, and failure mode reference. Council of LLMs builds on these patterns for multi-agent deliberation.\n\n## Install\n\n```bash\n# Install both skills together\nclawhub install council-of-llms\nclawhub install subagent-orchestration\n\n# Or from GitHub\nopenclaw skills install wahajahmed010/council-of-llms\nopenclaw skills install wahajahmed010/subagent-orchestration\n```\n\n## ClawHub\n\nPublished at: https://clawhub.com/skills/council-of-llms\n\n## License\n\nMIT-0"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7104e9v8eyfbk1y69y0yr7th850741\",\n  \"slug\": \"council-of-llms\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1778761890186\n}"},{"path":"skill-card.md","content":"## Description:\n\nReal multi-model council deliberation for OpenClaw subagents that spawns three parallel subagents with distinct analytical perspectives and synthesizes their independent outputs into a unified verdict.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wahajahmed010](https://clawhub.ai/user/wahajahmed010)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to run multi-model reviews, debates, stress tests, and decision analyses by assigning strategic, analytical, and creative perspectives to separate subagents before synthesizing a final verdict.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Configured council models may be cloud-backed, so copied context can be sent to external model providers.\n\nMitigation: Review configured models before use and avoid pasting secrets, credentials, customer data, regulated information, or proprietary material unless sharing with those providers is acceptable.\n\nRisk: The skill can create a local council-review markdown file in the workspace.\n\nMitigation: Review generated files before sharing, committing, or using them as decision records.\n\nRisk: The skill depends on companion subagent orchestration behavior.\n\nMitigation: Review or pin the companion subagent skill before installing or running the council workflow.\n\n## Reference(s):\n\n- [Council Of Llms on ClawHub](https://clawhub.ai/wahajahmed010/skills/council-of-llms)\n- [Subagent Orchestration companion skill](https://github.com/wahajahmed010/subagent-orchestration)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, configuration]\n\n**Output Format:** [Markdown synthesis with structured verdicts, consensus points, disagreements, blind spots, and action items]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May create a local council-review markdown file in the workspace.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,... Skill: Council Of Llms Owner: wahajahmed010 Summary: Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-05-14T12:31:30.186Z | user v2: Models are now user-configurable via council-config.json instead of hardcoded. Perspectives (Strategos/Analyticos/Creativos)","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1163,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:01:55.248Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:49:55.041Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}