mcpField
F
fetch-slides

fetch-slides

github.com/pamelafoxDocuments128119 installsUpdated 8w ago
Repository

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

  1. 01Fetch PDF and PPTX URLs
  2. 02Handle OneDrive sharing links
  3. 03Render RevealJS presentations to PDF
  4. 04Extract RevealJS slide text and links

Use cases

  1. 01Preparing remote slides as a PDF
  2. 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-slides

After installing, type/fetch-slidesin Claude Code to confirm it loaded.

Bundled filesfetch_slides.py

Details

From the project README

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/... or https://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
  • For RevealJS presentations: Playwright browsers must be installed
    • uv run playwright install chromium

How it works

  1. The script makes an HTTP HEAD request to detect the content type
  2. 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-pdf appended, renders to PDF. Also parses the HTML to extract slide text content and links.

Comments

Markdown supported