Install any skill in seconds. Free to start, no credit card required.
Get Started Free →asgeirtj/export-as-pptx-screenshots
Flat images — pixel-perfect but not editable
Passed 14 of 20 test cases with the skill, and 6 of 20 without it.
and 8 more in the full report
10 fixed7 passed either way7 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
After running `gen_pptx` to export an HTML slide deck to PPTX screenshots, what automatic state change happens to the web presentation page?
| Checked | Without skill | With skill |
|---|---|---|
| States that the web presentation page reloads automatically after export. | Missed | Passed |
The instructions your model reads when the skill loads.
Export an HTML slide deck to a .pptx as full-bleed PNG images. Pixel-perfect, not editable. One gen_pptx tool call.
show_to_user the deck.gen_pptx:{
"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.
<deck-stage> starter componentresetTransformSelector: "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.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.
test cases passed, vs 6 / 20 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.