Stacks
The setup for any AI coding agent.
What we add to every agent session, whatever we are building. Start here, then add the stack for your kind of project.
In short
- VMGM Software adds two Jev plugins and the test-audit skill to every agent setup, whatever the project.
- fast-jev-compaction replaces Claude Code’s built-in compaction: stale tool calls are dropped and everything else stays word for word, with no summary.
- jev-skill-suggestion hides the full skill list from the context and adds at most one relevant skill per prompt.
- Both plugins run on Jev, a small, fast model from Typesafe AI, and need a Typesafe API key.
- The test-audit skill from OpenClaw checks the tests an agent writes and removes tests that do not protect anything.
What is in the Agents stack?
- Long sessionsPlugin
fast-jev-compaction
by tamaratran on GitHub
Replaces Claude Code’s built-in compaction. Instead of summarizing old turns, Jev drops the tool calls that no longer matter and keeps everything else word for word.
How we use it: In every long session. /compact and auto-compact both go through Jev, so a file path or an exact error from an hour ago is still there when the agent needs it.
bashclaude plugin marketplace add tamaratran/fast-jev-compaction claude plugin install fast-jev-compaction@fast-jev-compaction - Big skill librariesPlugin
jev-skill-suggestion
by Claude Code Templates
Hides the full list of skills from the agent’s context. On each prompt, Jev picks at most one skill that fits and adds it for that turn.
How we use it: We have dozens of skills installed. Without this, the whole list rides along on every turn, whether the agent needs a skill or not.
bashnpx claude-code-templates@latest --mod productivity/jev-skill-suggestion - Test qualitySkill
test-audit
by OpenClaw
Checks every test the agent writes before it lands, and sweeps old ones for tests that assert nothing, copy each other, or break when the code is tidied up without any real bug.
How we use it: Agents write a lot of tests, and plenty of them test nothing. We run it whenever the agent writes or changes tests, and sweep a folder with it now and then.
bashnpx skills add openclaw/openclaw --skill test-audit
What you need first
- Claude Code 2.1.278 or newer, with function hooks on:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1. - A Typesafe API key, as
TYPESAFE_API_KEYin~/.claude/settings.jsonunderenv. Keep it out of git. - After installing jev-skill-suggestion, run
/jev-skill-suggestion:setupin Claude Code, then restart it.
Or skip the steps: paste the prompt below into Claude Code and let the agent set both up. It asks before changing your settings.
Install and configure two Jev plugins for this Claude Code setup. Do the work yourself. Ask before overwriting existing settings. Do not put API keys in chat, git, or files that get committed.
Goal
- fast-jev-compaction: replace built-in conversation compaction with Jev keep/drop of stale tool calls. Same /compact and auto-compact commands; faster, keeps kept text verbatim.
- jev-skill-suggestion: hide the skill catalog from context and inject at most one relevant skill per user prompt.
How they help
- Compaction: long sessions fill up with old Read/Bash/tool output. Built-in /compact summarizes that away (slow, lossy). Jev scores each old tool call/result, drops stale ones, leaves user/assistant text and kept output as written. /compact and auto-compact both go through Jev after install. Toast will say "kept N/M messages, no summary" or "fallback to built-in summary".
- Skills: a large skill list is sent every turn even when unused. This mod withholds the listing and, on each user prompt, asks Jev whether any skill is needed. If yes, it injects at most one SKILL.md for that turn. I can still run a skill with /name. It does not continuously add/remove skills mid-turn, and it does not strip old injections from history.
Prereqs
- Claude Code 2.1.278 or newer (compaction alone needs 2.1.274+).
- Function hooks on.
- TYPESAFE_API_KEY from https://console.typesafe.ai/settings/keys
- If the key is not already in the environment, add it only to ~/.claude/settings.json under env. Never print the key.
Settings to merge into ~/.claude/settings.json (keep any existing keys):
{
"env": {
"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
"TYPESAFE_API_KEY": "<use existing env or ask me to paste locally, do not echo it>"
}
}
Install order
1) Compaction
claude plugin marketplace add tamaratran/fast-jev-compaction
claude plugin install fast-jev-compaction@fast-jev-compaction
Leave plugin options at defaults (TYPESAFE_API_KEY from env).
2) Skill suggestion
npx claude-code-templates@latest --mod productivity/jev-skill-suggestion
3) In this session run:
/jev-skill-suggestion:setup
Show me the proposed settings diff. Wait for my yes before applying.
After I accept, tell me to restart Claude Code. Settings and /skills only refresh after restart.
Verify after restart
- Compaction: /plugin shows fast-jev-compaction. After a long session, /compact should toast Jev kept N/M or fallback to built-in.
- Skills: first prompt prints "[jev-skill-suggestion] ready ... withholding the skill listing". /skills marks those skills user-only. /context Skills section is smaller than before.
Usage after that
- Keep using /compact as usual. Do not invent a new compact command. Auto-compact also uses Jev.
- Do not expect skills to swap during tool calls. Jev picks at most one skill when I send a prompt.
- If setup needs undo later: /jev-skill-suggestion:setup restore then restart. Do not uninstall the skill mod without restore, or skills stay hidden.
Constraints
- Do not install jev-pruner or other Jev plugins.
- Do not disable plugins I did not ask about.
- If a step fails, stop and report the exact command and error.
Add the stack for your project
This is the general setup. Then add what is specific to what you are building.
Expo stack
The MCP servers and skills we give our agent when it builds an Expo app.
iOS stack
The MCP servers, skills and Swift checks we give our agent when it builds a native iOS app.
Next.js stack
Mobbin and the Vercel agent skills we give our agent when it builds a Next.js app.
Frequently asked questions
- What is Jev?
A small, fast model from Typesafe AI, built for quick decisions such as “does this old tool call still matter?”. Both plugins ask it those questions instead of asking a large model.
- Does this send my session anywhere?
Yes. Both plugins send parts of the session to Typesafe’s API to decide what to keep. If your sessions hold customer, health or financial data, check that against your rules first.
- Do these work outside Claude Code?
The two Jev plugins are Claude Code plugins. test-audit is a skill, so it works in Claude Code, Cursor, Codex and any agent the
skillscommand supports.- test-audit mentions OpenClaw’s own scripts. Does it still work on my repo?
Yes. It was written inside the OpenClaw repo, so a few steps name their scripts and CI. The method is general, and the agent swaps in your own test command.
- How do I undo the skill suggestion?
Run
/jev-skill-suggestion:setup restoreand restart Claude Code before uninstalling it. Uninstall it first and your skills stay hidden.
None of these makers pay us to list them. Setup commands checked on .
We set this up on your team’s codebase, with the rules that make the agent use it well.
Talk to us about your team