Skip to content

/deadeye-stats

deadeye's decision-log reports in one place -- measured impact, token savings, and per-session context breakdown.

From plugin
deadeye
511 skills3 commands7 hooks
Install
$ npx -y skills add deepaksinghcs14/deadeye-cc --skill deadeye-stats --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/deadeye-stats

Context preview

The summary Claude sees to decide when to auto-load this skill.

deadeye's decision-log reports in one place -- measured impact, token savings, and per-session context breakdown.

SKILL.md

deadeye-stats.SKILL.md
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.

  • The trailing "Real Claude Code usage" block is **measured**, not

estimated — read straight from this project's own Claude Code session transcripts (the same numbers `/usage` renders), not from deadeye's decision log. Keep its scope caveat when relaying it: it's scoped to the CURRENT PROJECT, while every other figure in this report is global across every project deadeye has ever run in on this machine — a real number on a different scope, not a direct reconciliation. If it's missing (best-effort: Claude Code's transcript format/layout is undocumented), fall back to suggesting a manual `/usage` check.

**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.

Read more
Ships withdeadeye

Claude Code plugin that fits the model, effort, and context to each task — fewer tokens, same quality. Deterministic policy kernel in the hooks; every number it reports is measured, not estimated.

Get the whole plugin, auto-invoked
Stats
5
Stars
1
Forks
Active
Maintenance
Go
Language
MIT
License
2d ago
Last commit
1mo ago
Created

Repo: deepaksinghcs14/deadeye-cc

Other skills on deadeye.