# Typesafe AI

TypeSafe integration craft for System One models (sometimes called Decision Models)...

- Repository: https://github.com/typesafe-ai/skills (2863 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-23
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add typesafe-ai/skills --skill typesafe-ai -g -a claude-code -y`
Codex: `npx skills add typesafe-ai/skills --skill typesafe-ai -g -a codex -y`
Cursor: `npx skills add typesafe-ai/skills --skill typesafe-ai -g -a cursor -y`
Gemini CLI: `npx skills add typesafe-ai/skills --skill typesafe-ai -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add typesafe-ai/skills`

## Description

TypeSafe integration craft for System One models (sometimes called Decision Models) such as Jev, which answer typed questions about text, images, and application state with calibrated probabilities. Use when building, reviewing, or debugging code that calls TypeSafe; when writing its questions or state; when replacing an LLM prompt-and-parse step, keyword matching, or a brittle heuristic with a typed question; or when brainstorming where programmable common sense fits in an app.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Build with TypeSafe

TypeSafe's **Jev**, the first public **System One model**, answers typed questions about state your
application supplies. State is the text, images, and application data your code sends with a
request. Jev can answer a Choice among options, a Noul (the probability that a statement is true), a
Score on levels you describe, or a Box that locates something in an image. Each answer comes back as
typed data with calibrated probabilities, for your code to use.

The rest of this skill is guidance: patterns that tend to produce reliable integrations. None of it
is absolute. Models change, applications differ, and edge cases exist. When a situation calls for
something else, test the alternative and use your judgment.

## Judgments from Jev, decisions in code

Integrations tend to work best when Jev makes the judgments and code decides what to do with
them. Think of each decision as a **truth table**. Jev supplies the inputs, such as "Does the
customer sound frustrated?" or "Which product is the message about?". Code holds the logic that
maps those inputs to an action.

A question that asks Jev to make the decision, such as "Should this ticket be escalated?" or "What
should the agent do next?", usually means the question is at the wrong layer. Instead, break the
decision into the judgments it depends on, and write the decision itself in code, where it's
visible and testable. Writing out the table often shows gaps in the business logic too. A
combination of judgments with no defined outcome is a design question about the system, and it is
best settled in code.

## Live docs

The live docs are the source of truth for request syntax, SDKs, question types, limits, and current
model behavior. Read the relevant pages as part of the task.

The rest: https://github.com/typesafe-ai/skills/blob/HEAD/skills/typesafe-ai/SKILL.md
