pptx
Read, edit, or create PowerPoint .pptx files. Trigger this skill whenever the user mentions a deck, slides, slide deck, presentation, or a `.pptx` filename — whether the goal is to extract text, modify an existing deck, build one from scratch, or prepare slides for review. Three execution paths are supported: text extraction (always available), template editing (unzip → patch slide XML → repack), and creation from scratch (python-pptx for Python or PptxGenJS for Node).
npx skills add opensquilla/opensquilla --skill pptx --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# pptx Work with PowerPoint `.pptx` decks. The pptx file format is OOXML — a zip container holding XML descriptions of slides, layouts, masters, and media. ## Delivery rule First, use the available tool list for this session to choose the delivery path. If `write_file`, `edit_file`, `apply_patch`, or `execute_code` is available: - Build the `.pptx` in the active workspace using the paths below. - Call `publish_artifact` for the final `.pptx` before your final reply when that tool is available. - The code examples later in this document apply. If only `create_pptx` is available: - Use it only for a basic text-only deck from slide titles, body text, and bullets. - Do not use it for illustrated, image-heavy, chart-heavy, template-based, or visually designed decks. It does not support images, icons, charts, custom layouts, or visual QA. - If the user asked for those visual features, explain that full visual deck authoring is unavailable in this session instead of calling `create_pptx` as though it satisfies the request. If none of those file-authoring tools are available: - Do not attempt to generate, save, or modify the `.pptx`. - Do not paste OOXML, Python, JavaScript, HTML, or other
- Delivery rule
- Decide the path first
- Path A: Read text from a .pptx
- Path B: Edit an existing deck
- B1. Text-only edits (preferred)
- B2. Structural edits (add/remove/reorder slides, change layouts)
- Path C: Create from scratch
- C1. python-pptx quick recipe
- C2. PptxGenJS quick recipe
- Design checklist (apply to both C1 and C2)
- Visual QA (when render tools are available)
- Common pitfalls
- Troubleshooting
- Boundaries
python {baseDir}/scripts/extract_text.py /path/to/deck.pptx
python {baseDir}/scripts/extract_text.py /path/to/deck.pptx --json
python -m markitdown deck.pptx
mkdir _unpacked && (cd _unpacked && unzip -q ../input.pptx)
edit _unpacked/ppt/presentation.xml (sldIdLst order)
edit _unpacked/ppt/slides/slideN.xml content
bash {baseDir}/scripts/render_thumbs.sh out.pptx
emits out-01.jpg, out-02.jpg, ... in cwd, plus out.pdfWhat does the pptx skill do?
Read, edit, or create PowerPoint .pptx files. Trigger this skill whenever the user mentions a deck, slides, slide deck, presentation, or a `.pptx` filename — whether the goal is to extract text, modify an existing deck, build one from scratch, or prepare slides for review. Three execution paths are supported: text extraction (always available), template editing (unzip → patch slide XML → repack), and creation from scratch (python-pptx for Python or PptxGenJS for Node).
How do I install it?
Run `npx skills add opensquilla/opensquilla --skill pptx --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From opensquilla/opensquilla, a repository with 6,515 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.