Skip to content

Jev Skill Router

Claude Code hook that asks Jev which installed skill fits each prompt and logs the answer, plus the script that joins that log to session transcripts and the negative result the author got from a week of running it.

Stars
14
Language
Python
License
MIT
Published by
Community
Author
shimo4228
Last verified
Oct 2026

About this project

What happens when you add Jev to Claude Code as a skill router: the code, the log, and the week that ended with removing it.

Quoted from the project's README. Read the full README.

Highlights

  • Two requests per prompt: a wide choice over every skill's name and full description, then a choice plus one noul per candidate over the top three.
  • A three-question noul gate, averaged; under 0.30 the hook returns without spending the second request.
  • Log rows carry the model, router version and a hash of the question wording and thresholds, so rows written after a change do not pool with older ones.
  • shadow_join.py joins the decision log to Claude Code transcripts and draws a reproducible sample of unused suggestions to read by hand.

Watch out

The author's own week of shadow-mode use saw 28 of 539 suggestions followed by a call of the suggested skill, and the log mixes Jev's pick with how the agent chose its next step, so it cannot isolate the router's effect. The per-candidate fit question is not in the question hash yet. Shadow mode hands the judgment to a detached child process and every failure exits 0, so a broken API call shows up as a missing line rather than an error, and the client never retries because a hook in front of a prompt has a few seconds. Needs a paid TypeSafe key, and skills marked disable-model-invocation are left out of the roster. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

14GitHub stars
Tiered agent memory keeping compact summaries with source links over searchable raw history, where a router decides per query whether notes suffice or raw pages must be recovered.
Jev Agents & MCP#community#jevbest#catalog-import
37GitHub stars
Python SDK that runs the same prompt, tools, and MCP setup across DeepAgents, Pydantic AI, Claude Agent SDK, Codex, and OpenCode by switching harness.
Jev Agents & MCP#community#jevbest#catalog-import
14GitHub stars
Opt-in Hermes plugin that routes each turn to one skill: a wide Jev Choice plus request checks gate a narrow fits round, injecting a single ignorable hint line.
Jev Agents & MCP#community#jevbest#catalog-import
4GitHub stars
Proof-of-concept dispatcher that discovers an MCP server's tools at runtime with list_tools() and routes plain-language commands using only Jev Choice and Noul, with no general-purpose LLM calls.
Jev Agents & MCP#community#jevbest#catalog-import
LangChain deepagents middleware that replaces SkillsMiddleware with per-turn judging, loading only the SKILL.md files a turn needs so large catalogs stay out of the prompt.
Jev Agents & MCP#community#jevbest#catalog-import
4GitHub stars
A LangChain agent where Jev routes intent as a typed choice over four fixed criteria, with confidence below 0.6 falling back to local keyword rules, and each route carrying exactly one tool and one prompt.
Jev Agents & MCP#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai