data-visualizer
Charts, dashboards, and data visualizations using Recharts, Chart.js, and D3.js. Use when building charts, dashboards, or interactive data displays. Use for chart type selection, data storytelling, annotation patterns, responsive design, accessibility, and performance optimization.
Works with
---
name: data-visualizer
description: Charts, dashboards, and data visualizations using Recharts, Chart.js, and D3.js. Use when building charts, dashboards, or interactive data displays. Use for chart type selection, data storytelling, annotation patterns, responsive design, accessibility, and performance optimization.
license: MIT
---
# Data Visualizer
Build charts, dashboards, and interactive data visualizations using modern libraries. Covers Recharts (React), Chart.js (framework-agnostic), and D3.js (custom/advanced).
## Library Selection
| Library | Best For | React | Custom | Bundle (gzip) |
| -------- | ----------------------------------- | ------- | -------- | ---------------------- |
| Recharts | Quick React charts, standard types | Native | Limited | ~139KB |
| Chart.js | Framework-agnostic, simple API | Wrapper | Moderate | ~68KB (tree-shakeable) |
| D3.js | Custom visualizations, full control | Manual | Full | ~13-30KB per module |
## Chart Type Selection
| Chart | Best For | Avoid When |
| --------- | ------------------------------------ | --------------------------------- |
| Line | Trends over time, continuous data | Categorical data |
| Bar | Comparing categories, rankings | Continuous data |
| Pie/Donut | Part-to-whole (max 5-7 slices) | >7 categories, precise comparison |
| Area | Volume over time, stacked categories | Too many overlapping series |
| Scatter | Correlation, outliers, distribution | Time series |
| Heatmap | Intensity across two dimensions | Simple comparisons |
## Dashboard Patterns
| Pattern | Use Case | Key Feature |
| ------------------- | -------------------- | ---------------------------------- |
| KPI Dashboard | Executive metrics | Trend indicators, card grid |
| Real-Time | Live monitoring | SSE/WebSocket, animation disabled |
| Interactive Filters | Exploratory analysis | Period/region selects, drill-down |
| Drill-Down | Hierarchical data | Click to zoom (year → month → day) |
## Responsive Design
| Approach | Implementation |
| ---------------------- | ------------------------------------------------- |
| Container-based sizing | `<ResponsiveContainer width="100%" height={300}>` |
| Aspect ratio mode | `<ResponsiveContainer width="100%" aspect={2}>` |
| Mobile-aware | Reduce `strokeWidth`, `height` on small screens |
| Label simplification | Fewer axis labels on mobile |
## Common Mistakes
| Mistake | Fix |
| ---------------------------- | ---------------------------------------------- |
| Fixed width/height | Use `ResponsiveContainer` |
| Animation on real-time data | Set `isAnimationActive={false}` |
| Too many pie slices | Max 5-7 slices, group rest as "Other" |
| Non-accessible colors | Use WCAG AA compliant, colorblind-safe palette |
| Loading entire chart library | Lazy load with dynamic imports |
| No data formatting | Use `Intl.NumberFormat` for currency/percent |
## Delegation
- **Explore data shape and available fields before choosing chart type**: Use `Explore` agent
- **Build a complete multi-chart dashboard from requirements**: Use `Task` agent
- **Plan visualization architecture for large-scale analytics pages**: Use `Plan` agent
## References
- [Library Selection](references/library-selection.md) — Recharts, Chart.js, D3.js setup and examples
- [Chart Types](references/chart-types.md) — line, bar, pie, area, scatter, heatmap with use cases
- [Dashboard Patterns](references/dashboard-patterns.md) — KPI, real-time SSE, interactive filters, drill-down
- [Design and Accessibility](references/design-and-accessibility.md) — color schemes, colorblind-safe palettes, responsive, animation
- [Data Formatting and Export](references/data-formatting-and-export.md) — number formatters, CSV export, PNG export
- [Performance](references/performance.md) — lazy loading, virtualization for large datasets
- [Storytelling and Annotation](references/storytelling-and-annotation.md) — data narratives, annotations, color strategy, edge statesMore Performance skills
seo-audit
coreyhaines31/marketingskills
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.
competitor-profiling
coreyhaines31/marketingskills
When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitors. For sales-specific battle cards, see sales-enablement.
vercel-optimize
vercel-labs/agent-skills
Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel/framework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests.

