Pptx Toolkit
Audit .pptx files using the standard library only — no python-pptx required. Reads OOXML directly via zipfile + xml.etree.
Table of Contents
Keywords
pptx, PowerPoint, slide deck, presentation, board deck, sales deck, deck review, slide density, speaker notes, animation, hidden slides
Quick Start
python scripts/pptx_auditor.py deck.pptx
Outputs: slide count, hidden slide count, slides with speaker notes, words per slide (with per-slide breakdown), image and embedded-media count, animation node count, theme name.
Core Workflows
Workflow 1: Pre-Meeting Deck Review
Goal: Catch the issues that make decks look unprofessional in the room — overstuffed slides, missing speaker notes, leftover hidden slides from prior versions.
Steps:
- Run audit
- Slides with > 50 words → flag for content reduction
- Slides without speaker notes for a board / investor deck → add notes or mark "intentionally bare"
- Hidden slides → confirm they should ship hidden, or delete
- Animation count > 100 across deck → likely over-animated; trim
Time Estimate: 5-10 minutes per deck.
Workflow 2: Board / Investor Deck Audit
Goal: Hold a board / investor deck to a higher quality bar with a structured audit trail.
Steps:
- Run audit; export JSON for archival alongside the deck
- Apply the rubric in
references/deck_density_rubric.md - Flag slides over density caps; trim to one idea per slide
- Pair with
cs-board-deck-builderskill for narrative review
Time Estimate: 30-60 minutes per board deck.
Workflow 3: Pre-Conference Talk Deck Check
Goal: Stage-ready deck — hidden / cut slides removed, speaker notes complete, animations rehearsable.
Steps:
- Audit; ensure slide count matches dry-run timing budget
- Speaker notes coverage > 90% (for talks where you'll deliver from notes)
- Animations under 50 across the talk (more invites timing accidents on stage)
- Embedded video / audio: confirm present and play locally
Time Estimate: 15 minutes pre-rehearsal.
Tools
pptx_auditor.py
Reads a .pptx file as a ZIP archive and parses OOXML directly. No external dependencies.
python scripts/pptx_auditor.py deck.pptx
python scripts/pptx_auditor.py deck.pptx --json
Reports:
- Slide count and hidden-slide count
- Slides with speaker notes (count and percentage)
- Words per slide (mean, max, full distribution)
- Top-N densest slides
- Image / embedded-media count
- Animation timing node count
- Theme name
Reference Guides
references/deck_density_rubric.md— Words-per-slide guidance by deck purpose (board, sales, talk, training); animation philosophy; speaker-notes pattern
Templates
assets/deck_handoff_checklist.md— Pre-meeting deck sign-off checklist
Best Practices
- One idea per slide. If you can't summarize the slide in one sentence, it has more than one idea.
- Speaker notes are documentation. Slides without notes leave readers (post-meeting) guessing what the talk track was.
- Delete hidden slides before sending. Hidden slides are often older versions left for "just in case" — they survive forever and leak narrative context.
- Animations are timing risk. Every animation is a place where the live demo can desync from the speaker.
Integration Points
- Pairs with
c-level-advisor/board-deck-builderfor board / investor decks - Pairs with
marketing/launch-strategyfor launch-deck reviews - Used by
cs-pr-comms-leadfor press / partner decks