Agent skill · DevOps & Cloud

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.

GitHub68,948★ · +463/wk · 2 repos on radarProfile →
copilotships scriptsMIT
Install
npx skills add github/awesome-copilot --skill publish-to-pages --agent copilot

Same command for any agent — swap --agent for claude-code, codex, cursor.

Facts
Files in the skill folder: 4
SKILL.md size: 4 KB
Bundled scripts: yes
Path: skills/publish-to-pages/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 37,432 · +281 this week
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the 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 >

What's inside
Steps it walks through
  1. 1. Prerequisites Check
  2. 2. Input Detection
  3. 3. Conversion
  4. Large File Handling
  5. HTML
  6. PPTX
  7. PDF
  8. Google Slides
  9. 4. Publishing
  10. Visibility
  11. Publish
  12. 5. Output
  13. Error Handling
Ships with 3 files
  • scripts/convert-pdf.py
  • scripts/convert-pptx.py
  • scripts/publish.sh
Commands it runs
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)"
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
python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html
python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html --external-assets
curl -L "https://docs.google.com/presentation/d/PRESENTATION_ID/export/pptx" -o /tmp/slides.pptx
bash SKILL_DIR/scripts/publish.sh /path/to/index.html REPO_NAME public "Description"
More from awesome-copilot
All skills →
About this skill
What does the publish-to-pages skill do?

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.

How do I install it?

Run `npx skills add github/awesome-copilot --skill publish-to-pages --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From github/awesome-copilot, a repository with 37,432 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going