DevOps & Infra
publish-to-pages - Claude MCP Skill
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.
SEO Guide: Enhance your AI agent with the publish-to-pages tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to publish presentations and web content to github pages. converts pptx, pdf, html, or google slides to... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# publish-to-pages Publish any presentation or web content to GitHub Pages in one shot. ## 1. Prerequisites Check Run these silently. Only surface errors: ```bash command -v gh >/dev/null || echo "MISSING: gh CLI — install from https://cli.github.com" gh auth status &>/dev/null || echo "MISSING: gh not authenticated — run 'gh auth login'" command -v python3 >/dev/null || echo "MISSING: python3 (needed for PPTX conversion)" ``` `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: ```bash python3 SKILL_DIR/scripts/convert-pptx.py INPUT_FILE /tmp/output.html # For large files, force external assets: python3 SKILL_DIR/scripts/convert-pptx.py INPUT_FILE /tmp/output.html --external-assets ``` If `python-pptx` is missing, tell the user: `pip install python-pptx` ### PDF Convert with the included script (requires `poppler-utils` for `pdftoppm`): ```bash python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html # For large files, force external assets: python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html --external-assets ``` 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: ```bash curl -L "https://docs.google.com/presentation/d/PRESENTATION_ID/export/pptx" -o /tmp/slides.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 ```bash bash SKILL_DIR/scripts/publish.sh /path/to/index.html REPO_NAME public "Description" ``` Pass `private` instead of `public` if the user requests it. The script creates the repo, pushes `index.html` (plus `assets/` if present), and enables GitHub Pages. **Note:** When external assets mode is used, the output HTML references files in `assets/`. The publish script automatically detects and copies the `assets/` directory alongside the HTML file. Make sure the HTML file and its `assets/` directory are in the same parent directory. ## 5. Output Tell the user: - **Repository:** `https://github.com/USERNAME/REPO_NAME` - **Live URL:** `https://USERNAME.github.io/REPO_NAME/` - **Note:** Pages takes 1-2 minutes to go live. ## Error Handling - **Repo already exists:** Suggest appending a number (`my-slides-2`) or a date (`my-slides-2026`). - **Pages enablement fails:** Still return the repo URL. User can enable Pages manually in repo Settings. - **PPTX conversion fails:** Tell user to run `pip install python-pptx`. - **PDF conversion fails:** Suggest installing `poppler-utils` (`apt install poppler-utils` or `brew install poppler`). - **Google Slides download fails:** The presentation may not be publicly accessible. Ask user to make it viewable or download the PPTX manually.
Signals
Information
- Repository
- github/awesome-copilot
- Author
- github
- Last Sync
- 5/10/2026
- Repo Updated
- 5/10/2026
- Created
- 3/17/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
cursorrules
CrewAI Development Rules
fastmcp-client-cli
Query and invoke tools on MCP servers using fastmcp list and fastmcp call. Use when you need to discover what tools a server offers, call tools, or integrate MCP servers into workflows.
remote-browser
Controls a local browser from a sandboxed remote machine. Use when the agent is running in a sandbox (no GUI) and needs to navigate websites, interact with web pages, fill forms, take screenshots, or expose local dev servers via tunnels.
browser-use
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages.
Related Guides
Python Django Best Practices: A Comprehensive Guide to the Claude Skill
Learn how to use the python django best practices Claude skill. Complete guide with installation instructions and examples.
Mastering Python and TypeScript Development with the Claude Skill Guide
Learn how to use the python typescript guide Claude skill. Complete guide with installation instructions and examples.
Mastering Data Science with Claude: A Complete Guide to the Pandas Scikit-Learn Skill
Learn how to use the pandas scikit learn guide Claude skill. Complete guide with installation instructions and examples.