data-viz-deck · v1.0.0 · 2026-03-18 · sha256 0022704166f3613a
data-viz-deck v1.0.0A
Immutable. This exact content is served forever at /api/v1/blob/0022704166f3613a.
---
name: data-viz-deck
description: Transform audit data, performance reports, and structured analyses into polished visual deliverables. Generates presentation decks (PPTX), interactive HTML dashboards, or styled markdown reports with charts. Includes a customizable design system with forest green accent and warm cream backgrounds. Use when the user has analysis data and needs a visual deliverable.
license: MIT
origin: custom
author: Rebecca Rae Barton
author_url: https://github.com/thatrebeccarae
metadata:
version: 1.0.0
category: reporting
domain: data-visualization
updated: 2026-03-18
tested: 2026-03-18
tested_with: "Claude Code v2.1"
---
# Data Visualization & Deck Builder
Transform structured data and analysis into polished visual deliverables: presentation decks, interactive dashboards, and visual reports.
## Install
```bash
git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/data-viz-deck ~/.claude/skills/
```
## When to Use This Skill
- User has completed an audit or analysis and wants a visual deliverable
- User says "make a deck," "create a presentation," "build a dashboard," "visualize this"
- User wants to turn a markdown report into client-ready slides
- User needs charts, tables, or visual summaries from performance data
## Output Formats
### 1. PPTX Deck (Primary)
Native PowerPoint with editable charts, styled tables, and professional layouts. Best for client handoffs and presentations.
**Requires:** python-pptx (installed), pandas (installed)
### 2. Interactive HTML Dashboard
Single-file HTML with plotly.js charts (loaded via CDN), filterable tables, and responsive layout. Best for sharing interactive reports.
**Requires:** jinja2 (installed), pandas (installed). Plotly.js loaded via CDN at runtime.
### 3. Visual Markdown Report
Enhanced markdown with embedded chart images (requires matplotlib: `pip install matplotlib`). Best for vault reports and documentation.
## Workflow
### Step 1: Identify the Data Source
Read the source file (audit markdown, CSV, JSON, or database query results). Parse the key metrics, tables, and findings into a pandas DataFrame or structured dict.
### Step 2: Select Chart Types
| Data Pattern | Chart Type | When to Use |
|-------------|------------|-------------|
| Categories with values | **Bar chart** (horizontal) | Revenue by category |
| Categories + benchmark | **Bar chart with reference line** | Performance vs benchmark |
| Parts of a whole | **Doughnut/Pie chart** | Revenue concentration, channel mix |
| Values over time | **Line chart** | Trend data, period-over-period |
| Two variables | **Scatter plot** | Correlation analysis |
| Performance scoring | **Heatmap table** | Color-coded metrics (green/amber/red) |
| Before/after or gaps | **Waterfall chart** | Revenue opportunity sizing |
| Ranked items | **Horizontal bar** | Top 10 sorted |
| Funnels | **Funnel chart** | Delivered > opened > clicked > converted |
| Status overview | **Scorecard/KPI tiles** | Executive summary metrics |
### Step 3: Apply the Design System
All deliverables use a configurable design system. Override the color tokens and font choices to match your brand.
#### Color Palette
```python
COLORS = {
# Brand accent -- change to your brand color
"accent": "#3D7A5C", # Forest green
"accent_light":"#6AB88A", # Light green
# Chart series (ordered for visual distinction)
"series": ["#3D7A5C", "#6AB88A", "#8B7EC8", "#D4845A", "#C9A84C", "#C75B6F", "#93C9A8", "#8B949E"],
# Semantic
"good": "#2E8B57", # Green -- above benchmark
"warning": "#D97706", # Amber -- watch
"critical": "#C0392B", # Red -- action needed
"neutral": "#8B949E", # Slate -- no judgment
# Dark mode (title slides, section dividers)
"bg_deep": "#141414",
"bg_surface": "#1E1E1E",
"text_bright": "#F0F3F6",
"text_secondary_dark": "#9CA3AF",
# Light mode (content slides -- the default)
"bg_light": "#FAF7F2", # Warm cream, NOT white
"bg_surface_light": "#F2EDE6",
"text_primary":"#0F0E0E",
"text_secondary": "#57606A",
"text_muted": "#8B949E",
}
```
**Color rules:**
- Light mode (`#FAF7F2` warm cream) is default for all content slides. NOT white.
- Dark mode (`#141414`) only for: title slides, section dividers, closing slides.
- Accent color used sparingly: top-performing bars, key metrics, accent callouts.
- Semantic colors (green/amber/red) only for status indicators, never decoration.
#### Typography (PPTX)
```python
FONTS = {
"title": "Switzer", # Slide titles -- Light (300), 28-36pt, NOT bold
"subtitle": "Switzer", # Subtitles -- Regular (400), 18-22pt
"body": "Switzer", # Body text -- Regular (400), 12-14pt
"data": "Cartograph CF", # Numbers, tables -- Regular/Bold, 11-12pt
"kpi": "Cartograph CF", # KPI big numbers -- Bold (700), 44-60pt
"label": "Cartograph CF", # ALL CAPS labels -- Regular, 9-10pt, +tracking
}
# Fallbacks: Switzer -> Inter -> system-ui | Cartograph CF -> Consolas -> monospace
```
**Critical typography rules:**
1. **Headlines use Light weight, NOT Bold.** Light at large sizes = confident, premium.
2. **Monospace font for ALL numeric/data content.** KPIs, table numbers, labels, footers.
3. **Negative tracking on headlines.** -0.03em to -0.04em.
4. **Positive tracking on ALL CAPS labels.** +0.08em to +0.1em.
#### Slide Layouts
Every deck follows this structure:
```
1. Title Slide -- Report name, date (dark mode)
2. Executive Summary -- 3-5 KPI tiles + key findings bullets
3. Scorecard -- Color-coded performance overview table
4. Deep Dive slides -- One per major finding (chart + insight + recommendation)
5. Opportunity Sizing -- Waterfall or bar chart of revenue opportunities
6. Recommendations -- Prioritized table (Quick Wins / Strategic / Maintenance)
7. Appendix -- Full data tables
```
#### Slide Dimensions (python-pptx)
```
Width: 13.333"
Height: 7.5"
Aspect: 16:9
```
### Step 4: Generate the Deliverable
Follow the code patterns in REFERENCE.md for the chosen output format.
## Key Principles
1. **One insight per slide.** Never cram multiple findings onto one slide. Each deep-dive slide has: chart (left 60%), insight + recommendation (right 40%).
2. **Lead with the number.** Every slide title should contain the key metric: "Post-Purchase RPR at $0.07 -- 14x Below Benchmark" not "Post-Purchase Flow Analysis."
3. **Benchmark everything.** Never show a metric without context. Show the benchmark, the gap, and what closing the gap is worth.
4. **Color = meaning.** Green means good/above benchmark. Amber means watch. Red means action needed. Never use color decoratively in data slides.
5. **Simplify chart data.** Max 6-8 items per chart. Aggregate the tail into "Other."
6. **Executive summary is the deck.** If someone only reads slide 2, they should understand the full story.
7. **Never estimate when actuals exist.** If the data has exact values, compute precise totals.
8. **No white backgrounds.** Always warm cream `#FAF7F2` for light content.
9. **No bold headlines.** Light weight for all hero/section titles.
For complete code templates and reference, see [REFERENCE.md](REFERENCE.md).