agentleFS
KyaniteLabsKyaniteLabs/tastecheck/skills/data-viz/SKILL.md

data-viz

Skill12 starsChanged 11 days agoMITView on GitHub

Honest, Tufte-informed web data visualization. Use for charts, dashboards, metrics, KPI tiles, sparklines, chart accessibility, chartjunk removal, genre choice, lie-factor checks, direct labels, data tables, and themed SVG/HTML.

9 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use deep-research.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • NVIDIASkill

    deep-research

    Queue deep, multi-step research and analysis tasks to the DeepAgents worker. Supports execution depth presets, request-specific rubrics, SubAgent delegation, and RubricMiddleware cross-validation.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use Tufte tooling when present.

    line 13
  2. Distinctive:

    Prefer a table for small exact lookup.

    line 18
  3. Distinctive:

    Before genre, record question, unit, time grain, source, and absent status.

    line 25
  4. Distinctive:

    Use position or length for comparison: Never exaggerate area or volume.

    line 67
  5. Distinctive:

    Kill chartjunk: no heavy gridlines, non-data fills/gradients, drop shadows, decorative imagery, or non-data borders.

    line 72
  6. Very specific:

    Use assets/chart-starter.html.

    line 84
  7. Distinctive:

    Use specialist Tufte tooling only when available.

    line 108
  8. Very specific:

    Stop / handoff: Stop when the data provenance or comparison question is missing.

    line 122

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Viz (honest, web-native, Tufte)

Make web-native charts with honest marks: tokenized, responsive, accessible. Reuse type, spacing, surface, color tokens; one accent adds craft but never competes with data. Use Tufte tooling when present.

Decision order

  1. State comparison question, source/grain, missingness, and uncertainty.
  2. Prefer a table for small exact lookup; chart shape, change, or comparison.
  3. Encode honestly (zero-baseline bars; 1-D length/position; lie factor ≈1), direct-label, and remove non-data ink.
  4. Provide tokenized, responsive, contrast-safe chart/table parity; keep data keyboard reachable.

Data quality

Before genre, record question, unit, time grain, source, and absent status. A missing month can mean zero, not observed, suppressed, not applicable, or not yet reported; these states cannot share a mark, line, or cell treatment.

Name the uncertainty band (e.g. confidence interval, forecast range, or measurement error), level if known, and shared method. Missing values, units, provenance, or interval meaning means stop at a representation spec/data-request checklist. Never invent a trend, interpolate a gap, or manufacture an empty chart.

For sparse monthly series, prefer an observed-month table or interval strip. If a line helps, break it at missing observations, plot estimated uncertainty only, label the gap, and never imply continuity with a continuous area.

Genre selection

Data shapeUseNot
Small; exact lookuptable (or supertable)slow-lookup chart
1 series/timeline / sparkline3D, decorative area
Few categories/one valuezero bar, direct-labeledpie (hard angles)
Part-to-whole, 2–4bar/stacked; number + barpie/donut (>3 slices)
Many series/facetssmall multiples (shared scale)spaghetti
Group distributionquartile/box or stripbar-of-averages
Two variablesscatter with range framebordered box + gridlines
Table-row trendinline sparklinesseparate chart page
Geographic/multivariatemap / Minard-style layeredrainbow choropleth

Default-challenge rule: justify an unprompted pie, 3-color bar, or spaghetti line, or use a stronger Tufte move (table, small multiples, sparkline, range frame).

Refuse misleading requests

Refuse a dramatic 3-D chart because depth, perspective, and occlusion encode absent values. Name the distortion; offer the smallest honest alternative: direct-labeled interval strip, observed-month table, shared-scale small multiple, or zero-baseline bar.

Non-negotiables

  • Table for lookup; chart for shape. A 12-month trend may deserve a line; a 40-cell audit may belong in a sortable table.
  • Bars start at zero when length encodes magnitude. For floating ranges or deltas, use explicit interval/difference encoding, not a truncated bar.
  • Use position or length for comparison. Never exaggerate area or volume. Redundant color-plus-shape, label, or pattern aids identification/accessibility; channels must agree.
  • Lie factor ≈ 1.0 (visual-change% ÷ data-change%, acceptable 0.95–1.05); check dramatic proportions.
  • Direct labels, not a legend where feasible; label line end/bar.
  • Kill chartjunk: no heavy gridlines, non-data fills/gradients, drop shadows, decorative imagery, or non-data borders.
  • Limit hues to distinguishable colors; color is never the only channel. Use position, direct label, or pattern too (color-blind + WCAG 1.4.1). Series colors come from color-system tokens and must hit ≥3:1 vs background and adjacent series.
  • Works in dark mode (re-check axes/text contrast).
  • Responsive — SVG viewBox/fluid width; no fixed px overflow at 320px.
  • Every chart has a text equivalent — takeaway caption plus accessible data table (visually-hidden or toggle); non-sighted users get the numbers.

Quick-start

Use assets/chart-starter.html; keep range-frame axis, direct end labels, caption, and parity.

References

  • references/tufte-and-genres.md — data-ink, lie factor, genres.
  • references/web-and-a11y.md — tokens, SVG, parity.
  • references/decision-records.md — novel-case ADR rules.

Evidence

Chart/table expose the same value, unit, uncertainty, missingness, source, and filter. Caption what can/cannot be concluded; record quality, genre choice/refusal, encoding, parity, and rendered evidence.

Check

  1. Table/genre fits the comparison, not a default?
  2. Zero bars, 1-D encoding, lie factor ≈1, direct labels/range frame, no chartjunk?
  3. Tokenized ≤5-hue non-color encoding, ≥3:1 contrast, dark mode, 320px behavior?
  4. Caption/table retain source, unit, uncertainty, filters, missingness; gaps imply no continuity.

How to deliver

State genre/rationale, material lie factor, parity, caption, contrast, and theming evidence. Use specialist Tufte tooling only when available.

Provenance

This is an independent web-and-accessibility synthesis of Tufte principles; use specialist assessment/rendering tools when available.

<!-- contract:v1:start -->

Contract (generated)

Canonical detail: contract.json.

  • Route: Data needs a chart, table, uncertainty treatment, or accessible comparison.; avoid: There is no data subject or the request is only a decorative illustration.
  • Exclude: Do not choose a chart before identifying the comparison task. (+1 in contract.json)
  • Stop / handoff: Stop when the data provenance or comparison question is missing. (+1 in contract.json); receives [color-system, design-system-interview, improve-existing-website, tasteroll] -> sends [a11y-pass, empty-states, tastecheck-pass]
  • Output: honest chart/table recommendation and implementation plan
  • Evidence: table_with_evidence with status, reason, remediation, evidence, provenance.
<!-- contract:v1:end -->

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.