Pitch Deck skill for Codex
One claim per slide, numbers that agree. Codex drafts and critiques investor decks slide by slide, writing headlines as claims rather than labels and backing each with the evidence an investor looks for. It sizes the market bottom-up, builds presented and send-ahead versions with speaker notes, and cross-checks every figure against the model and metrics so the traction slide never contradicts the financials.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- pitch-deck Installs to ~/.agents/skills/pitch-deck/ for every project on this machine.
curl -fsSL codexskills.dev/cli.mjs -o codex-skills.mjsnode codex-skills.mjs install pitch-deck The CLI also searches, updates and removes skills. Run it with no arguments to pick from a list. Needs Node 20.12+.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- --project pitch-deck Installs to .agents/skills/pitch-deck/ in the current repository. Commit it and everyone who runs Codex there gets it.
curl -fsSLO codexskills.dev/downloads/pitch-deck.zipunzip -o pitch-deck.zip -d ~/.agents/skills/ The archive holds the skill folder with its generated agents/openai.yaml. Unzip into .agents/skills/ to scope it to a repo.
& ([scriptblock]::Create((irm codexskills.dev/install.ps1))) pitch-deck PowerShell 5.1 or 7. Installs to %USERPROFILE%\.agents\skills\. Add -Project for the current repo.
104-line POSIX script. No sudo, no telemetry. Read install.sh
Use it in Codex
Start a prompt with $pitch-deck, or pick it from /skills.
You can also just describe the task: Codex reads the description below and loads the playbook when your request matches.
What Codex reads before loading it
Writes and critiques startup investor pitch decks - narrative arc, slide-by-slide content for problem, solution, why now, market size, traction, business model, competition, team, financials and the ask - plus speaker notes, a send-ahead version and a slide-level critique with specific rewrites. Use when asked to draft a seed or Series A deck, restructure an existing deck, write the slide copy or speaker script, check deck numbers for consistency, or get investor-style feedback before a fundraise.
Use it when
- Preparing a deck for a pre-seed, seed or Series A raise
- An existing deck gets meetings but no second meetings
- You need speaker notes or a read-alone version of a deck
- Deck numbers need checking against the model before sending
Use something else when
- You need the slides built as a .pptx file from finished content: use pptx-presentations
- You need the underlying forecast or runway numbers: use financial-modeling
- You are writing a longer plan for a bank or partner rather than investors: use business-plan
How to check the result
Someone reading only the headlines can state the company, customer and evidence in one sentence, and every figure appears in the consistency table with a matching source.
The mistake it prevents
A top-down market slide quoting a huge analyst number with no bottom-up arithmetic of customers times price.
A strong deck lets an investor repeat the company in one sentence after three minutes: who has the problem, why this team solves it now, and the evidence that it is working. Every slide makes one claim, the headline states that claim, and every number agrees with every other number in the deck and the data room.
This is storytelling and structure work, not investment or securities advice. Remind the user that projections must be labelled as such, and that a lawyer should review any offering terms before they are sent.
Inputs to gather first
Ask for, or read from the folder, before writing a single slide:
- One-line description and the customer it serves (job title or persona, not “SMBs”)
- Stage and raise: amount, instrument if decided (SAFE, priced round), use of funds
- Traction data: revenue or MRR by month, users, retention, pipeline, pilots, LOIs
- Customer evidence: quotes, case studies, logos the user has permission to show
- Team bios with the one fact that makes each person credible for this problem
- Competitors the user worries about, and why customers pick them today
- Any existing deck, memo, website copy or financial model
If traction numbers come from a model or metrics export, use the same definitions (see saas-metrics) and cite the period. Never invent figures, logos or quotes to fill a slide; leave a clearly marked placeholder instead.
Default structure (10-14 slides)
| # | Slide | The one claim it makes | Evidence on the slide |
|---|---|---|---|
| 1 | Title | Company + one-line value proposition | Logo, one sentence, contact |
| 2 | Problem | A specific person loses time/money/risk today | Quantified pain, real quote |
| 3 | Solution | How the product removes that pain | Screenshot or 3-step flow, not a feature list |
| 4 | Why now | What changed that makes this possible or urgent | Technology, regulation, behaviour shift, cost curve |
| 5 | Product | It exists and works | Demo still, short workflow, key capability |
| 6 | Traction | People want it | One chart going up and to the right, with axis labels and dates |
| 7 | Business model | How money is made and the unit economics | Pricing, ACV, gross margin, payback if known |
| 8 | Market | The prize is large enough for venture returns | Bottom-up sizing: customers x price |
| 9 | Competition | Why customers will choose this | Positioning on two axes that matter to buyers, or a comparison table |
| 10 | Go-to-market | How customers will be acquired efficiently | Channels that already work, CAC if known |
| 11 | Team | Why this team wins | Relevant experience, prior outcomes, key hires |
| 12 | Financials | The plan is coherent | 3-year revenue and burn summary, labelled as projections |
| 13 | The ask | What the money buys | Amount, runway in months, 3-4 milestones it reaches |
| 14 | Close | Restate the one-liner | Contact details |
Reorder for strength: if traction is the best asset, move it to slide 3 or 4. Seed decks with little revenue lead with team and insight; Series A decks lead with traction and efficiency.
Writing the slides
- Headlines are full claims, not labels. “Traction” is a label; “Revenue tripled in six months with no paid marketing” is a claim.
- One idea per slide, roughly 30 words of body text at most on a presented deck.
- Market sizing bottom-up: number of target customers x realistic annual price. Show the arithmetic. Top-down analyst figures (“a $400B market”) are background at best.
- Charts: label axes and units, start the y-axis at zero for bar charts, show the time period, and say whether the figure is revenue, bookings or GMV.
- Competition: never claim “no competitors”. The status quo (spreadsheets, an agency, doing nothing) is always a competitor. Avoid the checkbox grid where the startup wins every row; it reads as naive.
- The ask: amount, how many months of runway it buys, and the milestones that make the next round possible. Link milestones to the financial model.
Two versions
| Version | Purpose | Differences |
|---|---|---|
| Presented | Shown live by the founder | Sparse slides, big visuals, detail in speaker notes |
| Send-ahead | Read alone in about 3 minutes | More text per slide so it stands alone; no reliance on narration |
Write speaker notes for the presented version: 60-90 seconds per slide, the transition sentence into the next slide, and the likely investor question with a short answer.
Consistency check
Before delivering, build a table of every number in the deck and check each source:
| Slide | Figure | Value | Period | Source | Matches model/data room? |
|---|---|---|---|---|---|
| 6 | MRR | $84k | Sep 2026 | Stripe export 2026-10-01 | yes |
| 13 | Runway | 24 months | from close | model v7, base case | yes |
Flag any mismatch (traction slide says $84k MRR, financials slide implies $70k), any projection not labelled as one, and any customer logo or quote without confirmed permission.
Critiquing an existing deck
Read it the way a partner does on a first pass: under five minutes, headlines only, then the traction and team slides in detail. Report:
- The one-sentence summary you could repeat after reading. If you cannot write one, that is finding number one.
- Slide-level issues, each with a rewrite:
**Slide 4 (Market)** - Headline is a label and the $120B TAM is top-down.
Rewrite headline: "38,000 US dental groups spend $9k/year on scheduling software"
Body: 38,000 groups x $9k ACV = $342M serviceable market; show source for the count.
- Missing slides or evidence an investor will ask for.
- Order changes that put the strongest evidence earlier.
Producing the file
- Draft content as markdown (one
##per slide: headline, body, visual, speaker notes) and confirm it with the user before building slides. - To produce .pptx, hand off to the pptx-presentations skill; for Google Slides, export the markdown or build from a template the user provides.
- Export a PDF for sending; investors rarely open editable files. Check fonts embed and links work in the PDF.
- Sending the deck to investors is outward-facing: prepare files and email drafts, but get explicit confirmation before anything is sent or shared via a link.
Gotchas
- Vanity metrics (registered users, page views, total GMV since founding) without retention or revenue invite the question the founder least wants.
- Cumulative charts hide flattening growth; experienced readers notice. Show monthly.
- Hockey-stick projections disconnected from current growth rates destroy credibility. Year-one projections should follow from the trailing growth rate and planned hires.
- Logos of pilot customers or past employers may need permission; NDAs often forbid them.
- A deck that needs the founder in the room to make sense will be forwarded without the founder. That is what the send-ahead version is for.
Output template
# <Company> - <Round> deck v<n>
One-liner: <who, what, why it matters>
## Slide 1 - <headline claim>
Body: <<= 30 words>
Visual: <chart/screenshot/diagram description>
Notes: <60-90 s script; transition; likely question + answer>
...
## Open items
- Placeholders needing real data: <list>
- Permissions to confirm: <logos, quotes>
- Number consistency table: <attached / all matching> What the zip contains
SKILL.md plus the interface file below. Nothing runs on install.
agents/openai.yaml
Gives the Codex app a display name, a one-line description and a starter prompt for this skill.
interface:
display_name: "Pitch Deck"
short_description: "One claim per slide, numbers that agree"
default_prompt: "$pitch-deck Draft a seed pitch deck for our dental scheduling startup from this memo and our Stripe numbers" About this skill
Written and maintained by the Codex Skills editors to the same editorial standard as every skill here: a selective description, a real workflow, known pitfalls and a way to verify the work. First published , last updated . MIT licensed. Something wrong or out of date? Tell us.