skills/data-viz/SKILL.md
Design or improve data visualizations, charts, and data presentation interfaces. Use when the user asks to add charts, build dashboards, visualize data, choose chart types, make data accessible, or present metrics and analytics.
npx skillsauth add aladicf/better-web-ui data-vizInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create data visualizations that clarify rather than decorate. The goal is not to make data look impressive; it is to help users understand patterns, compare values, and make decisions.
Consult the data visualization reference for chart type selection, responsive patterns, accessible data tables, color-vision-friendly palettes, and interaction design. Consult the colorblindness UX reference when semantic states, chart palettes, or category colors must remain distinguishable under color-vision deficiencies. Consult the complex table UX reference when a data table is a better or complementary presentation to a chart.
Users start this workflow with /data-viz. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first. Additionally gather: what question the user is trying to answer with the data, who the audience is, and whether the data updates in real time or is static.
Understand the data story before choosing a chart:
What is the user trying to understand?
What is the data shape?
What is the context?
Match the chart to the data relationship, not the aesthetic preference.
Bar charts for comparing values across categories. Use horizontal bars when category names are long. Start the value axis at zero.
Line charts for trends over time. Limit to ~5 lines. Label lines directly at the end when possible.
Scatter plots for relationships between two variables. Add trend lines only when correlation is real. Label interesting outliers.
Histograms for frequency distributions. Use when the shape of the data (clustering, spread, skew) matters.
Treemaps for hierarchical part-to-whole relationships with many categories.
Avoid pie charts except when there are very few categories and one slice clearly dominates. Even then, prefer donut charts or stacked bars.
Every chart must have an accessible alternative.
<caption>, <th scope="...">)aria-describedbyUse color intentionally in data visualization.
Charts must remain legible across viewport sizes.
Dashboards combine multiple visualizations into an at-a-glance surface.
Layout principles:
Interactivity:
Before shipping:
development
Build or improve a UI testing strategy covering visual regression, interaction testing, and accessibility assertions. Use when the user asks to add tests, set up testing, fix flaky tests, improve test coverage, validate UI behavior, catch visual bugs, or establish confidence in shipping frontend changes.
development
Design security-conscious interfaces that protect users without frustrating them. Use when the user asks about MFA, password UX, breach notifications, trust indicators, secure forms, account recovery, or making security feel safe rather than scary.
development
Design or improve search experiences, result presentation, and filtering interfaces. Use when the user asks to add search, redesign search results, improve findability, build autocomplete, add filters, or fix zero-results dead ends.
development
Plan, implement, or improve an internationalization and localization strategy for UI content, formatting, and regional adaptation. Use when the user asks to add i18n, localize, translate, support multiple languages, handle regional formats, manage locale switching, or build a multilingual product.