Thumbnail of a PPTX slide
Run the thumbnail_of_pptx.py script to capture a slide thumbnail from a OneDrive/Office presentation link:
uv run .agents/skills/thumbnail-of-pptx/thumbnail_of_pptx.py <url> <output_path>
Arguments
url(required): A OneDrive sharing link, or anaka.msshort link that redirects to one (e.g.https://aka.ms/my-talk-slides). The link must open the Office Online / PowerPoint web viewer.output_path(required): Path to write the PNG thumbnail (e.g.thumbnail.png). Parent directories are created if needed.--slide N(optional): 1-based slide number to capture. Defaults to1, the title slide.--scale N(optional): Device scale factor for a crisper image. Defaults to2.--wait MS(optional): Milliseconds to wait for the slide to render before screenshotting. Defaults to9000. Increase for large decks or slow networks.
Outputs
A single PNG image of the requested slide, cropped to the slide canvas (roughly 16:9, no PowerPoint viewer UI).
Prerequisites
Playwright browsers must be installed:
uv run playwright install chromium
How it works
- Launches headless Chromium and navigates to the URL (following
aka.msredirects to the real OneDrive viewer). - Waits for the network to go idle, then waits a fixed delay for the Office Online viewer to stream in and paint the slide.
- Locates the viewer iframe (named
wacIframe, with a fallback that finds any frame containing a<canvas>). - Optionally advances to slide
Nby focusing the canvas and pressing the right-arrow key. - Element-screenshots the slide
<canvas>so the output contains only the slide, not the surrounding viewer chrome.
Notes
- This is complementary to fetch-slides: use
fetch-slideswhen you need the full deck as a PDF (requires LibreOffice for PPTX), and this skill when you just want a lightweight thumbnail image of one slide and the file may not be downloadable. - Because it relies on the public web viewer, the sharing link must be viewable by anyone with the link.