df1ef9f0-3138-4b76-8be9-a0e40bc4ccef/claude-plugin/skills/output-generation/pptx-generator/SKILL.md
Generate PowerPoint presentations (PPTX) from structured report data using python-pptx. Creates professional PE/VC presentations with consistent formatting, charts, and tables. Handles board decks, LP summaries, and IC presentations. Always read the design-system skill first.
npx skillsauth add ganoro/equiforte-workspaces-local-2 df1ef9f0-3138-4b76-8be9-a0e40bc4ccef/claude-plugin/skills/output-generation/pptx-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate PowerPoint presentations from structured report data using python-pptx.
Before generating, read the design system files:
/shared/plugins/nestbox-df1ef9f0/skills/design-system/references/tokens.md — colors, typography, spacing/shared/plugins/nestbox-df1ef9f0/skills/design-system/references/components.md — component patterns/shared/plugins/nestbox-df1ef9f0/skills/design-system/references/language.md — terminology, disclaimers/shared/plugins/nestbox-df1ef9f0/brand/assets/brand-overrides.json — firm name, confidentiality noticeBefore generating, ensure all content is ready:
_research/ markdown filesBuild a Python script using python-pptx. Pull all values from design system tokens.
import os, shutil
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
# ── Design Tokens (from design-system/references/tokens.md) ──
PRIMARY = RGBColor(0x1B, 0x3A, 0x5C)
ACCENT = RGBColor(0x2E, 0x75, 0xB6)
TEXT = RGBColor(0x2D, 0x2D, 0x2D)
TEXT_SEC = RGBColor(0x66, 0x66, 0x66)
TEXT_INV = RGBColor(0xFF, 0xFF, 0xFF)
SURFACE = RGBColor(0xF7, 0xF8, 0xFA)
BORDER = RGBColor(0xD9, 0xDE, 0xE3)
POSITIVE = RGBColor(0x1A, 0x7A, 0x3A)
WARNING = RGBColor(0xC6, 0x77, 0x00)
NEGATIVE = RGBColor(0xC4, 0x26, 0x1D)
CRITICAL = RGBColor(0x8B, 0x00, 0x00)
# Chart series colors (in order)
CHART_SERIES = [PRIMARY, ACCENT, RGBColor(0x5B,0x9B,0xD5), RGBColor(0xA5,0xC8,0xE1), POSITIVE, WARNING]
# ── Logo ──
LOGO_SRC = "/shared/plugins/nestbox-df1ef9f0/brand/assets/logo.png"
LOGO_LOCAL = "logo.png"
if os.path.exists(LOGO_SRC):
shutil.copy2(LOGO_SRC, LOGO_LOCAL)
def add_logo_to_slide(slide, left=Inches(0.5), top=Inches(0.3), width=Inches(1.5)):
"""Insert the firm logo onto a slide. Call on the title slide."""
if os.path.exists(LOGO_LOCAL):
slide.shapes.add_picture(LOGO_LOCAL, left, top, width=width)
pip install python-pptx 2>/dev/null
python generate_pptx.py
ls -la output/report.pptx
Save output to output/report.pptx.
Per design-system Title Page component:
add_logo_to_slide(slide) — places logo top-left, max 1.5 in wideprimary, 32pt Bold, centeredtext-secondary, 20ptprimary fill, 1.0 in talltext-inverse, 24pt Bold, left-aligned with 0.5 in paddingPer design-system Data Table component:
primary fill, white Bold 10ptsurfacetext-secondary, 8ptborder-light horizontal grid lines onlytext-secondary, 9ptPer design-system KPI Card component:
surface, border: bordertext-secondary, 11pt, uppercase| Element | Font | Size | Color |
|---------|------|------|-------|
| Slide title | Calibri Bold | 24pt | text-inverse on primary bar |
| Body text | Calibri | 12pt | text |
| Table header | Calibri Bold | 10pt | text-inverse on primary |
| Table body | Calibri | 10pt | text |
| Footer | Calibri | 8pt | text-secondary |
| Positive values | Calibri | 10pt | positive |
| Negative values | Calibri | 10pt | negative |
tools
MANDATORY workspace file-writing rules for the containerized agent environment. Triggers whenever files are created, written, saved, or generated. All deliverables MUST go to output/ subdirectory. Absolute paths like /home/user/ will fail.
tools
Perform fair value analysis for PE/VC portfolio companies — comparable company analysis, precedent transactions, DCF modeling, ASC 820 / IFRS 13 fair value hierarchy classification, and valuation reconciliation. Ensures compliance with accounting standards.
development
Use this skill whenever a user wants to research a portfolio company and generate an ILPA-compliant Portfolio Company Metrics (PortCo) report. Triggers include: any mention of "ILPA", "portfolio company report", "PortCo template", "PE fund reporting", "GP reporting", "LP reporting", "buyout company metrics", "growth equity metrics", or when a user asks to "research a company for private equity", "compute KPIs for a portco", "generate fund performance metrics", or "fill out a portfolio company template". Also triggers when a user provides a company name and asks for financial analysis in a PE/VC context, including requests for EBITDA multiples, IRR, MOIC, ownership metrics, or debt analysis. Output formats supported: Excel (.xlsx), PowerPoint (.pptx), or PDF report.
tools
Generate Excel workbooks (XLSX) from structured financial data using openpyxl. Creates formatted spreadsheets with multiple tabs for fund performance, portfolio data, cash flows, and waterfall calculations. Includes formulas, conditional formatting, and charts. Always read the design-system skill first.