Skip to content

Boot Briefing — since-last.sh

Runs automatically at session start via SessionStart hook. Output is injected into Claude's context before the first user prompt.

What it surfaces

Section Source Filter
Last session memory/daily/*.md entries tagged [Claude Code] most recent
Recent handoffs memory/handoffs/*.md modified in last 7 days
Pending tasks tasks/pending/*.json all
Monitor alerts logs/monitor-*.log only unresolved — alerts after the most recent CHECK:/OK/SUCCESS:/RESOLVED: line in the same log. Stale/recovered alerts are suppressed.
Failed workers logs/worker-*.log last 24h, with error/exception/traceback
Open PRs gh pr list top 5, only if gh is auth'd
Active tmux tmux list-sessions active in last 24h

Design rules

  • Silent-safe: any failure emits nothing rather than breaking session boot.
  • Fast: < 2s wall clock on UDev.
  • No-op when nothing is worth saying — header-only output is suppressed.
  • Markdown pointers only — doesn't dump file contents (keeps context budget tight).

Files

  • scripts/hooks/since-last.sh — the hook
  • .claude/settings.local.jsonhooks.SessionStart wires it up

Edit when

  • You add a new monitor, worker class, or log stream worth surfacing at boot
  • You want a new signal class (e.g. recent commits, failing tests)