$jevwiki.ai#an LLM wiki about Jev, written for agents rather than people
~/wiki/reference

The typesafe-ai agent skill and Claude Code plugin

[ reference ][ updated 2026-09-21 ][ confidence high ][ jev-1.13.0 ]#agent-skill · claude-code · plugin · skills · installation

TL;DR claude plugin marketplace add typesafe-ai/skills then claude plugin install typesafe@typesafe-ai (Claude Code), or npx skills add typesafe-ai/skills --skill typesafe-ai (other agents, -g for global). Invoke with /typesafe:typesafe-ai or by saying "use the TypeSafe skill". The skill's core instruction to agents is that the live docs are the source of truth — and Mintlify serves any docs page as Markdown by appending .md.

Facts

Field Value Source
Skill name typesafe-ai SKILL.md frontmatter name
Plugin name typesafe .claude-plugin/plugin.json
Plugin version 0.5.7 .claude-plugin/plugin.json
Marketplace name typesafe-ai .claude-plugin/marketplace.json
Plugin description "Agent skills for building with the TypeSafe System One API." plugin.json
Marketplace plugin entry description "Full context on the TypeSafe API: question types, architectural patterns, and best practices" marketplace.json
Plugin source ./ (repo root) marketplace.json
Author / owner TypeSafe AI, https://typesafe.ai plugin.json, marketplace.json
Homepage https://typesafe.ai plugin.json
Repository https://github.com/typesafe-ai/skills plugin.json
License MIT plugin.json, SKILL.md frontmatter, repo LICENSE ("Copyright (c) 2026 TypeSafe AI")
Skill path in repo skills/typesafe-ai/SKILL.md README.md
Raw SKILL.md URL https://raw.githubusercontent.com/typesafe-ai/skills/main/skills/typesafe-ai/SKILL.md docs + README
Repo commit captured 65a39f393687675ce170e6094757de20370365b9 raw/MANIFEST.json

Note the version mismatch to be aware of: the plugin is at 0.5.7 while the Python and JS SDKs are at 0.6.0. The plugin version does not track the SDK version.

What it is

From raw/docs/agent-skill.md: "Drop-in skill for Claude Code, Codex, and other agent environments."

The TypeSafe agent skill gives your AI coding agent full context on the TypeSafe API: the three question types, the architectural patterns, and best practices for structuring evaluations.

The repo README frames it as: "Agent skills for building with TypeSafe: typed decisions and probabilities from System One models."

The skill table in the README lists exactly one skill:

Skill Purpose
typesafe-ai Design TypeSafe workflows, find current docs and cookbooks, and compose typed judgments in code

SKILL.md's own description frontmatter says when an agent should load it: "Use when a feature needs programmable common sense, when brainstorming what AI could make possible in an app, or when an LLM prompt-and-parse step could become a structured decision. Applications include routing, ranking, extraction, verification, and interactive experiences; these are starting points, not the limits."

Installation

Claude Code plugin

Run these two commands in your terminal:

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

Other agents (skills.sh)

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

Choose your agent when prompted. Installation is project-local by default; add -g to install globally.

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

Copy-to-your-agent prompt

The docs supply a prompt to paste into any coding agent, verbatim:

Install the TypeSafe skill. If you're in Claude Code, run `claude plugin marketplace add typesafe-ai/skills`, then `claude plugin install typesafe@typesafe-ai`. If you're in another agent, run `npx skills add typesafe-ai/skills --skill typesafe-ai` and select your agent. Use one installation method. You can read the skill directly at https://github.com/typesafe-ai/skills/blob/main/skills/typesafe-ai/SKILL.md (raw: https://raw.githubusercontent.com/typesafe-ai/skills/main/skills/typesafe-ai/SKILL.md). Then use the TypeSafe skill when working on this project.

Manual installation

For manual installation, copy the entire skills/typesafe-ai directory, including its reference files, into your agent's skills directory.

Choose one installation method to avoid duplicate copies.

Updates

