building-with-typesafe-jev
Unofficial skill that teaches coding agents to build with TypeSafe AI's Jev: typed decisions, calibrated confidence, and prior art from 150+ community projects.
Install / Use
npx skills add aaddrick/building-with-typesafe-jevInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of building-with-typesafe-jev
building-with-typesafe-jev scores 88/100 on our quality scale, 278th of 762 AI & Machine Learning skills we index (top 37%).
Its SKILL.md is 17 KB long, well organised into 8 sections with 24 code examples: a thorough specification that gives an agent plenty to work with.
It has 69 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated today, so building-with-typesafe-jev is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (1 minor note below). An AI review of the same text found nothing harmful.
- noteInstalls by piping a downloaded script into a shellline 106
curl -fsSL https://raw.githubusercontent.com/aaddrick/building-with-typesafe-jev/main/scripts/install_muse.sh | bash
AI review by kimi-k2.7-code on 2026-09-27. Automated pattern scan on 2026-09-27. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
building-with-typesafe-jev compared with similar skills
All 4 of these similar skills score higher than building-with-typesafe-jev; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| building-with-typesafe-jev (this skill)by aaddrick | 88 | 69 | today | SKILL.md |
| claude-memby thedotmack | 100 | 94.8k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.3k | 15d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install building-with-typesafe-jev?
- Run
npx skills add aaddrick/building-with-typesafe-jev. The install tabs above show the steps for each supported agent. - Which AI agents does building-with-typesafe-jev work with?
- It is written for Claude Code, Gemini CLI and OpenAI Codex, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is building-with-typesafe-jev safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (1 minor note below). An AI review of the same text found nothing harmful. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is building-with-typesafe-jev still maintained?
- The repository was last updated today, so building-with-typesafe-jev is actively maintained.
Skill content
View source on GitHub[!NOTE] This is an unofficial, community skill. It is not made, reviewed, or endorsed by TypeSafe AI. TypeSafe publishes its own skill at typesafe-ai/skills. See How this differs from the official skill.
Coding agents treat Jev like one more chat model. This skill teaches them to design for it: typed questions, calibrated confidence, and links to 150+ community projects, sorted by how they work, with a code sketch for each pattern. It installs in Claude Code, Codex, Antigravity CLI, Muse, and Muse Code.
Jev is a System One model. It does not write text. You send it content and a set of typed questions, and it answers each one with a value and a calibrated probability, usually in 100 to 200 ms:
- Choice picks one option from a list. Example: route a ticket to billing, shipping, or support.
- Score places the content on a scale you describe. Example: grade a pull request from "ignores the spec" to "meets the spec".
- Noul gives the probability that a yes/no statement is true. Example: "this shell command deletes files outside the project."
Install
<details> <summary><strong>Claude Code</strong></summary>claude plugin marketplace add aaddrick/building-with-typesafe-jev
claude plugin install building-with-typesafe-jev@building-with-typesafe-jev
The skill loads on its own when you work on Jev code. To load it by hand, type:
/building-with-typesafe-jev:building-with-typesafe-jev
</details>
<details>
<summary><strong>Codex</strong></summary>
codex plugin marketplace add aaddrick/building-with-typesafe-jev
codex plugin add building-with-typesafe-jev@building-with-typesafe-jev
Start a new thread. Codex loads the skill when the task matches. To load it by hand, type:
$building-with-typesafe-jev:building-with-typesafe-jev
</details>
<details>
<summary><strong>Antigravity CLI</strong></summary>
agy plugin install https://github.com/aaddrick/building-with-typesafe-jev
Check that it installed:
agy plugin list
Start a new session. Antigravity CLI loads the skill when the task matches. To load it by hand, type:
/building-with-typesafe-jev:building-with-typesafe-jev
Coming from Gemini CLI? If agy plugin import gemini brought this extension over, run the install command above anyway so the current copy replaces the imported one.
Muse loads skills from ~/workspace/skills/ on its own computer. Paste this command into a Muse chat and ask Muse to run it:
curl -fsSL https://raw.githubusercontent.com/aaddrick/building-with-typesafe-jev/main/scripts/install_muse.sh | bash
The script copies the skill folder there and rewrites the SKILL.md header into the shape Muse reads. Start a new chat. Muse loads the skill when the task matches. To update, run the command again.
Clone the repository:
git clone https://github.com/aaddrick/building-with-typesafe-jev.git
Install the skill for every project:
muse skills install building-with-typesafe-jev/skills/building-with-typesafe-jev --scope user
Check that it installed:
muse skills list
Start a new session. Muse Code loads the skill when the task matches. To load it by hand, type:
/building-with-typesafe-jev
</details>
<details>
<summary><strong>Any other agent that reads SKILL.md</strong></summary>
Copy the skills/building-with-typesafe-jev/ folder into your agent's skills folder. Keep the whole folder. SKILL.md links to the files beside it.
Set up an API key (optional, recommended)
The skill works without a key. With TYPESAFE_API_KEY set in the agent's shell, the agent can check its design against the live API before the code reaches your project. That catches wrong field names, and questions Jev reads differently than you meant. Each call costs a fraction of a cent.
Step 1. Sign in at console.typesafe.ai and open API Keys in the sidebar.
<img src=".github/assets/api-key/step-1.png" alt="The TypeSafe console home page. An amber box and arrow point at API Keys in the left sidebar." width="100%">Step 2. Click Create key at the top right.
<img src=".github/assets/api-key/step-2.png" alt="The API keys page. Existing keys are blurred. An amber box and arrow point at the Create key button at the top right." width="100%">Step 3. Name the key after where it will live, such as the machine or the agent. Then click Create key.
<img src=".github/assets/api-key/step-3.png" alt="The Create API key dialog with the name my-coding-agent typed in. An amber box and arrow point at the name field and the Create key button." width="100%">Step 4. Copy the key now. The console shows it once. If you lose it, create a new one and revoke the old one.
<img src=".github/assets/api-key/step-4.png" alt="The API key created dialog. The key value is masked. An amber box and arrow point at the Copy button." width="100%"> </details> <details> <summary><strong>Store the key</strong> (macOS, Linux, Windows)</summary>Keep the key in its own file, readable only by you, and export it as TYPESAFE_API_KEY. Agents often start shells without a terminal, so each section puts the key where those shells can see it. Pick your system.
Save the key to a private file:
mkdir -p ~/.config/typesafe && umask 077 && printf 'export TYPESAFE_API_KEY=%s\n' 'YOUR_KEY' > ~/.config/typesafe/env
Load it from ~/.zshenv. Every zsh reads that file, including shells that agents start without a terminal. ~/.zshrc is read only by interactive shells.
echo '[ -f ~/.config/typesafe/env ] && . ~/.config/typesafe/env' >> ~/.zshenv
Open a new terminal and check it. The command prints the length of the key, not the key:
echo ${#TYPESAFE_API_KEY}
</details>
<details>
<summary><strong>Linux with bash</strong> (Ubuntu, Debian, Mint, Fedora, Arch)</summary>
Save the key to a private file:
mkdir -p ~/.config/typesafe && umask 077 && printf 'export TYPESAFE_API_KEY=%s\n' 'YOUR_KEY' > ~/.config/typesafe/env
Load it from the top of ~/.bashrc. Ubuntu, Debian, Mint, and Arch start ~/.bashrc with a line that stops early when no terminal is attached. A line below that guard never runs for agent shells. The top of the file is safe on every distribution:
sed -i '1i [ -f ~/.config/typesafe/env ] \&\& . ~/.config/typesafe/env' ~/.bashrc
Open a new terminal and check it:
echo ${#TYPESAFE_API_KEY}
</details>
<details>
<summary><strong>Linux with zsh</strong></summary>
Follow the macOS steps. zsh reads ~/.zshenv the same way on Linux.
fish reads every file in ~/.config/fish/conf.d/, with or without a terminal:
mkdir -p ~/.config/fish/conf.d; and echo 'set -gx TYPESAFE_API_KEY YOUR_KEY' > ~/.config/fish/conf.d/typesafe.fish; and chmod 600 ~/.config/fish/conf.d/typesafe.fish
string length -- $TYPESAFE_API_KEY
</details>
<details>
<summary><strong>Windows</strong> (PowerShell)</summary>
Store the key as a user environment variable. New terminals and apps see it. Terminals that are already open do not:
[Environment]::SetEnvironmentVariable('TYPESAFE_API_KEY', 'YOUR_KEY', 'User')
Open a new terminal and check it:
$env:TYPESAFE_API_KEY.Length
WSL: Windows variables do not reach WSL by default. Inside WSL, follow the Linux with bash steps.
</details> <details> <summary><strong>Desktop apps and IDE extensions</strong></summary>An app you start from the dock, the start menu, or a desktop launcher does not read your shell files.
- Windows: the user environment variable above already covers these apps.
- Linux (systemd): add the line
TYPESAFE_API_KEY=YOUR_KEYto~/.config/environment.d/typesafe.conf, then log out and back in. - macOS: start the app from a terminal, or set the variable in the app's own settings. macOS has no simple per-user file that desktop apps read.
Ask the agent to run echo ${#TYPESAFE_API_KEY} (or $env:TYPESAFE_API_KEY.Length on Windows). If it prints 0 or nothing, check these in order:
- You started the agent before you stored the key. Agent shells copy the environment of the program that started them. Quit the agent and start it from a new terminal.
- You started the agent from the dock, the start menu, or an IDE. Those apps do not read your shell files. See "Desktop apps and IDE extensions" above.
- Codex filters the environment. If
~/.codex/config.tomlsetsinclude_onlyunder[shell_environment_policy], addTYPESAFE_API_KEYto it. If it setsignore_default_excludes = false, Codex drops every variable withKEYin its name. Remove that line. - WSL. Windows variables do not reach WSL. Store the key inside WSL with the Linux steps.
How it was tested
We gave a coding agent six Jev tasks, such as a support-ticket triage function and an approval gate for shell commands. Each task ran 10 times with this skill, with no skill, and with the official skill, each arm in its own isolated container. The agent had the docs but no API key, so graders checked the code it wrote. Checks that need judgment went to three LLM judges from three providers (Claude Opus, GPT-6 Sol, Kimi K3), and the majority decided.
| | No skill | This skill | Official skill | |---|---:|---:|---:| | Average score | 0.65 ± 0.05 | 0.96 ± 0.02 | 0.77 ± 0.04 |
Score is the share of checks passed, averaged over 10 runs per task.
Where the skill made the difference (runs out of 10 that passed):
| The agent's code... | No skill | This skill | Official skill |
|---|---:|---:|---:|
| counted in code, instead of asking Jev for a number | 1 | 8 | 0 |
| named a field of the input in its questions | 0 | 10 | 1 |
| pinned or logged the Jev model version | 0 | 10 | 0 |
| gave the department list a catch-all option | 3 | 10 | 6 |
| kept more than one path while walking 1,200 categories | 1 | 10 | 7 |
| kept a plain-code backstop for destructive commands | 7 | 10 | 2 |
| read score as a position from
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
94.8kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
84.3kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
73.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
