Ambient context layer · Claude Code & Codex

Agents that
read the room.

The missing input is not another instruction. It is the room around the prompt.

user_state · live
now reading
Converge · vibe: aggressive, energetic · pace fast
macOSalpha
The premise

Your prompt is not the whole ask.

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 your agent that missing layer: ambient signals, a self-reported state, four simple dials, and a lens for reading what you meant.

Claude Code and Codex are the alpha surfaces. The product is the context layer underneath them.

The difference

Same prompt, different room.

"how should I structure the retry logic?"

Without Cadence

The survey.

Every prompt reads the same. Four options, a trade-off table, and a closing "Would you like me to implement one of these?"

Shipping cadence

The call, made.

Hardcore at 3 commits/hr, a "let's ship it" in your own words. Exponential backoff with jitter, three attempts, here's the diff, tests pass.

Thinking cadence

Room to explore.

Ambient music, "thinking through tradeoffs" — said to it, or just visible in how you're working. Options laid out patiently, no pressure to pick yet.

Same words. The room around them changed, and the agent finally saw it. No setup — your prompt, your music, and your repo are already signals. Install it and feel the difference in two minutes.

How it works

Signals in. A reading out.

01 — Signals

Read the room.

Your prompt's own intent, music, git state, time, prompt rhythm, a meeting twelve minutes out — and whatever you tell it: "two beers, shipping." Anything privacy-adjacent stays off until you opt in. Pause it all with one command.

02 — Dials

Four knobs, not one mode.

Pace, tone, posture, proactivity — each inferred independently, or pinned by hand, globally or per repo. High-energy-but-mellow reads as fast pace, warm tone. No single label could.

03 — Reframe

A lens, not a leash.

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 — and an opt-in tune report shows which nudges you actually push back on.

Cadence dialsinferred · advisory
Pace fast
Tone warm
Posture steady
Proactivity act freely

Four independent dials — a signal usually moves one, not all four. The mix is the point.

Transparency

What the agent actually sees.

Every prompt carries a state block. Inspectable. Diffable. You always see exactly what your agent saw.

injected · UserPromptSubmit
<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 }
    intent: ship (read from your prompt)
  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>
Get started

Try it.

Cadence ships as a plugin for Claude Code and Codex. A few commands to install, then one skill to see what Cadence sees.

claude code
> /plugin marketplace add cullumco/cadence
> /plugin install cadence@cadence
> /reload-plugins
> /cadence:setup
codex
$ npm install -g @cullumco/cadence

> use cadence — read the room

Richest signals on macOS (alpha) — Linux reads music and battery too, and every platform keeps the dial-movers. Claude Code injects context ahead of every prompt; Codex picks it up on request via the cadence skill; any other harness can inject cadence envelope output the same way. /cadence:setup is a short conversation, not a wizard. /cadence:pause is instant silence. Everything else is in the README.

The larger bet

One channel of many.

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.

And an ambient layer only works in the open. Something that reads your room and whispers to your agent on every prompt earns trust one way: you can read every line of it. MIT, one small codebase, signals off until you opt in, one command to silence it all — and a README that is the actual manual, not the brochure. The repo is the spec.

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.