Analysis updated 2026-05-18
Have an AI agent generate a JSON patch to edit text, images, or shapes in a PowerPoint file.
Automatically catch invalid edits before anything is written to disk.
Run a linter after each edit to catch overflowing text or misplaced shapes.
Design a slide in HTML and CSS and convert it into a patch using html2patch.py.
| everyinc/hands-on-deck | 0petru/sentimo | alingalingling/akasha-wechat | |
|---|---|---|---|
| Stars | 17 | 17 | 17 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Native charts, video embedding, and shape animations are intentionally unsupported.
hands-on-deck is a Python command-line tool that lets AI agents edit PowerPoint files safely, without the agents needing to write the underlying XML format themselves. A PowerPoint file is internally a zip archive of XML files, and when an AI tries to edit that XML directly it often corrupts the file with a single mistyped tag. This tool takes a different approach: the AI writes a short JSON description of what it wants to change, and the tool handles the actual file manipulation. A patch file is a list of operations such as replacing text in a specific shape, swapping an image, resizing a box, or duplicating a slide element with new text. New text automatically inherits the formatting of whatever text it replaces, so fonts and colors stay consistent. If any operation in the list references a shape that does not exist, the entire patch is rejected and nothing is written to disk. The error message then shows the real list of shapes on that slide, so the AI can correct itself without making another round trip to inspect the file. The tool includes a linter that runs after every edit. It checks for text overflowing its container, shapes sitting off the slide edge, and text hidden under an image. Where it can fix problems automatically, it does, and it reports anything it could not resolve clearly rather than claiming success. Slides can be rendered to JPEG images so an agent can visually verify the result, or a diff command can summarize exactly what structural changes were made. A companion script called html2patch.py lets you design a slide in HTML and CSS, uses a headless browser to measure the layout precisely, and converts the result into a patch file for the main tool. This means free-form slide layouts can be designed in a language that AI models are already good at, while still going through the same editing pipeline as any other change. The whole tool is packaged as an Agent Skill, which means it slots into Claude Code and similar agent platforms with minimal setup. The README notes that creating native charts, video embedding, and shape animations are intentionally out of scope.
A Python command-line tool that lets AI agents safely edit PowerPoint files through JSON patches instead of risky direct XML editing.
Mainly Python. The stack also includes Python, JSON, HTML.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.