One plugin surface
Install the packaged Codex plugin and let its systemMessage appear at the Stop boundary.
Bookshelf for Codex + Claude Code
Instead of staring at another tool call, meet one useful thought every few completed turns—a quiet quote chosen to add perspective without stealing your focus.
Useful waiting, by design
Bookshelf counts completed turns locally and stays quiet until its cadence is due. Then it surfaces one compact quote through the same Stop-hook path packaged for Codex and Claude Code.
$ bookshelf quote --intent refactor
“Do nothing which is of no use.” — Miyamoto Musashi, The Book of Five Rings
$ bookshelf feedback up|down
refactor maps to simplicity, discipline, and focus.bookshelf feedback up|down adjusts a future local pick; it does not report a task back to a service.Bounded by design
Bookshelf accepts an explicit intent or a bounded host metadata label only. It does not accept or inspect commands, paths, prompts, transcripts, code, tool arguments, model output, or network calls.
The library behind the moment
The interactive terminal library, search, reading lists, and on-demand quote command are there when you want them. They support the ambient moment; they are not the point of it.
Where it meets you
The plugin packages the same fail-soft Stop hook for Codex Desktop, Codex CLI, and Claude Code. Pi and Hermes adapters are included too, but the central experience is simple: while your agent works, the waiting gives something back.
Install the packaged Codex plugin and let its systemMessage appear at the Stop boundary.
The validated plugin declares the same optional Stop adapter for Claude Code sessions.
Both install the canonical skill and their native end-of-turn adapter.
No prompt, transcript, code, command, path, tool argument, or model output is sent anywhere.
Actual Claude Code 2.1.217 session · Opus 4.8
A 10.6-second cut accelerates the setup, then zooms and holds the quote for four seconds.
In the disposable rewrite-prod-in-rust-by-lunch Rust project, an authenticated Claude Code 2.1.217 session with Opus 4.8 reads the real README and source, changes rollback_window_minutes from zero to 30 minutes for risky deploys, and runs the real Cargo test suite with both tests passing. Claude adds its own dry rollback joke. The actual Bookshelf Stop hook then displays: “The darker the night, the brighter the stars.” — Fyodor Dostoevsky, Crime and Punishment. The source capture is played at 1.25× with long waits capped; the hero edit further compresses the work and gives the quote a four-second highlighted hold. Because the public plugin is Stop-only, the demo truthfully shows one quote per completed response; no extra quotes are synthesized.
Make the waiting useful