data-viz-deck

Installation
SKILL.md

Data Visualization & Deck Builder

Transform structured data and analysis into polished visual deliverables: presentation decks, interactive dashboards, and visual reports.

Install

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

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)

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.

Related skills

More from thatrebeccarae/claude-marketing

Installs
10
GitHub Stars
27
First Seen
Apr 8, 2026