attack-path-analysis
Use when Codex is already in the attack-path-analysis phase of a security scan or the user explicitly asks to trace a security…
Build AI-powered software with TypeSafe System One models, including Jev, as typed judgments and probabilities for routing, ranking, extraction, verification, and other structured decisions. Use when integrating TypeSafe or replacing a semantic LLM prompt-and-parse step with a
Claude Code
$ npx -y skills add CoWork-OS/CoWork-OS --skill typesafe-ai --agent claude-code
Codex
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a codex -y
Cursor
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a cursor -y
Gemini CLI
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a gemini-cli -y
GitHub Copilot
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a github-copilot -y
OpenCode
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a opencode -y
Windsurf
$ npx skills add CoWork-OS/CoWork-OS --skill typesafe-ai -a windsurf -y
name: typesafe-ai description: Build AI-powered software with TypeSafe System One models, including Jev, as typed judgments and probabilities for routing, ranking, extraction, verification, and other structured decisions. Use when integrating TypeSafe or replacing a semantic LLM prompt-and-parse step with a programmable decision primitive.
This guide is bundled from [TypeSafe AI's official skill](https://github.com/typesafe-ai/skills/tree/main/skills/typesafe-ai) under its MIT license. The [live TypeSafe docs](https://docs.typesafe.ai/llms.txt) are the source of truth for current concepts, prompting guidance, API contracts, SDK usage, models, limits, and examples.
TypeSafe makes units of AI intelligence usable like programming primitives: small judgments you can compose into larger capabilities. Its **System One models** return fast, focused judgments that software can consume directly. **Jev** is TypeSafe's flagship and first System One model. It understands natural language and returns typed answers and probabilities rather than generating text or reasoning explanations. Code owns the workflow; the model supplies programmable common sense where ordinary code needs semantic understanding.
| Task | Start here | | --- | --- | | Understand the programming model | [System One](https://docs.typesafe.ai/concepts/system-one.md), [building guide](https://docs.typesafe.ai/concepts/how-to-build-with-system-one.md) | | Explore what to build | [Use-case map](https://docs.typesafe.ai/concepts/use-case-map.md), then relevant cookbooks | | Prepare inputs and questions | [State](https://docs.typesafe.ai/concepts/state.md), [primitives](https://docs.typesafe.ai/primitives.md) | | Decide how to handle uncertainty | [Confidence](https://docs.typesafe.ai/confidence.md) | | Write API code | [HTTP API](https://docs.typesafe.ai/api.md), [Python SDK](https://docs.typesafe.ai/sdk/python.md), or [JavaScript SDK](https://docs.typesafe.ai/sdk/javascript.md) | | Update an older integration | [Migration guide](https://docs.typesafe.ai/migrating-to-v1.md) and the installed SDK's current reference |
Start from the behavior the user wants: what will the application show, select, change, or hand off? Work backward to the judgments it needs. Keep known rules, calculations, exact lookups, and execution in code. Preserve the user's chosen stack and scope; add TypeSafe where semantic understanding helps.
Useful patterns include:
Choose by what the answer means, then read the relevant primitive page:
| Need | Primitive | Important distinction | | --- | --- | --- | | One of a defined set | [Choice](https://docs.typesafe.ai/primitives/choice.md) | Picks one option; its distribution compares competing options | | Whether a condition holds | [Noul](https://docs.typesafe.ai/primitives/noul.md) | Probability of yes; no separate confidence; use one per label when several may apply | | Degree along a described dimension | [Score](https://docs.typesafe.ai/primitives/score.md) | Probability-weighted position on ordered levels; use comparable per-item Scores for graded ranking |
Give each question enough relevant **state**: source text, identities, relationships, policies, and current facts. Prefer named JSON fields when context has several parts. Put the judgment in instructions and define possible answers in criteria. Question IDs are for code and are not sent to the model; include complete meaning in the question. Reference nested state with backticked paths such as `ticket.messages[0].text`.
Ask one narrow, coherent judgment per question. Split independently useful dimensions without destroying the relationship being judged.
Use when Codex is already in the attack-path-analysis phase of a security scan or the user explicitly asks to trace a security…
Use when the user asks for a deep, exhaustive, multi-pass, or variance-reducing repository-wide Codex Security scan. Run repeated…
Use when Codex is already in the finding-discovery phase of a security scan or the user explicitly asks to discover candidate…
Use when the user explicitly asks to fix and verify a validated or plausible security finding. Do not use as the primary trigger…
Use when the user asks for a security review of a pull request, commit, branch diff, working-tree patch, or other Git-backed…
Use when the user asks for a repository-wide or scoped-path security scan.
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…