Apply Edward Tufte's principles to design clear, honest, high-density data visualizations
Apply Edward Tufte's principles to design clear, honest, high-density data visualizations and to critique existing ones. (Adapted for Grok CLI from https://gist.github.com/aparente/e48c353755958621b3c0004593105a90 )
Install
mkdir -p .claude/skills/apply-edward-tufte-s-principles-to-design-clear-honest-high-density-data-visuali && curl -L -o skill.zip "https://mcp.directory/api/skills/download/9528" && unzip -o skill.zip -d .claude/skills/apply-edward-tufte-s-principles-to-design-clear-honest-high-density-data-visuali && rm skill.zipInstalls to .claude/skills/apply-edward-tufte-s-principles-to-design-clear-honest-high-density-data-visuali
About this skill
Tufte Visualization Skill
Apply Edward Tufte's principles to design clear, honest, high-density data visualizations and to critique existing ones.
Grok-Specific Guidance
When working in Grok:
- Generating output: Prefer clean, minimal SVG (or high-quality PNG via the
image_gentool) that follows the principles below. When the user wants an actual image, craft an extremely precise prompt forimage_genthat encodes the Tufte treatment (no heavy grids, direct labels, range ticks, shared scales, grayscale with purposeful color, etc.). - Critiquing user images: If the user pastes or uploads a screenshot/PDF/image of a chart, first describe what you see, then run it through the full critique workflow (graphical integrity, data-ink, chartjunk, eraser test, collision test, Tufte test).
- Integration with other skills: This skill pairs extremely well with:
pptx,docx,xlsx— when the goal is a report or presentation containing figures.review/design— when evaluating or creating design docs that contain visualizations.image_gen— for producing the final clean artifact.
- Always offer both critique and concrete improved version (code or generated image) unless the user only asked for one.
Workflow
For new visualizations:
-
Clarify the data story
- What comparisons matter?
- What's the key insight to communicate?
- Who's the audience?
-
Select approach using Tufte principles:
- High comparison need → Small multiples
- Dense data → Consider data tables, sparklines
- Time-series → Line charts with minimal grid
- Part-to-whole → Avoid pie charts; prefer bar/table or stacked small multiples
-
Design with data-ink in mind
- Start minimal, add only what's necessary
- Every element must earn its ink
- Default to grayscale; use color purposefully (never rainbow for sequential data)
-
Apply the eraser test before shipping
- For every element (label, tick, gridline, border, annotation): can it be erased without losing information that's not already conveyed elsewhere?
- Watch for duplicate encodings: numeric labels next to a value already marked by a tick; legends duplicating direct labels; per-panel scale annotations duplicating a shared-scale caption.
- If two elements compete for the same job, keep the visual one and drop the textual one (or vice versa) — not both.
-
Apply the collision test before shipping
- For every text element in the plot (axis labels, point annotations, epoch labels, baseline labels, explanatory notes): mentally draw its bounding box. Does anything else — another text element, a data line, dense markers — live in or cross that box?
- The eraser test catches redundant elements; the collision test catches crowded ones. Both must pass.
- Standard fixes: move explanatory prose out of the plot into the figcaption; relocate band/epoch labels to a dedicated strip above the plot; push baseline/reference labels to the outside margin; give each in-plot annotation a leader line so the marker and the text occupy clearly separated space.
- Watch especially: inverted axes (top of plot is now where extreme values cluster, where annotations also want to go); shared-scale small multiples (labels stacked near zero in every panel); dense scatter (text vanishes into the dot cloud unless explicitly cleared).
-
Apply the Tufte test (see references/tufte-principles.md and references/analytical-design.md)
For critiquing visualizations:
-
Check graphical integrity
- Calculate lie factor if proportions seem off
- Verify baselines and scales
- Look for 3D distortion or truncated axes
-
Identify chartjunk
- Decorative elements
- Heavy grids
- Unnecessary 3D effects
- Moiré patterns / busy fills
-
Evaluate data-ink ratio
- What can be erased?
- What's redundant?
-
Run the full checklist (eraser + collision + Tufte tests)
-
Suggest improvements with specific before/after recommendations (text description +, when possible, a minimal improved SVG or a precise
image_genprompt).
Key Principles Reference
Load these files for the full detailed principles and checklists:
references/tufte-principles.md— core principles from The Visual Display of Quantitative Information: lie factor, data-ink, chartjunk, small multiples, graphical integrity, data density.references/analytical-design.md— extensions from Envisioning Information, Visual Explanations, and Beautiful Evidence: the six principles of analytical design, sparklines, layering & separation, micro/macro, range-frames, causality, confections, escaping flatland.
Quick Tufte Checklist (use on every critique or design):
- Lie Factor ≈ 1.0 (no visual distortion)
- Maximum data-ink ratio (erase everything that fails the eraser test)
- Zero chartjunk
- Clear, direct labeling (no legends when you can label the data itself)
- Answers "compared to what?"
- Shows causality or mechanism where relevant
- Multivariate (not over-reduced to 1–2 variables)
- Words, numbers, images integrated — not segregated
- Reveals multiple levels of detail (micro + macro)
- Layering: primary data dominates, secondary recedes (light grids, gray underlays)
- Appropriate data density
- Range-frames or data-carrying axes used where helpful
Producing a Tufte-Style Visualization (Grok Workflow)
When the user wants you to make the improved version:
- Summarize the data story and chosen treatment in 1–2 sentences.
- Decide the exact form (small multiples, sparkline table, range-frame line chart, etc.).
- Output either:
- A minimal, clean SVG (preferred for precision), or
- A highly detailed prompt for the
image_gentool that explicitly encodes every Tufte decision (no heavy borders, direct labels at ends of lines, shared y-scale stated in caption, single light zero line, range ticks only, etc.).
- If the user will embed this in slides or docs, also provide the plain-language caption that belongs underneath the figure.
Sources & Credits
This skill was adapted from the outstanding gist by aparente:
https://gist.github.com/aparente/e48c353755958621b3c0004593105a90
Original files included:
- SKILL.md
- references__tufte-principles.md
- references__analytical-design.md
- Four large demonstration HTML files (giss-temperature, kyoto-sakura, sunspot-butterfly, sunspot-pretty) showing dramatic before/after treatments.
The giant demo HTML files were intentionally omitted from this distribution due to size (they contain full inline SVG path data). View the original gist for the beautiful interactive before/after examples.
All core principles and the excellent "eraser test" / "collision test" language are preserved and lightly extended for Grok usage.
You might also like
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
pdf-to-markdown
aliceisjustplaying
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
Related MCP Servers
Browse all serversEffortlessly create 25+ chart types with MCP Server Chart. Visualize complex datasets using TypeScript and AntV for powerful data insights.
Create and edit PowerPoint presentations, apply themes, add slides and export to PDF quickly using pptxgenjs and officegen.
Boost productivity with Task Master: an AI-powered tool for project management and agile development workflows, integrated with popular editors.
Unlock seamless Figma to code: streamline Figma to HTML with Framelink MCP Server for fast, accurate design-to-code workflows.
Desktop Commander MCP unifies code management with advanced source control, git, and svn support—streamlining development in one interface.
Enhance productivity with AI-driven Notion automation. Leverage the Notion API for secure, automated workspace management and advanced integrations.