Generated banner for Pitch Deck
Generated logo for Pitch Deck

Pitch Deck

AnthropicOfficialPublished by Anthropic

  • Skill
  • Content generator
  • Documents and content
  • Apache-2.0
  • No issues found

From the author

Populates investment banking pitch deck templates with data from source files. Use when: user provides a PowerPoint template to fill in, user has source data (Excel/CSV) to populate into slides, user mentions populating or filling a pitch deck template, or user needs to transfer data into existing slide layouts. Not for creating presentations from scratch.
— the description by Anthropic

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill assists in populating investment banking PowerPoint templates with data extracted from external sources like Excel, CSV, or reports. It follows a structured workflow to map data to template sections, apply formatting standards, and ensure consistency across slides. The process includes a validation loop to check for structural accuracy, table implementation, and formatting compliance, while providing guidance on handling common pitfalls like placeholder boxes and text-based tables.

What it does

  • Extracts and validates data from source files like Excel or CSV.
  • Maps extracted data to specific sections of a provided PowerPoint template.
  • Replaces placeholder instruction boxes with properly formatted content.
  • Creates actual PowerPoint table objects instead of text-based separators.
  • Applies consistent formatting, font sizes, and alignment across slides.
  • Performs visual validation checks to ensure content readability and structure.

When to use it

  • When you have a PowerPoint template that needs to be filled with specific data.
  • When you have source data in Excel or CSV files ready for presentation.
  • When you need to ensure consistent formatting and alignment across a pitch deck.
  • When you need to verify calculations and data accuracy within a slide deck.

Advantages

  • Ensures data consistency across multiple slides.
  • Automates the mapping of raw data into structured slide layouts.
  • Enforces professional formatting standards for tables and bullet points.
  • Provides a systematic validation loop to catch structural errors.

Usage examples

“Populate the attached pitch deck template using the data in the provided quarterly_results.xlsx file.”
The agent will extract the data, map it to the template sections, apply the required formatting, and provide a populated PowerPoint file.
“I have a market sizing slide in my deck that needs to be updated with the figures from this CSV report.”
The agent will identify the relevant slide, update the figures, ensure the table is correctly formatted, and verify the data against the source.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/anthropics/pitch-deck/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip pitch-deck.zip -d .agents/skills

Documentation by Anthropic

Populating Investment Banking Pitch Deck Templates

Reference Files

Read all reference files at task start before beginning any work. These contain critical patterns and anti-patterns that will affect your approach. Do not wait until you encounter issues.

FilePurpose
formatting-standards.mdText, bullets, tables, charts, alignment
slide-templates.mdContent mapping guidance for common slide types
xml-reference.mdPowerPoint XML patterns for tables, shapes, arrows
calculation-standards.mdFinancial formulas for verification (CAGR, consensus)

Workflow Decision Tree

What type of task is this?

┌─ Populating empty template with source data?
│  └─→ Follow "Template Population Workflow" below
│
├─ Editing existing populated slides?
│  └─→ Extract current content, modify, revalidate
│
└─ Fixing formatting issues on existing slides?
   └─→ See "Common Failures" table, apply targeted fixes

⚠️ Critical Rendering Limitation

LibreOffice is used for validation but DOES NOT render PowerPoint files accurately. It will mangle fonts, gradients, shape positions, text wrapping, and some table formatting.

What this means: A slide that passes visual validation in LibreOffice may still have issues in Microsoft PowerPoint. The validation loop catches structural issues (missing content, broken tables, placeholder formatting retained) but cannot catch font substitution, subtle alignment shifts, or gradient problems.

Required action: Always include this statement when delivering output:

"This file was validated using LibreOffice. Please review in Microsoft PowerPoint before distribution, as rendering differences may exist."


Template Population Workflow

Copy and track progress:

Pitch Deck Progress:
- [ ] Phase 1: Extract and validate source data
- [ ] Phase 2: Map content to template sections
- [ ] Phase 3: Populate slides with proper formatting
- [ ] Phase 4: Validate → Fix → Repeat until clean
- [ ] Phase 5: Final verification
Phase 1: Data Extraction
  1. Create backup of original template before any modifications — copy to [filename]_backup.pptx. Direct XML editing or unexpected errors can corrupt files.

  2. Identify all source materials (Excel, CSV, PDF reports, Word documents, databases, web sources)

  3. Extract relevant data points from each source

  4. Validate all numbers against original sources

  5. Standardize units and currency (convert all figures to the primary unit/currency used in the template)

  6. Note any calculations that need verification → see calculation-standards.md for formulas

