К основному содержанию
скилл GitHub Copilot официальный · GitHub

publish-to-pages — скилл для GitHub Copilot: публикация Pages

Публикует презентации и HTML в GitHub Pages, создавая репозиторий и выдавая адрес готовой страницы. Пригодится, когда нужно открыть материалы по ссылке.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill publish-to-pages -a claude-code
Открыть на GitHub

Что делает publish-to-pages

Скилл принимает HTML, PPTX, PDF или ссылку на Google Slides. HTML публикуется как index.html, а PPTX и PDF преобразуются в HTML: презентации через convert-pptx.py, PDF через convert-pdf.py с PNG-страницами и навигацией. Для Google Slides он скачивает PPTX, затем использует тот же конвертер.

Перед публикацией проверяются gh, авторизация GitHub и python3. Скрипт publish.sh создаёт репозиторий, отправляет HTML и включает GitHub Pages. Крупные PPTX и PDF могут вынести изображения в assets/, чтобы не превысить лимит GitHub в 100MB. Для PPTX нужен python-pptx, а обработка PDF требует poppler-utils и pdftoppm.

Репозиторий по умолчанию будет публичным. Если нужны приватные материалы, проверьте тариф GitHub: Pages для приватных репозиториев требует Pro, Team или Enterprise. Ставить стоит тем, кто публикует готовые файлы через GitHub Pages; для ручной настройки сайта этот скилл будет лишним.

Какие задачи решает

  • опубликовать HTML-файл через GitHub Pages
  • превратить PPTX в страницу слайдов
  • собрать PDF-презентацию в HTML с навигацией
  • выгрузить Google Slides в Pages
  • вынести ресурсы крупных файлов в assets/

Примеры запросов агенту

  • «Опубликуй `demo.pptx` в GitHub Pages с именем репозитория `demo-slides`».
  • «Размести `report.pdf` как публичную страницу через GitHub Pages».
  • «Скачай эту презентацию Google Slides и опубликуй её в приватный репозиторий `team-deck`».

Как установить publish-to-pages

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill publish-to-pages -a claude-code

2Вручную: положить файлы

~/.claude/skills/publish-to-pages/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/publish-to-pages/

Похожие

pptx официальный anthropics Работает с файлами .pptx и .potx: создаёт, читает, меняет и проверяет презентации. Нужен, когда агенту дают слайды или шаблон. Claude Code Claude.ai 241 433установок pdf официальный anthropics Скилл читает, создаёт и меняет PDF-файлы, включая формы и сканы. Подойдёт, когда агенту нужно работать с PDF в проекте. Claude Code Claude.ai 216 041установок docx официальный anthropics Скилл создаёт, читает и редактирует документы Word и шаблоны. Подойдёт для отчётов, писем и файлов с таблицами, стилями и нумерацией страниц. Claude Code Claude.ai 206 304установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок brand-guidelines официальный anthropics Применяет фирменные цвета и шрифты Anthropic к документам, презентациям и другим артефактам. Пригодится, когда нужно оформить материал в фирменном стиле компании. Claude Code Claude.ai 109 043установок theme-factory официальный anthropics Применяет готовые цветовые палитры и пары шрифтов к слайдам, документам и HTML-страницам. Подходит, когда материалу нужен единый стиль. Claude Code Claude.ai 94 921установок

Вопросы о publish-to-pages

Как установить publish-to-pages в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill publish-to-pages. Также доступна команда gh skill install github/awesome-copilot publish-to-pages.

Что делает publish-to-pages?

Скилл готовит HTML, PPTX, PDF или Google Slides для GitHub Pages. Он создаёт репозиторий, загружает результат, включает Pages и возвращает адрес опубликованной страницы.

Что нужно для конвертации PPTX и PDF?

Для PPTX нужны python3 и библиотека python-pptx, которую можно поставить командой pip install python-pptx. Для PDF нужен poppler-utils, содержащий pdftoppm.

Исходный текст

SKILL.md · MIT
---
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.

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

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой