V
visualization-builder
About visualization-builder
A data-visualization skill for selecting, designing, and validating charts for a specific message and audience. It provides chart-selection guidance and a styled chart-building script, with attention to accessibility and export requirements.
Key features
- 01Choose chart types by message
- 02Prepare data at the right grain
- 03Build styled matplotlib/seaborn charts
- 04Emphasize key data visually
- 05Add titles and annotations
- 06Export and check accessibility
Use cases
- 01Select a chart for an analytical finding
- 02Improve a cluttered or misleading chart
- 03Prepare charts for executive presentations
- 04Create accessible report or dashboard visuals
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill visualization-builderAfter installing, type/visualization-builderin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/viz_spec_template.mdreferences/chart_selection_guide.mdvisual_design_principles.mdscripts/chart_builder.pyDetails
From the project READMEVisualization Builder
When to use
- Choosing the right chart type for a specific analytical message
- A chart exists but is cluttered, misleading, or failing to make the point
- Building a chart for an executive presentation that must work without verbal explanation
- Producing consistent, branded visualisations across a report or dashboard
- Creating accessible charts that work for colorblind viewers or screen readers
Process
- Identify the message type — classify the chart's purpose: comparison (bar), trend over time (line), composition / part-of-whole (stacked bar, pie only for 2–3 categories), distribution (histogram, box plot), or relationship (scatter). The message type determines the chart type. See
references/chart_selection_guide.md. - Select and load the data — confirm the data is at the right grain for the chart. Aggregations (e.g., groupby month) should happen before plotting, not inside the chart library.
- Build the base chart — use
scripts/chart_builder.pywith pre-set professional styling (whitegrid, sans-serif, accessible color palette). Set axes, ticks, and scale deliberately — default settings are often wrong. - Apply visual hierarchy — make the most important data element visually dominant (bolder line, darker bar, distinct color). De-emphasise secondary series. Remove every element that doesn't contribute to the message (gridlines at 0.2 alpha, no top/right spines). See
references/visual_design_principles.md. - Annotate for the reader — add a descriptive title that states the finding ("Mobile churn is 2× desktop"), not the variable names ("Churn by device type"). Annotate key data points, thresholds, and reference lines directly on the chart. Add a data source and date.
- Export and validate — export at 300 DPI for print or 150 DPI for web. View the chart at the intended display size. Check: is the key message legible in under 5 seconds? Does it work in greyscale? Complete
assets/viz_spec_template.mdif the chart is part of a larger deliverable.
Inputs the skill needs
- The data to be visualised (at the correct aggregation grain)
- The single key message the chart must communicate
- The audience (technical or executive) and the display context (presentation slide, report, dashboard, email)
- Brand colors or style guidelines if applicable
- Any accessibility requirements (colorblind palette, alt text)
Output
scripts/chart_builder.py— creates professional matplotlib/seaborn charts with pre-set styling, annotation helpers, and export settingsreferences/chart_selection_guide.md— which chart type for which message; common chart mistakes and how to fix themreferences/visual_design_principles.md— color, typography, hierarchy, annotation, and accessibility principlesassets/viz_spec_template.md— spec template for a chart: message, data source, chart type, annotations, export requirements
Comments
Markdown supported