Skip to content

llm-typesafe

Simon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.

Pluginproduction

Overview

llm-typesafe is a plugin for Simon Willison's LLM command-line tool that adds TypeSafe's classification and scoring models, registering typesafe/jev-latest with the alias jev. You pipe or pass text as the prompt and give the question as the system prompt, and get back JSON.

By default the answer type is noul, a yes/no probability; optional criteria can define what true and false mean. With answer_type choice you supply at least two named categories with descriptions (or null) and get the chosen category, confidence and probabilities. With answer_type score you supply 2 to 10 ordered descriptions, lowest to highest, and get a possibly fractional score, legend, probabilities and confidence; the README notes that scores measure degree on the rubric, not probability. Structured JSON input is supported with an explicit input_format option, and text is never auto-interpreted as JSON. It installs with llm install and uses llm's key management. It is a convenient way to try Jev from the shell or in scripts.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this message explicitly request a refund?—
ChoiceWhich team should handle this message?billing · technical · other
ScoreHow reproducible is the problem described in this report?No reproduction instructions · Some instructions, but important steps are missing · Complete steps with expected and actual results

How it works

  1. llm install llm-typesafe and set a key
  2. Run llm -m jev with text and a system-prompt question
  3. Choose answer_type and criteria as options
  4. Receive JSON with probabilities

Strengths

  • Fits existing LLM CLI workflows
  • Clear option syntax for all three types
  • Explicit JSON input handling

Caveats

  • One question per call via the CLI
  • Requires a TypeSafe key
  • CLI-oriented rather than a library

Getting started

llm install llm-typesafe && llm keys set typesafe, then llm -m jev 'text' -s 'question'.

At a glance

Type
Plugin
Status
production
Language
Python
Runtime
LLM CLI plugin
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What is the default answer type?

noul, a probability of yes.

How do I ask a multiple-choice question?

Use -o answer_type choice with -o criteria listing the categories.

Is a score a probability?

No, it measures position on your rubric.

Related projects

  • Go integration bringing TypeSafe Choice, Score and Noul to Google's adk-go agents, with a typed client, routing agent and callbacks.

    ProjectbetaGo
  • Ruby gem for probabilistic conditionals like Feelings(msg).like?("urgent"), answered by Jev or other decision models.

    ProjectbetaRuby
  • Rust CLI and library that asks Jev typed questions via OpenRouter and combines the probabilities with fuzzy-logic rules into decisions.

    CLIbetaRust
  • Elixir DSL (Gut.feel) that picks an Elixir value for a subject and question, with a Jev evaluation adapter among LLM options.

    ProjectbetaElixir
  • Independent OpenClaw plugin exposing one explicitly invoked typesafe_decide tool that sends supplied state and typed questions to Jev.

    HookbetaTypeScript
  • Minimal Pi extension and TypeScript client registering a jev_evaluate tool for noul, choice and score across five Jev platforms.

    ProjectbetaTypeScript