LLMSkillHub
mirroredCopied from decocms/studio under MIT. decocms has not claimed this page, and is not affiliated with LLM SkillHub.

decocms / pptx

Read and inspect existing .pptx PowerPoint files (text, speaker notes, slide images). Use only for reading uploaded PowerPoint files — to AUTHOR a deck use the slides skill instead.

0
SKILL.md
3.3 KB

pptx — PowerPoint presentations

Reading and inspection of .pptx files. Editing and creation are not yet
supported.

Making a presentation, slide deck, or "slides"? This is NOT the
skill — use the slides skill (/app/org/public/core/slides/SKILL.md),
which authors HTML decks with a live, editable preview. Reach for pptx
ONLY when the user explicitly works with a PowerPoint .pptx file —
reading one they uploaded, or when they specifically ask for .pptx
output (not yet supported here).

Quick reference

TaskCommand
Plain-text dumppptx-extract <file.pptx>
Plain-text + speaker notespptx-extract --notes <file.pptx>
Visual overview (grid image)pptx-thumbnail <file.pptx>
One slide at full resolutionpptx-rasterize --pages 3 <file.pptx>
Several slidespptx-rasterize --pages 1,3-5 <file.pptx>
Raw XML inspectionpptx-unpack <file.pptx>

Every command writes its output next to the input file and prints the
output path(s) on stdout.

Reading text

pptx-extract prints each slide as a ## Slide N section followed by the
visible text. Speaker notes are excluded by default; pass --notes to
include them under a ### Notes subsection per slide.

Visual overview

pptx-thumbnail produces two artifacts:

  • A composite grid image at <input-stem>.thumbnail.jpg — 4-column grid
    with a small slide-number overlay on each cell. Suitable for a single
    multimodal read to get the shape of the deck.

  • A directory <input-stem>.slides/ containing per-slide JPGs at the
    same resolution. When a slide in the grid looks interesting, read
    slide-NNN.jpg directly instead of re-running pptx-thumbnail.

To actually see the rendered image, call the read tool on the path
pptx-thumbnail printed:

read /home/sandbox/deck.thumbnail.jpg

The image is injected into the next turn as a vision input.

Per-slide rasterization

pptx-rasterize renders specific slides at higher DPI (default 150) into
<input-stem>.rasterized/slide-NNN.jpg. Use --pages 3 for a single
slide or --pages 1,3-5 for a selection. Override DPI with --dpi.

Pass the resulting path to the read tool to actually see the slide.

Raw XML

pptx-unpack unzips the .pptx into <input-stem>.unpacked/. Useful
locations inside:

  • ppt/slides/slideN.xml — slide content
  • ppt/notesSlides/notesSlideN.xml — speaker notes
  • ppt/media/ — embedded images
  • ppt/theme/ — color palette and font definitions

Direct python-pptx usage

For programmatic access beyond what these scripts cover (table cell data,
shape positions, layout metadata, etc.), import pptx directly. The
library is preinstalled.

from pptx import Presentation
prs = Presentation("/path/to/file.pptx")
for slide in prs.slides:
    for shape in slide.shapes:
        ...