Agent skill · Content & Marketing

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

hAcKlycgithub.com/hAcKlycGitHub ↗
claude-codeships scriptsAGPL-3.0
Install
npx skills add hAcKlyc/MyAgents --skill pptx --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 56
SKILL.md size: 25 KB
Bundled scripts: yes
Path: bundled-skills/pptx/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 795
Language: TypeScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

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 bash python -m markitdown path-to-file.pptx.
  • Raw XML access requires unpacking: python ooxml/scripts/unpack.py <office_file> <output_dir>, with the script located at skills/pptx/ooxml/scripts/unpack.py (or locate via find . -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/, and ppt/media/.
  • Typography/color extraction when given an example design: read ppt/theme/theme1.xml and examine ppt/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 with pptx.writeFile().
  • Visual validation steps require generating a thumbnail grid with python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 and iterating until text cutoffs, overlap, or contrast issues are resolved.
  • Editing an existing presentation uses OOXML workflow: mandatory review of ooxml.md, unpack, edit ppt/slides/slide{N}.xml, validate with python ooxml/scripts/validate.py <dir> --original <file>, then repack with python 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 with python scripts/thumbnail.py template.pptx, building a template-inventory.md, and crafting an outline.md that maps content to template slides. It then uses scripts/rearrange.py to reorder slides and scripts/inventory.py to 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).
From the SKILL.md

# 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

What's inside
Steps it walks through
  1. Overview
  2. Reading and analyzing content
  3. Text extraction
  4. Raw XML access
  5. Creating a new PowerPoint presentation without a template
  6. Design Principles
  7. Layout Tips
  8. Workflow
  9. Editing an existing PowerPoint presentation
  10. Creating a new PowerPoint presentation using a template
  11. Creating Thumbnail Grids
  12. Converting Slides to Images
  13. Code Style Guidelines
  14. Dependencies
Ships with 24 files
  • LICENSE.txt
  • html2pptx.md
  • ooxml.md
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd
  • ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd
first 24 of 56
Commands it runs
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
More from MyAgents
All skills →
About this skill
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.

Keep going