This gives Claude full PowerPoint capabilities through direct XML manipulation of the OOXML format. It handles the complete workflow: extracting text with markitdown for simple reads, unpacking the ZIP structure to access raw XML for complex edits (comments, speaker notes, layouts, animations), and creating new presentations via an html2pptx converter that renders HTML slides to PowerPoint with accurate positioning. The most interesting part is the opinionated design guidance baked into the instructions. It pushes Claude to choose color palettes based on subject matter rather than defaults, provides 18 example schemes ranging from "Classic Blue" to "Retro Rainbow," and includes specific layout patterns like asymmetric columns and Z-pattern flows. If you're building presentation workflows or need programmatic PPTX control, this beats the typical "just use the API" approach.

GitHub stars
6K
last updated
Jun 11, 2026

Install

$ npx -y skills add thinkinaixyz/deepchat --skill pptx --agent claude-code

Installs into .claude/skills of the current project.

Files

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:

# 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.

Sponsors

Details

Repository
github.com/thinkinaixyz/deepchat
Category
Office & Documents
License
Apache-2.0
First seen
Jun 11, 2026

More from thinkinaixyz/deepchat

All 19
1vercel-labs avataragent-browservercel-labs/agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking scr1.4Mskills.sh installs
2microsoft avatarazure-aimicrosoft/azure-skillsUse for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WH660.5Kskills.sh installs
3heygen-com avatarembedded-captionsheygen-com/hyperframesAdd captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embe453.9Kskills.sh installs
4heygen-com avatarfigmaheygen-com/hyperframesImport Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as stat407.5Kskills.sh installs
5emilkowalski avataranimation-vocabularyemilkowalski/skillsReverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in274.1Kskills.sh installs
6inference-sh avatarpython-executorinference-sh/skillsExecute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh). Pre-installed: NumPy, Pandas, Matplotlib, requests, BeautifulSoup,212.2Kskills.sh installs