← Back to Skills Marketplace
ashtiwariasu

LLM Council Router

by ashtiwariasu · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
731
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install llmcouncil-router
Description
Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council
README (SKILL.md)

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:

  1. 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"}'
  1. Read the response — the model field is the best-performing model for that query type.

  2. 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
Usage Guidance
This skill is largely consistent with its stated purpose, but ask the publisher or maintainer to clarify two things before installing: (1) confirm whether you must supply an OPENROUTER_API_KEY to use the example chaining and, if so, add that to the declared required env vars so you can evaluate the risk; (2) verify that https://clawbot.llmcouncil.ai is an official LLM Council endpoint and review their privacy/usage terms because your queries will be sent there. Don’t provide sensitive secrets or PII in prompts unless you’re comfortable with the external service’s data handling. If you plan to chain to OpenRouter, ensure the OpenRouter key has minimal scope and rotate it if shared. If you need higher assurance, request a full manifest or a code-backed skill (not just prose) showing exactly what calls are made and where.
Capability Analysis
Type: OpenClaw Skill Name: llmcouncil-router Version: 1.0.0 The skill's primary purpose is legitimate: routing LLM prompts to the best model via an external API. However, the `SKILL.md` file contains a `curl` command example that uses a `USER_QUERY_HERE` placeholder. If the OpenClaw agent directly substitutes user input into this command without proper sanitization, it creates a shell injection vulnerability, allowing arbitrary command execution. This represents a high-risk capability (shell access) without clear malicious intent from the skill author, classifying it as suspicious.
Capability Assessment
Purpose & Capability
Name/description match the instructions: the SKILL.md documents an API to pick a top model for a query and shows how to call that model. Requesting an LLMCOUNCIL_API_KEY is appropriate for this purpose.
Instruction Scope
The instructions correctly describe calling the LLM Council routing endpoint and using X-API-Key with LLMCOUNCIL_API_KEY. However the example then chains to OpenRouter and accesses os.environ['OPENROUTER_API_KEY'] (and the OpenRouter endpoint) even though OPENROUTER_API_KEY is not declared in the skill metadata; instructions therefore reference an additional credential and external service not declared in requires.env.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing is written to disk and no third-party packages are fetched during install.
Credentials
The skill declares a single required env var (LLMCOUNCIL_API_KEY), which is proportionate. But the provided usage examples also require OPENROUTER_API_KEY (and call openrouter.ai) without declaring it; that implicit credential request should be explicit so you can evaluate its necessity and scope.
Persistence & Privilege
always is false, the skill is user-invocable and does not request persistent agent privileges or modify system/other-skill configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install llmcouncil-router
  3. After installation, invoke the skill by name or use /llmcouncil-router
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release – instantly route prompts to the top LLM based on peer-reviewed council rankings. - Route any prompt to the best-performing LLM via a single API call. - Models are chosen using thousands of peer-reviewed council deliberations. - Response includes model recommendation, relevance & confidence scores, and detailed model rankings. - Fully compatible with OpenRouter model catalogue – use results directly without mapping. - Requires a free API key from llmcouncil.ai; free and pro usage tiers available.
Metadata
Slug llmcouncil-router
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is LLM Council Router?

Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council. It is an AI Agent Skill for Claude Code / OpenClaw, with 731 downloads so far.

How do I install LLM Council Router?

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

Is LLM Council Router free?

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

Which platforms does LLM Council Router support?

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

Who created LLM Council Router?

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

💬 Comments