plot — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited plot (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run benchmark/bin/plot.js from the project root. It reads an analyzer output directory (the --out dir you gave benchmark/bin/analyze.js) and writes TWO SVGs to a charts directory. No dependencies — pure Node + string templating, so it runs anywhere clawback runs.
node benchmark/bin/plot.js --in runs/smoke --out runs/smoke/charts--in must contain summary.json and report.csv (run .skills/bench first). The SVG is written to --out.
Both SVGs draw the same figure — cumulative billable input tokens over turns, two lines (passthrough baseline vs clawback) with the gap between them shaded. The shade is honest about direction: green when clawback's line ends below passthrough (it spent fewer full-rate tokens — a real saving), red when clawback ends above (it spent more — a regression we never hide). The chart carries no per-turn reclaim callout; the report hero overlay owns that figure now, so a chart copy would only collide with it.
tokens_saved.svg — the labeled, on-screen chart: legend, axes, ticks,and the title "Token Efficiency". This is what the report GUI shows.
tokens_saved.bg.svg — the BARE share-card background: a 1200×630 whitecard with just the two lines + the filled wedge, zero `<text>`. The report GUI inlines this behind the scrim to build the downloadable / shareable PNG. Missing it ⇒ the share PNG is a solid card with no chart lines. (Backfill old runs that predate it with .skills/finish --all.)
One figure on purpose: the product story is "how many more tokens can you spend, because clawback saves your quota" — not a dashboard of stats, and never a dollar figure. Billable input = input_tokens + cache_creation_input_tokens (the full-rate buckets); cache_read is the discounted reuse and is excluded. Cost lives only in the analyzer's report.md appendix; it is never plotted.
The win is conditional on idle gaps: on a tight loop the baseline caches well too, so the gap trends to ~0 (no regression); it widens as gaps cross the 5-min / 60-min eviction boundaries. Read the chart by regime, never as one context-free number.
The charts are a pure function of summary.json + report.csv; re-rendering the same analyzer output yields byte-identical SVGs.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.