mcpbeat Sign in

Ca Prune Skill for Claude

Trim transcript clutter to extend session lifetime — analyze, prune a copy, or toggle the after-each-turn service. Dry-run by default; gains land at resume/compaction, not the current turn.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
138
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-prune

The instruction itself

5 sections, as written by the author

/ca-prune — session transcript pruner

Long sessions die when their semantic history fills the context window with bulk: oversized tool

outputs, thinking blocks, MCP/shell noise, stale file reads, and host-specific sidecars. The shared

policy trims that bulk at safe quiescence boundaries while each host codec preserves its native

integrity model and the K most recent tool-bearing turns verbatim. Claude keeps byte-safe JSONL

serialization; Pi uses semantic entries and returns a native custom-compaction result.

Gains land at the host's next native resume/restart or compaction boundary, not by mutating the

running session's active file. Pi-native compaction is event-driven and never rewrites an active

Pi session file.

Argument

$ARGUMENTS is one of:

  • status (default) — report cumulative reduction and service state for this session from

~/.codearbiter/prune-state.json, and whether CODEARBITER_PRUNE is on/dry/off. When

the service has run in dry mode, every would-be prune is also recorded — one JSONL row per

decision, across all sessions — to the shared data-collection log

~/.codearbiter/metrics/prune-dry.jsonl (override with CODEARBITER_PRUNE_METRICS). That log is

the evidence base for the dryon decision: a clean record (every row verdict: dry-run,

validation_errors: 0) over a representative set of sessions is the signal that enabling is safe.

Read context_bytes_freed / context_est_tokens_freed for model-context benefit and

file_bytes_freed / file_pct for disk and resume-parse benefit. sidecar-collapse is explicitly

file-only; it must not count toward the context-benefit or cold-cache decision.

The legacy freed_bytes, pct, and est_tokens_before / est_tokens_after fields remain

whole-file compatibility aliases; do not use them as model-context evidence.

  • dry — create a read-only semantic plan (or analyze a scratch copy where the host exposes a

serialized transcript); present the per-strategy reduction table with every strategy labeled

context or file-only. Never writes the active session.

  • run <path> — prune the target with --execute. Targets a **copy or an old/inactive

transcript only** — the tool refuses an active or recently-modified target by construction.

  • audit <path> — read-only integrity report: line-parse, uuid chain, tool-pair coverage,

condensation markers.

  • on / off — guidance on enabling or disabling the after-each-turn service.

Flow

  • status / dry / audit — run the backing tool and present its output verbatim:
   python3 "<plugin-root>/hooks/prune-transcript.py" <subcommand> [<path>] || python "<plugin-root>/hooks/prune-transcript.py" <subcommand> [<path>]

For serialized hosts, dry analyzes <path>.copy.jsonl; Pi active sessions use the native

semantic planner and return a custom compaction result without session-file writes.

  • run — confirm the path is a copy or an inactive session, then:
   python3 "<plugin-root>/hooks/prune-transcript.py" <path> --execute [--tier T] || python "<plugin-root>/hooks/prune-transcript.py" <path> --execute [--tier T]

Present the per-strategy reduction report; follow with audit on the result.

  • on/off — explain the after-each-turn service: UserPromptSubmit and PreCompact hooks

prune at safe quiescence points, always exit 0, and never block the prompt. Tiers: gentle

(sidecar + oversize clamp), standard (+ reasoning fold, aged/MCP/shell), aggressive

(+ stale-read, reminder dedup, image evict). Config via CODEARBITER_PRUNE (off|dry|on,

ships off), CODEARBITER_PRUNE_TIER, CODEARBITER_PRUNE_KEEP_RECENT (the K most recent

tool turns kept verbatim — each turn is an assistant tool_use plus its results),

CODEARBITER_PRUNE_MAXBYTES. Enabling is the user's explicit choice — never set it unbidden.

In dry mode the service writes no transcript but appends each would-be prune to

~/.codearbiter/metrics/prune-dry.jsonl (path override: CODEARBITER_PRUNE_METRICS) for

data collection; in on mode the executed prunes are recorded in ~/.codearbiter/prune.log.

If a prior service-mode prune was killed mid-write, the next run self-heals the transcript

from the newest backup in ~/.codearbiter/prune-backups/ before doing anything else.

Cold-miss nudge [Feature Forge — preview]: when CODEARBITER_PRUNE is on, an

optional submit-time speed bump warns once before a cold cache re-cache lands on bloated

context. Enable with CODEARBITER_PRUNE_NUDGE=on (default off). When all arming conditions

hold (idle ≥ CODEARBITER_PRUNE_NUDGE_IDLE_SECS, default 240 s; estimated model-context

tokens freed ≥

CODEARBITER_PRUNE_NUDGE_MIN_TOKENS, default 80 000), the hook blocks the submit once with

an advisory on stderr and returns exit code 2. File-only sidecar reduction never arms it. The

advisory names the approximate avoidable context-token count and the host-native actions that

move the re-cache to pruned context:

native compaction or a normal exit + resume/restart. Resubmitting immediately proceeds. The block fires at most

once per cold window; a subsequent warm submit (idle < floor) resets the window so the next

genuine cold stretch re-arms. The gate is strictly opt-in, never fires in dry/off mode,

and fails open on any error — a pruner fault will never block the session.

When NOT to use

  • Context bar nowhere near compaction — the most recent turns are protected anyway.
  • Install health → /ca-doctor.
  • Project progress → /ca-status.

Hard gate

  • MUST NOT run --execute against the live session's transcript — the tool refuses a

recently-modified file by construction; manual run targets copies or old sessions only.

  • MUST surface the native-boundary-only gains limitation whenever a user expects an immediate

active-file context drop.

  • MUST NOT enable the service (CODEARBITER_PRUNE=on) on behalf of the user — explain and let

them decide.

Other skills for the same job

different authors, same section of the catalogue
Skill Creator
by anthropics
vendor ×10

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

56k tokens scripts
Skill Creator
by vercel-labs
vendor ×10

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

12k tokens scripts
Skill Creator
by JayZeeDesign
×9

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

10k tokens scripts
Template Skill
by JayZeeDesign
×7

Replace with description of the skill and when Claude should use it.

35 tokens
Dispatching Parallel Agents
by ZhanlinCui
×5

Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

2k tokens
Skill Development
by anthropics
vendor ×4

This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.

9k tokens
Find Skills
by sanity-io
vendor ×4

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

1k tokens
Writing Skills
by ZhanlinCui
×4

Use when creating new skills, editing existing skills, or verifying skills work before deployment

26k tokens scripts

How to use it

Copy the folder

Take arbiterforge/ca-prune from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.