Agent

Jev sits beside the agent.

It is not a drop-in model for Cursor, Claude Code, or any chat agent. Those tools need a model that writes. Jev is the fast judgment you call when the next step is a branch.

The agent keeps its planner, its tools, and its main model. Jev answers a typed question and stops. It does not execute the tool, browse, or explain itself in a paragraph.

Where it earns the call

A personal key

Create the key in the TypeSafe console. Put it in a local secret or TYPESAFE_API_KEY. For the MCP server on this site, the same value is sent as JEV_API_KEY — we forward it and do not store it.

export TYPESAFE_API_KEY="your-typesafe-key"
export JEV_API_KEY="$TYPESAFE_API_KEY"

Skills

Skills tell the agent when to call, which fields to send, and what to do with the probability. They do not grant extra permission. Install the pack from the skills page.

Official agent skill

TypeSafe also ships a skill for writing correct systemone code:

npx skills add typesafe-ai/skills --skill typesafe-ai

Use that when the agent is generating an integration. Use the jevai.ai skills when the agent should call a preset tool at runtime.

A policy, not a vibe

The agent should not “see how it feels” about a tool call. Put the cuts in one place and make the skill point at them.

action = answers["action"]
risk = answers["risk"].score

if action.choice == "deny" or action.choice == "review":
    stop()
elif action.choice == "confirm" or risk >= 2:
    ask_user()
elif action.confidence < 0.6:
    ask_user()
else:
    run_tool()

Those numbers are a starting sketch for a refund, not a default for every tool. A read-only lookup can allow at a lower confidence. A payment cannot.

What goes wrong if you skip the gate

Two skills, two moments

The official TypeSafe skill is for the human (or the coding agent) who is writing the integration: question shapes, fan-out, confidence. The jevai.ai skills are for the running agent: which tool, which fields, what to do with a low probability. Installing both does not duplicate a model. One teaches the API. The other teaches the moment to call it.

Do not put the API key inside a skill file, a repo, or a prompt. The MCP client reads it from the environment. A skill that contains a key is a leaked key.