pptx-official
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.
npx skills add sickn33/agentic-awesome-skills --skill pptx-official --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
Directs the agent to handle .pptx creation, editing, and analysis tasks. It describes reading and analyzing content, including extracting text and accessing raw XML by unpacking the OOXML structure. It prescribes workflows for creating new presentations (from scratch or using a template), editing existing presentations by unpacking, editing XML, validating, and re-packing. It also covers a template-driven workflow with inventory extraction, outline creation, layout mapping, and slide rearrangement using specified scripts.
How it works
- For reading and analyzing content: convert to markdown via the command
python -m markitdown path-to-file.pptx. If raw XML is needed (comments, notes, layouts, animations, design elements), unpack the presentation usingpython ooxml/scripts/unpack.py <office_file> <output_dir>(script path isskills/pptx/ooxml/scripts/unpack.py). It then identifies key structures likeppt/presentation.xml,ppt/slides/slide{N}.xml,ppt/notesSlides/notesSlide{N}.xml,ppt/comments/modernComment_*.xml,ppt/slideLayouts/,ppt/slideMasters/,ppt/theme/, andppt/media/. - For typography and color extraction, analyze
ppt/theme/theme1.xmlfor colors and fonts, examineppt/slides/slide1.xmlfor font usage, and grep for color/font references across XML files. - Creating from scratch: follow the html2pptx workflow. Before writing code, state a content-informed design approach, ensure web-safe fonts, create a clear visual hierarchy, ensure readability, and maintain consistency across slides. Use an HTML file per slide (720pt × 405pt), placeholders with
class="placeholder", rasterize gradients/icons with Sharp, and then convert HTML slides to PowerPoint usinghtml2pptx()fromhtml2pptx.jsand save withpptx.writeFile(). - Validation: generate thumbnails via
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4and verify text cutoff, overlap, positioning, and contrast; adjust HTML margins, spacing, and colors as needed. - Editing: read
ooxml.mdfully, unpack withpython ooxml/scripts/unpack.py <office_file> <output_dir>, editppt/slides/slide{N}.xmland related files, validate withpython ooxml/scripts/validate.py <dir> --original <file>, then repack withpython ooxml/scripts/pack.py <input_directory> <office_file>. - Template-based creation: extract template text with
python -m markitdown template.pptx > template-content.md, generatetemplate-inventory.md, create aoutline.mdmapping slides to template indices, and usescripts/rearrange.pyto reorder slides (example:python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52). Extract all text withpython scripts/inventory.py working.pptx text-inventory.json.
When to use it
Use when a user asks to create, edit, or analyze a .pptx file, requiring either text extraction, raw XML access, or a workflow that involves unpacking, editing, validating, and repacking the OOXML structure. Also apply the template-based workflow when following an existing design system.
What it can touch
- Tools:
claude-code,codex,cursorare declared; operations involvepython, shell commands, and thehtml2pptx.jslibrary. It references scripts and file paths such aspython ooxml/scripts/unpack.py,ppt/slides/slide{N}.xml,scripts/rearrange.py,scripts/inventory.py, andhtml2pptx.js.
Caveats
- Risk: critical
- Requires unpacking and editing OOXML; changes must be validated after each edit (
python ooxml/scripts/validate.py <dir> --original <file>).
# 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-official skill do?
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.
How do I install it?
Run `npx skills add sickn33/agentic-awesome-skills --skill pptx-official --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 sickn33/agentic-awesome-skills, a repository with 44,414 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.