Herdr Auto Warm Cache — Development skill for Claude Code
A herdr plugin that keeps an idle agent's prompt cache warm before the one-hour TTL expires — 20x cheaper than letting it lapse.
How to install Herdr Auto Warm Cache
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open parker-brown-family/herdr-auto-warm-cache and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Herdr Auto Warm Cache does
A herdr plugin that keeps an idle agent's prompt cache warm before the one-hour TTL expires — 20x cheaper than letting it lapse. Asks before it types, and never types into a pane that is waiting on you.
Alternatives in Development
- Mono Color Skill — One-ink editorial print image skill — warm paper, halftone photography, active negative space, and restrained 3k ★
- Investigate Performance — Investigate a Nimbalyst performance problem (freeze, lag, idle CPU, slow op, memory growth) with measured evid 1.6k ★
- Herdr Reviewr — Review your coding agent's diff in a terminal pane and send line comments back to Claude Code, Codex, OpenCode 823 ★
README
Cache Keepalive
**Your idle agents lose their prompt cache after an hour. This types one message into them before that happens.**
A [herdr](https://herdr.dev) plugin. Nothing is ever typed into a pane that is waiting on you, and your focus is never taken.
The problem, in numbers
An agent session's conversation is cached against the exact token prefix the request carries. Reading that cache bills at **0.1×** base input; writing it at the one-hour TTL bills at **2.0×** — and the TTL refreshes every time the cache is read. So a session stays cheap while you are talking to it, and the first message after an hour of silence pays 2.0× on the whole accumulated conversation.
Nothing surfaces this. The turn simply costs twenty times the one before it.
Measured across 32,037 billed turns in thirty days on one machine: **87 cold returns, 24.2M tokens re-written, average gap 5.0 hours.** Three real examples, where a message arrived *just* inside the hour:
| gap | tokens read | paid | cold would have cost |
|---|---|---|---|
| 57.5 min | 341,693 | $0.176 | $3.42 |
| 57.3 min | 510,815 | $0.320 | $5.17 |
| 51.7 min | 570,879 | $0.340 | $5.77 |
Count your own before you install anything:
for f in ~/.claude/projects/*/*.jsonl; do jq -rc 'select(.type=="assistant" and .message.usage != null) | [(.timestamp|sub("\\.[0-9]+Z$";"Z")|fromdateiso8601), (.message.usage.cache_read_input_tokens // 0), (.message.usage.cache_creation_input_tokens // 0)] | @tsv' "$f" 2>/dev/null | awk 'NR>1 && $1-p>3600 && $2==0 && $3>50000 {n++; t+=$3} {p=$1} END{if(n) printf "%d cold returns, %.1fM re-written\n", n, t/1e6}'; done
What it does
| at | what happens |
|---|---|
| 50 min idle | the pane is marked drowsy in a state file, so a bar can badge it |
| 55 min | a notification asks. Nothing is typed yet. |
| 57 min | unanswered, the message is typed and sent in one step |
The notification offers whichever outcome will *not* happen on its own, so the click is never
Related Skills
Claude Prompt Cache Keepalive
Agent skill for Claude Code: keep the 1-hour prompt cache warm while you are away, with a ladder of background
Cache Keepalive
Keeps an idle Claude Code session's prompt cache warm, so the session you come back to does not start cold
Agent Watch
Agent Watch: watch your coding agents from the VS Code status bar: one dot per session (working, waiting or id
Agent Status
VS Code status bar chip showing every running Claude Code agent session: working, waiting or idle
Waybar Claude Status
waybar module showing live Claude Code session status (working / waiting / idle), including background jobs th
Claude Statusline Plus
Claude Code status line segments: whether your prompt cache is still warm and what a cold start costs, and whe
Related Agents
Claudehut DB Reviewer
Persistence and data-access performance review — JPA/R2DBC mappings, fetch strategy, transaction boundaries, m
Adrian
Blocks until a tmux pane is done (pattern match, shell idle, or output idle). Use for any wait that takes more
Worker Apply Opus
Resumable implementation worker for non-SDD work units. Applies multi-file changes from a handoff, absorbs fol