Best for
- Use when the user wants to publish, deploy, or share a presentation or HTML file via GitHub Pages.
github/awesome-copilot/skills/publish-to-pages/SKILL.md
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.
Decision brief
Publish any presentation or web content to GitHub Pages in one shot.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/github/awesome-copilot --skill "skills/publish-to-pages"Inspect the Agent Skill "publish-to-pages" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/publish-to-pages/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Run these silently. Only surface errors:
Determine input type from what the user provides:
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 sugge…
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 sugge…
No conversion needed. Use the file directly as index.html.
Permission review
The documentation includes network, browsing, or remote request actions.
command -v gh >/dev/null || echo "MISSING: gh CLI — install from https://cli.github.com"The documentation asks the agent to run terminal commands or scripts.
Run the conversion script:The documentation asks the agent to run terminal commands or scripts.
python3 SKILL_DIR/scripts/convert-pptx.py INPUT_FILE /tmp/output.htmlThe documentation includes network, browsing, or remote request actions.
curl -L "https://docs.google.com/presentation/d/PRESENTATION_ID/export/pptx" -o /tmp/slides.pptxEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 75/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 37,126 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Publish any presentation or web content to GitHub Pages in one shot.
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.
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.
Both conversion scripts automatically detect large files and switch to external assets mode:
assets/assets/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.
No conversion needed. Use the file directly as index.html.
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
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).
/d/ and /)curl -L "https://docs.google.com/presentation/d/PRESENTATION_ID/export/pptx" -o /tmp/slides.pptx
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.
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.
Tell the user:
https://github.com/USERNAME/REPO_NAMEhttps://USERNAME.github.io/REPO_NAME/my-slides-2) or a date (my-slides-2026).pip install python-pptx.poppler-utils (apt install poppler-utils or brew install poppler).Alternatives
affaan-m/ECC
Production machine-learning engineering workflow for data contracts, reproducible training, model evaluation, deployment, monitoring, and rollback. Use when building, reviewing, or hardening ML systems beyond one-off notebooks.
K-Dense-AI/scientific-agent-skills
Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.
JasonColapietro/suede-creator-skills
Give a blunt A-F ship grade for a code change across correctness, security, data, UX, verification, and deploy readiness. Use for a grade, not a findings review.
event4u-app/agent-config
Use when working with Terragrunt — DRY multi-env configs, module dependencies, remote state orchestration — even when the user just says 'deploy this to staging and prod' without naming Terragrunt.