Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jpoindexter/data-visualization
Choose, encode, color, label, and ship accurate accessible charts and dashboards — perceptual encoding ranking, chart-by-intent selection, data color scales, Tufte's data-ink discipline, and interaction patterns with concrete do/don't rules.
Passed 21 of 24 test cases with the skill, and 18 of 24 without it.
and 2 more in the full report
3 fixed18 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
The instructions your model reads when the skill loads.
A chart is an answer to a question, not decoration. Before any encoding decision, state the question in one sentence ("Which region grew fastest last quarter?"). The question dictates the chart; the data dictates the scale; perception dictates the encoding. This skill gives the ranking, the chart map, the color math, and the discipline to ship charts that read correctly on any screen.
Never start from "what data do I have." Start from the verb in the user's question, then map it to an intent. The intent picks the chart (§3). If you can't name the question, you can't pick the chart — and a chart with no question becomes a rainbow blob that demos well and informs nothing.
| The user asks… | Intent | Default chart |
|---|---|---|
| "How do these categories compare?" | Comparison | Bar (horizontal if labels long) |
| "How has this changed over time?" | Trend | Line (area only if cumulative/stacked) |
| "What makes up the total?" | Part-to-whole | Stacked bar / treemap |
| "How is this spread out?" | Distribution | Histogram / box / violin |
| "Do these two move together?" | Correlation | Scatter |
| "Where is this happening?" | Geospatial | Choropleth / symbol map |
| "How does flow move between stages?" | Flow | Sankey / alluvial |
| "Who's on top?" | Ranking | Sorted bar / bump / slope |
| "What's the single number now?" | KPI | Big number + sparkline |
Do put the question or its answer in the chart title ("Sales grew 23% in EMEA"), not the chart type ("Bar chart of sales"). Don't ship a "dashboard of everything" — that's a furniture catalog, not an analysis.
Cleveland & McGill (1984, JASA) ran controlled experiments ranking how accurately humans decode quantitative values from each visual channel. This is the single most important table in data viz. Encode your most important quantity with the highest channel you can.
| Rank | Channel | Decode accuracy | Where it shows up |
|---|---|---|---|
| 1 | Position on a common scale | Best | Bar tops, scatter dots, dot plots |
| 2 | Position on non-aligned scales | Very good | Small multiples |
| 3 | Length | Good | Bars, stacked-bar segments |
| 4 | Angle / slope | Moderate | Slopegraphs, line steepness |
| 5 | Area | Poor | Bubbles, treemaps |
| 6 | Volume / 3D | Very poor | (avoid) |
| 7 | Color hue / saturation | Worst for quantity | Heatmaps, choropleths |
Rule: position > length > angle/slope > area > volume > color. A pie chart asks the eye to compare angles and areas (ranks 4–5); the same data as a bar chart uses position/length (ranks 1–3) — which is exactly why bars beat pies. Munzner (Visualization Analysis & Design, 2014) frames this as matching channel "effectiveness" to attribute importance: spend your best channel on what matters most.
r ∝ √value), never radius∝value.test cases passed, vs 18 / 24 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.