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.