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

ThinkInAIXYZgithub.com/ThinkInAIXYZGitHub ↗
claude-codeships scriptsApache-2.0
Install
npx skills add ThinkInAIXYZ/deepchat --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: resources/skills/pptx/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 6,191
Language: TypeScript
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

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 is skills/pptx/ooxml/scripts/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 a design example, analyze ppt/theme/theme1.xml for colors and fonts, inspect ppt/slides/slide1.xml for 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() from html2pptx.js. Use pptx.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.md file, unpack with python ooxml/scripts/unpack.py, edit ppt/slides/slide{N}.xml and related files, validate with python ooxml/scripts/validate.py <dir> --original <file>, and re-pack with python ooxml/scripts/pack.py <input_directory> <office_file>.
  • Template-based creation: Extract text with python -m markitdown template.pptx > template-content.md, create template-inventory.md, build an outline.md mapping outlines to templates, then use scripts/rearrange.py to duplicate/reorder slides, e.g., 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 to 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() from html2pptx.js, PptxGenJS API, pptx.writeFile(), scripts/thumbnail.py, scripts/rearrange.py, scripts/inventory.py.
  • File types involved: .pptx, XML files under ppt/, 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.py and may require discovery with find . -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.
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 deepchat
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 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.

Keep going