| name | branded-pptx |
| description | Create highly branded PowerPoint presentations from a template .pptx file. Use when the user provides a branded template and wants to generate new slides that look like a professional consultant created them โ on-brand, on-layout, using the template's themes, slide masters, and layouts. Triggers on: 'branded deck', 'use this template to create', 'make a presentation matching this brand', 'on-brand slides', or any request to produce a .pptx that must follow an existing template's visual identity. REQUIRES the anthropic pptx skill (or equivalent) as a baseline โ this skill does not replicate pptx reading/writing/editing capabilities, it layers brand-aware intelligence on top. |
Branded PPTX
Create presentations that look like a brand team designed them, not like AI generated them.
Prerequisite
This skill depends on the pptx skill (anthropic/skills) for all file operations โ reading, unpacking, editing XML, creating slides, QA, and image conversion. Load /pptx before proceeding. This skill provides the brand analysis layer and slide creation strategy on top.
Workflow
1. Analyze the Template
Always run this first. The template is the single source of brand truth.
python3.12 scripts/analyze_template.py template.pptx --output-dir ./runs --run-id
This creates a self-contained timestamped run folder:
runs/2026-03-29T14-30-45/
โโโ template.pptx # Copy of original template
โโโ brand-manifest.md # Master index โ read this first
โโโ theme.md # Colors, fonts
โโโ layouts.md # Layout inventory with dimensions
โโโ slide-masters.md # Master backgrounds
โโโ slides.md # Example slides with shape inventory
โโโ output/ # Place generated .pptx and .pdf here
All working files (unpacked PPTX, thumbnails, output.pptx, output.pdf) go in this run folder.
Read brand-manifest.md first โ it has everything needed for slide planning. Read the detailed files only when you need specifics.
Also generate thumbnails for visual reference:
python3.12 <pptx-skill>/scripts/thumbnail.py template.pptx <run-folder>/template-grid
2. Study the Brand System
Before creating any slides, internalize:
- Color palette: From
theme.md โ which colors map to which semantic roles
- Typography: Major (heading) and minor (body) fonts from the theme
- Layout inventory: From
layouts.md โ available structures, placeholder-driven vs free-form
- Shape dimensions and capacity: From
layouts.md and slides.md โ how much text fits in each text area, where shapes are positioned
- Visual patterns: From
slides.md + thumbnails โ how the brand team intended each layout to be used
- Visual data elements: From
slides.md โ which shapes contain embedded images/charts that text replacement cannot update
The example slides in the template are the gold standard.
3. Plan the Deck
For each content section, select a layout by matching content type to layout structure:
| Content Type | Look For |
|---|
| Cover / title | title or ctrTitle layout |
| Section break | secHdr layout |
| Single topic with bullets | obj layout (title + body) |
| Comparison / two topics | twoObj layout |
| Visual + text | picTx or image-bearing layouts |
| Data / metrics | Layouts with chart or table placeholders |
| Free-form / custom | blank or titleOnly layout |
| Blank-layout template | All examples use blank โ duplicate the closest example slide |
Vary layouts deliberately. A branded deck is never 15 slides of the same layout.
Blank Layout + Custom Shapes Pattern
Many professional templates (McKinsey, BCG, Bain style) do NOT use standard placeholder layouts. Instead, all slides use BLANK layout with free-form positioned shapes.
When brand-manifest.md reports "Template Style: Blank Layout + Custom Shapes":
- Do not use placeholder-based layouts. The custom layouts exist but are not how the brand team builds slides.
- Duplicate example slides as the primary strategy. Each example slide IS the layout โ its shapes are the structure.
- Use the Shape Inventory from
slides.md to identify which shapes carry editable text, which are decorative, and which carry visual data.
- Respect exact positions and sizes. Since there is no placeholder inheritance, the shape's position values are the truth. Do not reposition shapes.
- Check text capacity before writing content. If text exceeds the estimated character count, shorten it rather than overflowing.
4. Build Slides
Use the pptx skill's template editing workflow:
- Unpack the template into the run folder
- Duplicate/add slides using the planned layout mapping
- Edit content in each slide XML โ fill placeholders or edit shapes in-place
- Clean and pack
Brand fidelity rules during editing:
- Use theme colors via
schemeClr references, never hardcoded hex
- Fill placeholders or edit shapes in-place โ preserve the inheritance chain and positioning
- Match content density to what the example slides demonstrate
- Preserve decorative elements in layouts (accent bars, background shapes, dividers)
- Mirror the example โ replicate its visual pattern: same emphasis structure, similar content length
- Respect inheritance โ let styles cascade from theme โ master โ layout โ slide
- Check text capacity before writing content. Use the capacity estimates from the manifest to ensure content fits
- Flag visual data elements โ images and charts carry embedded data values. Options: replace the image, remove the shape, or flag for manual update
For blank-layout templates:
- Duplicate the example slide closest to your target content
- Identify editable text shapes by
shape_type: textbox and non-empty text in the Shape Inventory
- Replace text within existing
<a:r> runs โ preserve all <a:rPr> attributes
- Do NOT add new shapes or reposition existing ones
For detailed OOXML structure: read references/ooxml-brand-structure.md.
5. QA for Brand Compliance
After building, run the pptx skill's standard QA process AND check brand-specific issues:
Content QA (via pptx skill):
python3.12 -m markitdown output.pptx
Visual QA โ use subagents with this extended prompt:
Visually inspect these slides against the template thumbnails. Assume there are brand issues โ find them.
Look for standard issues (overlaps, overflow, alignment) PLUS:
- Text overflow: compare text length against capacity estimates in the manifest
- Slides that don't match the visual pattern of example slides using the same layout
- Text boxes that appear free-floating rather than in template shapes
- Colors that don't match the brand palette
- Font inconsistencies (wrong typeface, wrong weight)
- Content density mismatches (too many or too few items vs examples)
- Missing decorative elements that the layout should provide
- Layouts repeated too many times without variety
- Visual data staleness: shapes flagged as [VISUAL DATA] โ verify their content matches new data
- Shape position drift: for blank-layout slides, verify shapes haven't moved from template positions
Compare each output slide against the closest matching example slide from the template.
Dependencies
This skill requires the pptx skill (anthropic/skills) or equivalent for all PPTX file operations.
System dependencies:
- Python 3.12+ (
python3.12) โ required for native type syntax
pip install defusedxml โ XML parsing for analyze_template.py
pip install "markitdown[pptx]" โ text extraction (via pptx skill)
pip install Pillow โ thumbnails (via pptx skill)
pip install lxml โ pack.py validation (via pptx skill)
- LibreOffice (
soffice) โ PDF conversion (brew install --cask libreoffice)
- Poppler (
pdftoppm) โ PDF to images (brew install poppler)