mcpField
E
export-pptx

export-pptx

github.com/bluzirDocuments10752 installsUpdated 27w ago
Repository

About export-pptx

A skill that exports an HTML slide deck to a PPTX made of full-slide images, with optional speaker notes. It uses Puppeteer and pptxgenjs, so the result is not natively editable in PowerPoint.

Key features

  1. 01HTML slides rendered as images
  2. 02Optional per-slide speaker notes
  3. 0316:9 PPTX output
  4. 04JPEG compression option

Use cases

  1. 01Exporting an HTML presentation to PPTX
  2. 02Sharing a slide deck with speaker notes
  3. 03Reducing export file size with JPEG

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bluzir/claude-code-design --skill export-pptx

After installing, type/export-pptxin Claude Code to confirm it loaded.

Details

From the project README

Export PPTX

Screenshot-based PPTX export — each <section> inside <deck-stage> becomes one slide (1920×1080 image + optional speaker notes).

Preflight

  1. Bash(which node) — if missing, tell user to install Node 20+
  2. Check package.json has pptxgenjs + puppeteer — if not, run:
    Bash(npm install -D pptxgenjs puppeteer)
    
    (or tell user to run /doctor first)

Steps

  1. Resolve paths:

    • $0 = deck HTML (required)
    • $1 = output (default: basename + .pptx)
  2. Run the export script:

    Bash(node scripts/export-pptx.mjs "<input>" "<output>")
    
  3. Report size + path.

Script dependencies

scripts/export-pptx.mjs must exist. If missing, create it (see template in spec §4.5 or ask user to run /doctor).

What the script does

  • Launches headless Chromium (puppeteer)
  • Loads the deck HTML at 1920×1080
  • Reads <deck-stage>.totalSlides
  • For each slide: goToSlide(i), set noscale, page.screenshot at clip 0,0,1920,1080
  • Reads #speaker-notes JSON (if present) and attaches per-slide notes
  • Builds .pptx with pptxgenjs (16:9 layout, one PNG-background slide each)

Notes

  • Images can be large — 5 MB per slide at 1920×1080 is normal
  • For smaller files, pass --jpeg 0.8 to the script (compress to JPEG at 80% quality)
  • Not editable in PowerPoint — each slide is a raster image. For native-editable export, skill not supported in v3.

Comments

Markdown supported