---
id: sm-pitch-deck-visuals
name: "pitch-deck-visuals"
url: https://skills.yangsir.net/skill/sm-pitch-deck-visuals
author: inferen-sh
domain: marketing
tags: ["presentation-design", "powerpoint", "keynote", "google-slides", "infographics"]
install_count: 6505
rating: 4.50 (260 reviews)
github: https://github.com/inferen-sh/skills
---

# pitch-deck-visuals

> 专注于为商业演示文稿（Pitch Deck）设计高质量视觉元素，提升演示的专业性和吸引力，助力项目成功。

**Stats**: 6,505 installs · 4.5/5 (260 reviews)

## Before / After 对比

### 演示文稿视觉设计效果对比

| Metric | Before | After | Change |
|---|---|---|---|
| - | - | - | - |
| - | - | - | - |
| - | - | - | - |

## Readme

# pitch-deck-visuals

# Pitch Deck Visuals

Create investor-ready pitch deck visuals via [inference.sh](https://inference.sh) CLI.

## Quick Start

Requires inference.sh CLI (`infsh`). [Install instructions](https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md)

```
infsh login

# Generate a slide background
infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1920px;height:1080px;background:linear-gradient(135deg,#0f0f23,#1a1a3e);display:flex;align-items:center;padding:100px;font-family:system-ui;color:white\"><div><p style=\"font-size:24px;color:#818cf8;text-transform:uppercase;letter-spacing:3px\">The Problem</p><h1 style=\"font-size:72px;margin:16px 0;font-weight:800;line-height:1.1\">Teams waste 12 hours/week on manual reporting</h1><p style=\"font-size:28px;opacity:0.7\">Source: Forrester Research, 2024</p></div></div>"
}'

```

## The 12-Slide Framework

#
Slide
Duration
Content

1
**Title**
15s
Company name, tagline, your name

2
**Problem**
45s
Pain point with data

3
**Solution**
45s
Your product in one sentence

4
**Demo/Product**
60s
Screenshot or live demo

5
**Market Size**
30s
TAM → SAM → SOM

6
**Business Model**
30s
How you make money

7
**Traction**
45s
Growth metrics, customers

8
**Competition**
30s
Positioning, not feature list

9
**Team**
30s
Why you specifically will win

10
**Financials**
30s
Revenue projections, unit economics

11
**The Ask**
15s
How much, what for

12
**Contact**
10s
Email, next steps

**Total: ~6 minutes.** Never exceed 20 slides.

## Slide Design Rules

### Typography

Element
Size (1920x1080)
Rule

Slide title
48-72px
Max 6 words

Key stat/number
96-144px
One per slide, when applicable

Body text
24-32px
Max 6 bullet points

Caption/source
16-20px
Cite data sources

Font
Sans-serif only
Inter, Helvetica, SF Pro, or similar

### The 1-6-6 Rule

- **1** idea per slide

- **6** words max per bullet

- **6** bullets max per slide

If you need more text, you need more slides.

### Color

Element
Guideline

Background
Dark (navy, charcoal) OR clean white — pick one, commit

Accent color
ONE brand color for emphasis

Text
White on dark, or dark grey (#333) on light

Charts
2-3 colors max, your brand color = "you"

Avoid
Gradients on text, neon colors, more than 3 colors

### Layout

Rule
Why

Consistent margins (80-100px)
Professional, clean

Left-align text (never center body text)
Easier to scan

One visual per slide
Focus attention

Slide numbers
Helps investors reference specific slides

Logo in corner
Subtle brand reinforcement

## Slide-by-Slide Visual Guide

### 1. Title Slide

```
infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1920px;height:1080px;background:#0f0f23;display:flex;align-items:center;justify-content:center;font-family:system-ui;color:white;text-align:center\"><div><h1 style=\"font-size:80px;font-weight:900;margin:0\">DataFlow</h1><p style=\"font-size:32px;opacity:0.7;margin-top:16px\">Automated reporting for data teams</p><p style=\"font-size:22px;opacity:0.5;margin-top:40px\">Seed Round — Q1 2025</p></div></div>"
}'

```

### 2. Problem Slide

**One big number + one sentence.**

```
infsh app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1920px;height:1080px;background:#0f0f23;display:flex;align-items:center;padding:100px;font-family:system-ui;color:white\"><div><p style=\"font-size:24px;color:#f59e0b;text-transform:uppercase;letter-spacing:3px;margin:0\">The Problem</p><h1 style=\"font-size:144px;margin:20px 0;font-weight:900;color:#f59e0b\">12 hrs/week</h1><p style=\"font-size:36px;opacity:0.8;line-height:1.4\">The average data analyst spends 12 hours per week<br>building reports manually</p><p style=\"font-size:20px;opacity:0.4;margin-top:30px\">Source: Forrester Research, 2024</p></div></div>"
}'

```

### 5. Market Size (TAM/SAM/SOM)

Use concentric circles, not pie charts:

```
infsh app run infsh/python-executor --input '{
  "code": "import matplotlib.pyplot as plt\nimport matplotlib\nmatplotlib.use(\"Agg\")\n\nfig, ax = plt.subplots(figsize=(19.2, 10.8))\nfig.patch.set_facecolor(\"#0f0f23\")\nax.set_facecolor(\"#0f0f23\")\n\ncircles = [\n    (0, 0, 4.0, \"#1e1e4a\", \"TAM\\n$50B\", 40),\n    (0, 0, 2.8, \"#2a2a5a\", \"SAM\\n$8B\", 32),\n    (0, 0, 1.4, \"#818cf8\", \"SOM\\n$800M\", 28)\n]\n\nfor x, y, r, color, label, fontsize in circles:\n    circle = plt.Circle((x, y), r, color=color, ec=\"#333366\", linewidth=2)\n    ax.add_patch(circle)\n    ax.text(x, y, label, ha=\"center\", va=\"center\", fontsize=fontsize, color=\"white\", fontweight=\"bold\")\n\nax.set_xlim(-5, 5)\nax.set_ylim(-5, 5)\nax.set_aspect(\"equal\")\nax.axis(\"off\")\nax.text(0, 4.8, \"Market Opportunity\", ha=\"center\", fontsize=36, color=\"white\", fontweight=\"bold\")\nplt.tight_layout()\nplt.savefig(\"market-size.png\", dpi=100, facecolor=\"#0f0f23\")\nprint(\"Saved\")"
}'

```

### 7. Traction Slide

**Show growth, not just numbers.** Up-and-to-the-right chart.

```
infsh app run infsh/python-executor --input '{
  "code": "import matplotlib.pyplot as plt\nimport matplotlib\nmatplotlib.use(\"Agg\")\n\nfig, ax = plt.subplots(figsize=(19.2, 10.8))\nfig.patch.set_facecolor(\"#0f0f23\")\nax.set_facecolor(\"#0f0f23\")\n\nmonths = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\"]\nrevenue = [8, 12, 18, 28, 42, 58, 82, 120]\n\nax.fill_between(range(len(months)), revenue, alpha=0.3, color=\"#818cf8\")\nax.plot(range(len(months)), revenue, color=\"#818cf8\", linewidth=4, marker=\"o\", markersize=10)\nax.set_xticks(range(len(months)))\nax.set_xticklabels(months, color=\"white\", fontsize=18)\nax.tick_params(colors=\"white\", labelsize=16)\nax.set_ylabel(\"MRR ($K)\", color=\"white\", fontsize=20)\nax.spines[\"top\"].set_visible(False)\nax.spines[\"right\"].set_visible(False)\nax.spines[\"bottom\"].set_color(\"#333\")\nax.spines[\"left\"].set_color(\"#333\")\nax.set_title(\"Monthly Recurring Revenue\", color=\"white\", fontsize=32, fontweight=\"bold\", pad=20)\nax.text(7, 120, \"$120K MRR\", color=\"#22c55e\", fontsize=28, fontweight=\"bold\", ha=\"center\", va=\"bottom\")\nax.text(7, 112, \"15x growth in 8 months\", color=\"#22c55e\", fontsize=18, ha=\"center\")\nplt.tight_layout()\nplt.savefig(\"traction.png\", dpi=100, facecolor=\"#0f0f23\")\nprint(\"Saved\")"
}'

```

### 8. Competition Slide

**Never use a feature matrix against competitors.** Use a 2x2 positioning map.

```
# See the competitor-teardown skill for positioning map generation
infsh app run infsh/python-executor --input '{
  "code": "import matplotlib.pyplot as plt\nimport matplotlib\nmatplotlib.use(\"Agg\")\n\nfig, ax = plt.subplots(figsize=(19.2, 10.8))\nfig.patch.set_facecolor(\"#0f0f23\")\nax.set_facecolor(\"#0f0f23\")\n\ncompetitors = {\n    \"Us\": (0.6, 0.7, \"#22c55e\", 300),\n    \"Legacy Tool\": (-0.5, 0.5, \"#6366f1\", 200),\n    \"Startup X\": (0.3, -0.4, \"#6366f1\", 200),\n    \"Manual Process\": (-0.6, -0.6, \"#475569\", 150)\n}\n\nfor name, (x, y, color, size) in competitors.items():\n    ax.scatter(x, y, s=size*5, c=color, zorder=5, alpha=0.8)\n    weight = \"bold\" if name == \"Us\" else \"normal\"\n    ax.annotate(name, (x, y), textcoords=\"offset points\", xytext=(15, 15), fontsize=22, color=\"white\", fontweight=weight)\n\nax.axhline(y=0, color=\"#333\", linewidth=1)\nax.axvline(x=0, color=\"#333\", linewidth=1)\nax.set_xlim(-1, 1)\nax.set_ylim(-1, 1)\nax.set_xlabel(\"Manual ← → Automated\", fontsize=22, color=\"white\", labelpad=15)\nax.set_ylabel(\"Basic ← → Advanced\", fontsize=22, color=\"white\", labelpad=15)\nax.set_title(\"Competitive Landscape\", fontsize=32, color=\"white\", fontweight=\"bold\", pad=20)\nax.tick_params(colors=\"#0f0f23\")\nfor spine in ax.spines.values():\n    spine.set_visible(False)\nplt.tight_layout()\nplt.savefig(\"competition.png\", dpi=100, facecolor=\"#0f0f23\")\nprint(\"Saved\")"
}'

```

### 9. Team Slide

```
# Generate professional team headshots/avatars
infsh app run falai/flux-dev-lora --input '{
  "prompt": "professional headshot portrait, person in business casual attire, clean neutral background, warm studio lighting, confident friendly expression, corporate photography style",
  "width": 512,
  "height": 512
}'

```

Layout: Photos in a row with name, title, and one credential each.

Person
Format

CEO
Name, title, "Ex-[Company], [credential]"

CTO
Name, title, "Built [thing] at [Company]"

Others
Name, title, one relevant credential

**Max 4 people on the team slide.** More = unfocused.

## Chart Guidelines

Chart Type
Use For
Never Use For

Line chart
Growth over time (traction)
Comparisons between categories

Bar chart
Comparing amounts
Time series (use line)

Concentric circles
TAM/SAM/SOM
Anything else

2x2 matrix
Competitive positioning
Feature comparison

Single big number
Key metric highlight
Multiple metrics

Pie chart
NEVER
Anything (hard to read, unprofessional)

### Chart Design Rules

Rule
Why

Max 2 colors per chart
Clarity

Your company = green or brand color
Positive association

Label directly on chart
No separate legend needed

Remove gridlines or make very subtle
Reduce clutter

Start Y-axis at 0
Don't mislead

Cite data sources
Credibility

## What Investors Look For

Slide
Investor's Real Question

Problem
"Is this a real problem people pay to solve?"

Solution
"Is this 10x better than the status quo?"

Market
"Is this big enough to matter?"

Traction
"Is this actually working?"

Team
"Can these people execute?"

Ask
"Is this a reasonable deal?"

## Common Mistakes

Mistake
Problem
Fix

Too many slides (20+)
Loses attention, unfocused
Max 12-15 slides

Wall of text
Nobody reads it
1-6-6 rule: 1 idea, 6 words, 6 bullets

Feature comparison table vs competitors
Looks defensive
Use 2x2 positioning map

Pie charts
Hard to read, unprofessional
Use bar charts or big numbers

No data sources cited
Looks made up
Always cite sources

Team slide with 8+ people
Unfocused
Max 4, focus on relevant experience

Inconsistent design
Looks amateur
Same colors, fonts, margins on every slide

No "The Ask" slide
Investor doesn't know what you want
State amount, use of funds, timeline

Vanity metrics
"1M visits" means nothing without conversion
Show revenue, active users, retention

Too much product demo
This is a business pitch, not a demo
Max 2 slides on product, focus on business

## Related Skills

```
npx skills add inference-sh/skills@competitor-teardown
npx skills add inference-sh/skills@data-visualization
npx skills add inference-sh/skills@ai-image-generation

```

Browse all apps: `infsh app list`
Weekly Installs4.4KRepository[inferen-sh/skills](https://github.com/inferen-sh/skills)GitHub Stars159First Seen6 days agoSecurity Audits[Gen Agent Trust HubPass](/inferen-sh/skills/pitch-deck-visuals/security/agent-trust-hub)[SocketPass](/inferen-sh/skills/pitch-deck-visuals/security/socket)[SnykWarn](/inferen-sh/skills/pitch-deck-visuals/security/snyk)Installed onclaude-code3.5Kgemini-cli3.1Kcodex3.1Kamp3.1Kkimi-cli3.1Kgithub-copilot3.1K

---
*Source: https://skills.yangsir.net/skill/sm-pitch-deck-visuals*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-pitch-deck-visuals/markdown*