pi-jev (TheoOliveira)
Pi extension for Jev-based tool routing, skill discovery, typed judgments and optional model, thinking, guard and compaction modes.
Overview
pi-jev (TheoOliveira) brings semantic tool routing and typed decisions to the Pi coding agent. jev_find_tools searches registered inactive tools and additively activates only those needed for the prompt; jev_find_skill matches the most relevant SKILL.md with scope-aware matching; jev_evaluate lets the agent run Choice, Noul and Score judgments directly. A /jev test command has the active model design a question schema for a free-form prompt and then Jev evaluates it.
Several opt-in modes are available: automatic tool and skill routing before every prompt; automatic model selection among fast, balanced, reasoning, long-context or vision models, with prefix-aware cache cost as tie-breaker; reasoning-level adjustment without changing the model; a tool-call guard that detects hallucinated calls and enhances failed results; and Jev-assisted compaction with Pi's normal compaction as fallback. It also supports subagent orchestration with a typed jev agent and a jev-gate CLI that checks a diff or output against criteria and exits 0 or 1. Custom endpoints such as laya-serve are supported. MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which inactive tools are needed for this prompt? | — |
| Choice | Which skill fits this task? | — |
| Choice | Which model class fits (fast, balanced, reasoning, long-context, vision)? | fast · balanced · reasoning · long-context · vision |
| Yes / no | Does this output meet the gate criteria? | pass · fail |
How it works
- Enable desired modes via flags or /jev commands.
- Before a prompt, route tools, skills, model or thinking as configured.
- Agent can call jev_evaluate for ad hoc judgments.
- Use jev-gate in subagent workflows to pass or fail outputs.
Strengths
- Many features, all opt-in.
- Works with local Jev-compatible servers.
- Cache-aware model choice.
Caveats
- Many modes increase configuration complexity.
- Requires a TypeSafe key or compatible endpoint.
Getting started
Install the extension into Pi, set TYPESAFE_API_KEY (or PI_JEV_BASE_URL for a local server), and enable modes with /jev.At a glance
- Type
- Agent skill
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi extension, CLI
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Coding agents: semantic tool routing and typed System One decisions for the Pi coding agent.
yibie/awesome-jevHelps Pi Agents find tools and skills for a task, with structured evaluation and optional history filtering.
logicrw/awesome-jev-projectsSemantic tool routing and typed System One decisions for the Pi coding agent…
wh000wh000/awesome-jev-liveSemantic tool routing and typed System One decisions for the Pi coding agent using TypeSafe Jev.
hellogumbo/awesome-jevSemantic tool routing and skill discovery for the Pi coding agent: Jev picks which inactive tools to activate for the prompt at hand.
MrJev/awesome-jev
Frequently asked questions
Are the automatic modes on by default?
No, all automatic modes are opt-in.
Can I use a local model?
Yes, point PI_JEV_BASE_URL or TYPESAFE_BASE_URL at a compatible server such as laya-serve.
What is jev-gate?
A CLI that checks a diff or output against criteria and exits 0 on pass or 1 on fail.
Related projects
Fourteen opt-in Claude Code and Codex skills where Jev makes one bounded choice: which skill, model, test, file or next step.
ProjectbetaPythonHooks for Claude Code, Codex and pi that use Jev to suggest a skill each turn, plus a rule gate for subagent model routing.
HookbetaJavaScriptOrchestrator that probes which coding agents are installed and logged in, then has Jev pick the best one for a task.
Agent skillbetaPythonClaude Code plugin that asks Jev before each turn for reasoning effort, subagent model, strategy and skill, with a decision log.
Agent skillbetaTypeScriptRouter that puts models, subagents, skills, MCP tools and CLIs in one candidate set and asks Jev one Choice about which handles the step.
MCP serverbetaTypeScriptPi extension that strips the inlined skill list and asks Jev which single skill, if any, to load per turn.
Agent skillbetaTypeScript