deadeye-stats · git:20260902.3a6be38 · 2026-09-02 · sha256 ebce729709f3ce47
deadeye-stats git:20260902.3a6be38A
Immutable. This exact content is served forever at /api/v1/blob/ebce729709f3ce47.
--- name: deadeye-stats description: deadeye's decision-log reports in one place -- measured impact, token savings, and per-session context breakdown. license: MIT argument-hint: "[savings|context|impact] [session-id]" --- # Deadeye Stats One entry point for the three reports deadeye computes from its decision log (`~/.deadeye/decisions.jsonl`). Pick a view by the first argument; with none, show the measured-impact scoreboard. - no arg, or `impact` → the measured scoreboard (`deadeye gain`) - `savings` → the full token-savings report (`deadeye audit`) - `context [session-id]` → per-session context-byte breakdown (`deadeye context [session-id]`) `deadeye gain`'s last line is a `file://` link to a regenerated visual report (`deadeye report` under the hood) — relay it as-is, the same as every other figure in this skill. Run the matching binary and present its output **as-is** — every figure comes from the decision log, not an invented aggregate. If the binary reports "command not found", it's almost certainly just not on PATH (deadeye never adds itself to PATH; it resolves its own binary internally for hooks). Retry the self-bootstrap path directly, e.g. `~/.deadeye/bin/deadeye gain`. Only if that also fails is it genuinely not bootstrapped yet (it self-installs on the first hook invocation). If the log is empty, the binary prints its own explanation — relay it as-is and suggest running a task with the plugin active first. ## Honesty boundaries (load-bearing — do not soften) These carry over from the three reports this skill replaces. Keep them exactly when presenting any view: **impact (`deadeye gain`)** - NEVER print a per-repo savings percentage for code that was never written — the unbuilt version has no baseline to subtract from. - Estimates and measurements are labeled differently in the output; keep that distinction. - For per-repo reality, point at `/deadeye-debt` (shortcuts actually taken) and `/deadeye-review --repo` (what's still cuttable, or risky). **savings (`deadeye audit`)** - Decisions per surface and per action are counts from the log. - Preprocessing rewrite figures are per-rule **estimates** (a typical-case constant — PreToolUse runs before the command does, so the real output size isn't known yet). Present them as estimates, not measurements. - Suggest cross-checking against `/usage`'s plugin attribution — that's ground truth for actual token spend. **context (`deadeye context`)** - "Injected by deadeye" figures are real byte measurements taken at injection time. - "Observed arrivals" is a FLOOR, not a session total — only outliers are logged (built-in tool responses over 8KB, every MCP response), so the true arrival total is higher. - "Kept out of context" keeps the estimated/measured split — never blend a per-rule estimate with a measured filtered size. - No id shows the newest session; pass a session id for an older one (an unknown id lists the newest five to pick from). One-shot: do NOT change the coder level or persist anything else. The one exception is `report.html`, regenerated as a side effect of `deadeye gain` -- a disposable cache artifact rebuilt from the same decision log every time (the same doctrine `internal/codemap`'s cache already follows), not persisted session state.