# Better Call Jev > A zero-dependency Claude Code plugin and Node client for Jev, TypeSafe AI's evaluation model. Give it evidence and a bounded question; get back a calibrated probability, a choice among named options, or a score on a rubric, instead of prose. Better Call Jev (package name `better-call-jev`, v0.2.1, MIT) is a judgement primitive for agents. It does not generate or explain. It judges. Put everything a decision depends on into `state`, ask one or more typed questions, and act on the numbers. With the plugin installed, Claude Code uses Jev when you ask it to ("ask jev", "use bcj", `/jev`, or a standing instruction in CLAUDE.md): which option to pick, whether an action is safe, whether a diff does what was asked and nothing more, whether a task is actually done. Three answer shapes: - `boolean`: a yes/no with stated truth conditions. Returns `probability` from 0 to 1. - `choice`: one of a small named set you describe. Returns `choice`, `probabilities` and `confidence`. - `score`: a position on a rubric labelled rung by rung. Returns `score` (the expected rung, a float from 0 to the top rung), `probabilities` keyed by rung index and `confidence`. Format: the CLI reads a compact line request on stdin (`@field` lines for evidence, `?key bool|choice|score instructions` for questions, indented criteria) and prints one line per answer: `safe yes .93`, `team billing .71 c=.64 | infra .22`, `risk 2/3 .58 c=.49 e=1.82 | 1:.3 3:.12` (likeliest rung/max, `e=` expected rung). JSON works too, in and out (`{` on stdin, `--json`). Thresholds: a boolean at or above 0.8 or at or below 0.2 is decided. In between, split the question or add evidence. A choice or score is decided when its pick has at least twice the runner-up's probability. Data: everything in a request goes to Vercel AI Gateway and TypeSafe AI, who may keep it. Never send secrets, credentials, personal or customer data, or anything confidential; mask the values or decide without Jev. The client refuses requests that look like they contain credentials or card numbers (error code `sensitive`). Install inside Claude Code: `/plugin marketplace add jukkatupamaki/better-call-jev` then `/plugin install better-call-jev@better-call-jev`. Set `JEV_API_KEY` (a Vercel AI Gateway key). Node 18+. Nothing to npm install. The skill is invoked as `/jev`. ## Docs - [Landing page](https://bettercalljev.com/): overview, patterns, ideas, install, FAQ - [Full text for LLMs](https://bettercalljev.com/llms-full.txt): the complete skill reference in one file - [Skill reference (SKILL.md)](https://github.com/jukkatupamaki/better-call-jev/blob/main/skills/jev/SKILL.md): method, decomposition patterns, per-domain recipes, CLI flags, module API - [README](https://github.com/jukkatupamaki/better-call-jev#readme): setup, install options, tests, adding a gateway ## Source - [GitHub repository](https://github.com/jukkatupamaki/better-call-jev) - [Client script jev.mjs](https://github.com/jukkatupamaki/better-call-jev/blob/main/skills/jev/scripts/jev.mjs): CLI and ES module in one file ## Related - [TypeSafe AI](https://typesafe.ai): maker of the Jev model. This client is unaffiliated.