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
Clarify First
Before running the audit, confirm these inputs. If any is unknown or vague, ASK — do not assume:
- [ ] Deck purpose (board/investor, sales, or conference talk) — sets the density caps, speaker-notes coverage, and animation limits (the rubric differs per type)
- [ ] Delivery context (sent to be read vs presented live from notes) — changes whether bare slides and animations are acceptable
- [ ] Whether hidden slides should ship — distinguishes intentional backup slides from leftover narrative cruft
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
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