export-as-pptx-screenshots
GitHub将HTML幻灯片导出为像素级精准的PPTX图片文件,支持全屏PNG截图模式。通过gen_pptx工具调用实现,处理导航、尺寸适配及Shadow DOM兼容,并可选提供Google Slides上传功能。
Trigger Scenarios
Install
npx skills add asgeirtj/system_prompts_leaks --skill export-as-pptx-screenshots -g -y
SKILL.md
Frontmatter
{
"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
show_to_userthe deck.- Call
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.
If the deck uses the <deck-stage> starter component
resetTransformSelector: "deck-stage"— same as editable mode; the component drops its shadow-DOMtransform: scale()so the slides fill the locked iframe.slides[N].showJs:"document.querySelector('deck-stage').goTo(N)"— 0-indexed, so slide 1 isgoTo(0).hideSelectorsis 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.
Version History
- 481967c Current 2026-08-20 17:03


