Agent skill

Jev Transcript Compaction

by kerpopule in kerpopule/hermes-jev-skills

Uses Jev to mark each transcript turn keep, summarize or drop when cutting a conversation to a fixed size, with measured results on handoff quality.

MITAuto-check passedAgent Workflows

Install Jev Transcript Compaction

skills CLI
$ npx skills add kerpopule/hermes-jev-skills --skill jev-compaction -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kerpopule/hermes-jev-skills jev-compaction --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jev-compaction .claude/skills/jev-compaction && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jev-compaction
GitHub stars
1k
Token cost
~1.2k tokens
SKILL.md length
692 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Uses Jev to mark each transcript turn keep, summarize or drop when cutting a conversation to a fixed size, with measured results on handoff quality.

  • Works in 4 steps: Give the writer the whole dialogue. A… → Ask for up to 1,200 words, five… → Name the session in the handoff and say… → …
  • Cutting a long transcript to a fixed size and choosing which turns to keep
  • SKILL.md covers Read this before you use it…, When this skill is still the…, Guarantees and When to compact at all
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Jev cannot write a summary; it can only mark each turn of a transcript as keep, summarize or drop. Keep covers decisions, constraints, preferences, unfinished work and exact values that later work depends on, summarize covers background whose gist matters, and drop covers chatter, superseded attempts and repeated output. For a long turn it judges only the first and last 350 characters, redacted, and it handles 40 turns per request.

The skill says plainly that its own earlier claim was wrong. Measured on seven real sessions with 104 recall questions, a handoff written from Jev's digest recalled less than one written from the plain last 24,000 characters or from the whole dialogue. Its advice for handoffs is to give the writer the whole dialogue, ask for up to 1,200 words under five headings (Working on, State, Decisions, Pointers, Next), name the session and say it is searchable, since one search added many points, and not to append a list of identifiers. It also describes the search calls for Hermes sessions.

When your agent uses it

  • Cutting a long transcript to a fixed size and choosing which turns to keep
  • Deciding how to write a session handoff note
  • Marking turns as keep, summarize or drop before compaction

Example prompts

  • “Mark which turns of this long session to keep, summarize or drop before we compact it.”
  • “Write a handoff for this session that the next agent can search, up to 1,200 words.”
  • “Should I use Jev's digest or the full dialogue to write the handoff?”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Give the writer the whole dialogue. A current flash model reads 100,000 characters for about a cent. Do not pre-filter it.
  2. Ask for up to 1,200 words, five headings: Working on, State, Decisions, Pointers, Next. At 400 words the capsule was full whatever the…
  3. Name the session in the handoff and say it is searchable. One search was worth 16 to 33 points to every handoff we tried, and a session…
  4. Do not append a list of "identifiers seen". It looked free and obvious; it changed nothing with a handoff and cost 13 points without one.

What it can do on your machine

Read from SKILL.md and the folder at commit dddaa39. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jev Transcript Compaction loads about 1.2k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 692 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kerpopule/hermes-jev-skills at commit dddaa39, republished under its MIT licence (© kerpopule). 692 words, ~1,198 tokens.

