Hands On Deck

Agenten-native .pptx-Bearbeitung über atomare, validierte JSON-Patches.

von EveryInc · EveryInc/hands-on-deck

Getestet · Funktioniert ★ 9.2/10

Hands On Deck — Agenten-native .pptx-Bearbeitung über atomare, validierte JSON-Patches.

Was es kann

Ein Tool (deck.py) liest, bearbeitet, führt zusammen und rendert PowerPoint-Decks über einen JSON-Patch, der vorvalidiert und alles-oder-nichts angewendet wird, wobei die Formatierung auf Ausführungsebene erhalten bleibt. Wird ausgelöst, wann immer eine .pptx, ein Deck, Folien oder eine Präsentation als Eingabe oder Ausgabe beteiligt sind.

Testbericht

Aufgabe: End-to-End-Rebranding eines echten 18-Folien-Decks (two-world-reskin-input.pptx aus dem Repository) — 'hands-on-deck' durch 'slide-forge' im gesamten Deck ersetzen. Baseline-Skript mit reinem python-pptx (tf.text = tf.text.replace(...)) war formal erfolgreich: 0 Vorkommen blieben im rohen XML — aber die Messung nach Durchläufen zeigte, dass es stillschweigend die Formatierung in 24 von 24 betroffenen Formen zerstörte, wobei Schriftart/Größe/Farbe in 26 Durchläufen verloren gingen; die Fußzeile von Folie 0 änderte sich von 'JetBrains Mono 5.6pt' zu font=None, size=None. Patch über deck.py ergab 0 Reste und genau 0 beschädigte Formen — 'JetBrains Mono 5.6pt' blieb erhalten. Bedeutend ist, dass deck.py diff für beide Versionen einen IDENTISCHEN Text-Changelog ausgibt: Text-Diff erfasst keinen Schriftartverlust, er ist nur auf der Durchlaufebene sichtbar. Atomizität in der Praxis bestätigt: ein Patch mit einer zusätzlichen 'master'-Scope-Operation wurde vollständig mit 'PATCH FAILED at op[1] ... Nothing was saved' abgelehnt. Stufe 0 sauber: SKILL.md, designing-slides.md und alle 7 Python-Skripte (~268 KB) gelesen; subprocess wird nur mit fest codierten Argumentlisten (soffice, pdftoppm) aufgerufen, ohne shell=True, Netzwerk oder Geheimnislesen. Minus: Render/Thumbnail erfordern LibreOffice, das nicht vorhanden war — es stürzt mit unbehandelter FileNotFoundError: 'soffice' ab, obwohl die Abhängigkeit in SKILL.md angegeben ist.

Getestet am: 2026-07-16 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/EveryInc/hands-on-deck.git && mkdir -p ~/.claude/skills && cp -r hands-on-deck/skills/hands-on-deck ~/.claude/skills/hands-on-deck

Befehle & Beispiel-Prompts

  • /hands-on-deckAgenten-native .pptx-Bearbeitung über atomare, validierte JSON-Patches.

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Rename our product across all 18 slides without breaking any fonts
  • Edit this PowerPoint deck's text while preserving run-level formatting
  • Merge these two decks together and validate the patch before saving