Llmcouncil Router
Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council.
- Rating
- 4.4 (277 reviews)
- Downloads
- 2,298 downloads
- Version
- 1.0.0
Overview
Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council.
Complete Documentation
View Source →
LLM Council Router
Route any prompt to the best-performing LLM. The API finds the top model for a given query based on thousands of peer-reviewed council deliberations — then you call that model directly.
Base URL
https://clawbot.llmcouncil.ai
Authentication
Use the X-API-Key header with your LLM Council API key.
X-API-Key: clwb_YOUR_KEY_HERE
Get a free key at llmcouncil.ai/developers.
Endpoint: POST /v1/route
Find the best-performing model for a query.
Request
{
"query": "Explain quantum entanglement simply",
"k": 20
}
| Field | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The prompt or question to route |
| k | integer | No | Number of past evaluations to consider (default: 20) |
Response
{
"query": "Explain quantum entanglement simply",
"nearest_councils": 20,
"model": "anthropic/claude-sonnet-4",
"relevance": 0.8234,
"confidence": 0.65,
"model_rankings": [
{ "rank": 1, "model": "anthropic/claude-sonnet-4", "nearby_wins": 13, "nearby_appearances": 20 },
{ "rank": 2, "model": "openai/gpt-4.1", "nearby_wins": 5, "nearby_appearances": 18 }
]
}
| Field | Type | Description |
|---|---|---|
| model | string | Top recommended model ID (matches OpenRouter catalogue) |
| relevance | float (0–1) | How closely matched evaluations relate to your query. Above 0.75 is strong. |
| confidence | float (0–1) | How decisively the top model outperforms alternatives. Higher = clearer winner. |
| nearest_councils | integer | Number of relevant past evaluations used |
| model_rankings | array | All models ranked by performance across matched evaluations |
How to use this skill
When the user asks you to find the best model for a task, or when you need to decide which LLM to use:
- Call the routing API with the user's query:
curl -X POST https://clawbot.llmcouncil.ai/v1/route \
-H "Content-Type: application/json" \
-H "X-API-Key: $LLMCOUNCIL_API_KEY" \
-d '{"query": "USER_QUERY_HERE"}'
- Read the response — the
modelfield is the best-performing model for that query type. - Chain with OpenRouter — model IDs match the OpenRouter catalogue directly, no mapping needed:
import requests, os
# Step 1: Get the best model from LLM Council
route = requests.post(
"https://clawbot.llmcouncil.ai/v1/route",
headers={"X-API-Key": os.environ["LLMCOUNCIL_API_KEY"]},
json={"query": "Write a Python web scraper"},
).json()
best_model = route["model"] # e.g. "anthropic/claude-sonnet-4"
confidence = route["confidence"] # e.g. 0.85
# Step 2: Call that model via OpenRouter
answer = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
json={
"model": best_model,
"messages": [{"role": "user", "content": "Write a Python web scraper"}],
},
).json()
print(answer["choices"][0]["message"]["content"])
Rate Limits
| Tier | Daily Limit | Attribution |
|---|---|---|
| Free | 100 requests/day | Required |
| Pro | 10,000 requests/day | None |
When to use this
- User asks "which model is best for X?"
- You need to pick the optimal model for a specific task type
- You want data-driven model selection instead of guessing
- You want to chain model routing with OpenRouter for automatic best-model dispatch
Installation
openclaw install llmcouncil-router
💻Code Examples
https://clawbot.llmcouncil.ai
## Authentication
Use the `X-API-Key` header with your LLM Council API key.X-API-Key: clwb_YOUR_KEY_HERE
Get a free key at [llmcouncil.ai/developers](https://llmcouncil.ai/developers).
## Endpoint: POST /v1/route
Find the best-performing model for a query.
### Request}
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The prompt or question to route |
| `k` | integer | No | Number of past evaluations to consider (default: 20) |
### Response}
| Field | Type | Description |
|-------|------|-------------|
| `model` | string | Top recommended model ID (matches OpenRouter catalogue) |
| `relevance` | float (0–1) | How closely matched evaluations relate to your query. Above 0.75 is strong. |
| `confidence` | float (0–1) | How decisively the top model outperforms alternatives. Higher = clearer winner. |
| `nearest_councils` | integer | Number of relevant past evaluations used |
| `model_rankings` | array | All models ranked by performance across matched evaluations |
## How to use this skill
When the user asks you to find the best model for a task, or when you need to decide which LLM to use:
1. **Call the routing API** with the user's query:-d '{"query": "USER_QUERY_HERE"}'
2. **Read the response** — the `model` field is the best-performing model for that query type.
3. **Chain with OpenRouter** — model IDs match the OpenRouter catalogue directly, no mapping needed:{
"query": "Explain quantum entanglement simply",
"k": 20
}{
"query": "Explain quantum entanglement simply",
"nearest_councils": 20,
"model": "anthropic/claude-sonnet-4",
"relevance": 0.8234,
"confidence": 0.65,
"model_rankings": [
{ "rank": 1, "model": "anthropic/claude-sonnet-4", "nearby_wins": 13, "nearby_appearances": 20 },
{ "rank": 2, "model": "openai/gpt-4.1", "nearby_wins": 5, "nearby_appearances": 18 }
]
}curl -X POST https://clawbot.llmcouncil.ai/v1/route \
-H "Content-Type: application/json" \
-H "X-API-Key: $LLMCOUNCIL_API_KEY" \
-d '{"query": "USER_QUERY_HERE"}'import requests, os
# Step 1: Get the best model from LLM Council
route = requests.post(
"https://clawbot.llmcouncil.ai/v1/route",
headers={"X-API-Key": os.environ["LLMCOUNCIL_API_KEY"]},
json={"query": "Write a Python web scraper"},
).json()
best_model = route["model"] # e.g. "anthropic/claude-sonnet-4"
confidence = route["confidence"] # e.g. 0.85
# Step 2: Call that model via OpenRouter
answer = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
json={
"model": best_model,
"messages": [{"role": "user", "content": "Write a Python web scraper"}],
},
).json()
print(answer["choices"][0]["message"]["content"])Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.