model-router
This skill provides a compact, runnable router that inspects an OpenClaw-style configuration (or a simple models JSON) and selects an appropriate model for an incoming request based on:
declared model capabilities and an optional cost score
task complexity (heuristic: short/simple vs long/complex)
explicit overrides (user or caller hints)
Design principles
Keep decision logic small and deterministic.
Default to the cheapest model for general, not-complex tasks.
Escalate to stronger models when the task appears complex or asks for high-fidelity results.
Make model metadata explicit (capabilities, cost_score, tags) so the router is transparent and auditable.
What this skill includes
scripts/router.py — a small CLI and library to pick a model given a task description and a models configuration file.
examples/models.json — example model configurations (name, provider, cost_score, capabilities).
When to use
Trigger when you need to programmatically choose which LLM to call for a user request.
Use for batching or middleware routing in server apps.
Usage (quick)
Prepare a models file (JSON) with model entries. See examples/models.json.
Call: python3 scripts/router.py --models examples/models.json --task "Summarize this email" --mode auto
The script prints the chosen model and the reasoning.
Files
scripts/router.py — router CLI/library
examples/models.json — sample model list