Index of every page on this site: llms.txt
All skills
cobusgreyling avatar

/jev-route

@77b65c6
by Cobus Greylingcobusgreyling/jev140 stars
30
Run it yourself

Route with TypeSafe Jev — map Choice plus confidence to act/confirm/human, or pick a coding-agent model tier. Use for confidence routing, model routing, cheap vs frontier, loop-jev, or when the user runs /jev-route or `npx jev route`.

Use this Skill: https://skilld.dev/gh/cobusgreyling/jev/jev-route

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈62 tokens for metadata: the name and description. ≈414 when used: this file.

Description uses 3.1% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈246 characters, or 3.1%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

Jev routing

Jev returns a distribution. Code picks the lane. Fan-out extra questions in the same call (skills/jev-fanout/SKILL.md). Primitives and auth: skills/jev/SKILL.md.

1. Confidence-gated action

Choice is what. Confidence is whether to trust it.

Defaults in jev_lab/policy.py:

Confidence Lane
≥ 0.8 act
≥ 0.5 confirm
else human

Raise the bar for irreversible actions (unlock, spend, delete). Compose Noul urgency and Score frustration after the Choice, in code (ticket_policy). Do not reuse a Noul 0.7 threshold as Choice confidence.

examples/05_confidence_routing.py

2. Model-tier routing

Choice criteria = cheapest tier that can still do the job. Labels in packages/js/src/route.ts:

Tier When
nano Typo, format, list, one-line edit
fast L1 triage, classify, changelog
balanced Focused patch, PR comment
frontier Ambiguous multi-file, CI root-cause
reasoning Verifier, security, maker/checker

If confidence < 0.55 and the pick is not nano, this repo falls back to balanced — an uncertain call must not overspend or underpower.

Ask in the same request: difficulty (Score), needs_tools / needs_long_context / needs_maker_checker (Noul). Map the Choice label to a concrete model id in code; do not ask Jev to generate the id as text.

npx jev route --goal "CI has been red for 3 days" --level L2 --json
npx jev turn --goal "Draft daily triage" --level L1 --json

packages/js/src/route.ts · packages/js/src/turn.ts (route + input guard, one call)

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

No alerts26d3 checks · Risk SAFE
  • Gen Agent Trust Hub26d

    The skill provides logic for routing tasks based on confidence scores or model tiers. It references external files and utilizes a command-line tool. A minor risk of indirect prompt injection exists where user-provided goals could influence the routing logic.

  • Socket26d

    No alerts

  • Snyk26d

    Risk: LOW · No issues

Signed by skilld at 77b65c6. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated last month

README badge

README badge for cobusgreyling/jev/jev-route