← All projects
Skills, Hooks & Making Claude Yoursadvanced · ~130 min

Stop Re-Explaining Your Own Project — a Live Briefing Layer Built From SessionStart and UserPromptSubmit Hooks

Why do you keep typing the same four sentences at the top of every session — that you are on the staging branch, that there are uncommitted changes in the migration folder, that the dev server is already running on the port Claude is about to fight over?

CLAUDE.md solved the half of that problem that never changes: your rules, your conventions, your standing instructions. It cannot solve the other half, because the other half is different every hour. A static file cannot tell Claude which branch you are on right now, and a model that guesses wrong about your current state does confident, plausible, wrong work — it rebases the branch you were about to push, or restarts a server that was already up. This project builds the missing layer: a small, dated, deliberately silent briefing that your own machine collects and hands to Claude at the start of every session, plus a second layer that volunteers one extra fact only when what you typed shows you need it. The interesting engineering is not the pipe, which takes ten minutes. It is the restraint — a budget, a freshness label on every fact, a rule that says the briefing may never contain a secret, and a proof that a crash in your own collector cannot take a session down with it.

🤝 Want this built for you? Start a request — our AI scopes it, estimates a price range, and matches you with a vetted AI Advisor.
Share this:
Stop Re-Explaining Your Own Project — a Live Briefing Layer Built From SessionStart and UserPromptSubmit Hooks
Unlock this walkthrough

Two ways to open it

Just this build
$10 one-time

Unlocks this full walkthrough on your account — no subscription, and no account needed until you check out.

Best value Over 160 projects + the full course
$99 / year

Over 160 project walkthroughs, the 6-week course, and your certificate.

🔒 Secure checkout by Stripe · Already a member? Sign in

What you'll do

A committed, tested briefing layer for one real repository that you own end to end: a fact table stored as data, where each row declares one live fact, its collector command, its freshness tier, and the literal phrases that make it relevant; a collector that runs those commands with a per-fact timeout and writes an atomically-replaced cache, so no reader ever sees a half-written briefing; a SessionStart hook that posts the always-on facts into Claude's context on startup, resume, clear, and compaction, with every value carrying its own age; a UserPromptSubmit hook that stays completely silent by default and volunteers an on-demand fact only when your prompt contains one of its declared trigger phrases — matching by literal comparison, never by regex from a data file and never by interpolating your prompt into a shell command; a Stop hook that refreshes the cache once per turn so the prompt path stays off the critical path; a hard character budget on both injections that sits far below Claude Code's own 10,000-character cap, because injected context is paid for on every later turn; an offline fixture harness that asserts valid JSON, the correct hookEventName, budget compliance, silence on an unrelated prompt, graceful behavior with no cache at all, and — the assertion that matters most — that a canary string planted in a fixture .env file never appears in the cache or in any hook's output; five completed failure drills covering a crashing collector, a hanging collector, an oversized injection, a non-git directory, and a trigger phrase that used to fire on the wrong prompts; a proven post-compaction re-injection; and a documented one-line off switch plus a rollback you have actually used.