data-viz-deck

$npx mdskill add thatrebeccarae/claude-marketing/data-viz-deck

Transform structured data into polished visual deliverables like decks and dashboards.

  • Turns audit data or analysis into client-ready presentations or reports.
  • Generates PPTX decks, interactive HTML dashboards, or styled markdown reports.
  • Uses a customizable design system with forest green and cream accents.
  • Outputs native PowerPoint with editable charts and professional layouts.

SKILL.md

.github/skills/data-viz-deckView on GitHub ↗
---
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).

More from thatrebeccarae/claude-marketing

SkillDescription
ab-testing-frameworkA/B and multivariate testing methodology. Design experiments, calculate sample sizes, determine statistical significance, avoid common pitfalls, and interpret results. Platform-agnostic framework applicable to landing pages, emails, ads, pricing, and product features. Use when the user asks about A/B testing, split testing, experiment design, statistical significance, or conversion experiments.
account-structure-reviewGoogle and Meta paid media account structure evaluation. Audits campaign/ad set architecture against conversion volume minimums, budget thresholds, and targeting overlap. Identifies over-segmentation, under-segmentation, budget fragmentation, and structural anti-patterns blocking algorithmic learning. Provides consolidation roadmaps with migration plans. Use when inheriting accounts, quarterly health checks, or before scaling budgets.
aeo-geo-optimizerAnswer Engine Optimization (AEO) and Generative Engine Optimization (GEO) specialist. Optimize content and websites to appear in AI-generated answers from ChatGPT, Perplexity, Claude, Google AI Overviews, and other LLM-powered search experiences. Use when the user asks about AI search optimization, AEO, GEO, AI Overviews, appearing in AI answers, LLM citations, or optimizing for generative search.
brand-dnaExtract brand identity from a website URL — voice, colors, typography, imagery, values, and target audience — into a structured brand-profile.json. The profile feeds downstream skills (seo-content-writer, email-composer, frontend-design, pro-deck-builder, cross-platform-audit) for brand-consistent output. Use when the user says brand DNA, brand profile, extract brand, analyze brand, brand voice, brand identity, brand colors, or brand style guide.
brand-voice-guidelinesDevelop brand voice, tone matrices, messaging frameworks, and brand book documentation. Use when the user asks about brand voice, tone of voice, brand guidelines, messaging framework, or brand consistency.
brazeBraze customer engagement platform expertise. Audit campaigns, Canvases, segments, messaging channels, and data architecture. Use when the user asks about Braze, customer engagement, push notifications, in-app messaging, cross-channel orchestration, or lifecycle marketing at scale.
competitor-ads-analystExtract and analyze competitor advertising from public ad libraries (Facebook Ad Library, Google Ads Transparency Center, TikTok, LinkedIn). Identifies messaging patterns, creative formats, pain points targeted, and positioning gaps. Use for competitive intelligence, campaign planning, and creative inspiration.
content-pipelineEnd-to-end content creation workflow that orchestrates research, editorial review, and social distribution agents in sequence. Use when the user wants to create, review, and distribute content through a multi-stage pipeline, or says "/content-pipeline".
content-workflowEnd-to-end content creation pipeline from research through editorial review to social distribution. Orchestrates a 3-stage workflow: research, draft/edit, and distribute. Supports blog posts, LinkedIn, Twitter threads, newsletters, and essays.
copywriting-frameworksFramework-driven copywriting for ads, landing pages, emails, sales pages, and CTAs. Includes AIDA, PAS, BAB, 4Ps, StoryBrand, QUEST, FAB, and more. Use when writing conversion-focused copy, ad creative, headlines, email sequences, sales pages, or when the user mentions copywriting frameworks, persuasive writing, or direct response copy.