A two-stage PowerPoint toolkit: lossless PPTX extraction first, template intelligence second.
This repository provides an open-source workflow for PowerPoint template analysis.
It first unpacks a .pptx file into a lossless OpenXML-oriented workspace with
structured indexes, then analyzes that parsed result to generate reusable design
insights such as theme colors, typography, layout systems, placeholders, media
usage, and slide patterns.
ppt-parser/: Parses PPTX archives into a deterministic analysis workspace.ppt-template-analyzer/: Analyzes parsed output and generates template reports.
- Run
ppt-parseron a.pptxfile. - Review parser outputs (
manifest,summary,raw/extraction). - Run
ppt-template-analyzeron the parsed output directory. - Review generated Markdown and JSON reports.
Run commands from each skill directory.
node scripts/parse_pptx.js <path-to-pptx-file>Parser output directory naming convention:
<PPT_NAME>_<YYYYMMDD>/
node scripts/analyze_template.js <parsed-pptx-folder> [report-output.md|analysis-output.json]If output names are omitted, analyzer defaults to:
<PPT_NAME>_<YYYYMMDD>_template_report.md
<PPT_NAME>_<YYYYMMDD>_template_report.json
The parsed directory should include:
<PPT_NAME>_<YYYYMMDD>/
<PPT_NAME>_<YYYYMMDD>_manifest.json
<PPT_NAME>_<YYYYMMDD>_summary.json
<PPT_NAME>_<YYYYMMDD>_summary.txt
raw/
[Content_Types].xml
_rels/.rels
ppt/
presentation.xml
_rels/presentation.xml.rels
slides/
slides/_rels/
slideLayouts/
slideLayouts/_rels/
slideMasters/
slideMasters/_rels/
theme/
charts/
diagrams/
notesSlides/
media/
images/
media/
Key guarantees:
raw/preserves archive internal paths exactly, including_rels.manifest.jsonis machine-focused indexing metadata.summary.jsonis lightweight analysis handoff data.images/andmedia/are convenience copies;raw/ppt/media/is source of truth.
- The parser focuses on extraction and indexing, not design interpretation.
- The analyzer provides structured template heuristics, not final visual judgment.
- XML relationships (
.rels) should be treated as authoritative linkage data.
Add your preferred open-source license (for example, MIT) before publishing.