data-artist
Create beautiful data visualizations with mathematical elegance, color theory, and narrative design - the "Data is Beautiful" aesthetic.
Best use case
data-artist is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create beautiful data visualizations with mathematical elegance, color theory, and narrative design - the "Data is Beautiful" aesthetic.
Teams using data-artist should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/data-artist/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How data-artist Compares
| Feature / Agent | data-artist | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create beautiful data visualizations with mathematical elegance, color theory, and narrative design - the "Data is Beautiful" aesthetic.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Data Artist
You are creating a work of data art. This skill brings together mathematical elegance, emotional resonance, narrative design, and technical excellence to transform raw data into something beautiful that tells a story and moves the viewer.
## The "Data is Beautiful" Philosophy
### Core Principles
1. **Life is Beautiful** - Data visualization should reveal the wonder in information
2. **Mathematical Elegance** - Perceptually accurate encodings, thoughtful scales
3. **Emotional Resonance** - Create moments of awe, reflection, insight
4. **Swiss Minimalism** - Clean geometry, purposeful color, no chartjunk
5. **Narrative Journey** - Guide the viewer through a story
### What Makes Data Beautiful
- **Clarity** - The data speaks clearly without distortion
- **Proportion** - Visual weight matches data importance
- **Rhythm** - Patterns emerge naturally from the encoding
- **Surprise** - Reveals insights not obvious in raw numbers
- **Humanity** - Connects data to human experience
## Visualization Domains
### 1. Mathematical Foundations (@geepers_datavis_math)
**Scale Selection:**
- Linear for comparison
- Log for orders of magnitude
- Sqrt for area perception
- Time scales for temporal data
**Visual Encoding:**
- Position (most accurate)
- Length/height (good)
- Angle/slope (moderate)
- Area (requires sqrt scaling)
- Color intensity (least precise)
**Perceptual Accuracy:**
- Ensure encodings don't mislead
- Account for human perception biases
- Use perceptually uniform color scales
### 2. Color Design (@geepers_datavis_color)
**Palette Types:**
- Sequential: Low → High (single hue)
- Diverging: Negative ↔ Neutral ↔ Positive
- Categorical: Distinct groups (max 7-9)
**Color Principles:**
- Perceptual uniformity (Lab/HCL color space)
- Colorblind accessibility (avoid red-green only)
- Emotional resonance (warm/cool, muted/vibrant)
- Cultural considerations
**Signature Palettes:**
```css
/* Elegant Sequential */
--seq-1: #F7FBFF;
--seq-2: #DEEBF7;
--seq-3: #9ECAE1;
--seq-4: #4292C6;
--seq-5: #084594;
/* Thoughtful Diverging */
--div-neg: #B2182B;
--div-neutral: #F7F7F7;
--div-pos: #2166AC;
/* Accessible Categorical */
--cat-1: #1B9E77;
--cat-2: #D95F02;
--cat-3: #7570B3;
--cat-4: #E7298A;
--cat-5: #66A61E;
```
### 3. Narrative Design (@geepers_datavis_story)
**Story Arc:**
1. **Hook** - What draws the viewer in?
2. **Context** - Why does this matter?
3. **Journey** - Guide through the data
4. **Insight** - The "aha" moment
5. **Reflection** - What does it mean?
**Emotional Calibration:**
- What emotion should viewers feel?
- How do we honor the subject matter?
- Where are moments of wonder/pause/reflection?
**Metaphor Selection:**
- Timelines → Rivers, journeys
- Networks → Galaxies, ecosystems
- Proportions → Physical objects, scale comparisons
- Change → Growth, transformation
### 4. Technical Implementation (@geepers_datavis_viz)
**Tools:**
- D3.js for custom visualizations
- Chart.js for standard charts
- SVG for crisp, scalable graphics
- Canvas for high-performance rendering
**Interaction Patterns:**
- Hover for details
- Click for drill-down
- Drag for exploration
- Scroll for revelation
**Responsive Design:**
- Mobile-first
- Touch-friendly interactions
- Graceful degradation
### 5. Data Integrity (@geepers_datavis_data)
**Source Verification:**
- Cite authoritative sources
- Document methodology
- Note limitations/caveats
**Data Pipeline:**
- Clean, validated data
- Reproducible transformations
- Cached appropriately
## Execution Strategy
**For a new visualization, launch in PARALLEL:**
```
1. @geepers_datavis_story - Define narrative arc and emotional journey
2. @geepers_datavis_math - Design encodings and scales
3. @geepers_datavis_color - Develop color palette
4. @geepers_datavis_data - Validate and prepare data
```
**Then:**
```
5. @geepers_datavis_viz - Technical implementation
```
## Output Format
```
🎨 DATA ARTIST BRIEF
Visualization: {title}
Data Source: {source}
Story: {one-line narrative}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NARRATIVE DESIGN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Central Question: {what we're answering}
Emotional Journey:
Entry → Curiosity
Middle → {surprise/concern/wonder}
Exit → {reflection/action/understanding}
Metaphor: {chosen metaphor and rationale}
Key Insight: {the "aha" moment}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MATHEMATICAL APPROACH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Visualization Type: {bar/line/scatter/custom}
Encodings:
- X-axis: {variable} → {encoding}
- Y-axis: {variable} → {encoding}
- Color: {variable} → {encoding}
- Size: {variable} → {encoding}
Scale Choices:
- {scale type with rationale}
Perceptual Considerations:
- {any adjustments needed}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COLOR PALETTE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Palette Type: {sequential/diverging/categorical}
Colors:
🔵 Primary: #2563EB - {meaning}
⚪ Neutral: #F8FAFC - {purpose}
🔴 Accent: #DC2626 - {usage}
Accessibility:
✓ Colorblind safe (simulated)
✓ Contrast ratio > 4.5:1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMPLEMENTATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technology: {D3.js/Chart.js/SVG}
Key Components:
1. {component} - {purpose}
2. {component} - {purpose}
Interactions:
- Hover: {behavior}
- Click: {behavior}
Animation:
- Entry: {animation description}
- Update: {transition behavior}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BEAUTY SCORE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Mathematical Elegance: ★★★★☆
Color Harmony: ★★★★★
Narrative Clarity: ★★★☆☆
Technical Polish: ★★★★☆
Emotional Impact: ★★★★☆
Overall: "Data is Beautiful" certified ✨
```
## Visualization Types & When to Use
| Type | Best For | Avoid When |
|------|----------|------------|
| Bar Chart | Comparing categories | Too many categories (>12) |
| Line Chart | Trends over time | Discrete, unordered data |
| Scatter Plot | Relationships | Overplotting (use density) |
| Pie Chart | Part-of-whole (few) | >5 segments |
| Treemap | Hierarchical proportions | Deep hierarchies |
| Force Network | Relationships | >100 nodes without clustering |
| Choropleth | Geographic patterns | Unequal area regions |
| Timeline | Temporal events | Too many overlapping events |
## Anti-Patterns to Avoid
- ❌ Chartjunk (unnecessary decoration)
- ❌ 3D effects that distort perception
- ❌ Truncated axes that exaggerate
- ❌ Rainbow color scales (not perceptually uniform)
- ❌ Dual Y-axes (confusing comparisons)
- ❌ Pie charts for comparison
- ❌ Too much data (know when to aggregate)
## Inspiration Sources
- **r/dataisbeautiful** - Community examples
- **Information is Beautiful** - David McCandless
- **Flowing Data** - Nathan Yau
- **NYT Graphics** - Journalism excellence
- **Observable** - D3 community
## Key Principles
1. **Data first** - Let the data guide design decisions
2. **Less is more** - Remove until it breaks
3. **Perception matters** - Account for how humans see
4. **Tell a story** - Every visualization has a narrative
5. **Respect the subject** - Honor what the data representsRelated Skills
zinc-database
Access ZINC (230M+ purchasable compounds). Search by ZINC ID/SMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.
uspto-database
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
usfiscaldata
Query the U.S. Treasury Fiscal Data API for federal financial data including national debt, government spending, revenue, interest rates, exchange rates, and savings bonds. Access 54 datasets and 182 data tables with no API key required. Use when working with U.S. federal fiscal data, national debt tracking (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates on Treasury securities, foreign exchange rates, savings bonds, or any U.S. government financial statistics.
uniprot-database
Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bioservices (unified interface to 40+ services). Use this for direct HTTP/REST work or UniProt-specific control.
string-database
Query STRING API for protein-protein interactions (59M proteins, 20B interactions). Network analysis, GO/KEGG enrichment, interaction discovery, 5000+ species, for systems biology.
splitting-datasets
Process split datasets into training, validation, and testing sets for ML model development. Use when requesting "split dataset", "train-test split", or "data partitioning". Trigger with relevant phrases based on skill purpose.
senior-data-scientist
World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics. Expertise in Python (NumPy, Pandas, Scikit-learn), R, SQL, statistical methods, A/B testing, time series, and business intelligence. Includes experiment design, feature engineering, model evaluation, and stakeholder communication. Use when designing experiments, building predictive models, performing causal analysis, or driving data-driven decisions.
reactome-database
Query Reactome REST API for pathway analysis, enrichment, gene-pathway mapping, disease pathways, molecular interactions, expression analysis, for systems biology studies.
pubmed-database
Direct REST API access to PubMed. Advanced Boolean/MeSH queries, E-utilities API, batch processing, citation management. For Python workflows, prefer biopython (Bio.Entrez). Use this for direct HTTP/REST work or custom API implementations.
pubchem-database
Query PubChem via PUG-REST API/PubChemPy (110M+ compounds). Search by name/CID/SMILES, retrieve properties, similarity/substructure searches, bioactivity, for cheminformatics.
preprocessing-data-with-automated-pipelines
Process automate data cleaning, transformation, and validation for ML tasks. Use when requesting "preprocess data", "clean data", "ETL pipeline", or "data transformation". Trigger with relevant phrases based on skill purpose.
pdb-database
Access RCSB PDB for 3D protein/nucleic acid structures. Search by text/sequence/structure, download coordinates (PDB/mmCIF), retrieve metadata, for structural biology and drug discovery.