engineering / skill

fast-jev-compaction

A Claude Code plugin and npm library that replaces the compaction summary with Jev decisions about which tool calls and results to keep.

At a glance

Purpose
A Claude Code plugin and npm library that replaces the compaction summary with Jev decisions about which tool calls and results to keep.
Runs in
Local agent with shell
Operating systems
Not stated
Needs
Runtime: Not stated; Needs internet: Yes; Needs accounts or API keys beyond your agent: Yes
Files and data
Reads files: Not stated; Writes files: Not stated; Sends data to other services: Yes
Tool type
Skill
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
According to the README, the plugin needs Claude Code 2.1.274 or later with function hooks enabled. The library installs with npm. The README also includes a macOS demo app.
External costs
The repository is MIT-licensed and states no pricing. The README requires a TypeSafe API key to reach Jev and does not state what it costs. Your coding agent or model provider may charge for usage.
Permissions
The plugin acts through Claude Code with the access you give it. The README's setup includes plugin installation and setting CLAUDE_CODE_ENABLE_FUNCTION_HOOKS and TYPESAFE_API_KEY in the environment, with ~/.claude/settings.json as an example configuration location. The README gives npm install fast-jev-compaction for library use. The README says the function hook runs for /compact and automatic compaction after installation, reads compaction transcripts, sends fitted conversation state to Jev using a TypeSafe API key, and changes which tool calls and results remain in the output history. The README says installation prompts for plugin options and warns against committing the API key or placing it in source files.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms.

Code on GitHub

tamaratran/fast-jev-compaction

MIT

TypeScript7,605 stars539 forksLast pushed 18 Sept 2026 UTC

Claude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are dropped or truncated, everything kept stays verbatim.

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

fast-jev-compaction is a Claude Code compaction plugin and npm library. The README describes Jev decisions that retain, truncate or remove tool calls and results, with user and assistant text retained verbatim in the output.

The README says calls are paired with their results and the request state starts from the conversation with tool results replaced by short notes. The README describes fitting that state to token limits by truncating inputs, abridging texts, collapsing older messages and omitting some older entries. The README says first-message and recent calls are pinned, other calls receive separate keep-call and keep-result decisions, and the keep threshold defaults to 0.5. The README says the Claude Code hook falls back to its built-in summary on errors or insufficient reduction.

The README describes compactMessages, a custom JevAsker transport and options including keepThreshold, preserveRecentMessages, maxStateTokens and truncateHeadChars. The README describes the macOS demo as a scripted animation without API calls.

Who it is for

Claude Code users and developers who want a model to decide which tool calls and results to keep at compaction, and who have a TypeSafe API key.

Example tasks

Run /compact in Claude Code after installing the plugin.
Tune the keep threshold and the number of recent messages that are never touched.
Call compactMessages on a transcript from your own code and read the decisions and stats.
Implement JevAsker to send the questions through your own transport.

Getting started

For Claude Code, the README says to set CLAUDE_CODE_ENABLE_FUNCTION_HOOKS and TYPESAFE_API_KEY in the env section of settings, for example in ~/.claude/settings.json. Then run claude plugin marketplace add tamaratran/fast-jev-compaction and claude plugin install fast-jev-compaction@fast-jev-compaction, and restart Claude Code or run /reload-plugins. As a library, it gives npm install fast-jev-compaction and export TYPESAFE_API_KEY=.... The README has the exact commands.

Limitations

The README says function hooks are an early-access Claude Code feature requiring version 2.1.274 or later and CLAUDE_CODE_ENABLE_FUNCTION_HOOKS set where Claude Code runs. The README's default Jev client uses a TypeSafe API key set as TYPESAFE_API_KEY. The README limits output removal and truncation to tool calls and results and describes token sizes as estimates rather than tokenizer counts. The README warns that a keep probability does not prove a result can be deleted. The README says state fitting can abridge or omit older content in the request sent to Jev, and the fitted state is repeated across request batches. The README says a history that cannot fit causes an error, with the Claude Code hook falling back to its built-in summary. The README labels the animated demo as macOS. The repository can change at any time; check its README before you install.

Data practices

The README says the initial Jev state includes user and assistant text and tool inputs, with tool results replaced by short notes. The README describes fitting this state to request limits by truncating tool inputs, abridging long texts, collapsing older messages and omitting some older entries. The README says the fitted state is resent with each question batch and requests go to baseUrl, which defaults to a TypeSafe System One endpoint. The README describes unit tests using a fake Jev and the macOS animation demo operating without API calls. The README does not describe how TypeSafe handles received data.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern