jev-browser-use
Use when driving a web page in a browser — clicking, typing, navigating, logged-in or…
Use to pick the cheapest good-enough model or effort for a turn or a delegated task (lanes small to escalate), to decide continue/retry/verify/escalate/complete after each cycle, or to tune routing.
$ npx -y skills add kerpopule/hermes-jev-skills --skill jev-model-routing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/jev-model-routingContext preview
The summary Claude sees to decide when to auto-load this skill.
Use to pick the cheapest good-enough model or effort for a turn or a delegated task (lanes small to escalate), to decide continue/retry/verify/escalate/complete after each cycle, or to tune routing.
name: jev-model-routing
description: Use to pick the cheapest good-enough model or effort for a turn or a delegated task (lanes small to escalate), to decide continue/retry/verify/escalate/complete after each cycle, or to tune routing.
version: 0.2.0
license: MIT
metadata:
hermes:
tags: [jev, typesafe, model-routing, cost]Jev reads a turn and answers three questions in one ~0.4 s request: how hard is it, what kind of work is it, and would a mistake be costly. Code then walks your pool for that tier and specialty and takes the first model that fits (images, context size). You do not pick models by feel; you ask.
With the `hermes-jev` plugin enabled, each fresh user turn is routed once, before the first model call. Tool-loop follow-ups reuse that decision. Switches, per profile:
/jev status /jev routing shadow decide and log, but do not switch (start here) /jev routing on switch models /jev routing off /jev notice on show "[Jev] medium · coding → kimi-k2.7-code · confidence 0.97" on routed replies
A plugin can swap the model, not the provider connection. On OpenRouter that still means every vendor (DeepSeek, GLM, Kimi, MiniMax, Grok, Qwen, Gemini, GPT). If you run `/model` yourself, your choice wins and Jev stays out of the way.
For a Hermes `custom` provider, the plugin cannot infer the backing models.dev provider. It now keeps the current model and logs `custom provider needs an explicit provider_aliases.custom` instead of blaming an unrelated pool. If and only if that endpoint actually serves the pool's models, set `"provider_aliases": {"custom": "venice"}` (replace `venice` with the real pool prefix) in `routing.json`. Check the endpoint and every pool model before enabling routing; an alias is an operator assertion, not cross-provider discovery. This does not edit any live routing mode.
Before delegating a task or spawning a sub-agent, ask which model should get it:
jev route --prompt "<the task, in the person's words>" --current "<provider:model you are on>"
Use `model_id` from the reply. `routed: false` means stay where you are; `reason` says why. Relay `notice` if the person likes to see routing.
For work you hand to a sub-agent or worker, finish with the smallest model and lowest effort that still gets it right. Jev decides; it never writes code, patches or designs.
jev lane classify --task "<the work, in the person's words>" # first lane + model/effort
jev lane step --task "..." --lane <lane> --attempt <n> \
--run "<test cmd>" --run "<lint/typecheck cmd>" --scope "<path glob>" # after each cycle| Lane | Claude Code (subagent) | Hermes Kanban card (default map) | |---|---|---| | `small` | `jev-lane-small`: Haiku, low | `gpt-5.6-luna`, medium | | `medium` | `jev-lane-medium`: Sonnet, medium | `gpt-6-sol`, medium (today's default) | | `high` | `jev-lane-high`: Opus, medium | `gpt-6-sol`, medium | | `escalate` | `jev-lane-escalate`: Opus, high | `gpt-6-astra`, high |
`jev lane targets --host hermes` shows the map in force; `<hermes root>/jev/lanes.json` (or `~/.config/jev/lanes.json`) overrides any field. The Hermes map was calibrated on one fleet's own history (see `docs/lanes.md`); re-measure yours with `jev lane replay-build` / `replay-report`.
On Hermes, `jev lane shadow` (from cron) classifies new Kanban cards and logs what it would choose; `/jev lanes shadow|on|off` is the switch and `<hermes root>/jev/LANES_OFF` wins. `on` sets the card's model and effort before dispatch; turn it on only after `jev lane shadow-report` shows fewer tokens at the same
Give your agent a fast, cheap second brain for the small decisions. Your agent burns frontier-model tokens on things that are not thinking: which model should answer this turn, which of 377 skills to load, which retrieved passages matter, which turns survive
Repo: kerpopule/hermes-jev-skills
Use when driving a web page in a browser — clicking, typing, navigating, logged-in or…
Use when a transcript has to be cut to a fixed size and you must choose which turns go. Jev…
Use when driving a desktop GUI through a computer-use driver — windows, menus, native apps,…
Use when a task is already judged hard — pick which paid frontier seat takes it, then keep…
Use on a mailbox export to sort mail into needs reply, updates, promotional, sales and spam —…
Use on passages a search just returned (memory, vault, session history, wiki, web) before…