Download SKILL.mdSave it as .claude/skills/jev-compaction/SKILL.md (or your agent's skills folder).
name
jev-compaction
description
Use when a transcript has to be cut to a fixed size and you must choose which turns go. Jev marks each turn keep, summarize or drop. Measured: it does not make a handoff better.
version
0.2.0
license
MIT
metadata
hermes: tags: [jev, typesafe, compaction, handoff, context]

Choosing turns with Jev, and what actually makes a handoff work

Jev cannot write a summary. It can mark each turn of a transcript:

  • keep: carries a decision, a constraint, a preference, unfinished work, or an exact value, path, id, command or error that later work depends on.
  • summarize: background whose gist matters. In the digest this is the turn's first 400 characters, nothing more. Jev writes no gist.
  • drop: chatter, superseded attempts, repeated output.

It judges a long turn on its first 350 and last 350 characters, redacted, 40 turns per request, and sees no other turn while it does.

Read this before you use it for a handoff

This skill used to say a handoff written from Jev's digest "stops losing the one line that mattered". We measured that on seven real sessions and 104 recall questions (scorecard) and it was wrong:

the writer readscapsulerecall alonewith one search of the old session
Jev's digest400 words37.5%68.3%
the plain last 24,000 characters400 words48.1%68.3%
the whole dialogue1,200 words58.7%75.0%
nothing: no handoff at all56.7%

Jev's marks did beat the same marks handed out by recency (11 questions to 4), so the judgement is real. The digest built around it clips every other turn to 400 characters, and that cost more than the judgement earned. Nous Research found the same shape with a different Jev design (hermes-agent PR 116246).

So, for a handoff:

  1. Give the writer the whole dialogue. A current flash model reads 100,000 characters for about a cent. Do not pre-filter it.
  2. Ask for up to 1,200 words, five headings: Working on, State, Decisions, Pointers, Next. At 400 words the capsule was full whatever the writer had read.
  3. Name the session in the handoff and say it is searchable. One search was worth 16 to 33 points to every handoff we tried, and a session with no handoff and one search beat every handoff without one. On Hermes: session_search(query="..."), then session_search(session_id=..., around_message_id=...). Passing query together with session_id ignores the query.
  4. Do not append a list of "identifiers seen". It looked free and obvious; it changed nothing with a handoff and cost 13 points without one.

The hermes-handoff plugin does all four. HANDOFF_JEV=1 puts the Jev pre-pass back if you want to compare on your own sessions with evals/compaction/run_eval.py.

Show full SKILL.md (298 more words)Show less

When this skill is still the right tool

When the size is fixed and something has to go: a small local writer, a context you cannot grow, a digest for a person to skim. There, choosing turns with Jev beat choosing them by recency.

  1. Get the transcript as a list of {role, content} messages. On Hermes: hermes sessions export --session-id <id> --format jsonl -.

  2. Select:

    • Hermes: call jev_compact_select with messages.

    • Anywhere else:

      bash
      jev compact-select --digest < transcript.json      # {"messages":[...]} or a bare list
  3. Write from digest. [KEEP VERBATIM] lines go in unchanged. [background] lines are clipped already; treat them as context, not as the record.

  4. The digest is cut to its last 24,000 characters by default, oldest first, keep lines included. Pass a larger limit if early keep lines matter.

Guarantees

  • The last six messages are always kept (keep_last); system messages are always kept.
  • Nothing is dropped unless Jev was confident (0.7+). An unjudged turn is marked summarize, never drop. Summarize still means clipped to 400 characters.
  • Turns that look like they hold a secret are not sent to Jev.
  • Jev down: every turn comes back summarize. That is a worse input than the plain transcript, so on status: "fail_open" use the plain transcript instead.
  • status: "partial" means some batches answered and some did not; the ids in unjudged sat at the summarize default with nobody judging them. Treat it like fail_open unless unjudged is short and you can see it does not cover the turns you care about. It used to report ok in this case, so one good batch hid every failed one.

When to compact at all

should_compact is arithmetic, not a model call: compact at 60% of the window, urgently at 85%. Do not ask a model whether the window is full.

© kerpopule, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/jev-compaction of kerpopule/hermes-jev-skills.

Open the folder on GitHubat commit dddaa39

Compare with similar skills

Jev Transcript Compaction next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jev Transcript Compaction compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jev Transcript Compaction this skillkerpopule/hermes-jev-skills1k—~1.2kAutomated safety check: PassMIT
Memori Long-Term MemoryMemoriLabs/Memori17k—~2kAutomated safety check: NotesCustom licence
Planning with FilesOthmanAdi/planning-with-files27k—~2.9kAutomated safety check: PassMIT
User Thoughts Memorysickn33/agentic-awesome-skills47k1 repos~2.5kAutomated safety check: PassMIT
Planning With FilesOthmanAdi/planning-with-files27k—~3kAutomated safety check: PassMIT
Harness Engineering10xChengTu/harness-engineering1021 repos~1kAutomated safety check: PassNone

Similar skills

  • Memori Long-Term Memory

    MemoriLabs/Memori

    Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.

    17k GitHub stars~2k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check: notes
  • Planning with Files

    OthmanAdi/planning-with-files

    Keeps a task plan, findings and progress log in markdown files on disk so long agent tasks survive context resets, with Gemini hooks and helper scripts.

    27k GitHub stars~2.9k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Agent WorkflowsAuto-check passed
  • Planning With Files

    OthmanAdi/planning-with-files

    Keeps a task plan, findings and progress log as Markdown files in the project so long multi-step agent work survives context resets.

    27k GitHub stars~3k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Harness Engineering

    10xChengTu/harness-engineering

    Set up and improve harness engineering (AGENTS.md, docs/, lint rules, eval systems, project-level prompt engineering) for AI-agent-friendly codebases.

    102 GitHub starsUsed in 1 repo~1k tokens
    Agent WorkflowsAuto-check passed
  • Planning with Files for Kiro

    OthmanAdi/planning-with-files

    Keeps task_plan.md, findings.md and progress.md on disk as the agent's working memory for multi-step work, wired into Kiro steering, with no hooks.

    27k GitHub stars~2.1k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from kerpopule/hermes-jev-skills

All 10 skills in this repo
  • Jev Browser Use

    kerpopule/hermes-jev-skills

    Drives web pages that need interaction, letting Jev choose one action at a time from observed page elements under a host allowlist and step budget.

    1k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Jev Desktop Computer Use

    kerpopule/hermes-jev-skills

    Drives desktop GUI apps and OS dialogs by letting Jev pick the next action from a menu of safe actions the agent built, with a Mac Co-Agent shortcut.

    1k GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Jev Model Routing

    kerpopule/hermes-jev-skills

    Routes a turn or delegated task to the cheapest model and effort lane that will still do it right, using the Jev decision model to classify difficulty and escalate only when needed.

    1k GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Jev Key Setup

    kerpopule/hermes-jev-skills

    Connects the Jev decision model by storing a TypeSafe, OpenRouter, Venice or OpenCode Zen key with jev setup-key, so the key never passes through the agent.

    1k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check: notes
  • Jev Skill Selector

    kerpopule/hermes-jev-skills

    Ranks a large catalog of installed skills against the current request through the Jev service, and can conclude that no skill applies.

    1k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Frontier Model Handoff

    kerpopule/hermes-jev-skills

    Chooses which paid frontier model seat should take a task already judged hard, hands it off with proper context, and keeps a watch on the delegated run.

    1k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: warnings

Categories

Questions about Jev Transcript Compaction

What does Jev Transcript Compaction do?

Uses Jev to mark each transcript turn keep, summarize or drop when cutting a conversation to a fixed size, with measured results on handoff quality. Jev cannot write a summary; it can only mark each turn of a transcript as keep, summarize or drop. Keep covers decisions, constraints, preferences, unfinished work and exact values that later work depends on, summarize covers background whose gist matters, and drop covers chatter, superseded attempts and repeated output.

When should I use Jev Transcript Compaction?

Jev Transcript Compaction fits situations like: cutting a long transcript to a fixed size and choosing which turns to keep; deciding how to write a session handoff note; marking turns as keep, summarize or drop before compaction.

How do I install Jev Transcript Compaction in Claude Code?

Run `npx skills add kerpopule/hermes-jev-skills --skill jev-compaction -a claude-code`. Or copy the skill folder (skills/jev-compaction in kerpopule/hermes-jev-skills) into .claude/skills/jev-compaction in your project. Claude Code loads it when a task matches its description.

How do I install Jev Transcript Compaction in Codex?

Run `npx skills add kerpopule/hermes-jev-skills --skill jev-compaction -a codex`. Or copy the skill folder (skills/jev-compaction in kerpopule/hermes-jev-skills) into .agents/skills/jev-compaction in your project. Codex loads it when a task matches its description.

Can I use Jev Transcript Compaction in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kerpopule/hermes-jev-skills --skill jev-compaction -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jev-compaction, .gemini/skills/jev-compaction, .github/skills/jev-compaction and .opencode/skills/jev-compaction in your project.

What does Jev Transcript Compaction need to run?

SKILL.md names no scripts, command-line tools or credentials: Jev Transcript Compaction is instructions for the agent only.

Does Jev Transcript Compaction access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Jev Transcript Compaction safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jev Transcript Compaction use?

Jev Transcript Compaction is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jev Transcript Compaction use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jev Transcript Compaction?

Skills that share tags, products or a category with Jev Transcript Compaction: Memori Long-Term Memory (MemoriLabs/Memori, 17k stars), Planning with Files (OthmanAdi/planning-with-files, 27k stars), User Thoughts Memory (sickn33/agentic-awesome-skills, 47k stars) and Planning With Files (OthmanAdi/planning-with-files, 27k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jev Transcript Compaction?

kerpopule (a GitHub user) maintains it in kerpopule/hermes-jev-skills, which has 1,046 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: kerpopule/hermes-jev-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.