Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Coding
Jev Skill
Try itBuild typed Jev and local-model decision harnesses
What it does
Jev turns application state and typed questions into structured answers that code can consume. It is a decision layer, not a replacement for a chat model: keep policy, thresholds, routing, calculations, and side effects in code.
The skill document
Jev Skill
Jev turns application state and typed questions into structured answers that code can consume. It is a decision layer, not a replacement for a chat model: keep policy, thresholds, routing, calculations, and side effects in code.
Start with the live docs
The documentation index is the source of truth and may change:
Read the targeted primitive, pattern, SDK, or cookbook page before writing a version-sensitive integration. Use research-notes.md for the current design map and links to the most relevant pages.
Core workflow
- Define the action the application must take. Work backward to the smallest semantic judgments needed for that action.
- Put the evidence in
state. Prefer a named JSON object when the judgment depends on multiple fields or relationships; keep content and supporting facts in state rather than hiding them in question wording. - Choose the question type by meaning:
noul: whether a condition holds; returns the probability of yes.choice: one option from a defined set; include a no-match option when nothing should fit.score: an ordered, bounded scale whose levels describe concrete cases.
- Write one narrow judgment per question. Give instructions and criteria enough context to stand alone. IDs are local response keys and are not sent to the model.
- Ask independent questions over the same state together. If a later question depends on an earlier answer or newly fetched evidence, make a second request instead of pretending the questions can see each other.
- Consume typed answers in code. Use probabilities and confidence to decide whether to act, review, broaden the route, or escalate; do not treat confidence as proof of correctness.
- Test representative and adversarial cases against a labeled golden set. Tune thresholds for the actual cost of false positives and false negatives, and compare Jev with the current model or deterministic baseline.
Current API contract
- Endpoint:
POST https://api.typesafe.ai/v1/systemone - Header:
Authorization: Bearer $TYPESAFE_API_KEY - Model: explicitly use
jev-latestunless the user asks for another currently documented model. - Request fields:
state,model, and a namedquestionsmap. - Keep API keys server-side; never commit, expose, or print them.
Minimal request shape:
{
"state": {
"message": "I was charged twice and need help today.",
"account_tier": "pro"
},
"model": "jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does the message express time-sensitive urgency?"
},
"team": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Charges, refunds, invoices, or subscriptions",
"technical": "Bugs, outages, or integration failures",
"sales": "Pricing, upgrades, or buying questions",
"other": "None of the above"
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated does the customer appear?",
"criteria": [
"Calm and factual",
"Frustrated but civil",
"Very angry or hostile"
]
}
}
}
Response handling is type-specific: read answer.noul for a Noul; read
answer.choice, answer.probabilities, and answer.confidence for a Choice;
read answer.score, answer.legend, answer.probabilities, and
answer.confidence for a Score. A Noul has no separate confidence field: its
yes probability is the signal.
State and question design rules
- Jev currently accepts text, JSON objects, or arrays of text values. Images, audio, and video are not supported by the documented state interface.
- State is the evidence; questions are the judgments. Do not put changing policy or hidden context only in an instruction.
- Criteria must cover the real candidates. A Choice cannot select an option that was omitted.
- Score levels must be ordered, concrete, and independently understandable.
- Use one Noul per independently useful yes/no condition when several labels may apply; do not force multi-label behavior into one Choice.
- Keep speculative questions independent and explicitly state their premise.
- Prefer code-controlled composition of answers to asking Jev to explain its own result in prose.
Patterns to reach for
- Intent routing: classify intent and complexity, then send the item to deterministic logic, a specialist model, or a human.
- Confidence-gated routing: use the answer to choose what to do and confidence to decide whether it is safe to act automatically.
- Fan-out: ask several independent dimensions in one request when they share the same state.
- Composite scoring: keep atomic Scores and combine them with weights in code.
- Verification: check a claim or extracted field against evidence and escalate uncertain cases.
Evaluation and operational guardrails
Before production, measure accuracy, latency, token usage, and cost on a
representative golden set. Keep questions and thresholds in one reviewable
module. Log request IDs and non-sensitive metadata, not API keys or raw
customer data unless the application's privacy policy permits it. Handle
401, 429, and 529 explicitly; use the SDK's default exponential-backoff
retry policy when possible. Do not retry a side effect just because a model
request was retried.
Run the included harness
For a reproducible typed evaluation, use
scripts/jev_harness.py with a JSON question map and JSONL cases. Start with
--validate-only, then set TYPESAFE_API_KEY and run the same golden set with
--output report.json. The harness supports concurrent independent cases,
bounded retries for 429/529, exact answer accuracy by primitive, raw Noul
probabilities, Choice/Score confidence, latency, and token totals. Read
harness.md for the input schema and commands.
When a task needs current SDK syntax, limits, model aliases, or cookbook details, read the live page linked above instead of relying on this summary.
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Query and manage Linear issues, projects, teams, cycles, labels, and comments through a managed OAuth GraphQL endpoint.
Adaptive web scraping in Python that bypasses anti-bot systems and scales from single requests to concurrent crawls.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
More from aiwithenoch
Browse all skillsDesign, audit, diagnose, and improve Meta/Facebook/Instagram lead generation funnels for service businesses that sell through applications, booking pages, nu...
Edit AI-assisted drafts without flattening the writer's voice, detect named AI-writing patterns without rewriting, or generate deliberately exaggerated AI copy for satire and before-and-after examples. Use when the user wants writing clearer, more direct, more opinionated, or less AI-sounding; asks whether a draft reads as AI; or explicitly requests intentionally bad AI-style copy.
Turn offline signs into researched leads
Save durable memory without secrets
Create or edit books with the Enoch Book Engine, including strict B5 pages, inline SVG diagrams, and mandatory screenshot-based visual QA.