Agent skill · software engineering · github

publish-to-pages

Publish presentations and web content to GitHub Pages. Converts PPTX, PDF, HTML, or Google Slides to a live GitHub Pages URL. Handles repo creation, file conversion, Pages enablement, and returns the live URL. Use when the user wants to publish, deploy, or share a presentation or HTML file via GitHub Pages.

Why this skill is useful

Adds executable scripts for converting presentations and publishing to GitHub Pages, which are not commonly known or available in public documentation.

What it needs

Requires gh, poppler-utils, python3 installed locally. Requires github account access. About 3k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.

What this skill does

publish-to-pages Publish any presentation or web content to GitHub Pages in one shot. 1. Prerequisites Check Run these silently. Only surface errors: poppler-utils is optional (PDF conversion via pdftoppm). Don't block on it. 2. Input Detection Determine input type from what the user provides: Input Detection ------- ----------- HTML file Extension .html or .htm PPTX file Extension .pptx PDF file Extension .pdf Google Slides URL URL contains docs.google.com/presentation Ask the user for a repo name if not provided. Default: filename without extension. 3. Conversion Large File Handling Both conversion scripts automatically detect large files and switch to external assets mode: PPTX: Files >20MB or with >50 images → images saved as separate files in assets/ PDF: Files >20MB or with >50 pages → page PNGs saved in assets/ Files >150MB print a warning (PPTX suggests PDF path instead) This keeps individual files well under GitHub's 100MB limit. Small files still produce a single self-contained HTML. You can force the behavior with --external-assets or --no-external-assets. HTML No conversion needed. Use the file directly as index.html. PPTX Run the conversion script: If python-pptx is missing, tell the user: pip install python-pptx PDF Convert with the included script (requires poppler-utils for pdftoppm): Each page is rendered as a PNG and embedded into HTML with slide navigation. If pdftoppm is missing, tell the user: apt install poppler-utils (or brew install poppler on macOS). Google Slides 1. Extract the presentation ID from the URL (the long string between /d/ and /) 2. Download as PPTX: 3. Then convert the PPTX using the convert script above. 4. Publishing Visibility Repos are created public by default. If the user specifies private (or wants a private repo), use --private — but note that GitHub Pages on private repos requires a Pro, Team, or Enterprise plan. Publish Pass private instead of public if the user requests it. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills github/publish-to-pages

View the source on GitHub

Browse the @skills marketplace