The missing input is not another instruction. It is the room around the prompt.
It doesn't say you are tired but still shipping. It doesn't say you just came back from a long break, or that the repo is clean, or that you want the agent to stop asking permission and make the call.
Cadence gives Claude Code that missing layer: ambient signals, a self-reported state, four simple dials, and a lens for reading what you meant.
Claude Code is the alpha surface. The product is the context layer underneath it.
"how should I structure the retry logic?"
Every prompt reads the same. Four options, a trade-off table, and a closing "Would you like me to implement one of these?"
Hardcore at 3 commits/hr, state: "ship mode". Exponential backoff with jitter, three attempts, here's the diff, tests pass.
Ambient music, state: "thinking through tradeoffs". Options laid out patiently, trade-offs actually explored, no pressure to pick yet.
Same words. The room around them changed, and the agent finally saw it. Install it and feel the difference in two minutes.
Time, weather, battery, Focus mode, git state, prompt rhythm, music, and self-report become visible context. The /cadence:state skill lets you say what you already know: "two beers, shipping."
Pace, tone, posture, proactivity — each inferred independently, or pinned by hand. High-energy-but-mellow reads as fast pace, warm tone. No single label could.
A sentence tells the agent how to read your prompt given the cadence. A conservative Stop hook catches soft endings when you asked it to ship.
Four independent dials — a signal usually moves one, not all four. The mix is the point.
Every prompt carries a state block. Inspectable. Diffable. You always see exactly what your agent saw.
<user_state> signals: music: "You Fail Me" — "Converge" (Spotify) vibe: aggressive, energetic self_report: "two beers, shipping" context: saturday afternoon, rainy, focus on git: clean tree activity: { prompt_len=47 } cadence: # inferred from signals, advisory { pace=fast tone=warm posture=decisive proactivity=act-freely } reframe: read my prompt as someone in this cadence meant it: keep it fast and tight — answer first, trim the preamble; make the call rather than offering a menu of options; act without stopping to check in; keep the tone warm and casual. If my words clearly mean otherwise, follow my words. </user_state>
Cadence ships as a Claude Code plugin. Four commands to install, then one skill to see what Cadence sees.
> /plugin marketplace add cullumco/cadence > /plugin install cadence@cadence > /reload-plugins > /cadence:try
macOS only for the alpha — the signals read the Mac around you. Then set a self-report: /cadence:state shipping, locked in. No Spotify login, no API key — music is read at the OS level when available.
Cadence is part of a larger bet: context surface area is the bottleneck for agentic engineering, not model capability. The prompt is a sliver of what the agent should see.
Kettel argues the same claim from a different angle — structured, multi-author context, ratified by teams before agents execute.
Kettel makes the room. Cadence reads it.