Phase 2: Content Mapping
  1. Open and visually review the template — understand its structure, style, and existing content before modifying

  2. Analyze template structure — identify all placeholder areas and content boxes

  3. Map source data to corresponding template sections → see slide-templates.md for mapping guidance

  4. Identify placeholder guidance boxes (colored instruction boxes from task creator)

  5. Note any data gaps or mismatches → see slide-templates.md for resolution

Phase 3: Template Population
  1. Remove or reformat placeholder boxes — colored instruction boxes show WHAT to create, not HOW to format. Delete them and create properly formatted content in their place. See Critical Anti-Patterns.

  2. Populate each section with mapped content (focus on content first)

  3. Then apply formatting to match template style → see formatting-standards.md

  4. Create tables as actual table objects (NEVER use pipe/tab-separated text) → see xml-reference.md

  5. Create arrows/shapes as PowerPoint objects → see xml-reference.md

  6. Insert company logo if provided in task files; if not available, flag to user: "[LOGO NOT PROVIDED - please supply company logo]"

Phase 4: Validate → Fix → Repeat

This is a feedback loop. Repeat until all checks pass OR escalation is triggered.

# Convert to images for visual validation
soffice --headless --convert-to pdf presentation.pptx
pdftoppm -jpeg -r 150 presentation.pdf slide

Validation checklist (check each slide image):

  • [ ] Text readable against background?

  • [ ] Tables are actual objects (columns aligned, NOT pipe/tab-separated text)?

  • [ ] Charts/tables fill designated areas?

  • [ ] Bullet formatting consistent within sections?

  • [ ] Font sizes match across same-level boxes?

  • [ ] No content beyond slide boundaries?

  • [ ] No placeholder formatting retained (no large colored boxes with data dumped in)?

  • [ ] No text-based "tables" (no | or tab separators creating fake columns)?

  • [ ] Cross-slide consistency: Same metrics/figures identical across all slides where they appear?

Fix cycle protocol:

CycleAction
1Fix all identified issues, re-validate
2Fix remaining issues, re-validate
3If issues persist, document remaining problems and escalate to user

After 3 cycles, if issues remain:

  1. List each unresolved issue with slide number and description

  2. Explain what was attempted

  3. Deliver the file with explicit disclaimer: "The following issues could not be resolved automatically: [list]. Manual review required."

Do not continue cycling indefinitely. Some issues (font rendering, complex shape alignment) may require manual intervention in PowerPoint.

Phase 5: Final Verification

Run through the Final Quality Checklist before delivering.


Quick Reference Tables

Bullet Symbols
ContextSymbolUsage
Included/Positive✓Items within scope, features present
Excluded/Negative×Items outside scope, features absent
Neutral list•General enumeration, commentary
Numbered sequence1. 2. 3.Process steps, rankings
Sub-bullets–Secondary points under main bullets
Slide Hierarchy Levels (Typical)

These are typical ranges—adjust based on template specifications:

LevelExamplesTypical SizeStyle
TitleSlide title40-48ptBold
SubtitleMarket definition, slide descriptor18-22ptBold
Section Header"Key Projections", "Commentary"14-16ptRegular
Block Label"Segments Included", "Definition" sidebar12-14ptRegular
Block ContentBullet points, body text11-14ptRegular
Table HeaderColumn headers10-12ptBold
Table BodyCell content9-11ptRegular
FootnotesSources, notes8-9ptItalic
Font Consistency Matching

Boxes at the same hierarchy level MUST use identical font sizes:

Same LevelMust Match With
"Segments Included""Segments Excluded"
"Definition""Scope Rationale"
Left column bulletsRight column bullets
All block labelsEach other
All section headersEach other
Rounding for Presentation

These are typical conventions — adjust based on the magnitude of values and template style:

Value TypeTypical RoundingExample
Large market sizes ($10bn+)Nearest $1bn18.5 → $19bn
Smaller market sizes (<$10bn)Nearest $0.5bn or $0.1bn2.3 → $2.5bn
Size rangesMatch precision of sources14.9-22.1 → $15-22bn
CAGRWhole % or 0.5%16.4% → 16% or 16.5%
Market shareNearest 5% or match source21.4% → 20%
Multiples1 decimal9.69 → 9.7x

