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.
npx skills add github/awesome-copilot --skill publish-to-pages --agent copilot
Same command for any agent — swap --agent for claude-code, codex, cursor.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# 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 >
- 1. Prerequisites Check
- 2. Input Detection
- 3. Conversion
- Large File Handling
- HTML
- PPTX
- Google Slides
- 4. Publishing
- Visibility
- Publish
- 5. Output
- Error Handling
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"
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.