About fetch-slides
A skill that downloads slides from supported URLs and produces a PDF. It handles PDF, PPTX, OneDrive sharing links, and RevealJS presentations, with extracted text and links available for RevealJS.
Key features
- 01Fetch PDF and PPTX URLs
- 02Handle OneDrive sharing links
- 03Render RevealJS presentations to PDF
- 04Extract RevealJS slide text and links
Use cases
- 01Preparing remote slides as a PDF
- 02Collecting slide text and links from RevealJS
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ pamelafox/ presentation-skills --skill fetch-slidesAfter installing, type/fetch-slidesin Claude Code to confirm it loaded.
Bundled filesfetch_slides.py
Details
From the project READMEFetch 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.
Comments
Markdown supported