benjivers/jev-mcp Public Public: anyone can read this; nobody can change it.
workbenchthis machine
Files 16904894ed3e75ecfac04ccf7b61044217125dad
| 1 | --- |
| 2 | name: jev |
| 3 | description: > |
| 4 | Get typed, calibrated judgments from the connected `jev` MCP tools when the same |
| 5 | semantic decision repeats across many items — triaging files, ranking candidates, |
| 6 | checking claims against their sources, scoring a diff against each requirement — or |
| 7 | when you need a calibrated number to threshold on. Prefer an ordinary answer for a |
| 8 | single judgment in conversation. Not for judgments that ship inside the user's |
| 9 | application; those belong in SDK code, not in a tool call. |
| 10 | --- |
| 11 | |
| 12 | # Jev judgments over MCP |
| 13 | |
| 14 | Jev is a System One model. It returns a typed answer and a calibrated probability |
| 15 | distribution, never prose. The `jev` MCP server exposes it as five tools. |
| 16 | |
| 17 | This skill covers **when to call those tools and how to shape the call**. For the |
| 18 | underlying theory — primitive semantics, state design, composition patterns — use the |
| 19 | `typesafe-ai` skill or the live docs at . Do not duplicate |
| 20 | that material here. |
| 21 | |
| 22 | If the `jev_*` tools are not in your tool list, this skill does not apply. Call |
| 23 | `jev_models` to confirm the key works before assuming a failure is your own. |
| 24 | |
| 25 | ## Three-way test |
| 26 | |
| 27 | Decide which of these you are in before calling anything. |
| 28 | |
| 29 | **Answer it yourself** when the judgment happens once, in conversation, and you can |
| 30 | explain your reasoning. That is most judgments. An ordinary answer carries an argument |
| 31 | the user can push back on. Jev returns a number and a label, which is weaker in |
| 32 | dialogue. Do not reach for a tool to look rigorous. |
| 33 | |
| 34 | **Call the tool** when the same judgment repeats across many items, or when you need a |
| 35 | calibrated number to threshold on. Triaging forty files. Ranking twenty candidates. |
| 36 | Checking fifteen claims against their sources. Scoring a diff against each requirement |
| 37 | in a spec. Enumerate the candidates in code or by hand first; Jev only selects among |
| 38 | what you supply. Nothing is installed and no key is configured; the server holds it. |
| 39 | |
| 40 | **Write SDK code** when the judgment runs in the user's application, on their traffic, |
| 41 | after you are gone. Then it belongs in their repo under test, not in a transcript. |
| 42 | Follow the `typesafe-ai` skill for that. |
| 43 | |
| 44 | Do not call a tool to prototype what will become shipped code. Write the code. |
| 45 | |
| 46 | ## Pick the tool |
| 47 | |
| 48 | | The answer is | Tool | Notes | |
| 49 | | --- | --- | --- | |
| 50 | | One of a set you define | `jev_classify` | You supply `options`. Jev cannot invent one. | |
| 51 | | A degree on an ordered scale | `jev_score` | You supply `levels`, lowest first, at least two. | |
| 52 | | Yes or no | `jev_check` | Returns the probability of yes. No separate confidence. | |
| 53 | | Several questions, one subject | `jev_ask` | Mixes all three types. Up to 64 questions. | |
| 54 | |
| 55 | When several labels can be true at once, that is not one `jev_classify`. It is one |
| 56 | `jev_check` per label, batched through `jev_ask`. |
| 57 | |
| 58 | ## Prefer `jev_ask` |
| 59 | |
| 60 | Jev prefills the state once and scores every question in one forward pass. Extra |
| 61 | questions add almost no latency or cost. One batched call beats a loop by a wide |
| 62 | margin on document-heavy state. |
| 63 | |
| 64 | So ask everything you might need, including speculative branches. Questions cannot see |
| 65 | each other's answers, so state any premise explicitly in the question itself. Let your |
| 66 | own reasoning decide which answers apply afterwards. |
| 67 | |
| 68 | Give each question a stable `id`. The id is never sent to the model, so the question |
| 69 | must carry its full meaning on its own. |
| 70 | |
| 71 | ## Shape the call |
| 72 | |
| 73 | Put the evidence in `state`. A string for text, an object or array when it has parts. |
| 74 | Include what the question needs to be answerable: the diff, the requirement, the |
| 75 | relevant file, the prior decision. |
| 76 | |
| 77 | Put the judgment in `question`. State it in full. This is the only instruction Jev sees. |
| 78 | |
| 79 | Describe every option and level concretely. A level must stand on its own without |
| 80 | reading its neighbours. Weak option descriptions are the most common cause of a bad |
| 81 | answer. |
| 82 | |
| 83 | Leave `add_none` alone unless one option must always apply. The default no-match option |
| 84 | lets Jev decline rather than being forced into a wrong pick. |
| 85 | |
| 86 | ## Read the answer |
| 87 | |
| 88 | Never act on the label alone. Every response carries the full distribution. |
| 89 | |
| 90 | `jev_classify` and `jev_score` return `action`: `act`, `review`, or `abstain`. It is |
| 91 | derived from `confidence` against `act_above` and `review_above`. `jev_check` returns |
| 92 | `verdict`: `yes`, `no`, or `uncertain`. |
| 93 | |
| 94 | Treat `review` and `uncertain` as instructions to look at the evidence yourself, not as |
| 95 | a soft yes. Raise the thresholds when being wrong is expensive, and say that you did. |
| 96 | |
| 97 | Confidence measures how concentrated the distribution is. It is not a claim that the |
| 98 | answer is correct. Two good options split probability and look uncertain. |
| 99 | |
| 100 | For `jev_score`, the number is a position on the `levels` array you supplied. Read |
| 101 | `legend` to map it back. |
| 102 | |
| 103 | For `jev_classify`, check `none_option` before interpreting a no-match result. If you |
| 104 | already used the name `none`, the added option took a different key. |
| 105 | |
| 106 | ## Do not |
| 107 | |
| 108 | Do not present a Jev answer as fact. Report the answer, the confidence, and what you |
| 109 | did about it. |
| 110 | |
| 111 | Do not batch questions about unrelated subjects. One state, one subject. |
| 112 | |
| 113 | Do not use a Score for a category, or a Choice for a degree. |
| 114 | |
| 115 | Do not paste secrets, keys, or credentials into `state`. |