by AbdelStark
Awesome Jev: a source-backed field guide to TypeSafe's System One model, with SDKs, live demos, agent tools, and independent evaluations.
# Add to your Claude Code skills
git clone https://github.com/AbdelStark/awesome-typesafe-jevGuides for using ai agents skills like awesome-typesafe-jev.
See how awesome-typesafe-jev compares with popular alternatives.
awesome-typesafe-jev is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by AbdelStark. Awesome Jev: a source-backed field guide to TypeSafe's System One model, with SDKs, live demos, agent tools, and independent evaluations. It has 425 GitHub stars.
awesome-typesafe-jev's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/AbdelStark/awesome-typesafe-jev" and add it to your Claude Code skills directory (see the Installation section above).
awesome-typesafe-jev is primarily written in HTML. It is open-source under AbdelStark on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh awesome-typesafe-jev against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
See comparison
The field guide to typed decisions.
Explore the docs, live builds, and independent tests behind Jev. It turns context into a probability, choice, or score; your code decides what happens next.
One call, three typed answers. In TypeSafe's documented support-ticket example, Jev chooses the technical team (0.85 probability), scores frustration at level 1 on a 0–2 rubric, and gives urgency a 1.0 Noul probability. The example response is from
jev-1.13.0; application code still decides when to route or escalate.
| I want to… | Go here |
|---|---|
| Understand the idea in 2 minutes | See where Jev fits, try the policy threshold, then read the introduction and the three primitives |
| Make my first typed call | Copy the runnable example, shape your own question, then explore the official SDKs |
| See it work live | Play Jev Chess, try Typewriter's 16 judgments or Jevtown's simulated audience; browse more applications |
| Test the claims | Read what independent tests found, inspect JevBench's cross-model results, then browse independent evaluations and TypeSafe's own evals |
Download the JSON directory · Use with a coding agent · Suggest a resource · Join the builder community
Independent community project. This repository is not affiliated with or endorsed by TypeSafe AI. Community entries are labeled by section; inclusion is not a claim that TypeSafe has reviewed or approved them.
Last updated: 2026-09-21. Links and project descriptions change; please report a stale entry.
In a support workflow, separate the work before choosing a model. This is a practical design rule based on the TypeSafe introduction linked above, not a performance claim:
| What the step needs | Use | Example |
|---|---|---|
| Apply an explicit rule to known fields | Code | Check an account flag or enforce a routing threshold. |
| Judge messy context with a bounded answer | Jev | Choose billing, technical, or other for a ticket, with probabilities. |
| Produce prose or work through an open-ended task | Text LLM | Draft the reply after the route is chosen. |
Code still validates the answer and owns the action. Measure Jev's error and abstention rates on your own cases before automating a consequential step.
One state can answer several focused questions in the same request. Pick the answer shape your code can use directly:
| Question shape | Use it for | What comes back |
|---|---|---|
| Noul | A clear yes/no claim, such as “Does this message request a refund?” | A number from 0 to 1: the probability of yes. |
| Choice | Selecting from named options, such as billing, technical, or sales. | The selected option, a probability for every option, and confidence. |
| Score | An ordered rubric, such as calm, concerned, or angry. | A position on your rubric, probabilities over its levels, and confidence. |
Ask independent questions together. Set thresholds, fallback behavior, and side effects in application code.
Install the official JavaScript SDK with npm install @typesafe-ai/sdk (Node.js 20+), set TYPESAFE_API_KEY in your environment, save this as first-decision.mjs, then run node first-decision.mjs:
import { choice, noul, TypeSafeClient } from '@typesafe-ai/sdk';
const { answers } = await new TypeSafeClient().systemOne({
state: { ticket: 'I was charged twice. Please refund the extra payment.' },
questions: {
team: choice('Which team should handle this ticket?', {
billing: 'Payments and refunds',
technical: 'Bugs and integrations',
other: 'None of the above',
}),
refund: noul('Does the customer explicitly request a refund?'),
},
});
const team = answers.team.choice;
const probability = answers.team.probabilities[team];
const action = team !== 'other' && probability >= 0.9
? `route to ${team}` : 'send to review';
console.log({ team, probability, refundProbability: answers.refund.noul, action });
Jev returns the typed answers; the 0.9 routing rule is ordinary application code. It is an illustrative threshold, not a measured or recommended operating point. The ticket text is sent to TypeSafe's API; use a synthetic ticket for this first call.
Start with one state and a question whose answer your code can use. This synthetic support report can be asked as a Choice, Noul, or Score. On the live site, edit the fields and copy a JavaScript SDK call. The designer runs in your browser without making a model request; running the copied code later sends the state to TypeSafe.
| Design input | Synthetic example |
|---|---|
| State text | The PDF upload fails with a 500 error. I need it before today's deadline. |
| Choice question | Which team should handle this report? |
| Choice options | technical=Failures and integrations; support=Account and usage help; other=Neither team |
| Noul question | Does the message explicitly mention a deadline? |
| Score question | How much does the reported issue block the user's work? |
| Score levels | Cosmetic; Workaround available; Blocks the task |
Keep the state short, describe the options so they do not overlap, and include a no-match option when the task allows it. Choose thresholds and actions only after measuring your own labelled cases.
The documented support-ticket example above selects technical with probability 0.85. In this illustrative policy, a ticket routes automatically only