agentleFS
fabioc-alohafabioc-aloha/Alex_ACT_ONE/skills/chart-vocabulary/SKILL.md

chart-vocabulary

Skill0 starsChanged 9 days agoMITView on GitHub

Catalog of chart types organized by seven communication goals (comparison, change over time, proportion, distribution, relationship, flow, deviation), with a selection algorithm, an evaluation loop for AI-suggested charts, and density limits for dashboards. Use when picking a chart type, sanity-checking a suggested one, or reviewing whether a chart matches its story intent.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When an AI tool generates a chart, evaluate before accepting.

    line 146
  2. Distinctive:

    Use these galleries to browse real examples when Module 1's tables aren't enough.

    line 194
  3. Distinctive:

    Run this algorithm when choosing charts for a dashboard, report, or book figure:

    line 213

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

chart-vocabulary

Pick the right chart for the story you want to tell, evaluate whether an AI-suggested chart is correct, and know when to override.

This skill is the selection and evaluation reference. It sits upstream of the plugin's other chart skills:

Step in the flowSkill
Frame the Big Idea before authoringchart-big-idea
Pick the chart family + typethis skill
Author the Flint spec + renderflint-chart
Structural / hand-authored SVGfigure-generator + print-svg-style-guide
AI-generated illustration / hero imageSeparately configured host image tool; ONE bundles no image-generation provider
Terminal, log, PR comment, or context windowascii-chart
Verify after renderrender-verify
Deliver / browse the gallerydocs-shell

flint-chart §0.2 (Question → family → chart) is a compact router pointing into this catalog; when a decision needs more than the router's ~7 rows, read this file. When picking a chart to hand-author rather than render via Flint, this catalog is still the reference — the delivery skill differs, the taxonomy does not.

When to Use

  • Choosing chart types for a dashboard, report, book figure, or data story
  • Evaluating an AI-generated visualization (Copilot / ChatGPT / any tool that auto-selects chart types)
  • Reviewing another agent's or teammate's chart choices for story-intent alignment
  • Sanity-checking a dashboard's density (5-visual rule)
  • Teaching a heir the chart taxonomy without them reading FT's catalog end to end

Module 1: Chart Catalog by Communication Goal

Seven communication goals. Pick the goal first, then the chart. Never pick the chart first.

Comparison

Show differences between items or groups.

ChartBest whenAvoid when
Horizontal barRanking items; long category labelsMore than 15 items (paginate or filter)
Grouped barComparing 2-3 series across categoriesMore than 3 series (use small multiples)
Dot plotPrecise value comparison; tight rangesAudience expects bars
Slope chartBefore/after comparison of ranked itemsMore than 10 items (too many crossing lines)
RadarMulti-dimensional profile comparisonMore than 7 axes; general audiences
Bullet chartActual vs. target with qualitative rangesNo clear target or benchmark

Change Over Time

Show trends, seasonality, or evolution.

ChartBest whenAvoid when
LineContinuous data; up to 5 seriesCategorical time (use bar)
AreaEmphasizing volume or magnitude of changeMultiple overlapping series (use stacked)
Stacked areaPart-to-whole composition changing over timeNeed to compare individual series precisely
SparklineInline trend context (KPI cards, tables)Trend shape matters less than precise values
Step lineDiscrete changes (pricing, policy, thresholds)Continuous gradual change
Small multiplesComparing trends across 6-20 categoriesFewer than 4 categories (use single line chart)

Proportion

Show part-to-whole relationships.

ChartBest whenAvoid when
Donut2-5 segments; one hero segment to highlightMore than 6 segments; comparing across groups
Stacked barComparing composition across categoriesMore than 5 segments per bar
WaffleCommunicating percentages to general audiencesPrecision matters (use table)
TreemapHierarchical part-to-whole with many itemsNeed to show change over time
SunburstMulti-level hierarchy explorationPrint or static context (needs interaction)
WaterfallShowing additive/subtractive contributionsNon-sequential contributions

Distribution

Show spread, shape, or outliers.

