Back to Skills

pptx-html-fidelity-audit

Audit a python-pptx export against its source HTML deck, identify layout/content drift (footer overflow, cropped content, missing italic/em, lost styling, off-rhythm spacing), and re-export with strict footer-rail + cursor-flow layout discipline. Use this skill whenever the user has a .pptx that was generated from an HTML slide deck and asks to compare/audit/verify/fix the export — including phrases like "compare ppt with html", "fidelity audit", "fix the pptx", "ppt is cut off", "footer overlap

74,988stars8,565forksUpdated 7/5/2026

Security Assessment

Safe(100/100)
Security Score100/100

About pptx-html-fidelity-audit

A repeatable workflow for auditing a python-pptx export against its source HTML slide deck and re-exporting it with a layout discipline that prevents the same regressions from recurring. It applies whenever a .pptx was generated from an HTML deck (typically single-file decks with <section class="slide"> blocks) and the user wants to compare, verify, or fix the export, for symptoms like footer overlap, cropped content, missing italic/em, lost tag styling, or off-rhythm spacing. It requires both artifacts; if the user has only the HTML or only the PPTX, the missing one must be generated first.

The audit exists because PPTX is a fixed-canvas, absolute-positioned medium while HTML is fluid and flow-based. A naive export pins each block at hand-picked coordinates that work for the one slide it was tested on and silently fail elsewhere, producing recurring drift modes: footer overflow, off-canvas content beyond 7.5 inches, italic loss where <em> never becomes run.font.italic, hero slides pinned to the top instead of centered, oversized bounding boxes, and lost chrome, kicker, or font styling.

The workflow is five steps that should not be skipped. First, extract ground truth by running scripts/extract_pptx.py to dump every shape's text, position, size, and per-run typography. Second, walk the HTML structure, noting each slide's theme, chrome, kicker, headline, body, foot, and any italic spans, and mapping HTML slides to PPTX indices. Third, build an audit table with a severity column (critical/high/medium/low) and a short root-cause section naming the two or three systemic causes. Fourth, re-export using footer-rail plus cursor-flow discipline: define canvas rails once, advance a Cursor that refuses to cross the footer (turning overflows into loud build errors), and center hero slides with a budget-based layout. A references/layout-discipline.md file holds the full rules and constants, with a verify_layout.py check. Use it to catch and repair the silent visual differences between an HTML deck and its PowerPoint export.

FAQ

When does this skill apply?

When a .pptx was generated from an HTML slide deck and you want to compare, audit, verify, or fix the export, for issues like footer overlap, cut-off content, missing italics, or lost styling. You need both the HTML and the PPTX.

What if I only have the PPTX or only the HTML?

The skill doesn't apply yet. You must first generate the missing artifact or ask the user to provide it, since the audit compares the two.

How do I get the actual state of the export?

Run scripts/extract_pptx.py on the PPTX to dump every shape's text, position (top/left), size (width/height), and per-run typography; the skill says to trust that dump rather than the export script's intent.

What are the most common drift modes it catches?

Footer overflow, off-canvas content past 7.5 inches, italic loss where <em> isn't applied, hero slides pinned to the top instead of centered, oversized bounding boxes intruding on the rail, and lost tag or font styling.

What is the footer-rail plus cursor-flow discipline?

Define the canvas rails once, then advance a Cursor down the slide that raises an OverflowError if a block would cross the footer rail, so overflows become loud build errors; hero slides instead use a budget that centers content vertically.

All Files

7 files
references/layout-discipline.md14.4 KB
View
scripts/extract_pptx.py4.3 KB
View
scripts/.gitignore0.0 KB
View
references/font-discipline.md15.7 KB
View
SKILL.md13.6 KB
View
references/audit-table-template.md2.7 KB
View
scripts/verify_layout.py5.5 KB
View

Install pptx-html-fidelity-audit

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill