Document Generation  ·  Official

pptx

Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from…

  • libreoffice
  • poppler
human agent ↗

output The full 6-slide deck we generated — title, four-card phases, big-stat callout, bar chart, gardener-vs-vendor compare, dark closing slide. Generated in 60ms by pptxgenjs.

What we ran it on:

  • Structural summary — verified by python-pptx (6 slides, 1 chart, 16:9) and by the skill's own markitdown + validate.py.
    Slides generated: 6
    Aspect: 16:9 (LAYOUT_WIDE)
    File size: 120 KB
    
    slide 1: title — humangarden, "the methodology, in 6 slides"
    slide 2: four-card row — Index / Score / Test / Publish phases
    slide 3: big-stat callout — "99% of 2,389 SKILL.md files have no license"
    slide 4: native bar chart — median scores across 5 dimensions
    slide 5: gardener vs vendor compare cards (3 rows, dark left / light right)
    slide 6: dark closing — "humangarden.ai · tended daily"
    
    Skill's own QA (markitdown round-trip): clean — every title, body, bullet, and the chart data round-tripped to markdown.
    Skill's own validate.py: 2 XSD ordering warnings on pptxgenjs-emitted chart XML. File opens in all readers.
    

Composite

3.9

C 4.8 · A 3.3

How we got there

Craft · D1–D5

D1 · Trigger clarity 5.0
D2 · Output specificity 5.0
D3 · Scope precision 4.5
D4 · Self-containment 5.0
D5 · Reusability 4.0

Adoption · A1–A5

A1 · Maintenance 2.5
A2 · Documentation 3.8
A3 · License 2.5
A4 · Adoption 5.0
A5 · Authorship 2.0

Spec

When this fires, what it takes, how it installs

Fires when

  • user wants to generate a PowerPoint deck from structured data or an outline
  • user wants to programmatically edit an existing pptx via unpack → edit → pack
  • user is building agent workflows that produce slide decks as artifacts
  • user wants a slide deck with native charts (not images of charts)
  • user wants design-taste guidance for slide aesthetics (palette, typography, motifs)

Skip when

  • user wants a fill-in-the-blanks generator (this is "write JS, learn the pptxgenjs API")
  • user needs pixel-level visual QA of the rendered deck without installing LibreOffice
  • user needs PDF export of the final deck without LibreOffice
  • user has Keynote (.key) files needing conversion — not supported

Takes

  • text:outline or structured-spec for new-deck generation; you write pptxgenjs JS that consumes this
  • file:pptx for unpack → edit → pack workflow

Returns

  • file:pptx ~90% trustworthy; content/layout match what the JS specifies; pptxgenjs emits chart XML element order that triggers strict-XSD warnings, but all real readers open the file fine

Install

pip install markitdown[pptx] python-pptx Pillow
npm install pptxgenjs
  • optional_libreoffice: brew install --cask libreoffice (for thumbnail.py + PDF export + visual QA)
  • optional_poppler: brew install poppler (pdftoppm — for thumbnail rendering)

Create-path needs no system deps — just npm + uv pip. Visual-QA branch needs LibreOffice and Poppler. Skill's SKILL.md flags this honestly.

Caveats

  • thumbnail.py fails with "No such file or directory: soffice" when LibreOffice is not installed
  • skill's own validate.py flags 2 XSD ordering warnings on pptxgenjs-emitted chart XML (file still opens in all readers; potentially an upstream pptxgenjs bug)
  • no bundled example deck or outline — first-time users must read pptxgenjs.md cookbook end-to-end
  • GitHub clone occasionally times out; codeload.github.com tarball fallback works
02 — Cross-validation

3 sources verified

Install

Use this skill

/plugin install pptx

Auto-indexed. Editorial review pending — score is based on the rubric only.