agentleFS
d-wweid-wwei/openclaw-financial-services/skills/fsi-ib-pitch-deck/SKILL.md

fsi-ib-pitch-deck

Skill16 starsChanged 9 months agoApache-2.0View on GitHub

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 file

Show its rules and text

We split this skill into the rules it gives an agent

26 rules. About 0 are common, 21 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈21

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Required action: Always include this statement when delivering output:

    line 46
  2. Very specific:

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

    line 83
  3. Very specific:

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

    line 84
  4. Distinctive:

    Run through the Final Quality Checklist before delivering.

    line 125
  5. Distinctive:

    No orphan words (single word on new line)

    line 188
  6. Distinctive:

    Vertically stacked boxes: must have identical:

    line 192
  7. Distinctive:

    Horizontally adjacent boxes: must have identical:

    line 195
  8. Distinctive:

    When the same data appears on multiple slides:

    line 200
  9. Distinctive:

    Use identical figures, formatting, and terminology

    line 201
  10. Distinctive:

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

    line 202
  11. Distinctive:

    Recognition test: If your populated slide has large colored rectangles filled with data text, you have copied the placeholder format …

    line 232
  12. Distinctive:

    If uncertain: check if the shape exists on an empty slide from the same template.

    line 241
  13. Very specific:

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

    line 249
  14. Very specific:

    MUST verify: After creating any table, verify it is an actual table object.

    line 251
  15. Distinctive:

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

    line 259
  16. Very specific:

    Check LibreOffice is installed: which soffice

    line 300
  17. Distinctive:

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

    line 302
  18. Distinctive:

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

    line 305
  19. Distinctive:

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

    line 306
  20. Distinctive:

    Document any discrepancies explicitly

    line 307
  21. Distinctive:

    Add footnote explaining data source choice

    line 308
  22. Distinctive:

    When creating tables (MUST be actual table objects):

    line 320
  23. Distinctive:

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

    line 356
  24. Distinctive:

    Use logo file provided in task materials

    line 362
  25. Distinctive:

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

    line 363
  26. Distinctive:

    Before delivering the populated template, verify:

    line 378

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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.

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)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.