whatisgithub

What is hands-on-deck?

everyinc/hands-on-deck — explained in plain English

Analysis updated 2026-05-18

17PythonAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A Python command-line tool that lets AI agents safely edit PowerPoint files through JSON patches instead of risky direct XML editing.

Mindmap

mindmap
  root((hands-on-deck))
    What it does
      JSON patch editing
      Safe PowerPoint edits
      Automatic linting
    Tech stack
      Python
      JSON patches
      HTML and CSS
    Use cases
      Edit text and shapes
      Validate edits
      Convert HTML to patches
    Audience
      Developers
      AI agent builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Have an AI agent generate a JSON patch to edit text, images, or shapes in a PowerPoint file.

USE CASE 2

Automatically catch invalid edits before anything is written to disk.

USE CASE 3

Run a linter after each edit to catch overflowing text or misplaced shapes.

USE CASE 4

Design a slide in HTML and CSS and convert it into a patch using html2patch.py.

What is it built with?

PythonJSONHTMLCSS

How does it compare?

everyinc/hands-on-deck0petru/sentimoalingalingling/akasha-wechat
Stars171717
LanguagePythonPythonPython
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Native charts, video embedding, and shape animations are intentionally unsupported.

So what is it?

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.

Copy-paste prompts

Prompt 1
Show me how to write a JSON patch to replace text in a specific PowerPoint shape.
Prompt 2
Explain how the linter checks for overflowing text or off-slide shapes.
Prompt 3
Help me use html2patch.py to convert an HTML slide design into a patch file.
Prompt 4
Walk me through installing this as an Agent Skill in Claude Code.

Frequently asked questions

What is hands-on-deck?

A Python command-line tool that lets AI agents safely edit PowerPoint files through JSON patches instead of risky direct XML editing.

What language is hands-on-deck written in?

Mainly Python. The stack also includes Python, JSON, HTML.

How hard is hands-on-deck to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is hands-on-deck for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.