default-bash-compress
Turns on RTK's default pipeline with 1 built-in rule changed. Adds nothing else.
Result
Total cost
−6.2%
per trial · quality about the same
Author's benchmark Claude Opus 4.8 · 48 trials per arm
You need
- Nothing extra
Your data
- Stays on your machine
Your agent
- Not instructed
Install pinned to the reviewed version
rtk pipeline add github:aeppling/rtk-pipeline-default-bash-compress@ef1b85b59cb670b70a40a7cb0dbb8e699bb6ba9f Try it first without changing anything
rtk pipeline add github:aeppling/rtk-pipeline-default-bash-compress@ef1b85b59cb670b70a40a7cb0dbb8e699bb6ba9f --shadow
Records what it would have done. Then rtk pipeline eval default-bash-compress shows the numbers; promote or --discard.
Benchmark
| Task | stock Claude Code | default-bash-compress | Change | reward |
|---|---|---|---|---|
| parallel-tfidf-search | $1.37 | $0.92 | −32.5% | 1 → 1 |
| react-performance-debugging | $1.22 | $0.97 | −20.7% | 0.5 → 0 |
| python-scala-translation | $1.22 | $1.01 | −17.5% | 0 → 0 |
| dialogue-parser | $0.37 | $0.32 | −12.2% | 0.75 → 0.79 |
| fix-build-google-auto | $2.11 | $1.91 | −9.6% | 1 → 1 |
| jax-computing-basics | $0.28 | $0.27 | −4.6% | 1 → 1 |
| spring-boot-jakarta-migration | $0.91 | $0.86 | −4.9% | — |
| debug-trl-grpo | $0.59 | $0.63 | +6.4% | 0.42 → 0.25 |
| simpo-code-reproduction | $0.97 | $1.04 | +7.1% | 0 → 0 |
| llm-prefix-cache-replay | $0.63 | $0.68 | +7% | 0 → 0 |
| azure-bgp-oscillation-route-leak | $0.49 | $0.54 | +10.8% | 0 → 0 |
| fix-visual-stability | $1.92 | $2.19 | +13.8% | 0.75 → 1 |
| All tasks, mean per trial | $12.10 | $11.35 | −6.2% | 0.49 → 0.46 |
SkillsBench · Claude Code on Claude Opus 4.8 · 48 trials per arm · Aug 10, 2026. Declared by the author in benchmark.toml, not reproduced by RTK
· Write-up · Per-trial data
How it works
Based on RTK's default pipeline (rtk:default).
Adds no rules of its own.
- Switches the built-in rule
normalizefromrtk:defaulton or off.
pipeline.toml
Exact file at commit ef1b85b, reviewed Oct 25, 2026. Comments are the author's own; numbers in them are self-reported.
View on GitHub
# default-bash-compress — RTK's original behaviour (pre-1.0): rewrite shell commands to their rtk
# equivalent before they run, so the agent reads the filtered output. Nothing else.
#
# What it does
# - PreToolUse hook: `git status` -> `rtk git status`, `cargo test` -> `rtk cargo test`, and so on
# for every command RTK has a filter for; commands without a filter run untouched.
# - The filters drop noise the agent never reads (progress bars, ANSI codes, repeated lines,
# boilerplate) and keep every line that carries signal: errors, test names, paths, diffs.
# - No PostToolUse compression, no delegation, no routing. The output you get is what
# `rtk <cmd>` prints in your own terminal.
#
# Install needs nothing but rtk itself (`rtk init -g` sets up the hook).
#
# Benchmark — SkillsBench, Claude Code on claude-opus-4-8, 12 tasks, 4 trials per arm,
# 2026-08-10, OFF (stock Claude Code) in the same batch, RTK v0.45.0 hook. Mean cost per
# trial, runtime-error trials excluded (see RESULTS.md):
#
# task OFF RTK change
# parallel-tfidf-search $1.37 $0.92 -32%
# react-performance-debugging $1.22 $0.97 -21%
# python-scala-translation $1.22 $1.01 -17%
# dialogue-parser $0.37 $0.32 -12%
# fix-build-google-auto $2.11 $1.91 -10%
# jax-computing-basics $0.28 $0.27 -5%
# spring-boot-jakarta-migration $0.91 $0.86 -5%
# debug-trl-grpo $0.60 $0.63 +6%
# simpo-code-reproduction $0.98 $1.04 +7%
# llm-prefix-cache-replay $0.63 $0.68 +7%
# azure-bgp-oscillation-route-leak $0.49 $0.54 +11%
# fix-visual-stability $1.92 $2.19 +14%
# total $12.10 $11.35 -6.2%
#
# Pooled over all trials: -4.8% (permutation p = 0.305), 7 tasks cheaper / 5 costlier:
# cost-neutral to slightly cheaper. Pass rate 0.49 -> 0.46 over the 11 scored tasks. RTK removed
# about 99 KB (~25K tokens) from 154 rewritten commands in the run. Per-trial rows: results.tsv.
schema_version = 1
[pipeline]
name = "default-bash-compress"
extends = "rtk:default"
# rtk:default also normalizes tool results through the proxy daemon when one runs.
# Off here: this pipeline is the hook alone.
[override.normalize]
enabled = false