BennyBytes.net Instagram ↗

Tools · Open source

bytesjev

Catches overengineering in a coding agent's plan before a single file is edited. One question per plan item, answered by Jev.

TypeScriptNode · MCP · TypeSafe JevMIT licenseupdated October 16, 2026by Ben Pollock
Install it
$ npx -y bytesjev setup
Or clone it
$ git clone https://github.com/bennyp11/bytesjev.git

What it does

Coding agents plan well and then quietly add things nobody asked for: a registry for one handler, a flag for one behaviour, a dependency for four lines. BytesJev sits in the gap between planning and editing.

It takes your original request, the agent's proposed plan items, and the repo conventions the agent actually observed, then asks Jev one question per item: is this needed by the request, by an existing convention, or by a concrete correctness or security need? Each item comes back with a necessity score and an advisory keep, simplify, or review.

It never edits, blocks, or deletes anything. The agent stays responsible for the plan.

user request ─┐
plan items   ─┼─▶ PlanningChecker ─▶ Jev: six yes/no judgments per item ─▶ keep / simplify / review
repo context ─┘                      (code decides; Jev judges)

Install it

One command, once, from any directory. It asks for your TypeSafe API key, registers the MCP server with Claude Code for your user, and installs the skill:

npx -y bytesjev setup

The key goes in Claude Code's own user config, not in any repository. Run /mcp in an open session to reconnect and the PlanningChecker tool is there in every repo you open. Get a key at typesafe.ai.

By hand, the equivalent is:

claude mcp add --scope user bytesjev -e TYPESAFE_API_KEY=your-key -- npx -y bytesjev
npx -y bytesjev install-skill

Watch it judge

npx bytesjev viz     # then open http://localhost:4310

A local page showing every check as it happens: the request, each plan item, Jev's six judgments drawn as probability meters with the decision threshold marked, and the recommendation the code derives from them. Claude Code in one window, this in another.

How it decides

Six yes/no judgments per item — necessary, requested, convention, safety, speculative, and droppable ("would the rest of the plan alone satisfy the request?"). That last one is what makes simplify concrete: the smaller path is the plan minus this item.

Code turns those probabilities into a recommendation with thresholds you can read and tune. keep at necessity ≥ 0.65, or when the request or a stated convention supports it at ≥ 0.7. simplify only below 0.35 and droppable and no requested, convention, or safety signal and more than one item. Everything else is review, flagged uncertain, and left to the agent.

A missing key, timeout, or rate limit returns unavailable and the agent proceeds with its plan. It fails open by design.

Why Jev

Jev returns typed answers with calibrated probabilities, several questions in one request, at about $0.04 per million input tokens. It doesn't generate text, so it can't talk the agent into or out of anything — it only answers the specific necessity questions the code asks.

mcpclaude-codeplanningtypesafejevoverengineering