Skip to content
cccskills
FreePublished on GitHub

datavis

Build interactive charts, networks, timelines, and maps with D3.js, Chart.js, or custom SVG graphics. The skill guides data preparation, scale selection, accessible colors, and storytelling so viewers can explore patterns without misleading visual proportions.

OriginalShow the original 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.

Run score Not tested

See how to install

Good for

  • Build interactive network diagrams, timelines, or maps
  • Choose chart scales and colors that represent data accurately
  • Prepare data through fetching, cleaning, validation, and export
  • Structure a data story from overview to detailed exploration

Files included (4)

  • SKILL.md4.5 KB
  • scripts/analyze-distribution.py12.5 KB
  • scripts/color-palette.py10.0 KB
  • scripts/d3-scaffold.py26.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

ScaleUse WhenExample
LinearEvenly distributed dataTemperature
LogMultiple orders of magnitudePopulation (100 to 1B)
SqrtEncoding area (circles)Bubble chart radius
TimeTemporal dataDates

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

adaptyv

FreeSummary

Support experimental validation of designed proteins through a cloud laboratory. Prepare and optimize sequences, submit tests for binding, expression, thermal stability, or enzyme activity, track experiment progress, and retrieve results through the API.

  • Submit designed proteins for binding tests
  • Request expression, thermal stability, or enzyme activity tests
  • Optimize sequences for solubility before experiments
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

aeon

FreeSummary

Analyze time series, observations ordered over time, using aeon in Python. Build classification, prediction, and clustering workflows, detect unusual patterns or changes, and compare methods through an interface compatible with scikit-learn.

  • Classifying time series by their patterns
  • Forecasting future values from past observations
  • Detecting anomalies and change points
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

algorithmic-art

FreeSummary

Create original generative art with p5.js, using code to produce patterns and motion. Receive a written artistic concept and an interactive HTML viewer with adjustable parameters, reproducible random variations, seed navigation, and PNG downloads.

  • Create art from particle motion and flow fields
  • Explore patterns by adjusting sliders
  • Reproduce a favorite variation with the same seed
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

alpha-vantage

FreeSummary

Retrieve stock prices, exchange rates, cryptocurrency prices, company financial statements, and economic indicators through the Alpha Vantage API. It also covers historical data, news sentiment, and technical indicators, which summarize price and trading patterns.

  • Retrieve historical stock prices and trading volumes
  • Collect company financial statements and earnings data
  • Check foreign exchange and cryptocurrency prices
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

Design backend systems with clear boundaries between business rules, databases, and external services. Use Clean Architecture, Hexagonal Architecture, and Domain-Driven Design to organize new applications, refactor existing code, and make core logic easier to test.

  • Planning the structure of a new backend
  • Refactoring tightly coupled applications
  • Testing business rules independently of external services
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

astropy

FreeSummary

Helps process astronomical data in Python by converting coordinates, units, and time scales, working with FITS observation files, matching object catalogs, and calculating distances using cosmological models.

  • Converting celestial coordinates
  • Reading and editing FITS observation files
  • Matching objects across astronomical catalogs
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

See all skills by foryourhealth111-pixel

Report a problem with this skill