Skip to main content
Glama

Route Task Model Tier

jev_route_task
Read-onlyIdempotent

Routes a programming task to the minimal sufficient model tier—deterministic, lightweight, or heavy reasoning—before work starts to reduce latency and token spend.

Instructions

Routes a programming task to the minimal sufficient model tier (deterministic script, lightweight flash model, or heavy frontier reasoning model) to minimize latency and token expenditure.

Use when: Starting a new task, refactoring step, or bug fix to choose between lightweight models and expensive reasoning frontier models. Do NOT use when: Diagnosing test execution tracebacks (use jev_triage_test_failure instead).

Returns: JSON object with 'selected_tier' (string: deterministic, lightweight, heavy), 'complexity_score' (number: 1.0 to 5.0), 'recommended_model' (string), and 'rationale' (string).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_descriptionYesClear description of the task, bug to fix, or feature to implement.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description goes beyond that by disclosing the full return payload (selected_tier, complexity_score, recommended_model, rationale) even though no output schema exists, which is genuinely useful behavioral context. It does not discuss costs, limits, or failure modes of routing, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then clearly delimited When / Do NOT use when / Returns blocks that are easy to scan. It is slightly longer than strictly necessary and the Returns enumeration is verbose, but every section carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only routing tool with no output schema, the description supplies the purpose, the selection criteria, the exclusion with a named alternative, and the full response shape. An agent has everything required to decide when to call it and how to interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100%, so the schema already carries the parameter meaning; baseline 3 applies. The description implies the input is a task/bug/feature statement but adds no format, length, or content guidance beyond the schema's own wording.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (routes) plus resource (programming task) and the decision space (deterministic script, lightweight flash model, heavy frontier reasoning model), with an explicit goal (minimize latency and token expenditure). An agent can distinguish this from siblings like jev_modulate_reasoning_effort or jev_triage_test_failure without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use triggers (starting a new task, refactoring step, bug fix) and an explicit do-NOT-use case with a named alternative: 'Diagnosing test execution tracebacks (use jev_triage_test_failure instead)'. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.