Flat images — pixel-perfect but not editable
Scanned 9/3/2026
Install to Claude Code
npx -y skills add asgeirtj/system_prompts_leaks --skill export-as-pptx-screenshots --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Export As Pptx Screenshots?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/asgeirtj-export-as-pptx-screenshots)More formats (shields.io, HTML) on the badges page.
---
name: export-as-pptx-screenshots
description: "Flat images — pixel-perfect but not editable"
user-invocable: true
---
# Export as PPTX (screenshots)
Export an HTML slide deck to a `.pptx` as full-bleed PNG images. Pixel-perfect, not editable. One `gen_pptx` tool call.
### Steps
1. `show_to_user` the deck.
2. Call `gen_pptx`:
```jsonc
{
"mode": "screenshots",
"width": 1920, "height": 1080,
"slides": [
{ "showJs": "goToSlide(0)", "selector": "body" }, // selector unused in screenshot mode but required
{ "showJs": "goToSlide(1)", "selector": "body" }
],
"hideSelectors": [".nav", ".progress"],
// If the deck wraps slides in a transform:scale() container, name it here so
// the deck is forced to width × height inside the locked iframe.
"resetTransformSelector": ".slide-container",
"filename": "my-deck"
}
```
If — and only if — the user asked for Google Slides, also pass `"offer_google_slides": true`: the export dialog gains a 'Send to Google Slides' button, and the upload happens only if they click it.
`slides[].delay` defaults to 600ms — bump if transitions are slower.
#### If the deck uses the `<deck-stage>` starter component
- `resetTransformSelector: "deck-stage"` — same as editable mode; the component drops its shadow-DOM `transform: scale()` so the slides fill the locked iframe.
- `slides[N].showJs`: `"document.querySelector('deck-stage').goTo(N)"` — 0-indexed, so slide 1 is `goTo(0)`.
- `hideSelectors` is unnecessary — the overlay and tap-zones live in shadow DOM and aren't captured.
### Validation
Same flags as editable mode. Watch for `duplicate_adjacent` (showJs didn't navigate) and `reset_selector_miss` / `slide_size_mismatch` (your `resetTransformSelector` matched nothing or didn't size to width × height).
Speaker notes from `#speaker-notes` are attached automatically. Page reloads after.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!