Productivity & Collaboration

PPTX Presentation Skill (Open Cowork)

Enables an AI agent to create, edit, and analyze PowerPoint (.pptx) files — covering from-scratch building, template-based decks, and raw XML editing.

69/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 2.2k
Last updated
12d ago
License
MIT
pptxpowerpoint-generationooxmlhtml2pptx
+4pptxgenjslibreofficemarkitdowntemplate-fill

What does this skill do, and when should you use it?

This is the pptx skill bundled in Open Cowork's built-in Skills library, defined at .claude/skills/pptx/SKILL.md in the repository. It supports three working modes: creating new presentations via an html2pptx workflow, editing existing files by directly modifying Office Open XML, and building template-based decks by duplicating, reordering, and filling template slides. The skill ships with helper scripts (unpack/pack/validate/inventory/replace) and requires dependencies such as markitdown, pptxgenjs, LibreOffice, and Poppler. Note that the SKILL.md itself is marked proprietary (terms in LICENSE.txt), while the host repository Open Cowork is MIT-licensed.

  • Extracts text from .pptx via markitdown, or unpacks the ZIP/XML to read speaker notes, comments, layouts, and theme colors/fonts
  • For new decks: designs HTML slides (960×540), converts them with the html2pptx library, and adds charts/tables through the PptxGenJS API
  • For edits: unpacks with ooxml/scripts, modifies ppt/slides/slide{N}.xml, validates each edit, then repacks
  • For templates: generates thumbnail grids with thumbnail.py, rearranges slides with rearrange.py, and fills placeholders with inventory.py + replace.py
  • Converts slides to PDF (soffice) and JPEG (pdftoppm) to visually inspect for cutoff, overlap, and alignment issues
Good fit
  • A professional who needs to turn a CSV or notes into a multi-slide work summary deck
  • A designer or marketer with a corporate template who must fill in new content while preserving the original design
  • An operations person who needs to batch-edit text, notes, or comments in an existing presentation
  • A user who wants the AI to analyze an existing deck's layouts, theme colors, and fonts to emulate its style
Not a fit
  • Users who want a purely online, point-and-click slide editor and won't install Python/Node/LibreOffice dependencies
  • Formats other than .pptx (e.g., native Keynote or Google Slides editing) — the skill handles .pptx only
  • Pure API-call environments: the skill relies on shell execution of local commands, so callers must supply an execution channel

How do you install this skill?

Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • Python 3 (markitdown, defusedxml)
  • Node.js (pptxgenjs, playwright, react-icons)
  • LibreOffice (soffice)
  • Poppler (pdftoppm)

The skill is pre-installed with the Open Cowork desktop app under .claude/skills/pptx/; SKILL.md documents no standalone install commands. Install the host app to use it:
Open Cowork (macOS, Homebrew)

brew tap OpenCoworkAI/tap
brew install --cask --no-quarantine open-cowork

Open Cowork (Windows/macOS installers)

# Download the .exe (Windows) or .dmg (macOS Apple Silicon) from the GitHub Releases page

Open Cowork (build from source)

git clone https://github.com/OpenCoworkAI/open-cowork.git
cd open-cowork
npm install
npm run rebuild
npm run dev

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Read the financial_report.csv in this folder and create a PowerPoint summary with 5 slides
  • Use company_template.pptx and build a new deck from my quarterly data following its layouts
  • Extract all speaker notes from presentation.pptx and show them to me
  • Change the title on slide 3 of report.pptx to '2024 Annual Summary' and replace every old year in the body text with 2024

The skill is triggered by its SKILL.md description whenever the user asks to create, modify, or analyze .pptx files. Three main flows:

  1. From scratch: read html2pptx.md and css.md completely, extract the html2pptx library (tar -xzf html2pptx.tgz -C html2pptx), author 960×540 HTML slides, then run a Node script calling the html2pptx function and pptx.writeFile();
  2. Editing: unpack → edit XML manually → validate with validate.py after each edit → pack with pack.py;
  3. Template-based: thumbnail.py for visual analysis → save a template inventory → rearrange.py with 0-based slide indices → inventory.py for text extraction → replace.py to apply replacements (with bullet/alignment/color paragraph properties).

