PowerPoint Automation with Claude

Turn an Excel valuation model into a polished, institutional-grade equity research deck using Claude Design and Claude Code skills. The same workflow can be reused across pitch books, dashboards, and reports.

Overview

The dashboard automation guide showed how to wrap a Python financial model in an interactive HTML dashboard. This page covers the next problem most analysts run into: turning that same model into a professional, reusable presentation.

The workflow has two phases. First, Claude Design generates a complete institutional design system: colors, typography, chart styles, slide templates, the whole thing. Claude packages this as a downloadable skill you can drop into any project. Second, Claude Code uses that skill to build the actual deck, pulling figures directly from your Excel model and exporting a finished PDF.

Why this works: the design system is built once and reused across every deck, dashboard, or report you produce. Once the skill is saved, every new presentation starts from the same visual foundation, so output stays consistent without you re-explaining formatting choices each time.

1

Generate the design system in Claude Design

Open Claude on the web (claude.ai), switch to Design mode, and hand it the prompt below. Design mode is where Claude can draft visuals, build palettes, define typography, and package everything into a reusable skill.

The prompt is opinionated on purpose. It tells Claude exactly who you are, what kind of work you produce, what aesthetic you want, what to avoid, and asks it to make strong choices instead of giving you options to pick from.

Design system prompt (click to expand)
I'm a financial analyst. I build equity pitch decks, valuation reports, dashboards, and Excel models for institutional audiences (portfolio managers, investment committees, boards). I want a single design system I can apply across all of it so my output looks professional and consistent instead of cobbled together.

The look should feel institutional: think sell-side research, consulting pitch decks, Bloomberg terminals. Serious, clean, numbers-first. Not startup-marketing or consumer-tech. Restrained, durable, ages well over many years.

Please build me a complete design system and hand me the pieces I'll reuse: colors, typography, spacing rules, chart styles, and table formatting. Include reusable templates I can drop numbers into (slide layouts: title, chart, table, comparison, cover; a dashboard template; a report cover page; and the chart types I use all the time: line, bar, waterfall, sensitivity grid, football field, scatter). Charts need to work in both HTML/PDF output and in Excel models built with Python.

I don't know design jargon. Make strong opinionated choices for me instead of giving me options.
Why this prompt works:
  • Who you are + what you make (first paragraph) gives the designer enough context to pick the right register without you having to explain what "institutional" means.
  • Reference classes beat adjectives. "Think Bloomberg / sell-side / consulting" conveys an aesthetic instantly. Adjectives don't.
  • Explicit negation. "Not startup-marketing or consumer-tech" rules out the wrong direction so the designer doesn't have to guess.
  • "Restrained, durable, ages well" tells Claude to avoid trend-chasing (no glassmorphism, no neon gradients, no 2024-flavored icons that look dated in 2028).
  • Explicit outputs list (slides, dashboard, report, chart types) ensures you get reusable templates, not just CSS tokens.
  • "HTML/PDF + Excel" signals that you need both worlds, so the system covers your actual workflow.
  • "Make strong opinionated choices" is the magic line. Without it, Claude tends to produce 3 palettes, 4 fonts, and ask you to pick. With it, you get one ready-to-use system.

2

Inspect the project folder Claude generates

Claude Design will create a project folder containing every piece of the design system as actual files: the color tokens, the typography rules, the chart definitions, slide layouts, and a SKILL.md manifest that tells Claude Code how to use them.

The folder typically looks like this:

institutional-design/ ├── SKILL.md # manifest: name, description, what the skill exports ├── tokens.css # colors, spacing, radii, shadows ├── typography.css # font stacks, sizes, weights, line-heights ├── slides/ │   ├── cover.html # cover slide layout │   ├── title.html # section title slide │   ├── chart.html # chart-only slide │   ├── table.html # table-only slide │   └── comparison.html # side-by-side comparison ├── charts/ │   ├── line.py # Plotly chart spec │   ├── bar.py │   ├── waterfall.py │   ├── sensitivity_grid.py │   ├── football_field.py │   └── scatter.py ├── tables/ │   ├── financials.html # multi-period financial tables │   └── peers.html # comparable companies └── cover_page.html # report cover page

Download the entire folder. Claude Design exports it as a zip. Save it somewhere you'll remember.


3

Install the skill into Claude Code

Skills live in the .claude/skills/ directory inside any project. To install, unzip the design system folder and copy it into .claude/skills/ in the project where your Excel model lives.

your-project/ ├── model.xlsx # your Excel valuation model └── .claude/     └── skills/         └── institutional-design/ # the folder you downloaded             └── SKILL.md # Claude reads this on startup

Open the project in VS Code, launch Claude Code (claude in the terminal), and the skill is automatically discovered. From now on, any prompt you write can reference the design system by name.


4

Build the deck from the Excel model

With the skill installed and the Excel model in the same project folder, hand Claude Code the prompt below. It instructs Claude to use the design system, extract numbers from Excel with openpyxl, render every slide, and export a combined PDF.

Build deck prompt (click to expand)
I have a design system called [name of your skill here] in the skills folder, and a finished Excel model here in this folder. Build a 9-slide equity research deck using the design system, pulling all figures from the Excel model (Base Case scenario). Export as a combined PDF.

Start by writing a small data-extraction step: open the workbook with openpyxl (or the formulas package if you need to resolve formulas) and produce a JSON dict with every figure the slides need (historical and forecast revenue, net income, subscribers, avg price, WACC inputs, DCF bridge, scenarios, peer multiples). Every slide's HTML reads from that dict so the deck is live-linked to the model.

Slides:

1. Cover with thesis, price target, rating
2. Company overview and shareholder structure
3. Strategy and geographic position
4. Historical financials (revenue composition, net income, margins)
5. Base case forecast with assumption rationale
6. Peer multiples and operational ratios
7. WACC build-up with beta regression scatter
8. DCF valuation with sensitivity grid
9. Football field and final recommendation

Only rule that matters: no content overlaps the slide footer. Every slide has a Source footer absolutely positioned at the bottom. After each slide, run a Playwright check that no element's bottom extends past the footer's top, and trim until none does. Don't trust scrollHeight alone, walk descendants and compare against the footer's bounding rect.

If a slide ends up with empty space, fill it with a short commentary block (takeaway bullets, assumption rationale, interpretation) so there are no visible gaps.

Replace [name of your skill here] with the folder name from your .claude/skills/ directory (in our example, institutional-design).


5

Customize the deck the way you want

Once the first pass is done, the entire deck is just HTML files reading from your JSON dict and rendered through the design system. Iterating is fast: ask Claude to swap a chart type, add a slide, change the cover thesis, or pull a different scenario from the model. The design system stays consistent, so every change still looks like it belongs in the same deck.

Every change goes through Git, so you can compare versions and roll back instantly if the new layout doesn't land.


Conclusion

You've now seen the full design-to-deliverable loop: Claude Design builds the visual language once, packages it as a portable skill, and Claude Code reuses it forever. Pair that skill with any Excel model and you get a finished, audit-quality presentation in minutes instead of days.

The same skill can power valuation decks, board materials, sector overviews, monthly portfolio reviews, or any other recurring presentation in your workflow. Build the design system once, point Claude at a different model and a different prompt, and the output stays consistent every time.

The workflow in one sentence: design once with Claude Design, install the skill, then let Claude Code generate every future deck directly from your Excel models.
David Arias, CFA
Written and Modelled by

David Arias, CFA

Licensed portfolio manager with 4+ years of experience, specializing in emerging markets private debt, derivatives, and quantitative finance.

Let's Connect