Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Intelligent model routing for sub-agent task delegation. Choose the optimal model based on task complexity, cost, and capability requirements. Reduces costs...
Intelligent model routing for sub-agent task delegation. Choose the optimal model based on task complexity, cost, and capability requirements. Reduces costs...
This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required. Then review README.md for any prerequisites, environment setup, or post-install checks.
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need. Then review README.md for any prerequisites, environment setup, or post-install checks.
CORE SKILL: This skill is infrastructure, not guidance. Installation = enforcement. Run bash skills/intelligent-router/install.sh to activate.
Automatically classifies any task into a tier (SIMPLE/MEDIUM/COMPLEX/REASONING/CRITICAL) and recommends the cheapest model that can handle it well. The problem it solves: Without routing, every cron job and sub-agent defaults to Sonnet (expensive). With routing, monitoring tasks use free local models, saving 80-95% on cost.
python3 skills/intelligent-router/scripts/router.py classify "task description"
python3 skills/intelligent-router/scripts/spawn_helper.py "task description" # Outputs the exact model ID and payload snippet to use
python3 skills/intelligent-router/scripts/spawn_helper.py --validate '{"kind":"agentTurn","message":"..."}'
# Cron job without model = Sonnet default = expensive waste {"kind": "agentTurn", "message": "check server..."} # β WRONG
# Always specify model from router recommendation {"kind": "agentTurn", "message": "check server...", "model": "ollama/glm-4.7-flash"}
TierUse ForPrimary ModelCostπ’ SIMPLEMonitoring, heartbeat, checks, summariesanthropic-proxy-6/glm-4.7 (alt: proxy-4)$0.50/Mπ‘ MEDIUMCode fixes, patches, research, data analysisnvidia-nim/meta/llama-3.3-70b-instruct$0.40/Mπ COMPLEXFeatures, architecture, multi-file, debuganthropic/claude-sonnet-4-6$3/Mπ΅ REASONINGProofs, formal logic, deep analysisnvidia-nim/moonshotai/kimi-k2-thinking$1/Mπ΄ CRITICALSecurity, production, high-stakesanthropic/claude-opus-4-6$5/M SIMPLE fallback chain: anthropic-proxy-4/glm-4.7 β nvidia-nim/qwen/qwen2.5-7b-instruct ($0.15/M) β οΈ ollama-gpu-server is BLOCKED for cron/spawn use. Ollama binds to 127.0.0.1 by default β unreachable over LAN from the OpenClaw host. The router_policy.py enforcer will reject any payload referencing it. Tier classification uses 4 capability signals (not cost alone): effective_params (50%) β extracted from model ID or known-model-params.json for closed-source models context_window (20%) β larger = more capable cost_input (20%) β price as quality proxy (weak signal, last resort for unknown sizes) reasoning_flag (10%) β bonus for dedicated thinking specialists (R1, QwQ, Kimi-K2)
router_policy.py catches bad model assignments before they are created, not after they fail.
python3 skills/intelligent-router/scripts/router_policy.py check \ '{"kind":"agentTurn","model":"ollama-gpu-server/glm-4.7-flash","message":"check server"}' # Output: VIOLATION: Blocked model 'ollama-gpu-server/glm-4.7-flash'. Recommended: anthropic-proxy-6/glm-4.7
python3 skills/intelligent-router/scripts/router_policy.py recommend "monitor alphastrike service" # Output: Tier: SIMPLE Model: anthropic-proxy-6/glm-4.7 python3 skills/intelligent-router/scripts/router_policy.py recommend "monitor alphastrike service" --alt # Output: Tier: SIMPLE Model: anthropic-proxy-4/glm-4.7 β alternate key for load distribution
python3 skills/intelligent-router/scripts/router_policy.py audit # Scans all crons, reports any with blocked or missing models
python3 skills/intelligent-router/scripts/router_policy.py blocklist
Model must be set β no model field = Sonnet default = expensive waste No blocked models β ollama-gpu-server/* and bare ollama/* are rejected for cron use CRITICAL tasks β warns if using a non-Opus model for classified-critical work
Run once to self-integrate into AGENTS.md: bash skills/intelligent-router/install.sh This patches AGENTS.md with the mandatory protocol so it's always in context.
# ββ Policy enforcer (run before creating any cron/spawn) ββ python3 skills/intelligent-router/scripts/router_policy.py check '{"kind":"agentTurn","model":"...","message":"..."}' python3 skills/intelligent-router/scripts/router_policy.py recommend "task description" python3 skills/intelligent-router/scripts/router_policy.py recommend "task" --alt # alternate proxy key python3 skills/intelligent-router/scripts/router_policy.py audit # scan all crons python3 skills/intelligent-router/scripts/router_policy.py blocklist # ββ Core router ββ # Classify + recommend model python3 skills/intelligent-router/scripts/router.py classify "task" # Get model id only (for scripting) python3 skills/intelligent-router/scripts/spawn_helper.py --model-only "task" # Show spawn command python3 skills/intelligent-router/scripts/spawn_helper.py "task" # Validate cron payload has model set python3 skills/intelligent-router/scripts/spawn_helper.py --validate '{"kind":"agentTurn","message":"..."}' # List all models by tier python3 skills/intelligent-router/scripts/router.py models # Detailed scoring breakdown python3 skills/intelligent-router/scripts/router.py score "task" # Config health check python3 skills/intelligent-router/scripts/router.py health # Auto-discover working models (NEW) python3 skills/intelligent-router/scripts/discover_models.py # Auto-discover + update config python3 skills/intelligent-router/scripts/discover_models.py --auto-update # Test specific tier only python3 skills/intelligent-router/scripts/discover_models.py --tier COMPLEX
15-dimension weighted scoring (not just keywords): Reasoning markers (0.18) β prove, theorem, derive Code presence (0.15) β code blocks, file extensions Multi-step patterns (0.12) β first...then, numbered lists Agentic task (0.10) β run, fix, deploy, build Technical terms (0.10) β architecture, security, protocol Token count (0.08) β complexity from length Creative markers (0.05) β story, compose, brainstorm Question complexity (0.05) β multiple who/what/how Constraint count (0.04) β must, require, exactly Imperative verbs (0.03) β analyze, evaluate, audit Output format (0.03) β json, table, markdown Simple indicators (0.02) β check, get, show (inverted) Domain specificity (0.02) β acronyms, dotted notation Reference complexity (0.02) β "mentioned above" Negation complexity (0.01) β not, never, except Confidence: 1 / (1 + exp(-8 Γ (score - 0.5)))
Models defined in config.json. Add new models there, router picks them up automatically. Local Ollama models have zero cost β always prefer them for SIMPLE tasks.
The intelligent-router can automatically discover working models from all configured providers via real live inference tests (not config-existence checks).
Provider Scanning: Reads ~/.openclaw/openclaw.json β finds all models Live Inference Test: Sends "hi" to each model, checks it actually responds (catches auth failures, quota exhaustion, 404s, timeouts) OAuth Bypass: Providers with sk-ant-oat01-* tokens (Anthropic OAuth) are skipped in raw HTTP β OpenClaw refreshes these transparently, so they're always marked available Thinking Model Support: Models that return content=None + reasoning_content (GLM-4.7, Kimi-K2, Qwen3-thinking) are correctly detected as available Auto-Classification: Tiers assigned via tier_classifier.py using 4 capability signals Config Update: Removes unavailable models, rebuilds tier primaries from working set Cron: Hourly refresh (cron id: a8992c1f) keeps model list current, alerts if availability changes by >2
# One-time discovery python3 skills/intelligent-router/scripts/discover_models.py # Auto-update config with working models only python3 skills/intelligent-router/scripts/discover_models.py --auto-update # Set up hourly refresh cron openclaw cron add --job '{ "name": "Model Discovery Refresh", "schedule": {"kind": "every", "everyMs": 3600000}, "payload": { "kind": "systemEvent", "text": "Run: bash skills/intelligent-router/scripts/auto_refresh_models.sh", "model": "ollama/glm-4.7-flash" } }'
β Self-healing: Automatically removes broken models (e.g., expired OAuth) β Zero maintenance: No manual model list updates β New models: Auto-adds newly released models β Cost optimization: Always uses cheapest working model per tier
Results saved to skills/intelligent-router/discovered-models.json: { "scan_timestamp": "2026-02-19T21:00:00", "total_models": 25, "available_models": 23, "unavailable_models": 2, "providers": { "anthropic": { "available": 2, "unavailable": 0, "models": [...] } } }
To preserve a model even if it fails discovery: { "id": "special-model", "tier": "COMPLEX", "pinned": true // Never remove during auto-update }
Current router is reactive not proactive: Fallback only fires AFTER a 429 is received No awareness of concurrent sessions on same proxy No cooldown tracking after rate-limit events Needed improvements: Track last-429 timestamp per provider β skip if within cooldown window Track active concurrent spawns per provider β if >1 active, route to OAuth Before spawning N parallel agents, check if single provider can handle N concurrent Expose router.get_best_available(n_concurrent=2) API
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.