fetch-slides
Installation
SKILL.md
Fetch slides from a URL
Run the fetch_slides.py script to download and convert slides:
uv run .agents/skills/fetch-slides/fetch_slides.py <url> <output_dir>
Arguments
url(required): URL of the slides. Supported formats:- Direct PDF URL (e.g., https://example.com/slides.pdf)
- PPTX URL (auto-detected via Content-Type header)
- OneDrive sharing link (e.g.,
https://onedrive.live.com/:p:/g/personal/...orhttps://1drv.ms/...) - RevealJS HTML presentation URL (e.g.,
https://example.com/slides/)
output_dir(required): Directory to save output files. Created if it doesn't exist.
Outputs
- slides.pdf — Always produced. The presentation as a PDF file.
- slides_content.md — Only for RevealJS presentations. Contains extracted text content and links from each slide, with section headings marked.
Prerequisites
- For PPTX conversion: LibreOffice must be installed
- macOS:
brew install --cask libreoffice - Ubuntu:
apt-get install libreoffice
- macOS:
- For RevealJS presentations: Playwright browsers must be installed
uv run playwright install chromium
How it works
- The script makes an HTTP HEAD request to detect the content type
- Based on the content type:
- PDF: Downloads directly
- PPTX: Downloads the file, then converts to PDF using LibreOffice (headless mode)
- OneDrive: Converts the sharing URL to a direct download URL (appends
?download=1), then handles as PDF or PPTX - RevealJS HTML: Uses Playwright to open the presentation with
?print-pdfappended, renders to PDF. Also parses the HTML to extract slide text content and links.
Related skills
More from pamelafox/presentation-skills
pdf-to-markdown
Converts PDF files to Markdown using Microsoft's markitdown package. Use this skill when the user asks to convert a PDF to Markdown, extract text from a PDF, or read/parse PDF content.
17generate-writeup
>-
15review-presentation
Use this to review slides for accuracy
15outline-slides
>-
14convert-slides-to-images
>-
14extract-slide-text
>-
14