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.json→hooks.SessionStartwires 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)