Mandatory visual validation after generation:

soffice --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide

Inspect each image for text cutoff, overlap, positioning, contrast, and alignment; fix in priority order (margins → font size → layout redesign) and regenerate until all slides pass.

What are this skill's strengths and limitations?

Pros
  • Covers three complete workflows (create, edit, template) with ready-to-run unpack/validate/replace scripts
  • Enforces page-by-page visual validation via image conversion, catching common defects like cutoff and overlap
  • Template workflow preserves original formatting — fonts, alignment, bullets — via the inventory/replace scripts
  • Text extraction and theme typography/color analysis work out of the box, making style emulation straightforward
Limitations
  • Heavy dependencies: Python (markitdown, defusedxml), global npm packages (pptxgenjs, playwright, react-icons), LibreOffice, and Poppler
  • SKILL.md is marked "Proprietary. LICENSE.txt has complete terms" — different from the repo's MIT license; verify terms before commercial use
  • Visual validation relies on LibreOffice rendering, which may differ from real PowerPoint; the source offers no test evidence of fidelity
  • The source does not confirm full Linux operation (Poppler/LibreOffice have Linux install commands, but the host app has no Linux installer yet)

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
PPTX Presentation Skill (Open Cowork) this page 69 · Recommended ★ 2.2k 12d ago MIT
PPTX Presentation Skill 47 · Use with care ★ 3.1k 8mo ago MIT
deepPPT 67 · Recommended ★ 28 2mo ago MIT
DeepTutor pptx Skill 58 · Recommended ★ 41k 17d ago Apache-2.0
PPTX Presentation Skill ✓ Anthropic · Official 54 · Use with care ★ 181k 16d ago —

The host README compares Open Cowork with Claude Cowork and OpenClaw across MCP & Skills, remote control, and GUI operation (Open Cowork supports all three); regarding the pptx skill itself, it is one of Open Cowork's built-in skills (pptx/docx/pdf/xlsx/skill-creator), and the source provides no direct comparison with other PPT-generation tools.

How did FollowSkills review this skill?

FollowSkills review · FSRS-1.0
Recommended
69/ 100 5-point scale 3.5 / 5
1Utility16 / 20 · 4.0/5

Also a bundled copy of Anthropic's official pptx skill — content is trustworthy but the version may lag the official source.

2Reliability15 / 20 · 3.8/5
3Safety18 / 25 · 3.6/5
4Evidence6 / 15 · 2.0/5
5Usability8 / 10 · 4.0/5
6Maintenance6 / 10 · 3.0/5
1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 17, 2026 Review evidence[1]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

This review was completed under FSRS 1.0. Dimension scores are not converted; it is queued for re-review under FSRS 2.0.

See the full review method →

FAQ

What is the skill's license?
SKILL.md states "Proprietary. LICENSE.txt has complete terms"; the host repo Open Cowork is MIT-licensed. The two differ — check LICENSE.txt before adopting.
What runtime environment does it need?
Python 3 with markitdown[pptx] and defusedxml; globally installed pptxgenjs, playwright, and react-icons; LibreOffice (soffice for PDF conversion); and Poppler (pdftoppm for PDF-to-image). SKILL.md notes these "should already be installed."
Will it modify my original PPT file?
The editing flow unpacks to a separate directory, edits XML, and packs to a new file, validating after each edit; the template flow also produces working.pptx and output.pptx rather than overwriting the original template.
How is output quality ensured?
The skill mandates converting the PPTX to PDF and then images, inspecting every slide for cutoff, overlap, margins, contrast, alignment, and visual hierarchy; slides that fail must be fixed (margins → font size → layout) and regenerated before delivery.

More skills from this repository

All from OpenCoworkAI/open-cowork

Related skills