shimo4228/jev-skill-router

18 stars · Last commit 2026-10-10

Reference implementation for Jev builders: a Claude Code hook that asks TypeSafe's Jev which installed skill fits each prompt and logs the answer. Run for a week and then removed; the README keeps the parts that carry over and the measurement.

README preview

**English** | [日本語](README.ja.md)

# jev-skill-router

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.

[![tests](https://github.com/shimo4228/jev-skill-router/actions/workflows/tests.yml/badge.svg)](https://github.com/shimo4228/jev-skill-router/actions/workflows/tests.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![status: experiment concluded](https://img.shields.io/badge/status-experiment%20concluded-lightgrey.svg)](#what-the-week-showed)

<p align="center">
  <img src="assets/overview.svg" width="760" alt="How it works: Jev guesses which skill fits your prompt (for example adr-writer at 93%); shadow mode only logs the guess, inject mode also hints Claude; Claude still sees every skill and makes the final pick.">
</p>

jev-skill-router is a reference implementation for people building with [TypeSafe](https://typesafe.ai)'s Jev, a model that writes no text and answers typed questions with probabilities. It is a Claude Code hook: on every prompt it asks Jev which installed skill fits and logs the answer. In shadow mode, the default, that is all it does; in inject mode it also gives Claude a one-line hint. Either way, Claude still sees every skill and makes the final pick. A bundled script checks that log against what Claude Code did next. It is Python 3.10+, standard library only, MIT licensed, version 0.2.0, and needs a paid TypeSafe API key.

I ran it for a week and removed it from my own setup. Of 539 suggestions, 28 were followed by a call of the suggested skill. Inside an agent that picks its own next step, I could not tell what the router changed. What I built on that lesson is [jev-research-pipeline](https://github.com/shimo4228/jev-research-pipeline), where code owns the loop and Jev only judges ([below](#the-counterpart-jev-research-pipeline)). This README keeps the parts that carry over to other Jev builds, and why the whole did not pay off here. The full account and my other Jev experiments are under [More from the author](#more-from-the-author).

## What the week showed

View full repository on GitHub →