pitch-deck

SKILL.md

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.

File Purpose
formatting-standards.md Text, bullets, tables, charts, alignment
slide-templates.md Content mapping guidance for common slide types
xml-reference.md PowerPoint XML patterns for tables, shapes, arrows
calculation-standards.md Financial 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:

Cycle Action
1 Fix all identified issues, re-validate
2 Fix remaining issues, re-validate
3 If 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

Context Symbol Usage
Included/Positive Items within scope, features present
Excluded/Negative × Items outside scope, features absent
Neutral list General enumeration, commentary
Numbered sequence 1. 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:

Level Examples Typical Size Style
Title Slide title 40-48pt Bold
Subtitle Market definition, slide descriptor 18-22pt Bold
Section Header "Key Projections", "Commentary" 14-16pt Regular
Block Label "Segments Included", "Definition" sidebar 12-14pt Regular
Block Content Bullet points, body text 11-14pt Regular
Table Header Column headers 10-12pt Bold
Table Body Cell content 9-11pt Regular
Footnotes Sources, notes 8-9pt Italic

Font Consistency Matching

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

Same Level Must Match With
"Segments Included" "Segments Excluded"
"Definition" "Scope Rationale"
Left column bullets Right column bullets
All block labels Each other
All section headers Each other

Rounding for Presentation

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

Value Type Typical Rounding Example
Large market sizes ($10bn+) Nearest $1bn 18.5 → $19bn
Smaller market sizes (<$10bn) Nearest $0.5bn or $0.1bn 2.3 → $2.5bn
Size ranges Match precision of sources 14.9-22.1 → $15-22bn
CAGR Whole % or 0.5% 16.4% → 16% or 16.5%
Market share Nearest 5% or match source 21.4% → 20%
Multiples 1 decimal 9.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:

Requirement Details
Text Readability All 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 Objects Tabular data MUST be table objects, not tab-separated text. See xml-reference.md.
Proper Chart/Table Sizing Pasted visuals MUST fill designated area. See formatting-standards.md.
Consistent Formatting Bullets within section MUST match (symbol, size, indent). Same-level boxes MUST use same font size.
Content Boundaries All content MUST stay within slide edges. Footnote box width: ~32.5cm for 16:9, ~24cm for 4:3.
No Placeholder Formatting Remove 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":

Type How to identify What to do
Instruction boxes Bright colors (yellow, orange), contains guidance text like "Insert X here", white/light text on colored background DELETE the entire shape, then create new content with production formatting
Layout placeholders Part 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

Element Placeholder (Input) Production (Output)
Instruction boxes Colored background, guidance text Removed or reformatted
Data areas "[Insert data here]" text Actual data with clean formatting
Tables Description of what table should contain Actual table object with rows/columns
Body text Light text on colored background Dark 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.

Failure Solution Reference
Unstructured text dumps Break into bullets (✓, ×, •) formatting-standards.md
Pipe/tab-separated "tables" Create actual table objects — text with separators is NOT a table xml-reference.md
Poor text/background contrast Audit every text element
Tiny pasted charts Resize to fill area, paste chart only formatting-standards.md
Source data pasted with charts Select only chart object before copy
Data dumped into placeholder boxes Delete colored instruction boxes, create new properly formatted content Anti-Patterns
Inconsistent bullets Define style once, apply to all formatting-standards.md
Inconsistent fonts across boxes Standardize same-level boxes formatting-standards.md
Content overflow Set explicit box widths (footnotes: 32.5cm for 16:9, 24cm for 4:3)
Missing logo Use logo from task files; if not provided, flag to user
Remaining [brackets] Search and replace all placeholders
Text arrows (→, ⟹) Use PowerPoint shape objects xml-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)
Weekly Installs
30
GitHub Stars
5.4K
First Seen
9 days ago
Installed on
opencode29
github-copilot29
codex29
kimi-cli29
amp29
gemini-cli29