pi-jev-skill-suggestion
Pi extension that strips the inlined skill list and asks Jev which single skill, if any, to load per turn.
Overview
pi-jev-skill-suggestion addresses Pi dumping every installed skill into the system prompt, which wastes context and makes near-duplicate skills hard to tell apart. It strips the skill list and asks TypeSafe Jev which skill, if any, to load, at most one per turn or none.
Two triggers can be enabled. In onDemand mode the agent calls skill_suggest with a task description when it thinks a skill may help, and gets back a skill name and SKILL.md location or null with a reason. In onPrompt mode the extension asks Jev before every user prompt and injects a visible recommendation when a fit is found, staying quiet otherwise or on errors. /skill:name prompts skip Jev, and skills already in context are not re-suggested. The README notes onPrompt costs at least one Jev call per prompt. Without a key, the extension does nothing and Pi keeps its normal listing.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which skill, if any, fits this task? | — |
How it works
- Strip the skill list from the system prompt.
- On demand or before each prompt, ask Jev for the best skill or none.
- Return or inject the recommendation with its location.
- Agent reads the SKILL.md if suggested.
Strengths
- Saves context with large skill collections.
- At most one skill per turn avoids clutter.
- No-op without a key.
Caveats
- onPrompt adds a Jev call to every prompt.
- onDemand relies on the agent calling the tool.
Getting started
pi install npm:pi-jev-skill-suggestion and export TYPESAFE_API_KEY before starting Pi.At a glance
- Type
- Agent skill
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi extension
- Has code
- yes
Use cases and integrations
How curated lists describe it
Pi extension that removes the inlined skill list and asks TypeSafe Jev which skill to load.
hellogumbo/awesome-jev
Frequently asked questions
How many skills can be loaded per turn?
At most one, or none.
What if I don't set a key?
The extension does nothing and Pi keeps its normal skill listing.
What is the difference between triggers?
onDemand waits for the agent to ask; onPrompt asks Jev before every prompt.
Related projects
Toolkit where Jev condenses large MCP responses for Claude Code and maps Codex requests to reviewed, fixed repository operations.
ProjectbetaTypeScriptGives an agent one tool that uses Jev to search a nested capability tree and return only the documented commands a task needs.
ProjectprototypeTypeScriptLocal Python MCP service that keeps the skill catalog out of the agent's context and lets Jev pick which SKILL.md files to load.
MCP serverbetaPythonMCP router that catalogs and deduplicates tools and exposes each agent only a relevant, authorised subset using typed decisions.
MCP serverbetaPythonPi extension for Jev-based tool routing, skill discovery, typed judgments and optional model, thinking, guard and compaction modes.
Agent skillbetaTypeScriptPi coding agent extensions, including pi-jev-router, which asks Jev whether a prompt should continue, fork or start a new session.
PluginbetaTypeScript