What was built
Ethan has ~600 custom tools in ~/.claude/tools but no idea which ones have actually run in the last 90 days — dead scripts still consume systemd timers, mental overhead, and get 'improved' by agents that will never be invoked. This weekly job cross-references every tool binary against shell history, systemd journal invocations, cron/timer units, and other tools' source that reference it, then emits a ranked 'orphan list' with a one-tap archive action on the tablet. It's the inverse of tool-sprawl-sentinel: instead of warning about new tools, it retires old ones.
How it works
Create ~/.claude/tools/tool-half-life (bash, ~90 lines). For each executable in ~/.claude/tools: (1) last-invocation timestamp via `journalctl --since=-90d --no-pager -o cat | grep -c ""` plus `grep -rl ~/.bash_history ~/.zsh_history`; (2) inbound references via `grep -rl "" ~/.claude/tools ~/.claude/skills ~/.claude/agents /etc/systemd/system ~/.config/systemd/user`; (3) mtime age. Score = 0 invocations AND 0 inbound refs AND mtime > 90d => ORPHAN; refs-only => LATENT. Write JSON to ~/.claude/state/tool-half-life.json, then render a markdown card to ~/Tablet/briefs/tool-half-life-$(date +%F).md via the existing tablet-sync path, formatted for stylus-reply-router so circling a tool name and writing 'archive' triggers `git mv` into ~/.claude/tools/.graveyard/ (reusing tool-graveyard-reaper's directory). Schedule with a systemd user timer, Sundays 07:00, wrapped in cron-capped. Diff against last week's JSON so the card only shows newly-orphaned tools after the first run.
Build status
Build timed out after 5 minutes