hands-on-deck
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes reading, analyzing, or extracting content from presentations; editing text, images, styles, or layout of existing decks; creating new slides, shapes, tables, or pictures; reordering, duplicating, or merging slides across decks; and verifying decks visually. Trigger whenever the user mentions a deck, slides, a presentation, or a .pptx filename.
npx skills add EveryInc/hands-on-deck --skill hands-on-deck --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# hands-on-deck — agent-native PPTX manipulation One tool does everything: `scripts/deck.py`. You write a JSON *patch* describing your edits; deck.py validates and executes it atomically, then lints the result. You never need to open slide XML for routine work. **Golden rules** (the tool enforces and repeats these): - ALL slide indices are 0-based, everywhere. Shapes are addressed by stable native ids (`s12`) or unique shape name. - Positions and sizes are inches from the slide's top-left. - Patches are atomic: every op is pre-validated (all errors reported at once, with the slide's real shape listing), then applied all-or-nothing. **Full reference**: `python scripts/deck.py docs` — prints every op with semantics and recipes; needs no file. Read it before writing your first patch. ## The edit loop ```bash # 1. READ — cheap orientation first, full JSON only when about to write a patch python scripts/deck.py deck.pptx inspect --slide 3 --brief # one line per shape python scripts/deck.py deck.pptx inspect --slide 3 # full JSON: text+formatting, image rIds, geometry, issues python scripts/deck.py deck.pptx inspect --issues # only shapes with geometric problems # 2. WRITE — one patch, m
- The edit loop
- Patch ops at a glance
- Creating slides from HTML (html2patch)
- Deck structure (subcommands, not patch ops)
- Building a deck from a template (the human workflow)
- Verification
- Reviewing more than a slide or two — fan out, don't accumulate
- Escape hatch
- Dependencies
python scripts/deck.py deck.pptx inspect --slide 3 --brief # one line per shape python scripts/deck.py deck.pptx inspect --slide 3 # full JSON: text+formatting, image rIds, geometry, issues python scripts/deck.py deck.pptx inspect --issues # only shapes with geometric problems python scripts/deck.py deck.pptx apply patch.json -o out.pptx --fix --render img/ python scripts/deck.py deck.pptx diff out.pptx # structural changelog, no rendering python scripts/html2patch.py slide.html --deck deck.pptx --layout Blank -o patch.json python scripts/deck.py deck.pptx apply patch.json -o out.pptx --render img/ python scripts/deck.py deck.pptx slides 0,3,3,5 -o out.pptx # keep these, in this order; repeat = duplicate python scripts/deck.py deck.pptx merge module.pptx --slides 0,2 --at 12 -o out.pptx python scripts/deck.py deck.pptx merge --list-layouts # choose a layout for imported slides
What does the hands-on-deck skill do?
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes reading, analyzing, or extracting content from presentations; editing text, images, styles, or layout of existing decks; creating new slides, shapes, tables, or pictures; reordering, duplicating, or merging slides across decks; and verifying decks visually. Trigger whenever the user mentions a deck, slides, a presentation, or a .pptx filename.
How do I install it?
Run `npx skills add EveryInc/hands-on-deck --skill hands-on-deck --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From EveryInc/hands-on-deck, a repository with 200 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
