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 hAcKlyc/MyAgents --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 skill handles creating, editing, and analyzing PowerPoint presentations (.pptx). It supports converting text content from slides, accessing raw XML when needed, unpacking and editing OOXML, and applying design workflows for new or template-based presentations. It includes steps for typography/color analysis, layout choices, and workflow guidance for converting HTML to PPTX, validating outputs, and generating thumbnails.
How it works
- Text extraction: convert document to markdown using
bashpython -m markitdown path-to-file.pptx. - Raw XML access requires unpacking:
python ooxml/scripts/unpack.py <office_file> <output_dir>, with the script located atskills/pptx/ooxml/scripts/unpack.py(or locate viafind . -name "unpack.py"). - Key structures include
ppt/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 an example design: read
ppt/theme/theme1.xmland examineppt/slides/slide1.xml, then grep across XML for color and font references. - Creating a new presentation without a template uses the html2pptx workflow to convert HTML slides to PowerPoint with positioning; design principles require stateful explanation of design choices before coding, use web-safe fonts, establish visual hierarchy, ensure readability and consistency, and build a 3-5 color palette with clear contrast.
- Color palette and design options are provided (examples include Classic Blue, Teal & Coral, etc.) and layout/visual treatment suggestions cover patterns, borders, typography, charts, data, and layouts.
- Workflow steps for creating from scratch include mandatory reading of html2pptx.md, creating HTML slides, running html2pptx.js via
html2pptx()to convert to PPTX, adding charts via PptxGenJS, and saving withpptx.writeFile(). - Visual validation steps require generating a thumbnail grid with
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4and iterating until text cutoffs, overlap, or contrast issues are resolved. - Editing an existing presentation uses OOXML workflow: mandatory review of
ooxml.md, unpack, editppt/slides/slide{N}.xml, validate withpython ooxml/scripts/validate.py <dir> --original <file>, then repack withpython ooxml/scripts/pack.py <input_directory> <office_file>. - Template-based creation involves extracting template text with
python -m markitdown template.pptx > template-content.md, creating a thumbnail grid withpython scripts/thumbnail.py template.pptx, building atemplate-inventory.md, and crafting anoutline.mdthat maps content to template slides. It then usesscripts/rearrange.pyto reorder slides andscripts/inventory.pyto extract text inventory. - Final steps include ensuring that the inventory and template mapping align with content constraints (e.g., layout suitability based on number of content pieces).
# 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 hAcKlyc/MyAgents --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 hAcKlyc/MyAgents, a repository with 795 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.