Principle: Rounding should not materially change the figure. For smaller values, use finer precision.

Text Density Rules
  • Max 6-7 bullets per content box

  • Max 2 lines per bullet point

  • Parenthetical examples: same line or indented below

  • No orphan words (single word on new line)

Alignment Principles

Vertically stacked boxes must have identical:

  • Left margin position, bullet indentation, text start position, box width

Horizontally adjacent boxes must have identical:

  • Top position, height (where possible), internal padding

Multi-Slide Consistency

When the same data appears on multiple slides:

  • Use identical figures, formatting, and terminology

  • If a metric is updated on one slide, update all occurrences

  • Cross-reference during validation to catch mismatches


MUST Requirements

These requirements are non-negotiable regardless of template:

RequirementDetails
Text ReadabilityAll text MUST have sufficient contrast with background. Examples: white/light text on dark blue, dark green, black backgrounds; black/dark text on white, light gray, light yellow backgrounds.
Actual Table ObjectsTabular data MUST be table objects, not tab-separated text. See xml-reference.md.
Proper Chart/Table SizingPasted visuals MUST fill designated area. See formatting-standards.md.
Consistent FormattingBullets within section MUST match (symbol, size, indent). Same-level boxes MUST use same font size.
Content BoundariesAll content MUST stay within slide edges. Footnote box width: ~32.5cm for 16:9, ~24cm for 4:3.
No Placeholder FormattingRemove colored instruction boxes. Main body: dark text on light background per template.

Critical Anti-Patterns: NEVER DO THESE

These failures occur when placeholder formatting is mistaken for output formatting. Recognizing these patterns is essential.

Anti-Pattern 1: Populating Data INTO Placeholder Boxes

What happens: Template has colored instruction boxes (yellow, orange, etc.) with guidance text. Model replaces the guidance text with actual data BUT KEEPS THE COLORED BOX.

Why it's wrong: The colored box IS the placeholder. It tells you what content goes there. The output should have different formatting — typically dark text on white/light background, or properly styled shapes.

Recognition test: If your populated slide has large colored rectangles filled with data text, you have copied the placeholder format instead of replacing it.

Critical distinction — two types of "placeholders":

TypeHow to identifyWhat to do
Instruction boxesBright colors (yellow, orange), contains guidance text like "Insert X here", white/light text on colored backgroundDELETE the entire shape, then create new content with production formatting
Layout placeholdersPart of slide master/layout, neutral colors matching template theme, "Click to add text"KEEP the shape, REPLACE the text content only

If uncertain: check if the shape exists on an empty slide from the same template. Layout placeholders persist; instruction boxes are regular shapes.

Anti-Pattern 2: Text-Based "Tables"

What happens: Model creates table-like content using separator characters (|, tabs, spaces) instead of actual table objects.

Why it's wrong: This is NOT a table. Columns will never align properly, it cannot be formatted consistently, and it looks unprofessional.

Recognition test: If you're typing | characters or relying on spaces/tabs to create columns, you're creating text, not a table.

MUST verify: After creating any table, verify it is an actual table object. See xml-reference.md for verification methods.

Anti-Pattern 3: Inheriting Placeholder Contrast

What happens: Placeholder uses light text on colored background (e.g., white on yellow). Model populates data but keeps this color scheme, resulting in hard-to-read output.

Why it's wrong: Placeholder colors are deliberately distinct to signal "replace me." Production slides typically use dark text on light backgrounds for body content.

Recognition test: If your populated content has light/white text on bright colored backgrounds in body areas (not headers), you've inherited placeholder formatting.

