system-one
Skill0 starsChanged 40 days agoMITView on GitHub
Get typed judgments from a System One model: choice, yes/no (noul), and score answers about text or JSON state, with probabilities instead of generated prose. Jev, the hosted TypeSafe model, is the default backend. Laya, an open-weight model behind the same /v1/systemone protocol, is the self-hosted alternative for private, offline, or high-volume work. Use when code needs semantic understanding it cannot compute: routing, triage, ranking, extraction by selection, verification, or confidence-gated escalation, or to replace an LLM prompt-and-parse step with a structured decision. TRIGGER when: asked to use System One, Jev, TypeSafe, or Laya; to classify, route, triage, score, or verify text with a typed answer; to run laya-serve or self-host a Jev-compatible model; or to compare backends.
- Reads credentials
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- digitaldreams/tuhintheir own version, first seen Nov 1, 2026
- thesawdawg/agent-skillstheir own version, first seen Oct 13, 2026
- RodrigoAlbe/system-onetheir own version, first seen Sep 27, 2026
- magnus919/agent-skillstheir own version, first seen Jul 21, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- magnus919/agent-skills★ 172same name
- digitaldreams/tuhin★ 3same name
- thesawdawg/agent-skills★ 2same name
- RodrigoAlbe/system-one★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- agent-browserSkill
- ci-statusSkill
- delegateSkill
- interviewSkill
- post-bridgeSkill
- prdSkill
- releaseSkill
- remote-sandboxSkill
- steSkill
- worktreesSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Jev is the default: Use Jev unless a Laya condition in "Choose the backend" holds.
- Very specific: line 54
Before you use Laya, read references/laya.md.
- Distinctive: line 76
Start at the index: <https://docs.typesafe.ai/llms.txt>.
- Distinctive: line 88
If live access fails, say so and do not invent version-specific details.
- Very specific: line 92
Write the request as JSON.
- Very specific: line 143
Put the judgment in instructions.
- Distinctive: line 146
Ask one narrow judgment per question.
- Distinctive: line 154
Ask independent questions over the same state in one request.
- Distinctive: line 158
Keep rules, calculations, and exact lookups in code.
- Distinctive: line 159
Keep policy explicit. Store raw judgments, then let code apply weights and thresholds, so a policy change does not need new inference.
- Distinctive: line 175
Run representative cases, including negations, empty inputs, and cases that fit no option.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
System One — typed judgments from Jev or Laya
A System One model reads a state and a map of typed questions, then returns
one typed answer per question with its probability distribution. The model does
not generate text. Code owns the workflow; the model supplies the judgments that
ordinary code cannot make.
Jev is the default. Use Jev unless a Laya condition in "Choose the backend"
holds. Both backends accept the same request file on POST /v1/systemone, and
scripts/ask.sh talks to both:
bash scripts/ask.sh request.json # Jev
bash scripts/ask.sh --backend laya request.json # LayaSYSTEM_ONE_BACKEND=laya makes Laya the default for a shell.
Choose the backend
| Condition | Backend |
| No condition below holds | Jev |
| The state must not leave the machine | Laya |
| The environment has no internet access | Laya |
| Volume is high enough that per-token cost or network latency matters | Laya |
| You have labels and will fine-tune or fit calibration temperatures | Laya |
A choice has more than about 20 options | Jev |
| The task is new and unlabeled | Jev. The Laya base checkpoints are close to chance on zero-shot typed decisions. |
| No GPU, and latency matters | Jev. Laya on CPU takes 200 to 460 ms per request, close to hosted Jev. |
Before you use Laya, read references/laya.md. That file covers hardware, the
server, Laya answer fields, failure modes, and the pilot against Jev.
Check the configuration first
bash scripts/ask.sh --check # is TYPESAFE_API_KEY set?
bash scripts/ask.sh --check --live # does the key work?For Laya, run bash scripts/ask.sh --backend laya --check. The command reads
the health endpoint of the server.
Report the output to the operator verbatim. An unset key or a stopped server is a configuration fact, not a failure: say what is missing, then continue with work that does not need System One.
Read the live docs
The live TypeSafe docs are the source of truth for the API, models, limits, and patterns. Read the relevant pages as part of the task.
- Start at the index: https://docs.typesafe.ai/llms.txt.
- Append
.mdto a page path to get Markdown, for example https://docs.typesafe.ai/api.md.
| Task | Start here |
| Understand the model | System One, building guide |
| Find a pattern | Use-case map, then the closest cookbook in the index |
| Shape state and questions | State, primitives |
| Act on uncertainty | Confidence |
| Write code | HTTP API, JavaScript SDK, Python SDK |
If live access fails, say so and do not invent version-specific details.
Ask a question
Write the request as JSON. On Jev, model defaults to jev-latest. On Laya,
omit model to let the router pick a checkpoint.
{
"state": "Hi, we were billed twice for March. Refund the duplicate or we cancel.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "invoices, payments, refunds",
"technical": "bugs, outages, errors",
"other": "anything else"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this?",
"criteria": ["not urgent", "soon", "blocking"]
},
"churn_risk": {
"type": "noul",
"instructions": "Does the customer threaten to cancel or leave?"
}
}
}bash scripts/ask.sh request.json | jq '.answers'The script prints the response on stdout and latency_ms=<n> on stderr. It
retries HTTP 429 and 529 on Jev and HTTP 503 on Laya, three times. It exits 1
on a failed request and names the cause.
In application code, use the SDK (npm install @typesafe-ai/sdk or the Python
SDK) instead of the script. Keep the API key on the server side.
Design the judgments
| Need | Primitive | Answer |
| One option from a defined set | choice | choice, probabilities, confidence; at most 255 options |
| Whether a condition holds | noul | noul: the probability of yes |
| A position on ordered levels | score | score (0-based, can land between levels), legend, probabilities, confidence; 2 to 10 levels |
- Give each question the state it needs: source text, identities, policies,
current facts. Use named JSON fields when the state has several parts, and
refer to them in backticks, for example
ticket.messages[0].text. - Put the judgment in
instructions. Define the answers incriteria. Question IDs are not sent to the model, so the instructions must carry the full meaning. - Ask one narrow judgment per question. Split dimensions that are useful on their own. Do not split a relationship that must be judged as a whole.
- Include a no-match option when nothing may fit.
- For selection from source values, make sure every candidate is in the options. The model cannot choose a value you left out.
Compose the answers
- Ask independent questions over the same state in one request. They run in parallel and cannot see each other's answers.
- Make a second request only when an earlier answer decides what evidence to fetch or what options to offer next.
- Keep rules, calculations, and exact lookups in code.
- Keep policy explicit. Store raw judgments, then let code apply weights and thresholds, so a policy change does not need new inference.
Act on uncertainty
- On Jev,
confidenceonchoiceandscoremeasures how concentrated the distribution is. It is not proof that the answer is correct, and it is not permission to act. - A
noulnear 0.5 means yes and no are equally likely. It does not mean "medium". - Choose thresholds from measured accuracy on your own data and the cost of an error. Send uncertain or high-stakes cases to a person or a reasoning model.
- Ignore uncertainty on branches that the code does not use.
Verify before relying on it
- Run representative cases, including negations, empty inputs, and cases that fit no option.
- For each failure, inspect the exact state, questions, answers, and resulting behavior. Separate missing evidence, model error, code error, and service failure.
- Record accuracy, latency (
latency_ms), and token usage (usage) per workload. Use these numbers, not demo results, to decide adoption.
Confidence values differ between backends. On Laya, gate on
answer_confidence, not confidence, and never reuse a Jev threshold. To
compare backends on one workload, follow "Pilot Laya against Jev" in
references/laya.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

