Self-Improving Agent
一个面向 Automation 场景的 Agent 技能。原始说明:Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
一个面向 Automation 场景的 Agent 技能。原始说明:Real multi-model council deliberation for OpenClaw subagents. Spawns 3 parallel subagents with different LLMs and distinct analytical perspectives (Strategy,...
name: council-of-llms
description: "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."
tags:
A real council spawns 3 parallel subagents, each with a different model and perspective, then synthesizes their outputs into a unified verdict. This is NOT one model roleplaying 3 experts — it's genuinely different models providing independent analysis.
Configure your council models in ~/.openclaw/council-config.json:
{
"council_models": [
"your-strategic-model",
"your-analytical-model",
"your-creative-model"
],
"default_timeout": 900,
"max_tokens": 8192
}
Choose models with different strengths:
The more diverse the models, the better the council output. Using the same model for all three defeats the purpose.
Example configuration:
{
"council_models": [
"ollama/kimi-k2.6:cloud",
"ollama/deepseek-v4-pro:cloud",
"ollama/gemma4:31b-cloud"
],
"default_timeout": 900,
"max_tokens": 8192
}
Each model gets a different analytical lens:
| Perspective | Role | Focus |
|------------|------|-------|
| Strategos | Strategic analyst | Big-picture strategy, business impact, feasibility, ROI |
| Analyticos | Data & logic analyst | Technical correctness, edge cases, data quality, consistency |
| Creativos | Creative thinker | Novel alternatives, user experience, unconventional approaches |
Gather all relevant data BEFORE spawning. Council agents cannot browse the web or access your conversation history. Paste everything they need inline.
Read the model names from council-config.json and spawn each with a different perspective:
sessions_spawn(
runtime: "subagent",
mode: "run",
model: <first model from config>,
label: "Council-Strategos",
lightContext: true,
runTimeoutSeconds: <default_timeout from config>,
task: "You are Strategos, a strategic analyst. [PASTE CONTEXT HERE]
Analyze from a STRATEGIC perspective:
- Business impact and feasibility
- Resource requirements and ROI
- Strategic risks and opportunities
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
sessions_spawn(
runtime: "subagent",
mode: "run",
model: <second model from config>,
label: "Council-Analyticos",
lightContext: true,
runTimeoutSeconds: <default_timeout from config>,
task: "You are Analyticos, a data and logic analyst. [PASTE CONTEXT HERE]
Analyze from an ANALYTICAL perspective:
- Data quality and completeness
- Technical correctness and edge cases
- Logical consistency
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
sessions_spawn(
runtime: "subagent",
mode: "run",
model: <third model from config>,
label: "Council-Creativos",
lightContext: true,
runTimeoutSeconds: <default_timeout from config>,
task: "You are Creativos, a creative thinker. [PASTE CONTEXT HERE]
Analyze from a CREATIVE perspective:
- Novel alternatives and unconventional approaches
- User experience and usability
- What's missing that no one else would think of
Return your analysis as a structured review with: verdict, conditions, risks, recommendations."
)
When all 3 return, merge their verdicts:
Write the synthesis to council-review-[topic].md.
lightContext: true — always, to prevent context bloatrunTimeoutSeconds from config — default 900, increase for complex topics| Symptom | Cause | Fix |
|---------|-------|-----|
| All 3 return empty | Gateway overload | Kill zombie subagents, wait, retry |
| One model times out | Slow model + complex task | Increase timeout or simplify task |
| Context overflow (300k+ tokens) | Too much data pasted | Summarize to <2000 words |
| Shallow analysis | Vague task description | Be specific about what to analyze |
| All 3 say the same thing | Not enough perspective differentiation | Make perspective prompts more distinct |
This skill is read-only and sandbox-safe:
sessions_spawn — no filesystem access, no arbitrary commands, no network callsexec, no shell commands, no file reads/writes, no API calls