ChartBest whenAvoid when
HistogramSingle variable distribution shapeComparing distributions (use violin or ridgeline)
Box plotComparing distributions across groupsGeneral audiences (unfamiliar format)
ViolinDistribution shape comparison across groupsFewer than 3 groups (use histogram)
RidgelineMany distributions stacked for pattern scanningPrecision on individual values
ScatterTwo-variable distribution and outlier detectionCategorical data
BeeswarmSmall dataset; every point mattersMore than 500 points (use density)

Relationship

Show correlation, causation, or connection.

ChartBest whenAvoid when
ScatterTwo continuous variables; outlier identificationCategorical variables
BubbleThree variables (x, y, size)More than 50 bubbles (overplotting)
HeatmapDense matrix relationships (correlation, time × category)Fewer than 4×4 cells
Parallel coordinatesMulti-dimensional comparison (5+ variables)General audiences
Network graphEntity relationships, social connectionsHierarchical data (use tree)
Chord diagramBidirectional flows between categoriesMore than 10 categories

Flow and Process

Show movement, conversion, or paths.

ChartBest whenAvoid when
SankeyMulti-stage flow with branching pathsFewer than 3 stages (use stacked bar)
FunnelSequential drop-off (conversion, pipeline)No sequential order
GanttTimeline with parallel activitiesMore than 30 tasks (filter or paginate)
SwimlaneProcess flow with role/team assignmentsSimple linear process

Deviation

Show variance from a reference point.

ChartBest whenAvoid when
Diverging barAbove/below target or medianNo clear reference point
LollipopDeviation from baseline; cleaner than barsAudience expects standard bars
Line + referenceTrend deviation from target over timeMultiple baselines
GaugeSingle KPI vs. target (dashboards, KPI cards)More than 3 gauges on a page

Module 2: The CSAR Evaluation Loop

Module 1.5: Storytelling Technique Router

Choose a technique because it solves a reading problem, not because it makes the chart look authored.

Reading problemTechniqueConstraint
Reader cannot find the claimFocal contrast on one story-carrying mark or seriesUse one pre-attentive emphasis; keep context visible.
Legend lookup interrupts readingDirect labels at line ends or beside marksCheck collisions and preserve a key when labels cannot fit.
Benchmark or threshold mattersReference line, band, or structureLabel the reference and distinguish target from observed data.
Too many series obscure shapeSmall multiplesKeep comparable scales unless independence is the point.
Order carries the argumentSorting by value, time, or semantic orderDo not reorder cyclic or causal sequences arbitrarily.
Groups need comparison and contextGrouping or facetingPrefer grouping for direct values; facets for shape and repeated structure.
Color may fail or print poorlyRedundant encoding through label, shape, position, stroke, or textureColor is never the only carrier of critical meaning.
A specific event changes the storyAnnotation with a concise evidence-linked noteAnnotate the event, not every point.

Theme choice follows technique and audience. It cannot repair a wrong chart family or unsupported claim.

When an AI tool generates a chart, evaluate before accepting. Compose with render-verify's Prose-coupling check for a two-layer safety net: CSAR asks did it pick the right chart family; render-verify asks did it render the right message.

StepQuestionAction
Clarify"What question am I answering?"Write the question as a sentence before looking at the chart
Summarize"The AI chose a [chart type]. Does it answer the question?"Name the chart type and check it against Module 1
ActAccept, modify, or overrideAccept if story-intent matches. Override if wrong goal group. Modify if right type but wrong emphasis
Reflect"Why did I accept / override? What principle guided me?"Document the rationale; builds judgment over time

Override Decision Table

AI choseBut your goal isOverride toRationale
Pie (8 slices)Compare itemsHorizontal bar, sortedPie with 8+ slices is unreadable
Clustered barShow trendLine chartTime series needs continuity
3D columnAnything2D bar or line3D adds no information, distorts perception
Stacked barCompare individual seriesGrouped bar or small multiplesStacking hides individual values
DonutShow precise valuesTable with conditional formattingDonut communicates rough proportion only
Line (20 series)Compare trendsSmall multiples or highlight 3 key seriesToo many lines become spaghetti
MapCompare valuesBar chart sorted by valueMaps encode position; bars encode length (more precise)

Module 3: The 5-Visual Rule

Executive dashboards that work follow this constraint:

No more than 5 visuals per page. Each visual answers a different question. If you need more, you need a second page, not a denser layout.

