Agent skill

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.

Nick44,086★ · +407/wk · 1 repos on radarProfile →
claude-codecodexcursorships scriptsMIT
Install
npx skills add sickn33/agentic-awesome-skills --skill pptx-official --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: skills/pptx-official/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 44,414 · +328 this week
Language: Python
Read our review of the source →

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

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 using python ooxml/scripts/unpack.py <office_file> <output_dir> (script path is skills/pptx/ooxml/scripts/unpack.py). It then identifies key structures like 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/.
  • For typography and color extraction, analyze ppt/theme/theme1.xml for colors and fonts, examine ppt/slides/slide1.xml for 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 using html2pptx() from html2pptx.js and save with pptx.writeFile().
  • Validation: generate thumbnails via python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 and verify text cutoff, overlap, positioning, and contrast; adjust HTML margins, spacing, and colors as needed.
  • Editing: read ooxml.md fully, unpack with python ooxml/scripts/unpack.py <office_file> <output_dir>, edit ppt/slides/slide{N}.xml and related files, 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: extract template text with python -m markitdown template.pptx > template-content.md, generate template-inventory.md, create a outline.md mapping slides to template indices, and use scripts/rearrange.py to reorder slides (example: python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52). Extract all text with python 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, cursor are declared; operations involve python, shell commands, and the html2pptx.js library. It references scripts and file paths such as python ooxml/scripts/unpack.py, ppt/slides/slide{N}.xml, scripts/rearrange.py, scripts/inventory.py, and html2pptx.js.

Caveats

  • Risk: critical
  • Requires unpacking and editing OOXML; changes must be validated after each edit (python ooxml/scripts/validate.py <dir> --original <file>).
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 agentic-awesome-skills
All skills →
About this skill
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.

Keep going