Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
github avatar

Publish To Pages

  • 1.8k installs
  • 37.5k repo stars
  • Updated August 5, 2026
  • github/awesome-copilot

publish-to-pages is an agent skill for 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 enableme

About

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 The publish-to-pages skill documents workflows and patterns from the repository SKILL md name publish-to-pages description 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 publish-to-pages Publish any presentation or web content to GitHub Pages in one shot 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

  • **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)
  • For large files, force external assets:
  • For large files, force external assets:

Publish To Pages by the numbers

  • 1,774 all-time installs (skills.sh)
  • +22 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #305 of 2,203 Security skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

publish-to-pages capabilities & compatibility

Capabilities
**pptx:** files >20mb or with >50 images → image · **pdf:** files >20mb or with >50 pages → page pn · files >150mb print a warning (pptx suggests pdf · for large files, force external assets:
Use cases
documentation
From the docs

What publish-to-pages says it does

--- name: publish-to-pages description: 'Publish presentations and web content to GitHub Pages.
SKILL.md
Converts PPTX, PDF, HTML, or Google Slides to a live GitHub Pages URL.
SKILL.md
Handles repo creation, file conversion, Pages enablement, and returns the live URL.
SKILL.md
Use when the user wants to publish, deploy, or share a presentation or HTML file via GitHub Pages.' --- # publish-to-pages Publish any presentation or web content to GitHub Pages in one shot.
SKILL.md
npx skills add https://github.com/github/awesome-copilot --skill publish-to-pages

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.8k
repo stars37.5k
Security audit2 / 3 scanners passed
Last updatedAugust 5, 2026
Repositorygithub/awesome-copilot

What problem does publish-to-pages solve for developers using the documented workflows?

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

Who is it for?

Developers working with publish-to-pages patterns described in the skill documentation.

Skip if: Skip when docs are empty or the task is outside the skill documented scope.

When should I use this 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

What you get

Grounded guidance and workflows from SKILL.md for publish-to-pages.

  • HTML presentation file
  • Per-page PNG slide images

Files

SKILL.mdMarkdownGitHub ↗

publish-to-pages

Publish any presentation or web content to GitHub Pages in one shot.

1. Prerequisites Check

Run these silently. Only surface errors:

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:

InputDetection
HTML fileExtension .html or .htm
PPTX fileExtension .pptx
PDF fileExtension .pdf
Google Slides URLURL 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:

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):

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:

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 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.

Related skills

FAQ

Who is Publish To Pages for?

Developers and software engineers working with publish-to-pages patterns from the skill documentation.

When should I use 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 t

Is Publish To Pages safe to install?

Review the Security Audits panel on this page before installing in production.

Securityauditappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.