pptx
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
npx skills add ThinkInAIXYZ/deepchat --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.
What it does
The PPTX skill handles creating, editing, and analyzing PowerPoint presentations. It supports creating new presentations from HTML with a detailed design and typography workflow, reading and analyzing content by converting to markdown or accessing raw XML for notes, comments, layouts, and other elements, and editing existing presentations via OOXML unpack/modify/pack steps. It also provides procedures for using templates, extracting text inventories, and validating outputs.
How it works
- Reading and analyzing content: When only text is needed, convert to markdown using:
python -m markitdown path-to-file.pptx. For raw XML access (notes, comments, layouts, design elements), unpack with:python ooxml/scripts/unpack.py <office_file> <output_dir>(script path isskills/pptx/ooxml/scripts/unpack.py). Key structures includeppt/presentation.xml,ppt/slides/slide{N}.xml,ppt/notesSlides/notesSlide{N}.xml,ppt/comments/modernComment_*.xml,ppt/slideLayouts/,ppt/slideMasters/,ppt/theme/, andppt/media/. - Typography/color extraction: When given a design example, analyze
ppt/theme/theme1.xmlfor colors and fonts, inspectppt/slides/slide1.xmlfor font usage, and search across XMLs for color/font patterns. - Creating a new presentation without a template: Use the html2pptx workflow. Before coding, state your design approach, select web-safe fonts, ensure readability, and define a color palette. Generate HTML slides with proper elements, rasterize gradients/icons with Sharp, and convert HTML to PPTX using
html2pptx()fromhtml2pptx.js. Usepptx.writeFile()to save. - Validation and thumbnails: Generate thumbnails via
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4, then review for text cutoff, overlap, positioning, and contrast; adjust HTML margins/spacing/colors and regenerate. - Editing a presentation: Read the entire
ooxml.mdfile, unpack withpython ooxml/scripts/unpack.py, editppt/slides/slide{N}.xmland related files, validate withpython ooxml/scripts/validate.py <dir> --original <file>, and re-pack withpython ooxml/scripts/pack.py <input_directory> <office_file>. - Template-based creation: Extract text with
python -m markitdown template.pptx > template-content.md, createtemplate-inventory.md, build anoutline.mdmapping outlines to templates, then usescripts/rearrange.pyto duplicate/reorder slides, e.g.,python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52. Extract all text withpython scripts/inventory.py working.pptx text-inventory.jsonto build a full inventory.
When to use it
- When you need to create, modify, or analyze .pptx content, including slides, layouts, notes, and comments.
- When you want to convert slides to markdown for reading, or access and edit raw OOXML for advanced tasks.
- When you are adopting template-driven workflows for consistent designs or when validating and exporting presentations with a defined content inventory.
What it can touch
- Tools and scripts listed in the workflow:
python -m markitdown,python ooxml/scripts/unpack.py,python ooxml/scripts/validate.py,python ooxml/scripts/pack.py,html2pptx()fromhtml2pptx.js,PptxGenJSAPI,pptx.writeFile(),scripts/thumbnail.py,scripts/rearrange.py,scripts/inventory.py. - File types involved:
.pptx, XML files underppt/, and intermediate outputs like markdown and JSON inventories.
Caveats
- License stated as Proprietary; LICENSE.txt has complete terms.
- The skill relies on external scripts whose existence is checked at paths like
skills/pptx/ooxml/scripts/unpack.pyand may require discovery withfind . -name "unpack.py"if not present at the exact path. - The workflow emphasizes reading entire source files (e.g.,
html2pptx.md,ooxml.md) without range limits, and expectations about design decisions must be stated before coding.
# PPTX creation, editing, and analysis ## Overview A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks. ## Reading and analyzing content ### Text extraction If you just need to read the text contents of a presentation, you should convert the document to markdown: ```bash # Convert document to markdown python -m markitdown path-to-file.pptx ``` ### Raw XML access You need raw XML access for: comments, speaker notes, slide layouts, animations, design elements, and complex formatting. For any of these features, you'll need to unpack a presentation and read its raw XML contents. #### Unpacking a file `python ooxml/scripts/unpack.py <office_file> <output_dir>` **Note**: The unpack.py script is located at `skills/pptx/ooxml/scripts/unpack.py` relative to the project root. If the script doesn't exist at this path, use `find . -name "unpack.py"` to locate it. #### Key file structures * `ppt/presentation.xml` - Main presentation metadata and slide references * `ppt/slides/slide{N}.xml` - In
- Overview
- Reading and analyzing content
- Text extraction
- Raw XML access
- Creating a new PowerPoint presentation without a template
- Design Principles
- Layout Tips
- Workflow
- Editing an existing PowerPoint presentation
- Creating a new PowerPoint presentation using a template
- Creating Thumbnail Grids
- Converting Slides to Images
- Code Style Guidelines
- Dependencies
Convert document to markdown python -m markitdown path-to-file.pptx python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 python scripts/inventory.py working.pptx text-inventory.json python scripts/replace.py working.pptx replacement-text.json output.pptx python scripts/thumbnail.py template.pptx [output_prefix] Basic usage python scripts/thumbnail.py presentation.pptx Combine options: custom name, columns python scripts/thumbnail.py template.pptx analysis --cols 4
What does the pptx skill do?
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
How do I install it?
Run `npx skills add ThinkInAIXYZ/deepchat --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 ThinkInAIXYZ/deepchat, a repository with 6,191 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.
