Install any skill in seconds. Free to start, no credit card required.
Get Started Free →angel291592/intent-router
Converges an underspecified request into a typed IntentSpec before planning or acting.
Passed 17 of 21 test cases with the skill, and 3 of 21 without it.
and 23 more in the full report
15 fixed2 passed either way3 still failing1 broke4 errored
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.8-flash on 10/20/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
Fix the typo 'recieved' to 'received' in the comment on line 42 of src/utils/format.ts.
| Checked | Without skill | With skill |
|---|---|---|
| Fixes the comment typo directly without triggering an intent routing spec compilation. | Missed | Passed |
The instructions your model reads when the skill loads.
A compiler does not guess the address of an undefined symbol. Do not guess the user's intent.
This runs one layer before planning, routing or coding. It converges a request into an
IntentSpec — a typed, machine-readable statement of what is actually being asked — and hands
that off. It does not implement anything itself.
Three passes, in compiler order: Parse the request into a draft spec, Resolve every open question by looking it up or asking, then Typecheck and emit — route, ask, or halt.
Start when both hold:
Do not start when: the request asks you to explain existing state ("what does X do", "why is Y slow") rather than to find something out and produce a deliverable; the silence check below passes and its premise check finds no contradiction — every decision-bearing item is already stated, so there is nothing to converge; or the request is trivially scoped and reversible (fix a typo).
Look for a saved contract first. Before probing, look for earlier work on this same request:
<workspace>/.intent/<intent>.intent.yaml, stem = the intent slug, matching on
request/objects. Its verification_status decides:
asked — its source: asked constraints are settled decisions: carry them in and never ask
those questions again; only answers received now count in resolution.asked.routed — premise-check it (below), carry it out, then verify it. verified — carried out
already: do not reopen unless the user asks for a redo, which marks the old file superseded
and starts a new intent. superseded, or absent on an older file — ignore it, or use it only
to know what was asked and done.Inherit by source, never wholesale: the file is not a probe surface (section 2). asked carries
over; probed is re-checked at its evidence pointer and drops to unknown (kind: probe) when it
no longer holds; inferred is never inherited — decide it again, and if it is still an inference
test cases passed, vs 3 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.