Correct approach: Apply production formatting — typically dark text (#000000 or #333333) on white or light backgrounds for body content. Headers and accent areas may use brand colors.

Summary: Placeholder vs. Production
ElementPlaceholder (Input)Production (Output)
Instruction boxesColored background, guidance textRemoved or reformatted
Data areas"[Insert data here]" textActual data with clean formatting
TablesDescription of what table should containActual table object with rows/columns
Body textLight text on colored backgroundDark text on light background

The placeholder tells you WHAT to create, not HOW to format it.


Common Failures

For detailed explanations of the most critical failures, see Critical Anti-Patterns above.

FailureSolutionReference
Unstructured text dumpsBreak into bullets (✓, ×, •)formatting-standards.md
Pipe/tab-separated "tables"Create actual table objects — text with separators is NOT a tablexml-reference.md
Poor text/background contrastAudit every text element—
Tiny pasted chartsResize to fill area, paste chart onlyformatting-standards.md
Source data pasted with chartsSelect only chart object before copy—
Data dumped into placeholder boxesDelete colored instruction boxes, create new properly formatted contentAnti-Patterns
Inconsistent bulletsDefine style once, apply to allformatting-standards.md
Inconsistent fonts across boxesStandardize same-level boxesformatting-standards.md
Content overflowSet explicit box widths (footnotes: 32.5cm for 16:9, 24cm for 4:3)—
Missing logoUse logo from task files; if not provided, flag to user—
Remaining [brackets]Search and replace all placeholders—
Text arrows (→, ⟹)Use PowerPoint shape objectsxml-reference.md

Error Handling

If PDF/image conversion fails:

  1. Check LibreOffice is installed: which soffice

  2. Try alternative: libreoffice --headless --convert-to pdf presentation.pptx

  3. If still failing, open in PowerPoint/LibreOffice manually and export

If source data has inconsistencies or conflicts:

  1. Priority order: Use data explicitly provided in the task files first

  2. If using data from other sources (web search, external documents), flag this to the user

  3. Document any discrepancies explicitly

  4. Add footnote explaining data source choice

If calculations don't match source projections:

  1. Show your calculation methodology

  2. Note the discrepancy and possible causes (different base year, methodology)

  3. Present both values if material difference

  4. Flag to user for resolution


Table Structure Guidelines

When creating tables (MUST be actual table objects):

Column Alignment:

  • Text columns: Left-aligned (header and content)

  • Numeric columns: Right-aligned or center-aligned (header matches content)

Header Row:

  • Bold text

  • Shaded background (template's brand color)

  • White or contrasting text

Consensus/Total Row:

  • Bold text

  • Separator line above

  • Distinct background shading

Width: Fill designated section width completely.

For XML implementation, see xml-reference.md.


Footnote Format

Format:

Sources: [Source 1] (Year), [Source 2] (Year).
Notes: (1) [First note]; (2) [Second note].

Example:

Sources: Grand View Research (2024), Mordor Intelligence (2024), Markets and Markets (2023).
Notes: (1) Excludes hardware revenue; (2) Includes both B2B and B2C segments.

All superscript numbers (¹, ², ³) in slide body MUST have corresponding Notes entries.


Logo Placement

  • Use logo file provided in task materials

  • If no logo provided, flag to user: "[LOGO NOT PROVIDED - please supply company logo]"

  • Position: typically top-right, consistent size across slides, must not overlap content


Data Requirements by Slide Type

For detailed data requirements, formatting principles, and example column headers for each slide type, see slide-templates.md.

Common slide types covered: Market Definition, Market Sizing/TAM, Competitive Landscape, Financial Summary, Transaction Comparables.


Final Quality Checklist

Before delivering the populated template, verify:

Data Accuracy
  • [ ] All figures match original source documents

  • [ ] Calculated values verified against formulas (see calculation-standards.md)

  • [ ] Years and time periods are correct

  • [ ] Company/competitor names spelled correctly

  • [ ] Same figures are identical across all slides where they appear

Content Mapping
  • [ ] Every template section populated with appropriate data

  • [ ] No [bracket] placeholder text remaining

  • [ ] All source citations included in footnotes

  • [ ] Footnote numbers (¹²³) have corresponding Notes entries

Formatting
  • [ ] Text readable against all backgrounds (sufficient contrast)

  • [ ] Tables are actual table objects (NOT pipe/tab-separated text)

  • [ ] Charts/tables fill designated areas (no thumbnails)

  • [ ] Bullet formatting consistent within each section

  • [ ] Font sizes match across same-level boxes

  • [ ] No content extends beyond slide boundaries

  • [ ] No placeholder boxes retained with data dumped inside

  • [ ] No colored instruction boxes in final output

Template Compliance
  • [ ] Placeholder instruction boxes reformatted or removed

  • [ ] Formatting matches template style (colors, fonts)

  • [ ] Logo present and correctly positioned

  • [ ] Production formatting applied (dark text on light background for main content)

Final Step
  • [ ] Recommend user validate in Microsoft PowerPoint before distribution (LibreOffice may render differently)

Files

reference/xml-reference.md

PowerPoint XML Reference

This file contains XML patterns for programmatic PowerPoint editing. Use these patterns when working directly with OOXML format.

Note: Color values in examples (e.g., E67E22, D35400) are placeholders. Replace with your template's brand colors.


⚠️ When to Use This Reference

Use python-pptx for:

  • Creating new tables (handles cell structure and relationships automatically)

  • Adding text boxes

  • Inserting images

  • Most shape creation

  • Any operation where python-pptx provides an API

Use direct XML editing only for:

  • Modifying properties of existing elements that python-pptx doesn't expose

  • Fine-tuning cell formatting after table creation via python-pptx

  • Adjusting specific shape properties not available via the python-pptx API

NEVER use direct XML for:

  • Creating tables from scratch (relationship management is error-prone and will likely corrupt the file)

  • Initial shape creation (shape ID collision risk)

  • Anything you can accomplish via python-pptx

The XML patterns in this file are for reference and targeted modifications, not wholesale element construction.


XML Editing Risks

Direct XML editing can corrupt PowerPoint files if not done carefully:

  • PowerPoint XML has interdependencies (relationship files, content types)

  • Invalid XML or missing relationships can corrupt the entire file

  • Shape IDs must be unique across each slide

Always work on a backup copy — never edit the original file directly.


Contents

  • Table Implementation

  • Arrow Shapes

  • Text Boxes

  • Shapes with Fill

  • Image Insertion

  • Connector Lines

  • Unit Conversions


Table Implementation

CRITICAL: Verify Tables Are Actual Table Objects

After creating any table, you MUST verify it is an actual table object, not text with separators.

Programmatic verification (python-pptx):

for shape in slide.shapes:
    if shape.has_table:
        print(f"✓ Found table: {len(shape.table.rows)} rows, {len(shape.table.columns)} columns")

Visual verification (in exported image):

  • Columns align perfectly regardless of content length

  • Cell borders are consistent

  • Selecting the table selects all cells as a unit

Failure indicators — you have created TEXT, not a table:

  • | characters visible between values

  • Columns misalign when content length varies

  • Tab characters (\t) used for spacing

  • Multiple text boxes arranged to look like a table

Text-based "tables" cannot be edited by the recipient, will misalign when fonts change, and signal amateur work. There is no acceptable use case for pipe/tab-separated tabular data in a pitch deck.


Basic Table Structure
<a:tbl>
  <a:tblPr firstRow="1" bandRow="1">
    <a:tableStyleId>{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}</a:tableStyleId>
  </a:tblPr>
  <a:tblGrid>
    <a:gridCol w="2000000"/>  <!-- Source column - width in EMUs -->
    <a:gridCol w="1200000"/>  <!-- 2024 Size column -->
    <a:gridCol w="1200000"/>  <!-- CAGR column -->
    <a:gridCol w="1200000"/>  <!-- 2030 Projection column -->
  </a:tblGrid>
  <!-- Row definitions follow -->
</a:tbl>
Table Row with Cells
<a:tr h="370840">  <!-- Row height in EMUs -->
  <a:tc>
    <a:txBody>
      <a:bodyPr/>
      <a:lstStyle/>
      <a:p>
        <a:pPr algn="l"/>  <!-- Left alignment for text columns -->
        <a:r>
          <a:rPr lang="en-US" sz="1000" b="0"/>
          <a:t>Grand View Research</a:t>
        </a:r>
      </a:p>
    </a:txBody>
    <a:tcPr/>
  </a:tc>
  <a:tc>
    <a:txBody>
      <a:bodyPr/>
      <a:lstStyle/>
      <a:p>
        <a:pPr algn="ctr"/>  <!-- Center alignment for numeric columns -->
        <a:r>
          <a:rPr lang="en-US" sz="1000"/>
          <a:t>22.1</a:t>
        </a:r>
      </a:p>
    </a:txBody>
    <a:tcPr/>
  </a:tc>
  <!-- Additional cells... -->
</a:tr>
Header Row Styling
<a:tr h="370840">
  <a:tc>
    <a:txBody>
      <a:bodyPr/>
      <a:lstStyle/>
      <a:p>
        <a:pPr algn="l"/>
        <a:r>
          <a:rPr lang="en-US" sz="1000" b="1">  <!-- Bold for headers -->
            <a:solidFill>
              <a:srgbClr val="FFFFFF"/>  <!-- White text -->
            </a:solidFill>
          </a:rPr>
          <a:t>Source</a:t>
        </a:r>
      </a:p>
    </a:txBody>
    <a:tcPr>
      <a:solidFill>
        <a:srgbClr val="E67E22"/>  <!-- Orange background -->
      </a:solidFill>
    </a:tcPr>
  </a:tc>
  <!-- Additional header cells... -->
</a:tr>

Arrow Shapes

Right Arrow Shape
<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="10" name="Arrow Right"/>
    <p:cNvSpPr/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="3000000" y="2500000"/>  <!-- Position in EMUs -->
      <a:ext cx="500000" cy="300000"/>   <!-- Size in EMUs -->
    </a:xfrm>
    <a:prstGeom prst="rightArrow">
      <a:avLst/>
    </a:prstGeom>
    <a:solidFill>
      <a:srgbClr val="E67E22"/>  <!-- Arrow fill color -->
    </a:solidFill>
    <a:ln>
      <a:noFill/>  <!-- No outline -->
    </a:ln>
  </p:spPr>
</p:sp>
Down Arrow Shape
<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="11" name="Arrow Down"/>
    <p:cNvSpPr/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="2500000" y="3000000"/>
      <a:ext cx="300000" cy="500000"/>
    </a:xfrm>
    <a:prstGeom prst="downArrow">
      <a:avLst/>
    </a:prstGeom>
    <a:solidFill>
      <a:srgbClr val="E67E22"/>
    </a:solidFill>
  </p:spPr>
</p:sp>
Chevron Shape
<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="12" name="Chevron"/>
    <p:cNvSpPr/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="3000000" y="2500000"/>
      <a:ext cx="400000" cy="600000"/>
    </a:xfrm>
    <a:prstGeom prst="chevron">
      <a:avLst/>
    </a:prstGeom>
    <a:solidFill>
      <a:srgbClr val="E67E22"/>
    </a:solidFill>
  </p:spPr>
</p:sp>

Text Boxes

Basic Text Box
<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="5" name="TextBox 4"/>
    <p:cNvSpPr txBox="1"/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="500000" y="1500000"/>
      <a:ext cx="4000000" cy="500000"/>
    </a:xfrm>
    <a:prstGeom prst="rect">
      <a:avLst/>
    </a:prstGeom>
    <a:noFill/>
  </p:spPr>
  <p:txBody>
    <a:bodyPr wrap="square" rtlCol="0">
      <a:spAutoFit/>
    </a:bodyPr>
    <a:lstStyle/>
    <a:p>
      <a:r>
        <a:rPr lang="en-US" sz="1400" dirty="0"/>
        <a:t>Text content here</a:t>
      </a:r>
    </a:p>
  </p:txBody>
</p:sp>
Text Box with Bullet Points
<p:txBody>
  <a:bodyPr wrap="square">
    <a:spAutoFit/>
  </a:bodyPr>
  <a:lstStyle/>
  <a:p>
    <a:pPr marL="342900" indent="-342900">
      <a:buFont typeface="Wingdings" panose="05000000000000000000" pitchFamily="2" charset="2"/>
      <a:buChar char="&#252;"/>  <!-- Checkmark character -->
    </a:pPr>
    <a:r>
      <a:rPr lang="en-US" sz="1400" dirty="0"/>
      <a:t>First bullet point</a:t>
    </a:r>
  </a:p>
  <a:p>
    <a:pPr marL="342900" indent="-342900">
      <a:buFont typeface="Wingdings" panose="05000000000000000000" pitchFamily="2" charset="2"/>
      <a:buChar char="&#252;"/>
    </a:pPr>
    <a:r>
      <a:rPr lang="en-US" sz="1400" dirty="0"/>
      <a:t>Second bullet point</a:t>
    </a:r>
  </a:p>
</p:txBody>
Text with White Color (for dark backgrounds)
<a:r>
  <a:rPr lang="en-US" sz="1000" b="1" i="1" dirty="0">
    <a:solidFill>
      <a:srgbClr val="FFFFFF"/>  <!-- White text -->
    </a:solidFill>
  </a:rPr>
  <a:t>White text on colored background</a:t>
</a:r>

Shapes with Fill

Rectangle with Solid Fill
<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="20" name="Rectangle 19"/>
    <p:cNvSpPr/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="500000" y="2500000"/>
      <a:ext cx="1000000" cy="2000000"/>
    </a:xfrm>
    <a:prstGeom prst="rect">
      <a:avLst/>
    </a:prstGeom>
    <a:solidFill>
      <a:srgbClr val="E67E22"/>  <!-- Orange fill -->
    </a:solidFill>
    <a:ln w="12700">  <!-- Border width -->
      <a:solidFill>
        <a:srgbClr val="D35400"/>  <!-- Darker border -->
      </a:solidFill>
    </a:ln>
  </p:spPr>
  <p:txBody>
    <a:bodyPr rtlCol="0" anchor="ctr"/>  <!-- Vertically centered text -->
    <a:lstStyle/>
    <a:p>
      <a:pPr algn="ctr"/>  <!-- Horizontally centered -->
      <a:r>
        <a:rPr lang="en-US" sz="1600" b="1">
          <a:solidFill>
            <a:srgbClr val="FFFFFF"/>
          </a:solidFill>
        </a:rPr>
        <a:t>Label Text</a:t>
      </a:r>
    </a:p>
  </p:txBody>
</p:sp>

Image Insertion

Adding Image to Slide
<p:pic>
  <p:nvPicPr>
    <p:cNvPr id="99" name="Company Logo"/>
    <p:cNvPicPr>
      <a:picLocks noChangeAspect="1"/>
    </p:cNvPicPr>
    <p:nvPr/>
  </p:nvPicPr>
  <p:blipFill>
    <a:blip r:embed="rIdLogo"/>  <!-- Reference to relationship ID -->
    <a:stretch>
      <a:fillRect/>
    </a:stretch>
  </p:blipFill>
  <p:spPr>
    <a:xfrm>
      <a:off x="10800000" y="200000"/>  <!-- Top-right position -->
      <a:ext cx="800000" cy="600000"/>   <!-- Logo dimensions -->
    </a:xfrm>
    <a:prstGeom prst="rect">
      <a:avLst/>
    </a:prstGeom>
  </p:spPr>
</p:pic>
Adding Image Relationship

In ppt/slides/_rels/slideN.xml.rels:

<Relationship Id="rIdLogo" 
  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" 
  Target="../media/logo.png"/>

Connector Lines

Straight Connector
<p:cxnSp>
  <p:nvCxnSpPr>
    <p:cNvPr id="15" name="Straight Connector 14"/>
    <p:cNvCxnSpPr>
      <a:cxnSpLocks/>
    </p:cNvCxnSpPr>
    <p:nvPr/>
  </p:nvCxnSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="500000" y="2500000"/>
      <a:ext cx="5000000" cy="0"/>  <!-- Horizontal line -->
    </a:xfrm>
    <a:prstGeom prst="line">
      <a:avLst/>
    </a:prstGeom>
    <a:ln w="12700">
      <a:solidFill>
        <a:srgbClr val="E67E22"/>
      </a:solidFill>
    </a:ln>
  </p:spPr>
</p:cxnSp>
Dashed Line
<p:spPr>
  <a:xfrm>
    <a:off x="500000" y="4500000"/>
    <a:ext cx="5000000" cy="0"/>
  </a:xfrm>
  <a:prstGeom prst="line">
    <a:avLst/>
  </a:prstGeom>
  <a:ln w="12700">
    <a:solidFill>
      <a:srgbClr val="E67E22"/>
    </a:solidFill>
    <a:prstDash val="dash"/>  <!-- Dashed style -->
  </a:ln>
</p:spPr>

Unit Conversions

UnitEMUs per unit
1 inch914400
1 cm360000
1 point12700
1 pixel (96 DPI)9525
Common Slide Dimensions (16:9)
  • Width: 12192000 EMUs (13.333 inches)

  • Height: 6858000 EMUs (7.5 inches)

Typical Element Positions
ElementX PositionY Position
Logo (top-right)10800000200000
Title342583286603
Subtitle4025911767390
Footer3425836435334

Requirements and compatibility

Written for: Claude Code, Claude apps

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Anthropic
Publisher
Anthropic (Official)
Source
anthropics/financial-services · plugins/agent-plugins/pitch-agent/skills/pitch-deck · commit 6056506
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Also distributed in
anthropics/financial-services

AutoGineer is not affiliated with or endorsed by Anthropic or Anthropic.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download pitch-deck.zip