Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Data Ink Maximization?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sethmblack-data-ink-maximization)
---
name: data-ink-maximization
description: Systematically remove non-data elements from graphics to maximize information density. Based on Edward Tufte's data-ink ratio principle.
license: MIT
metadata:
version: 1.0.3770
author: sethmblack
repository: https://github.com/sethmblack/paks-skills
keywords:
- data-ink-maximization
- writing
---
# Data-Ink Maximization
Systematically remove non-data elements from graphics to maximize information density. Based on Edward Tufte's data-ink ratio principle.
---
## When to Use
- Chart or graphic feels cluttered
- Too many visual elements competing for attention
- Need to simplify without losing information
- Preparing graphics for publication or presentation
- Dashboard has too much "chrome"
**Trigger Phrases:**
- "My chart is cluttered"
- "How do I simplify this?"
- "There's too much going on"
- "Clean up this graphic"
- "Reduce visual noise"
---
## Inputs
| Input | Required | Description |
|-------|----------|-------------|
| graphic | Yes | The visualization to optimize |
| purpose | No | What the graphic needs to communicate |
| constraints | No | Format, size, or context limitations |
---
## Core Principle
> "Data-ink is the non-erasable core of a graphic, the non-redundant ink arranged in response to variation in the numbers represented."
> — Edward Tufte
**The Formula:**
```
Data-Ink Ratio = (Ink used to display data) / (Total ink used in graphic)
```
**The Goal:** Maximize within reason. Every visual element must earn its place by encoding information.
---
## Workflow
### Step 1: Identify All Elements
List every visual element in the graphic:
- Lines (axes, gridlines, borders, data lines)
- Shapes (bars, points, areas)
- Text (labels, legends, titles, annotations)
- Colors (backgrounds, fills, borders)
- Effects (shadows, 3D, gradients)
### Step 2: Classify Each Element
For each element, ask: **Does this encode data?**
| Classification | Definition | Action |
|----------------|------------|--------|
| **Data-ink** | Directly represents a data value | Keep |
| **Redundant data-ink** | Repeats information already shown | Remove |
| **Non-data-ink** | Decoration or structure only | Evaluate |
### Step 3: Apply the Erasure Test
For each non-data element, ask: **If I remove this, do I lose information?**
- If no → Remove it
- If yes → Keep it (it's actually data-ink)
- If maybe → Try removing it and see
### Step 4: Reduce Redundancy
Common redundancies:
- Legend + direct labels (choose one—direct labels preferred)
- Axis title + clear axis labels (often title is redundant)
- Gridlines + axis ticks (usually need only one)
- Border + background color (border often unnecessary)
### Step 5: Lighten Structure
Elements you must keep can often be lightened:
- Heavy gridlines → Light gray or dotted
- Bold axis lines → Thin gray
- Prominent borders → Remove or make subtle
- Dark backgrounds → White or light
### Step 6: Apply the Shrink Test
Shrink the graphic significantly. What survives?
- If it remains readable → Good data-ink ratio
- If it becomes illegible → Too much non-data-ink
---
## The Erasure Checklist
Remove unless specifically needed:
| Element | Default Action | Keep If |
|---------|----------------|---------|
| 3D effects | Remove | Never |
| Shadows | Remove | Never |
| Gradients | Remove | Encoding a data dimension |
| Background colors | Remove | Essential for grouping |
| Gridlines | Remove | Precise reading needed |
| Axis lines | Lighten | Data near axis |
| Borders | Remove | Grouping multiple charts |
| Legends | Replace | Direct labels impossible |
| Data point borders | Remove | Overlapping points |
---
## Before and After Examples
### Bar Chart
**Before:** Heavy borders, 3D bars, dark gridlines, separate legend, background gradient
**After:** Simple bars, direct value labels, no gridlines, white background
### Line Chart
**Before:** Thick axis lines, heavy gridlines, legend box, data point markers on every point
**After:** Light gray baseline, no gridlines, direct line labels, markers only at key points
### Dashboard
**Before:** Each widget in a box, navigation chrome, decorative icons, colored backgrounds
**After:** White background, widgets separated by space alone, minimal navigation, no icons
---
## Outputs
| Output | Description |
|--------|-------------|
| Element audit | List of elements classified by type |
| Removal list | Specific elements to remove |
| Lightening list | Elements to reduce in weight |
| Revised graphic | Description of optimized version |
---
**Format:**
```markdown
## Analysis: [Topic]
### Key Findings
- [Finding 1]
- [Finding 2]
- [Finding 3]
### Recommendations
1. [Action 1]
2. [Action 2]
3. [Action 3]
```
## Additional Notes
**Best practices:**
- Use this skill when the situation clearly matches its intended use cases
- Combine with related skills for comprehensive analysis
- Iterate on outputs if initial results don't fully meet requirements
**Common variations:**
- Adjust the depth of analysis based on available time and information
- Scale the approach for different levels of complexity
- Adapt the output format to audience needs
**When to skip this skill:**
- The situation doesn't match the core use cases
- Simpler approaches would be more appropriate
- Time constraints require faster methods
## Example
**User:** "I have a bar chart showing sales by region. It has gridlines, a border, 3D bars, a legend, and axis titles. How do I clean it up?"
**Data-Ink Maximization response:**
Let's audit each element:
**Remove completely:**
- 3D effect on bars (pure decoration, distorts perception)
- Border around chart (adds nothing)
- Legend (replace with direct labels)
**Lighten or reduce:**
- Gridlines → Remove entirely or make very light gray, dashed
- Axis titles → If axes are labeled "Q1, Q2, Q3, Q4" and "Revenue ($M)", titles may be redundant
**Keep:**
- Bars (data-ink)
- Axis labels (necessary for reading)
- One axis line (baseline reference)
**Your optimized chart:**
- Simple 2D bars
- Direct labels on or above each bar showing the value
- Light gray horizontal baseline only
- White background
- Region names as x-axis labels
- No legend, no border, no gridlines
Apply the shrink test: if you reduce this to thumbnail size, the bars and their relative heights should still be visible. That's good data-ink ratio.
---
## Integration
This skill pairs with:
- **chartjunk-detection** - Identify problems before fixing
- **small-multiples-design** - Apply same principles across repeated elements
- **high-resolution-thinking** - Add data after removing chrome
---
## Constraints
- Don't remove elements that aid accessibility
- Some gridlines help when precise reading is needed
- Consider your audience's expectations
- The goal is maximum clarity, not minimum elements
---
## Source Expert
Edward Tufte - `experts/edward-tufte/`