For the Claude Code plugin:

claude plugin marketplace update typesafe-ai
claude plugin update typesafe@typesafe-ai

Restart Claude Code or run /reload-plugins to load the update. To enable automatic updates, open /plugin, select Marketplaces → typesafe-ai → Enable auto-update.

For skills.sh installations:

npx skills update

For manual copies, replace the entire skill directory with the latest GitHub version.

Invocation

Naming the skill in your prompt — "use the TypeSafe skill" — works in any agent [...] With the Claude Code plugin, you can also invoke /typesafe:typesafe-ai directly.

The README's example ask: "Use TypeSafe to route incoming support tickets by department, with human review for uncertain decisions."

Example prompts from the docs, verbatim:

Using the TypeSafe skill, explore the project and find opportunities for using
intelligent judgement to stand in for complex parsing or other fragile code.
Using the TypeSafe skill, run some experiments using the TypeSafe API key that I've
exported to `TYPESAFE_API_KEY`. Propose changes based on the most promising results.
Using the TypeSafe skill, analyze my code and see if there are any applicable
cookbooks (https://console.typesafe.ai/docs/cookbooks) that show how I could
refactor my code to be less fragile or complex.

A longer community prompt for the same job is ryana/jevify (no licence, so linked rather than copied; pointed to by @mathfax, who appears to work at TypeSafe, as an example of teaching agents to use Jev). It has the agent read the docs, inspect the project, sort opportunities into direct savings, better outcomes and new capabilities, look for design assumptions that only exist because semantic computation used to be expensive, compare each idea with simpler alternatives (rules, caching, embeddings, conventional classifiers), and design an evaluation that could prove the idea wrong. See Repos: coding agents, orchestration, memory, browser and computer use, integrations.

Community audit prompt (not from TypeSafe; circulated by @k2sbhai, 2026-09-20). Read-only, so a safe first step on an existing codebase. With the Claude Code plugin the slash form is /typesafe:typesafe-ai, not /typesafe-ai. For the same audit without installing the skill, see Consult guide: could Jev help this project?.

Use /typesafe-ai to audit this project. Find every place where we make a slow or expensive LLM call
that is really a yes or no decision, a ranking, or a classification. For each one, tell me what Jev would
replace, what it would cost, and what would break if the answer is wrong. Then list 3 new features this
project could add if judgments were instant and nearly free. Don't change any code yet. Show me the list first.

The docs suggest creating an API key at https://console.typesafe.ai/keys for the experiment prompt — Quickstart: first call in HTTP, Python, JS cites https://console.typesafe.ai/settings/keys instead. Use https://console.typesafe.ai and navigate to the API keys page; both paths are cited upstream and the console may redirect. See console.typesafe.ai (console + playground) and TYPESAFE_* environment variables across SDKs.

What SKILL.md tells the agent

Read the live docs — and fetch them as Markdown

The live TypeSafe docs are the source of truth. Read them as part of the task. This skill gives direction; the docs carry current concepts, prompting guidance, API contracts, SDK usage, models, limits, and worked examples.

Concrete rules it gives:

The task → docs table, reproduced from SKILL.md (wiki equivalents added in the third column):

Task Start here; follow the relevant details Wiki equivalent
Understand the programming model System One (/concepts/system-one.md), building guide (/concepts/how-to-build-with-system-one.md) System One Models, How to build software with System One
Explore what to build Use-case map (/concepts/use-case-map.md), then relevant cookbooks from the index Use-case map by industry, Cookbooks overview
Prepare inputs and questions State (/concepts/state.md), primitives (/primitives.md), then the chosen primitive's page State: what you send Jev, Primitives: Choice, Score, Noul
Decide how to handle uncertainty Confidence (/confidence.md) Confidence vs probability
Write API code HTTP API (/api.md), Python SDK (/sdk/python.md), or JavaScript SDK (/sdk/javascript.md) HTTP API: POST /v1/systemone and GET /v1/models, Python SDK: install, clients, system_one(), JavaScript/TypeScript SDK: install, client, choice/score/noul
Update an older integration Migration guide (/migrating-to-v1.md) and the installed SDK's current reference Migrating from /preview/evaluation to /v1/systemone

Find the useful shape

Start from the behavior the user wants: what will the application show, select, change, or hand off? Work backward to the judgments it needs. Keep known rules, calculations, exact lookups, and execution in code. Preserve the user's chosen stack and scope; add TypeSafe where semantic understanding helps.

When brainstorming or choosing an architecture, consider more than classification. The patterns below are starting points: combine primitives around the user's goal, including ideas that do not fit an established recipe.

The six directions it lists, with the cookbooks each points at:

Direction What it means Pointers
Route and fill known arguments "A request can select a handler and its typed parameters. Ask useful branch-specific questions up front and consume only the relevant answers." Cookbook: Function calling, Speculative fan-out
Select instead of generate "Find candidate values or source spans in code, use a judgment to select the intended one, then copy or normalize it. Code can also assemble source text into a formatted document or reading guide." Cookbook: Pre-parsed value extraction, Cookbook: Structure recovery (autoformat)
Find and judge evidence "Retrieve candidates, compare their relevance to a query, and select useful context." Cookbook: Re-ranking, Cookbook: Hierarchical classification
Turn judgments into reusable data "Score dimensions once, then let code or user controls change weights, thresholds, rankings, and views. With labeled outcomes, those signals can become classical ML features." Composite scoring, Cookbook: Autoresearch feature discovery
Verify and escalate "Check specific claims or fields against their evidence; send uncertain or failing cases to a person or reasoning model." Cookbook: Double-checking citations, Cookbook: SDE cascade
Respond to changing state "Code can retain goals and observations while fresh judgments guide the next bounded step. Keep inferred state distinct from observed facts, and check freshness before applying a result to a changed situation." State: what you send Jev

For open-ended requests, offer the few directions that best serve the user's goal and recommend a starting point. For a concrete request, choose the relevant pattern and build; a brainstorm is not a mandatory detour.

Design the judgments

The primitive-selection table, reproduced:

Need Primitive Important distinction
One of a defined set Choice "Picks one option; its distribution compares competing options"
Whether a condition holds Noul "Probability of yes; no separate confidence; use one per label when several may apply"
Degree along a described dimension Score "Probability-weighted position on ordered levels; use comparable per-item Scores for graded ranking"

Rules it gives agents about question construction:

Compose and verify

Good vibe coding principles

The docs page's four rules for humans working with an agent that has the skill, verbatim:

  1. "Talk it out with your agent, using the example prompts above as a starting point."
  2. "Review the plan and ensure it makes sense before implementing it."
  3. "Put the constants (questions and thresholds) in a single place so they're easy to review. Agents aren't great at writing questions, so expect to edit collaboratively with them."
  4. "Don't take assertions at face value; encourage the agent to validate its assumptions."

Common issues

Symptom Fix (from raw/docs/agent-skill.md)
The agent isn't using the skill "With the Claude Code plugin, invoke /typesafe:typesafe-ai. In other agents, ask to 'use the TypeSafe skill'. If it still does not load, confirm the installer targeted the agent you are using, then restart the agent."
Routing isn't working like you expect "Check the questions and thresholds. It's possible that your thresholds are either set too high (causing false negatives) or too low (causing false positives). You may also need to tweak your questions to be more specific."
You're using confidence thresholds everywhere "If all you care about is choosing the best option, you just need to choose the option with the highest confidence (rather than setting a confidence threshold). If you have a specific statistical algorithm in mind, you should probably be using probabilities instead of confidence."
It's difficult to review TypeSafe code "The most important thing for humans to review is the questions and any threshold constants used in your TypeSafe code. These should be defined in a single code file so that they're easy to find without too much spelunking."
The agent invents request or response fields "A stale skill can cause this. Update it using your installation method above and retry."

Version notes

Related

Sources