Count the visuals, do not eyeball them, when the page is machine-readable. For an HTML or docs-shell dashboard, count chart containers per page from the DOM or the page manifest and assert the count is ≤5. In the browser console: document.querySelectorAll('canvas, svg, .chart, .chart-container, [data-chart]').length (narrow the selector to the page's chart-container convention so decorative SVGs do not inflate the count). A screenshot scanned by eye is not a count.

SlotRoleTypical chart
1-3KPI cardsCard, gauge, or sparkline
4Hero chartThe main visual that carries the story
5Supporting chartA second angle on the same story

A sixth visual is a table for drill-down, placed below the fold or on demand.

Composition by Audience

AudienceVisualsTime budgetDesign priority
Executive3-530 secondsKPIs first, hero chart, one action item
Manager5-82 minutesFilters, comparison charts, trend lines
Analyst8-15UnlimitedDetail tables, drill-through, cross-filters
General3-41 minuteAnnotated hero chart, simple narrative

Module 4: Living Gallery References

Use these galleries to browse real examples when Module 1's tables aren't enough. The galleries are the living source of truth; this skill is the decision framework.

GalleryURLOrganized byBest for
FT Visual Vocabularyft-interactive.github.io/visual-vocabularyCommunication goalChoosing chart type by what you want to say
From Data to Vizdata-to-viz.comData type and relationshipChoosing chart type by what your data looks like
Data Viz Catalogdatavizcatalogue.comChart functionUnderstanding individual chart strengths/weaknesses
Vega-Lite Examplesvega.github.io/vega-lite/examplesChart typeDeclarative spec examples for programmatic generation
Storytelling with Datacommunity.storytellingwithdata.com/exercisesStory challengeReal-world "makeover" exercises with before / after

When to consult a gallery

  • Module 1 suggests 2+ chart types and you cannot decide
  • The story intent doesn't fit any standard goal group
  • You need to see a real example of a chart type before committing
  • Stakeholder needs visual evidence that the chart type works for their data

Module 5: Chart Selection Decision Tree

Run this algorithm when choosing charts for a dashboard, report, or book figure:

1. Write the Big Idea sentence (audience + action + evidence)
   → delegate to chart-big-idea; if you can't write it, the analysis isn't done

2. List the 3-5 questions the artifact must answer
   Each question becomes one visual

3. For each question:
   a. Identify the communication goal (Module 1 header)
   b. Check the chart catalog table
   c. Filter by data shape and audience
   d. If AI generated a chart, run CSAR (Module 2)
   e. If still unsure, consult a gallery (Module 4)

4. Apply the 5-Visual Rule (Module 3)
   Cut the weakest visual if over budget

5. Arrange by narrative flow:
   KPIs → Hero chart → Supporting → Detail

6. Author + render:
   → statistical charts: flint-chart (Vega-Lite / ECharts / Chart.js via Flint MCP)
   → structural / hand-authored SVG: figure-generator + print-svg-style-guide
   → AI-generated illustration: separately configured host image tool (not bundled by ONE)
   → no renderer available (terminal, log, PR, context window): ascii-chart

7. Verify: render-verify (Prose-coupling + failure catalog)

Attribution

The chart catalog (Module 1), CSAR loop (Module 2), 5-visual rule (Module 3), gallery references (Module 4), and selection tree (Module 5) are adapted from an earlier visual-vocabulary curriculum, absorbed into this plugin in 2026. Its ASCII delivery lives here as ascii-chart. Its SVG composition patterns (panel primitive, pie sizing, dark-slate palette) are covered by print-svg-style-guide and figure-generator, with print-legibility math and semantic palette colors, so they are not duplicated here.

FT Visual Vocabulary, Data-to-Viz, Data Viz Catalog, Vega-Lite examples, and Storytelling with Data are cited under their published URLs; this skill is a decision framework built on top of those galleries, not a replacement for them.

Would Revise If

Revisit if:

  • The 5-visual rule is contradicted by a working dashboard that ships more visuals without density complaints (rule too strict)
  • One of the five galleries in Module 4 retires or moves; the URL check fails
  • A heir installs chart-vocabulary and visual-vocabulary from the Mall on the same brain and reports confusion about which is canonical (the absorption story isn't landing)

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.