Want to access all premium content?

Become a paying subscriber to get access to all courses, guides like this, prompts and skills library, and $500+ worth of AI tools.

Jev is TypeSafe's decision model. It returns choices, scores, and probabilities rather than written responses. Use it for quick judgments you repeat often, such as deciding whether an email needs a reply today.

Good results start with a clear question. This guide uses Claude Code to help define your criteria, turn them into checks, and test them against emails you've already sorted. You'll need Claude Code, a Mac with Terminal, and a TypeSafe account.

Step 1: Install the skill. Set up your API key and TypeSafe's official skill.

Step 2: Define the question. Explain your criteria through examples from your inbox.

Step 3: Build the checks. Separate the judgments from simple code rules.

Step 4: Test your examples. Compare Jev's decisions with yours.

Step 5: Fix and retest. Check fresh examples before running the full folder.

Step 1: Install the skill

Give Jev questions that can be answered from the supplied text. Leave longer analysis and writing to Claude.

The pricing listed for this guide is $0.042 per million input tokens, with output free. New accounts receive $5 in signup credit.

Create an account and API key in TypeSafe's console. Enter the key in Terminal yourself:

echo 'export TYPESAFE_API_KEY="paste-your-key-here"' >> ~/.zshrc
source ~/.zshrc

Keep the key out of chat. These commands save it in your shell configuration so scripts can read it.

Install the skill:

claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai

Start Claude Code in a new folder and ask:

Read the TypeSafe skill and identify the environment variable it expects for the API key.

Check whether that variable is set in this shell. Answer yes or no without printing its value.

If Claude says no, check the variable name it found. A different name means you should repeat the setup with the expected name.

Step 2: Define the question

Pick a decision you make regularly. For this example, we'll use “Which emails need a reply today?”

Give Claude examples of emails you would answer, emails you would ignore, and a couple you found difficult to decide.

I want Jev to decide which emails need a reply today. The input is a folder of exported emails, and the output should be a morning shortlist.

Interview me one question at a time. Ask for three emails I would answer and three I would ignore, and why. Include borderline examples.

Then write a working definition in plain language and wait for my approval.

Read the definition before approving it. Look for specific criteria: someone waiting for your answer, a deadline, or a consequence of delaying. “Important emails” isn't enough to guide the checks.

Step 3: Build the checks

Break the definition into questions Jev can answer separately. Code can then combine the results, letting you adjust weights without repeating the model calls.

Turn our approved definition into separate Jev checks.

For each check, write a yes definition, a no definition, an example, and a borderline case.

Use code for exact checks, such as whether a sender appears in my contacts. Explain how the results produce the shortlist and how missing information is handled.

Propose a range around 50 percent for a maybe pile and show me the rules before running.

Step 4: Test your examples

Export 12 emails you've already reviewed into mail-sample.csv. Add a my_call column containing reply or ignore.

Keep that column out of Jev's input. It's the answer key for the comparison.

Run the checks on mail-sample.csv without including my_call in Jev's input.

Compare the results with my_call in a table. List every disagreement with the email subject and the check or rule that caused it.

Don't change the checks yet.

Step 5: Fix and retest

Review each disagreement. The question may be unclear, a weight may be wrong, or your original label may need another look.

After making changes, test fresh emails too. Matching the first sample doesn't tell you whether the rules work elsewhere.

Review the disagreements with me one at a time. Suggest a change to the relevant check or combination rule.

After I approve, rerun the sample. Then test mail-fresh.csv, containing eight newly labeled emails. Keep their labels out of Jev's input and report the comparison.

Don't run the full folder until I say go.

Once the fresh results satisfy you, run the folder:

Run the full folder and save morning-shortlist.csv. Sort by score and put items needing review in a separate section at the bottom.

Use cases

Use case #1: Flag awkward writing

Check drafts for specific writing habits you want to avoid.

Using the TypeSafe skill, build Jev checks for drafts.txt, with one draft per line.

Check separately for habits such as unnecessary "not X but Y" phrasing and repetitive three-part fragments.

Flag drafts where at least two checks return probabilities above 70 percent. List the checks that triggered each flag.

Test with drafts that contain those habits and drafts that don't. A flag identifies wording to review; it doesn't prove that AI wrote it.

Use case #2: Filter morning news

Narrow a headline list to stories relevant to your work.

Score headlines.csv from 0 to 4 for relevance to someone who uses AI tools daily.

Define each score with concrete examples before running. Use only the supplied information and flag headlines that need more context.

Show the top five with their scores.

Check that you would open the selected stories, and scan the excluded ones for anything you want to keep.

Use case #3: Sort lead replies

Separate clear interest from replies that need interpretation.

Create a Jev choice question for replies.csv with three options: buy now, later, and not interested.

Define each option in one sentence. Show the selected option and its probability for every reply.

Put replies with a top probability below 60 percent in a review list.

Check that vague replies reach the review list and explicit answers land in the expected category.

Use case #4: Rank your reading list

Put useful articles near the top of your saved list.

Rank reading.csv using two Jev questions: a score for usefulness to my work this week and a yes/no question for whether it suggests something I can do today.

Define the usefulness scale, normalize both results to the same range, then combine them in code with weights of 70 percent and 30 percent.

Save the individual results and print the ranking.

Change the weights and rerank the saved results. You shouldn't need another Jev call unless you change the questions or inputs.

Confirmed limitations

Jev reads text only. Extract text from screenshots, photos, and scanned PDFs before using them.

A correctly formatted answer can still be wrong. Test on your own labeled examples before relying on the results.

Yes/no probabilities near 50 percent need closer review. They don't include a separate confidence field, so choose and test your own review range.

Inputs are sent to TypeSafe's API. Start with fictional or low-risk material while testing.

Closing

Start with the email shortlist and check it against decisions you've already made. Review the disagreements before changing anything; they'll help you find criteria that need a clearer definition.

Then try one use case on material you know well. Test fresh examples before expanding to a larger folder, and keep the review list for decisions that still need you.

See you in the next one :)