Percerno Skillsbeta
← everything it can do · slides

Deck Craft PPTX

Work on an EXISTING PowerPoint with the DeckCraft engine in one command: render any slide (or all) to PNG for a visual check, convert pptx to PDF (with notes or handout layouts), to an outline, or to an animated GIF, print its structure as JSON, and edit it with a JSON command list (new slides, text boxes, tables, charts, replace text) without opening a window. Use for: thumbnails or previews of a deck, pptx to PDF/handouts, deck to outline, adding or changing slides in a given deck, checking what a deck looks like. For a NEW deck from an outline use deck-builder. Triggers: preview slides, render deck, pptx to pdf, handouts, edit this presentation, deck outline, slide images.

3 uses this weeksource Percernolicence MIT
Quality gate: PASS · makes it possible · measured 2026-10-24
Delivered a valid file in 3 of 3 requests; the bare model cannot produce this file type.
3/3 commands produced files that open (direct run, no model)
Security scan: clean · 2026-10-24 · 2 files
no network calls, shell tricks, credential access or instruction tampering found in its files.

Try asking

Say it in your own words; the assistant finds this recipe by itself. Examples:

“Use the deck-craft skill to …”
Try this skill from Claude, ChatGPT or a chat on your own page. Free plan, no credit card.Get started free

Details

When it is the right choice

Work on an EXISTING PowerPoint with the DeckCraft engine in one command: render any slide (or all) to PNG for a visual check, convert pptx to PDF (with notes or handout layouts), to an outline, or to an animated GIF, print its structure as JSON, and edit it with a JSON command list (new slides, text boxes, tables, charts, replace text) without opening a window. Use for: thumbnails or previews of a deck, pptx to PDF/handouts, deck to outline, adding or changing slides in a given deck, checking what a deck looks like. For a NEW deck from an outline use deck-builder. Triggers: preview slides, render deck, pptx to pdf, handouts, edit this presentation, deck outline, slide images.

The full recipe the assistant reads

DeckCraft (one command)

python3 /skills/deck-craft/scripts/deck.py <verb> … wraps deckcraft-cli, a native engine that reads and writes real .pptx without PowerPoint or LibreOffice. Every verb prints one OK … line or one ERROR … line. Inputs the person uploaded are in /work/in; write results to /work/out.

Need Command
Preview slides as images deck.py render /work/in/deck.pptx /work/out/preview → preview/slide-01.png … (add --slide 3 for one)
pptx → PDF deck.py convert /work/in/deck.pptx /work/out/deck.pdf (--layout handouts --per-page 3 or --layout notes)
Outline of a deck as Markdown deck.py outline /work/in/deck.pptx /work/out/outline.md
What is in it (slides, layouts, theme) deck.py info /work/in/deck.pptx
Edit a deck deck.py edit /work/in/deck.pptx /work/out/deck.pptx --script /work/edit.json
Animated GIF of the deck deck.py convert /work/in/deck.pptx /work/out/deck.gif

Editing with a script

/work/edit.json is a list of commands, each {"command": "...", "params": {...}}. Useful ones (deckcraft-cli commands lists all 321, deckcraft-cli describe slide.new explains one):

[
  {"command": "slide.go", "params": {"index": 2}},
  {"command": "slide.new", "params": {"layout": "titleAndContent", "title": "Next steps", "body": "Pilot one team\nMeasure 90 days\nDecide"}},
  {"command": "insert.textBox", "params": {"rect": [60, 440, 840, 60], "text": "Confidential"}},
  {"command": "insert.chart", "params": {"type": "column", "rect": [80, 120, 800, 380], "categories": ["Q1", "Q2", "Q3"], "series": [{"name": "Revenue", "values": [7.2, 8.1, 9.1]}]}},
  {"command": "text.replace", "params": {"text": "2026", "with": "2027"}},
  {"command": "slide.delete", "params": {"index": 19}}
]

Positions are points on a 960×540 slide (rect = [x, y, w, h]); slide indices start at 0; slide.new inserts after the current slide and makes it current. Render the result afterwards to check it (deck.py render … --slide N), and give the person the links.

Files in this skill (2)
  • SKILL.md
  • scripts/deck.py
Where it comes from

Written by Percerno, MIT licence.