Borrowing it
Nothing to install: this file belongs to chacosoldier/compabob. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/chacosoldier/compabob/main/.claude/skills/chart-tufte/SKILL.mdgit clone --depth 1 https://github.com/chacosoldier/compabobWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/chacosoldier/compabob/chart-tufte)<a href="https://agentmods.dev/skills/chacosoldier/compabob/chart-tufte"><img src="https://agentmods.dev/badge/skills/chacosoldier/compabob/chart-tufte.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00081 | $0.01703 |
| Opus 5 | $0.00041 | $0.00851 |
| Sonnet 5 | $0.00016 | $0.00341 |
| Haiku 4.5 | $0.00008 | $0.00170 |
Grade A, and why
chart-tufte scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chart Tufte
A chart is good when it shows the data, helps the viewer reason about it, and does not lie. Tufte spent a career formalising this. This skill collapses his principles into a self-grade pass that runs on any chart the assistant is about to emit.
Read references/vdqi-catalogue.md first when grading. It holds the named-failures library (NYT MPG 14.8, TIME barrel 59.4, etc.) and the named-exemplars library (Minard, Marey, Playfair, Snow). The catalogue is what makes assessment diagnostic instead of generic.
When to invoke
- Automatically — as the final step inside
visual-explainerwhenever the output is a quantitative chart (bar, line, scatter, area, dot, range-frame). Skip for diagrams (architecture, sequence, flow); those are different beasts. - Explicitly —
/chart-tufte <chart-spec>to score a chart produced elsewhere.
The rubric (run before emitting)
Score each on 0-10. Stop and revise if any score drops below 5.
- Data-ink ratio — does every pixel of ink represent data? Borders, gridlines, redundant legends are non-data ink. Target: tend toward 1.0; typical for default-styled charts is 0.1-0.2 (VDQI p.136).
- Lie factor —
(visual change %) / (data change %). Acceptable range 0.95-1.05. Cite a VDQI named failure if it is worse: TIME's barrel chart hit 59.4, NYT's MPG hit 14.8. - Data density — numbers per square inch. Below 0.15 is overwrought (a single bar showing one number is the canonical sin). High-density alternatives: small multiples, range-frame scatters, tables.
- Chartjunk count — does the chart contain any of the four named species?
- Moiré — vibrating cross-hatch patterns.
- The dreaded grid — gridlines drawn darker than the data.
- The duck — visual gimmick that overwhelms the data (3D pies, gradient-shaded bars).
- Decoration — clip art, icons, mascots in the chart frame. Each chartjunk species costs points.
- Genre fit — is this the right shape for this data?
- ≤20 numbers → table, not chart
- Many series → small multiples (one panel per series)
- 2 quantitative variables → range-frame scatter (axis only spans data min-max)
- Distribution → quartile plot, not bar of mean
- Time series → thin line + direct endpoint labels, no legend
- Dimensionality discipline — does the chart use more dimensions than the data has? A 3D pie chart on 1D data is dishonest by construction. Penalise.
- Direct labelling — are series labelled at their endpoint or inline, not via a separate legend? Legends force the reader's eye to bounce.
- Range-frame discipline — does the axis span only the data range, not 0 to some arbitrary max?
- Comparability — if multiple panels: same y-scale where comparison matters; different scales only when local shape is the question.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 104 lines · 81 tokens per session scan A 37d43c13fcef
chart-tufte is a skill published in the GitHub repository chacosoldier/compabob (32 stars, last pushed 2mo ago), licensed MIT. It adds 81 tokens to every session and 1,703 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
plan-review-experience
Experience-dimension reviewer for written plans (UX + DX). Use when running plan-review or directly when an experience review is wanted. Activate for keywords like "UX review", "DX review", "experience review", "error states", "API ergonomics", "developer experience", "user states". Scores 5 sub-dimensions 0-10…
accessibility-review
Run a WCAG 2.1 AA accessibility audit on a design or page. Trigger with "audit accessibility", "check a11y", "is this accessible?", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.
design-system
Audit, document, or extend your design system. Use when checking for naming inconsistencies or hardcoded values across components, writing documentation for a component's variants, states, and accessibility notes, or designing a new pattern that fits the existing system.
design-critique
Get structured design feedback on usability, hierarchy, and consistency. Trigger with "review this design", "critique this mockup", "what do you think of this screen?", or when sharing a Figma link or screenshot for feedback at any stage from exploration to final polish.
design-handoff
Generate developer handoff specs from a design. Use when a design is ready for engineering and needs a spec sheet covering layout, design tokens, component props, interaction states, responsive breakpoints, edge cases, and animation details.
ux-copy
Write or review UX copy — microcopy, error messages, empty states, CTAs. Trigger with "write copy for", "what should this button say?", "review this error message", or when naming a CTA, wording a confirmation dialog, filling an empty state, or writing onboarding text.