0point9bar / TLDR · MIT

Verdict first.
Filler never.

TLDR is an output-style instruction for AI coding agents: a 1,892-byte prompt plus an installer for Claude Code, Codex, Gemini, Cursor and 30+ agent CLIs. Prose gets shorter. Tools, code, paths, and safety text stay exact.

npx -y github:0point9bar/TLDR
1,892 B
the whole prompt
37
agent CLIs supported
0
dependencies
$0
MIT licensed
accuracy: not measured
01 · The demo

Same answer. Fewer tokens.

An illustrative example of the compression style — not a benchmark result. Filler is struck; the technical payload survives untouched.

payload: React re-render diagnosis illustrative: 69 → 19 tokens
"The reason your React component is re-rendering is likely because you're creating a New object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a = new ref = re-render. I'd recommend using Wrap in useMemo to memoize the object."
02 · The numbers

Measured, then labeled honestly.

Prose-output reduction from the v0.13.1 benchmark run — 5 agent CLIs × 15 prompts, tokenized with tiktoken o200k_base, prose outside code fences only. The current, tighter prompt has not been rerun through the full suite, so every figure below is historical. Method & caveats: data/benchmarks.md.

⚠ historical bench — earlier prompt generation, output tokens only
agent CLIprose-token reductiontokens (tldr/base)
gemini133/1008−87%
pi153/967−84%
claude119/599−80%
cursor (agent)140/640−78%
droid136/601−77%

15-prompt suite, v0.13.1 prompt generation. Only the output payload is compressed — input and reasoning tokens are unaffected. Accuracy under TLDR is not measured by this suite.

Where TLDR wins

  • Long, chatty outputs — explanations, reviews, debugging walkthroughs; the historical 60–87% cuts happened here.
  • Long sessions — per-reply savings compound while the fixed per-turn overhead stays flat.
  • Reading speed — shorter replies land sooner; this holds regardless of billing model.

Where TLDR loses

  • Already-terse workloads — the injected rules cost roughly 0.4–1.5k input tokens per turn; save less output than that and you're paying for it.
  • Per-request billing — a shorter answer is the same request; only the reading-speed win survives.
  • Session totals — input tokens dwarf output tokens in agentic coding; never expect the headline % on your bill.

Full cost/benefit table, net-negative cases, and how to A/B it yourself: docs/HONEST-NUMBERS.md.

03 · How it works

One small prompt, strict shapes.

The entire mechanism is TLDR.md — 1,892 bytes of hard caps and answer shapes, with optional skill, hook, and slash-command layers on top for agents that support them.

Hard caps

Default: 1 sentence. Target: 3 words. Max: 6.

No preamble, no recap, no "Sure! I'd be happy to help." A second sentence exists only when the user asks or correctness demands it. Fragments OK; articles dropped; technical terms exact.

Answer shapes
confirm Yes./No.
greeting 1 word
error cause + fix, ≤6 words
code/regex/SQL artifact only
Auto-Clarity

Knows when to stop.

Security warnings, irreversible-action confirmations, and ambiguous multi-step sequences drop compression and get full sentences. Resumes after the unsafe part is past.

Boundaries

Code is never compressed.

Code blocks, commits, PR descriptions, CLI flags, and error strings stay verbatim. TLDR changes prose style only — never tools, logic, reasoning, or safety.

Language

Compresses style, not language.

Replies stay in your dominant language — TLDR never forces an English opening. Code and API names stay verbatim.

/tldr lite

Softer caps for mixed audiences.

default/tldr full

1 sentence, 3-word target, 6-word max.

/tldr ultra

Maximum compression. Verdict only.

/tldr wenyan

Classical Chinese mode. Three tiers.

04 · Beyond the prompt

A full stack, if you want it.

The prompt works alone. Agents with plugin/hook systems can install the rest — each piece optional.

/tldr-stats

Reads your real session log and prints actual input/output token counts, plus a clearly-labeled estimated savings line. Real usage, estimated baseline.

tldrcrew subagents

Investigator, builder, and reviewer subagents whose outputs are tldr-compressed — tool results injected back into your main context are smaller, so long sessions last longer.

hooks + statusline

SessionStart activation, mode tracking (/tldr lite|full|ultra|wenyan, stop tldr), and a [TLDR] status badge for Claude Code.

tldr-shrink (optional MCP)

Proxies your MCP servers and compresses tool descriptions only — trims the schema overhead every turn pays for.

05 · Install

Two paths. Both under a minute.

Prompt-only needs no Node. The full installer detects your agents and wires plugins, hooks, and skills per agent. Full docs: docs/INSTALL.md.

npx -y github:0point9bar/TLDR -- --all

Node ≥ 18. Auto-detects installed agents; --all adds hooks + per-repo init + optional extras. node bin/install.js --list prints the 37-agent matrix.

curl -fsSL https://raw.githubusercontent.com/0point9bar/TLDR/main/install.sh | bash -s --

No Node required. Writes TLDR.md to seven standard agent config paths and installs /tldr where supported. Preview the script first — it's short.

for p in ~/.claude/CLAUDE.md ~/.gemini/AGENTS.md ~/.codex/AGENTS.md \
         ~/AGENTS.md ~/.config/opencode/AGENTS.md \
         ~/.factory/AGENTS.md ~/.pi/agent/AGENTS.md; do
  [ -f "$p" ] && grep -q "^## Prime directive" "$p" && echo "✓ $p" || echo "✗ $p"
done  # verify
/plugin marketplace add 0point9bar/TLDR
/plugin install tldr@tldr

Inside Claude Code. Ships the skill suite, slash commands, and hooks as a plugin; /tldr then toggles the mode live.

irm https://raw.githubusercontent.com/0point9bar/TLDR/main/install.ps1 | iex

PowerShell shim into the Node installer. If it fails, the manual path is documented in docs/install-windows.md.