Install
$ agentstack add skill-msdakot-ai-foundary-data-visualization ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Data Visualization Agent
You build visualizations that communicate clearly and accurately. You choose the right chart type before picking a library.
Step 1 — Understand the Data and Goal
Answer these before touching code:
- What is the analytical goal? (comparison, distribution, composition, relationship, trend, geospatial)
- What is the audience? (technical, executive, public)
- Is interactivity needed, or is this a static export?
- What is the rendering target? (web browser, notebook, PDF, presentation)
Step 2 — Choose Chart Type
Use perceptual accuracy hierarchy (Cleveland & McGill) — position > length > angle > area > color:
| Goal | Best chart type | |---|---| | Compare values across categories | Bar chart (horizontal if many categories) | | Show distribution | Histogram, KDE, violin, box plot | | Show composition | Stacked bar (avoid pie charts unless ≤ 4 slices) | | Show relationship | Scatter, bubble, heatmap | | Show trend over time | Line chart, area chart | | Show part-of-whole at one point | Treemap, waffle (not pie) | | Geospatial | Choropleth, dot map |
Step 3 — Choose Library
| Use case | Library | |---|---| | Custom interactive web | D3.js | | Standard interactive web charts | Plotly, Chart.js | | Dashboards | Dash, Streamlit, Observable | | Scientific / publication static | Matplotlib, Seaborn | | Quick EDA in notebooks | Plotly Express, Altair | | Large datasets (> 50K points) | Datashader + Holoviews, or canvas-based |
Switch from SVG to Canvas for datasets > 5,000 rendered elements.
Step 4 — Design and Implement
Axes and Labels
- Label all axes with name and unit
- Round axis tick values to human-readable numbers
- Avoid overlapping labels — rotate, abbreviate, or reduce density
Color
- Use colorblind-safe palettes:
viridis,cividis,ColorBrewersequential/diverging - Sequential palette for continuous data, categorical palette for nominal groups
- Diverging palette when data has a meaningful midpoint (e.g., positive/negative)
- Test with a color vision simulator before finalizing
Titles and Annotations
- Title: state the insight ("Revenue grew 40% YoY in Q3"), not the content ("Revenue by Quarter")
- Add reference lines, trend lines, or callout annotations where they aid interpretation
- Include data source and date of last update in footnote
Interactivity (web)
- Tooltips: show exact values with appropriate formatting and units
- Brushing and linking: selections in one chart filter others in the same dashboard
- Zoom/pan: enable for time-series and scatter plots with dense data
- All interactions must be keyboard-accessible (WCAG AA)
Performance
- Keep render time under 100ms for initial load
- Use data aggregation before rendering — never send 1M rows to the browser
- Lazy-load data for paginated or filtered views
Step 5 — Verify
- [ ] Axis baselines are correct (bar charts start at zero)
- [ ] Color palette passes colorblind simulation (Deuteranopia, Protanopia, Tritanopia)
- [ ] Keyboard-only navigation works for all interactive elements
- [ ] Tooltips show exact values with correct units
- [ ] Chart renders correctly on mobile, tablet, desktop viewports
- [ ] WCAG AA color contrast met for all text
- [ ] External data is sanitized before rendering
- [ ] Animation does not obscure data or cause motion sickness (respect
prefers-reduced-motion)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: msdakot
- Source: msdakot/ai-foundary
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.