/datavis
Comprehensive data visualization toolkit for creating beautiful, mathematically elegant visualizations with D3.js, Chart.js, and custom SVG. Use when (1) building interactive data visualizations, (2) designing color palettes for charts, (3) choosing scales and visual encodings,
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill datavis --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/datavis
Context preview
The summary Claude sees to decide when to auto-load this skill.
Comprehensive data visualization toolkit for creating beautiful, mathematically elegant visualizations with D3.js, Chart.js, and custom SVG. Use when (1) building interactive data visualizations, (2) designing color palettes for charts, (3) choosing scales and visual encodings,
SKILL.md
datavis.SKILL.mdname: datavis
description: Comprehensive data visualization toolkit for creating beautiful, mathematically elegant visualizations with D3.js, Chart.js, and custom SVG. Use when (1) building interactive data visualizations, (2) designing color palettes for charts, (3) choosing scales and visual encodings, (4) creating data pipelines from Census/SEC/Wikipedia APIs, (5) crafting narrative-driven data stories, (6) making perceptually accurate charts, or (7) implementing force-directed networks, timelines, or geographic maps.
Data Visualization Skill
Create beautiful, mathematically elegant, emotionally resonant data visualizations.
Philosophy: "Life is Beautiful"
Every visualization should: 1. **Reveal truth** through data 2. **Evoke wonder** through design 3. **Respect the viewer** through accessibility 4. **Honor complexity** through elegant simplification
Core Capabilities
1. Visual Encoding
**Scale Selection**: | Scale | Use When | Example | |-------|----------|---------| | Linear | Evenly distributed data | Temperature | | Log | Multiple orders of magnitude | Population (100 to 1B) | | Sqrt | Encoding area (circles) | Bubble chart radius | | Time | Temporal data | Dates |
**Perceptual Honesty** - Area scales with square of radius, so use sqrt:
// WRONG: Linear radius exaggerates large values
const badScale = d3.scaleLinear().domain([0, max]).range([0, maxRadius]);
// RIGHT: Sqrt maintains perceptual accuracy
const goodScale = d3.scaleSqrt().domain([0, max]).range([0, maxRadius]);
2. Color Design
**Palette Types**:
- **Categorical** - Distinct hues for nominal data (max 8)
- **Sequential** - Single hue gradient for ordered data
- **Diverging** - Two hues meeting at meaningful midpoint
**Colorblind-Safe Palette** (8 colors):
const colorblindSafe = [
'#332288', '#117733', '#44AA99', '#88CCEE',
'#DDCC77', '#CC6677', '#AA4499', '#882255'
];
**Always use redundant encoding** - don't rely on color alone:
node.attr('fill', d => colorScale(d.category))
.attr('d', d => symbolScale(d.category)); // Shape too!3. D3.js Patterns
**Force Simulation**:
const simulation = d3.forceSimulation(nodes)
.force('charge', d3.forceManyBody().strength(-300))
.force('link', d3.forceLink(links).id(d => d.id))
.force('center', d3.forceCenter(width/2, height/2))
.force('collision', d3.forceCollide().radius(d => d.r + 2));**Responsive SVG**:
const svg = d3.select('#chart')
.append('svg')
.attr('viewBox', `0 0 ${width} ${height}`)
.attr('preserveAspectRatio', 'xMidYMid meet');**Touch-Friendly** (44x44px minimum):
node.append('circle')
.attr('class', 'hit-area')
.attr('r', Math.max(actualRadius, 22))
.attr('fill', 'transparent');4. Narrative Structure
**Three Acts**: 1. **Invitation** - What draws viewer in? Why should they care? 2. **Discovery** - What patterns emerge? What surprises? 3. **Reflection** - What should they feel/understand/do?
**Progressive Disclosure**:
Level 1: Overview → Level 2: Exploration → Level 3: Detail → Level 4: Context
5. Data Pipeline
**Structure**:
scripts/
├── 01_fetch_raw.py # API calls with caching
├── 02_clean_data.py # Transformation
├── 03_validate.py # Quality checks
└── 04_export.py # Final format
**Source Documentation** (every dataset needs):
- URL, access date, update frequency
- License and confidence level
- Field descriptions and limitations
Scripts
Generate Color Palette
scripts/color-palette.py --type sequential --hue blue --steps 9
scripts/color-palette.py --type categorical --count 6 --colorblind-safe
scripts/color-palette.py --type diverging --low red --high blue
Analyze Data Distribution
scripts/analyze-distribution.py data.csv --column value
# Outputs: min, max, skew ratio, recommended scale
Scaffold D3 Project
scripts/d3-scaffold.py my-viz --type force-network
scripts/d3-scaffold.py my-viz --type timeline
scripts/d3-scaffold.py my-viz --type choropleth
Anti-Patterns to Avoid
- 3D charts (distorts perception)
- Pie charts with >6 categories
- Dual y-axes
- Rainbow color scales (perceptually uneven)
- Truncated y-axes without disclosure
- Animation without purpose
Quality Checklist
- [ ] Scale choice justified for data distribution
- [ ] Color palette is colorblind-safe
- [ ] Minimum 44x44px touch targets
- [ ] Clear entry point for viewer
- [ ] Sources documented
- [ ] Responsive on mobile
Read more
name: datavis description: Comprehensive data visualization toolkit for creating beautiful, mathematically elegant visualizations with D3.js, Chart.js, and custom SVG. Use when (1) building interactive data visualizations, (2) designing color palettes for charts, (3) choosing scales and visual encodings, (4) creating data pipelines from Census/SEC/Wikipedia APIs, (5) crafting narrative-driven data stories, (6) making perceptually accurate charts, or (7) implementing force-directed networks, timelines, or geographic maps.
Data Visualization Skill
Create beautiful, mathematically elegant, emotionally resonant data visualizations.
Philosophy: "Life is Beautiful"
Every visualization should: 1. **Reveal truth** through data 2. **Evoke wonder** through design 3. **Respect the viewer** through accessibility 4. **Honor complexity** through elegant simplification
Core Capabilities
1. Visual Encoding
**Scale Selection**: | Scale | Use When | Example | |-------|----------|---------| | Linear | Evenly distributed data | Temperature | | Log | Multiple orders of magnitude | Population (100 to 1B) | | Sqrt | Encoding area (circles) | Bubble chart radius | | Time | Temporal data | Dates |
**Perceptual Honesty** - Area scales with square of radius, so use sqrt:
// WRONG: Linear radius exaggerates large values const badScale = d3.scaleLinear().domain([0, max]).range([0, maxRadius]); // RIGHT: Sqrt maintains perceptual accuracy const goodScale = d3.scaleSqrt().domain([0, max]).range([0, maxRadius]);
2. Color Design
**Palette Types**:
- **Categorical** - Distinct hues for nominal data (max 8)
- **Sequential** - Single hue gradient for ordered data
- **Diverging** - Two hues meeting at meaningful midpoint
**Colorblind-Safe Palette** (8 colors):
const colorblindSafe = [ '#332288', '#117733', '#44AA99', '#88CCEE', '#DDCC77', '#CC6677', '#AA4499', '#882255' ];
**Always use redundant encoding** - don't rely on color alone:
node.attr('fill', d => colorScale(d.category))
.attr('d', d => symbolScale(d.category)); // Shape too!3. D3.js Patterns
**Force Simulation**:
const simulation = d3.forceSimulation(nodes)
.force('charge', d3.forceManyBody().strength(-300))
.force('link', d3.forceLink(links).id(d => d.id))
.force('center', d3.forceCenter(width/2, height/2))
.force('collision', d3.forceCollide().radius(d => d.r + 2));**Responsive SVG**:
const svg = d3.select('#chart')
.append('svg')
.attr('viewBox', `0 0 ${width} ${height}`)
.attr('preserveAspectRatio', 'xMidYMid meet');**Touch-Friendly** (44x44px minimum):
node.append('circle')
.attr('class', 'hit-area')
.attr('r', Math.max(actualRadius, 22))
.attr('fill', 'transparent');4. Narrative Structure
**Three Acts**: 1. **Invitation** - What draws viewer in? Why should they care? 2. **Discovery** - What patterns emerge? What surprises? 3. **Reflection** - What should they feel/understand/do?
**Progressive Disclosure**:
Level 1: Overview → Level 2: Exploration → Level 3: Detail → Level 4: Context
5. Data Pipeline
**Structure**:
scripts/ ├── 01_fetch_raw.py # API calls with caching ├── 02_clean_data.py # Transformation ├── 03_validate.py # Quality checks └── 04_export.py # Final format
**Source Documentation** (every dataset needs):
- URL, access date, update frequency
- License and confidence level
- Field descriptions and limitations
Scripts
Generate Color Palette
scripts/color-palette.py --type sequential --hue blue --steps 9 scripts/color-palette.py --type categorical --count 6 --colorblind-safe scripts/color-palette.py --type diverging --low red --high blue
Analyze Data Distribution
scripts/analyze-distribution.py data.csv --column value # Outputs: min, max, skew ratio, recommended scale
Scaffold D3 Project
scripts/d3-scaffold.py my-viz --type force-network scripts/d3-scaffold.py my-viz --type timeline scripts/d3-scaffold.py my-viz --type choropleth
Anti-Patterns to Avoid
- 3D charts (distorts perception)
- Pie charts with >6 categories
- Dual y-axes
- Rainbow color scales (perceptually uneven)
- Truncated y-axes without disclosure
- Animation without purpose
Quality Checklist
- [ ] Scale choice justified for data distribution
- [ ] Color palette is colorblind-safe
- [ ] Minimum 44x44px touch targets
- [ ] Clear entry point for viewer
- [ ] Sources documented
- [ ] Responsive on mobile
VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.
Repo: foryourhealth111-pixel/Vibe-Skills
Other skills on vibe-skills.
- /LQF_Machine_Learning_Expert_Guide
LQF Machine Learning Expert Guide - Routed skill for ML/Statistical Modeling with Critical Discussion Mode. Triggers on: machine learning, modeling, prediction, training, classification, regression, clustering, deep learning, neural network, model evaluation, feature
Open skill - /adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use
Open skill - /aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations
Open skill - /algorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing
Open skill - /alpha-vantage
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash
Open skill - /architecture-patterns
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.
Open skill
