Hands On Deck
Édition .pptx native d'agent via des patchs JSON atomiques et validés
Testé · Fonctionne
Ce que fait
Un outil (deck.py) lit, édite, fusionne et rend des présentations PowerPoint via un patch JSON pré-validé et appliqué tout-ou-rien, préservant le formatage au niveau de l'exécution. Se déclenche chaque fois qu'un .pptx, une présentation, des diapositives ou une présentation est impliqué en entrée ou en sortie.
Rapport de test
Tâche : rebranding de bout en bout d'une présentation réelle de 18 diapositives (two-world-reskin-input.pptx du dépôt) — remplacer 'hands-on-deck' par 'slide-forge' dans toute la présentation. Le script de base utilisant python-pptx nu (tf.text = tf.text.replace(...)) a formellement réussi : 0 occurrences sont restées dans le XML brut — mais la mesure par exécutions a montré qu'il a silencieusement détruit le formatage dans 24 formes affectées sur 24, perdant la police/taille/couleur dans 26 exécutions ; le pied de page de la diapositive 0 est passé de 'JetBrains Mono 5.6pt' à font=None, size=None. Le patch via deck.py a donné 0 restes et exactement 0 formes endommagées — 'JetBrains Mono 5.6pt' préservé. De manière significative, le diff de deck.py pour les deux versions imprime un changelog textuel IDENTIQUE : le diff textuel ne détecte pas la perte de police, elle n'est visible qu'au niveau des exécutions. Atomicité confirmée en pratique : un patch avec une opération de portée 'master' supplémentaire a été entièrement rejeté avec 'PATCH FAILED at op[1] ... Nothing was saved'. Stage 0 propre : SKILL.md, designing-slides.md, et les 7 scripts python (~268 Ko) lus ; subprocess est appelé uniquement avec des listes d'arguments codées en dur (soffice, pdftoppm), sans shell=True, réseau ou lecture de secrets. Moins : le rendu/miniature nécessite LibreOffice, qui n'était pas présent — il plante avec FileNotFoundError non gérée : 'soffice', bien que la dépendance soit spécifiée dans SKILL.md.
Testé le: 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
Commandes et exemples de prompts
/hands-on-deckÉdition .pptx native d'agent via des patchs JSON atomiques et validés
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Rename our product across all 18 slides without breaking any fontsEdit this PowerPoint deck's text while preserving run-level formattingMerge these two decks together and validate the patch before saving