PPTX Presentation Skill (bundled with Open Cowork)
Enables an AI agent to create, edit, and analyze PowerPoint (.pptx) files, covering new presentations, modifications to existing decks, and template-based generation.
Also a bundled copy of Anthropic's official pptx skill — content is trustworthy but the version may lag the official source.
What does this skill do, and when should you use it?
This is the pptx skill bundled with Open Cowork, an open-source AI agent desktop app, located at .claude/skills/pptx/ in the repository as one of five default skills. It teaches an agent three distinct workflows for .pptx files: creating new presentations from scratch via an html2pptx pipeline, editing existing files through direct Office Open XML manipulation, and generating template-consistent decks from an existing design. The skill ships with supporting Python scripts including unpack, pack, validate, rearrange, inventory, replace, and thumbnail. Note that while the repository overall is MIT licensed, the skill's SKILL.md declares a proprietary license with full terms in LICENSE.txt — verify this before adopting.
Core operations: 1) Text extraction — converts .pptx to markdown via markitdown for reading; 2) Raw XML access — unpacks files with unpack.py to inspect ppt/slides, notesSlides, comments, and theme directories for layout, typography, and color analysis; 3) From-scratch creation — follows the html2pptx workflow to plan design (palette, typography, per-slide outline), author 960×540 HTML slides with shared CSS variables, then convert them using the html2pptx library and PptxGenJS, inserting charts via placeholders; 4) Visual validation — converts to PDF with LibreOffice and to JPEGs with pdftoppm, then inspects each slide for text cutoff, overlap, contrast, and alignment issues, iterating fixes until all slides pass; 5) Editing existing files — unpacks OOXML, edits XML, validates with validate.py, and repacks; 6) Template-based creation — builds thumbnail grids with thumbnail.py to analyze the template, reorders/duplicates/deletes slides with rearrange.py, extracts a full text-shape inventory with inventory.py, and fills content via replace.py using a replacement JSON with formatting properties (bold, bullets, colors, alignment).
- A professional who needs a multi-slide PowerPoint summary built from a workspace data file such as a financial report CSV
- A marketing or operations person with a company PPT template who needs new content filled in consistently with the template's design
- An admin or project manager who needs to modify a received .pptx (edit text, add speaker notes, adjust layouts) without manual work
- A designer who wants to study an existing deck's typography, colors, and layouts, then produce a matching new presentation
- An Open Cowork desktop user who wants PPT generation out of the box with no environment setup
What are this skill's strengths and limitations?
- A complete closed loop: design planning, content generation, chart insertion, and mandatory visual validation with per-slide checks for cutoff, overlap, and contrast
- Dedicated toolchains for all three scenarios (create, edit, template), with automated scripts for thumbnails, text inventory, and overflow checking
- Works out of the box inside Open Cowork with dependencies pre-installed — no setup for typical users
- replace.py validates that referenced shapes exist and detects worsened text overflow, reducing template-fill errors
- Heavy dependency chain: Python (markitdown, defusedxml), globally installed Node packages (pptxgenjs, playwright, react-icons, etc.), LibreOffice, and Poppler — costly to deploy outside Open Cowork
- SKILL.md declares a proprietary license (terms in LICENSE.txt, not included in the source), and its relationship to the repo's MIT license needs verification
- No automated test suite; validation relies on iterative visual inspection, which can take multiple rounds for complex decks
- LibreOffice PDF rendering may differ from real PowerPoint, so visual validation is not a perfect proxy for final output
- No actual LICENSE.txt content, maintenance cadence, or independent community feedback on this specific skill is available in the source
How do you install this skill?
The skill ships with the Open Cowork app in .claude/skills/pptx/. Option 1 (recommended for typical users): install Open Cowork — macOS via brew tap OpenCoworkAI/tap && brew install --cask --no-quarantine open-cowork, Windows via the .exe from GitHub Releases. Option 2 (for other Agent Skills clients like Claude Code): copy the entire .claude/skills/pptx/ directory into your environment's skills directory and ensure dependencies are installed (pip3 install "markitdown[pptx]" defusedxml; npm install -g pptxgenjs playwright react-icons react react-dom; plus LibreOffice and Poppler). The source does not document an official standalone installation procedure outside Open Cowork; defer to your client's skill installation conventions.
How do you use this skill?
Trigger it with natural language in a supporting agent, e.g.: "Read the financial_report.csv in this folder and create a PowerPoint summary with 5 slides" (the example prompt from the README). New decks follow the html2pptx workflow; existing files are edited via XML unpacking; a provided template triggers inventory analysis before filling. Always require the visual validation step (image conversion and per-slide inspection) before delivery — the skill explicitly mandates that all slides pass validation. Do not allow the agent to skip reading html2pptx.md / css.md / ooxml.md, which the skill requires in full before starting.
How does this skill compare with similar options?
The Open Cowork README compares Open Cowork with Claude Cowork and OpenClaw on features (MCP/Skills, remote control, GUI operation), but that is an app-level comparison, not one about this pptx skill. The source names no direct competitors for PPTX-generation skills or libraries.