tufte — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tufte (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
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.
The central tenet: "Above all else, show the data." — VDQI, p. 92
Every design decision flows from this. If a mark, color, grid line, or label helps the viewer understand the data, it earns its place. If it doesn't, it should be erased.
Read the user's intent and enter the right workflow:
Both workflows end at the same ship checklist in references/checklists.md.
Before selecting any form, ask:
explicit. What baseline, alternative, or change over time matters?
variation matter?
If the user can't answer "compared to what?" in one sentence, the data question isn't formed yet. Clarify before designing.
Use this decision tree to pick the right chart type. When in doubt, default to the simpler, more honest form.
| Goal | Recommended form | Avoid |
|---|---|---|
| Relationship between 2 continuous variables | Scatterplot (range-frame axes) | Pie chart |
| Change over time, one series | Line chart (no fill, labeled endpoints) | Bar chart with 3D |
| Change over time, many series (compare shape) | Small multiples | Spaghetti overlay |
| Change over time, very many series | Sparkline table | Single overloaded chart |
| Distribution, n < 50 | Dot plot or strip plot | Histogram (too coarse) |
| Distribution, n ≥ 50 | Histogram or density curve | 3D bar chart |
| Ranking / comparing magnitudes | Horizontal sorted bar chart | Pie chart, 3D bar |
| Part-to-whole | Sorted bar or dot plot showing shares | Pie or donut |
| Geographic distribution | Map with proportional symbols or dots | Choropleth (use only for rates) |
| Many variables, same subjects over time | Parallel coordinates or slopegraph | Radar chart |
| Exact values across categories | Table | Any chart when n < 20 |
| Compare many time-series simultaneously | Image quilt / sparkline matrix | — |
When to use a table instead of a graph:
When to use small multiples: The instant you ask "how does this pattern change across conditions, time periods, or categories?" — and you can't answer it in one panel without overlapping lines or a legend — switch to small multiples. Same design, same scale, same encoding across all panels. Differences encode data, not format.
For deeper decision-tree rationale and Tufte exemplar per branch, see references/chart-decision-tree.md.
Graphical integrity is not optional. A graphic that lies wastes the viewer's time and destroys trust.
Lie factor target: 0.95–1.05
Lie Factor = (size of effect shown in graphic) / (size of effect in data)Check:
proportional to the numerical quantity it represents.
depth cues on 2D data.
Nominal units in a multi-year chart almost always mislead.
dimensions. A 2D shape to encode a 1D quantity inflates by the square (area ∝ value²); a 3D icon inflates by the cube.
Data-Ink Ratio = data-ink / total ink = 1 − (proportion erasable without data loss)Target: maximize toward 1.0, within reason.
Five data-ink heuristics:
Erasing principles in practice:
Grid lines should be muted, lighter than any data element.
A dot plot encodes it once. Prefer dots.
across the actual data range. Removes ink that implies data that doesn't exist.
Chartjunk — the three species to eliminate:
| Species | Description | Example |
|---|---|---|
| Moiré vibration | Hatching, cross-hatching, fine fill patterns | Diagonal-stripe bars |
| Heavy grids | Grid lines dominating over data | Grid thicker than data lines |
| Graphical ducks | Decoration overriding data; design > signal | 3D bars, novelty shapes, pictograms sized to encode quantity |
Never fill bars, areas, or backgrounds with patterns (stripes, hatching, cross-hatching). Zero chartjunk is almost always better than a graphic with even small amounts.
Every graphic has visual strata. Assign weight to reflect informational importance:
Grid lines (if any), axes, borders.
page should be the data itself.
but clearly legible. Annotate directly on the graphic; never force the viewer to cross-reference a legend.
The 1+1=3 effect (Albers): When two visual elements share a surface, they generate not just themselves but also an incidental third element — the interaction between them. This interaction is almost always noise. Manage it through contrast of weight and saturation.
Table design: avoid ruled grids where possible. "Tables should not look like nets." Use white space to separate columns; use thin rules only when columns are too narrow to separate by space alone.
Work through these five checks in order. Produce findings for each.
quantity. LF > 1.05 or LF < 0.95 = substantial distortion.
dimensions?
Name every species present:
Ask the eraser test for every non-data element: "If I remove this, does the viewer lose information not conveyed elsewhere?"
Common eliminations:
clearer? Use small multiples whenever comparing shape across conditions matters more than comparing precise values at a moment.
single number without context?
Apply the 4-use framework — each color element should serve exactly one role:
| Role | Function | Rule |
|---|---|---|
| Label | Distinguish categories | ≤ 8 categories; use hue not lightness |
| Measure | Encode continuous variable | Sequential palette, never rainbow |
| Represent | Mimic natural appearance | Blue for water, green for vegetation |
| Decorate | Beauty/attention | Sparingly; small areas; against muted ground |
Red flags:
cyan-blue transitions)
at same lightness → Albers vibration)
Structure every critique as:
misses or could add
layout) in plain language or ASCII. Cite the Tufte exemplar this should aspire toward.
Structure every design recommendation as:
compared to Y"
this data, which principle governs the choice
are direct, no grid because…)
why
Six principles of graphical integrity (VDQI, pp. 53–87):
effect in data.
Five data-ink heuristics (VDQI, pp. 91–105):
Color (4 purposes — EI, p. 81):
Label → ≤ 8 hue categories | Measure → sequential palette, never rainbow Represent → natural associations | Decorate → small areas, muted ground only
Sparkline rules (SFE, pp. 22–33):
| Anti-pattern | Quick fix |
|---|---|
| 3D bar / pie chart | 2D sorted horizontal bar or dot plot |
| Pie chart for ranking | Sorted horizontal bar chart |
| Spaghetti multi-line | Small multiples, one series per panel |
| Legend requiring eye travel | Label data directly |
| Heavy grid dominating data | Remove grid or use hair-thin gray lines |
| Rainbow palette on continuous data | Sequential single-hue or diverging palette |
For the full catalogue with lie-factor examples, chartjunk species anatomy, and color misuse patterns, read references/anti-patterns.md.
When evaluating or designing, anchor judgment to these five exemplars from Tufte's canon. They represent the ceiling of what graphic design can do for data.
latitude, longitude, direction, date, temperature) in one image. No chartjunk, no legend needed, the graphic tells its own story. Aspire here when handling multivariate narrative data.
date. Sequential observation proves mechanism (sun's rotation) through accumulation of constancy-of-design panels.
departure minute-digit IS the frequency distribution. Same ink serves exact lookup AND aggregate pattern simultaneously.
deployed simultaneously (label, measure, represent, decorate) with Imhof discipline: strong colors only on small extreme areas; muted tones on large calm areas.
states × decades; 1963 vaccine introduction appears as a near-universal color phase transition. The viewer sees not just that vaccination worked, but that it worked everywhere, consistently. This is visual causality evidence.
Full analysis of why each works in references/exemplars.md.
Load the relevant reference file when you need deeper detail:
| File | Load when |
|---|---|
references/principles.md | You need the full definition, formula, and page citation for any principle |
references/chart-decision-tree.md | User is choosing between chart types; you need rationale beyond the table above |
references/color.md | Detailed palette choices, Imhof rules, specific color-by-data-type guidance |
references/anti-patterns.md | Full catalogue of lie factor violations, chartjunk anatomy, color misuse |
references/exemplars.md | Deep analysis of why the five canonical exemplars work |
references/checklists.md | Ship-check before handing off a design or critique |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.