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

pr-screenshots — скилл для GitHub Copilot: что делает и как установить

Скилл учит оформлять описания pull request с наглядными скриншотами до и после изменений. Помогает ревьюерам сразу видеть правки в интерфейсе, графиках или верстке без переключения ветки.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill pr-screenshots
Открыть на GitHub

Что делает pr-screenshots

Скилл задаёт правила оформления скриншотов в описаниях pull request при правках CSS и компонентов интерфейса. Инструкция требует ставить снимки до и после изменений прямо в тело PR, не пряча их под спойлер `. Кадры нужно снимать в исходном разрешении 1x с одинаковой шириной окна и кадрированием, а размер показа ограничивать через HTML-тег `. Менять масштаб картинок через PIL инструкция запрещает из-за артефактов.

Внутри собраны схемы загрузки файлов для двух платформ. Для Azure DevOps дан готовый скрипт на PowerShell: он получает токен через Azure CLI и отправляет файл методом POST в REST API 7.1-preview.1 через HttpClient. Скрипт использует домен visualstudio.com, поскольку адреса dev.azure.com рендерятся медленнее. Для GitHub публичного API загрузки нет. Поэтому скилл предлагает обходной путь: коммитить картинки в сиротскую ветку pr-assets и вставлять прямые ссылки на raw-файлы.

Ставить этот скилл стоит командам с частыми визуальными правками интерфейса. Если проект чисто бэкендовый, пользы не будет.

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

  • Показать визуальную разницу интерфейса до и после правок в описании PR
  • Загрузить скриншоты в Azure DevOps через REST API без поломки бинарных данных
  • Настроить отображение скриншотов одинакового масштаба без артефактов PIL
  • Разместить изображения для PR в GitHub через ветку pr-assets

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

  • Оформи описание PR с блоками Before и After для изменений в шапке сайта
  • Сгенерируй скрипт загрузки скриншота в pull request Azure DevOps
  • Покажи, как вставить скриншот интерфейса в PR GitHub без ручной загрузки в веб-интерфейсе

Как установить pr-screenshots

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill pr-screenshots

2GitHub CLI

gh skill install github/awesome-copilot pr-screenshots

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

.github/skills/pr-screenshots/SKILL.md

Из того же набора554

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

roadmap-communicator Alireza Rezvani Скилл готовит роадмапы, релизные заметки, changelog и обновления для руководителей, инженеров и клиентов. Пригодится для разных аудиторий. Claude Code 586установок git-worktree-manager Alireza Rezvani Скилл изолирует ветки Git через рабочие деревья, выделяет порты и копирует файлы окружения. Помогает запускать параллельные задачи нескольким агентам в одном репозитории. Claude Code 581установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. Claude Code 990 453установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. Claude Code 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. Claude Code 774 700установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. Claude Code 499 069установок setup-pre-commit Matt Pocock Скилл настраивает pre-commit для JavaScript-репозитория: Husky запускает форматирование, проверку типов и тесты перед коммитом. Claude Code 489 289установок scaffold-exercises Matt Pocock Скилл создаёт структуру учебных упражнений с секциями, задачами, решениями и пояснениями. Пригодится при запуске нового раздела курса. Claude Code 480 196установок

Вопросы о pr-screenshots

Как установить pr-screenshots в GitHub Copilot?

Выполните gh skill install github/awesome-copilot pr-screenshots или команду npx skills add github/awesome-copilot --skill pr-screenshots. Файл инструкции сохранится в .github/skills/pr-screenshots/SKILL.md.

Зачем нужен скилл pr-screenshots?

Он даёт шаблоны для парных скриншотов до и после изменений, чтобы ревьюеры оценивали правки интерфейса прямо в браузере без локального запуска ветки.

Почему скилл рекомендует использовать домен visualstudio.com для Azure DevOps?

Встроенный рендерер Markdown в Azure DevOps работает быстрее с адресами {org}.visualstudio.com. Ссылки вида dev.azure.com загружают изображения заметно медленнее.

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

SKILL.md · MIT
---
name: pr-screenshots
description: 'Embed before/after screenshots and annotated images in pull request descriptions. Covers PR description patterns, image upload for Azure DevOps and GitHub, and sizing best practices.'
---

# PR Screenshots

Embed before/after screenshots in pull request descriptions so reviewers can see the visual change without checking out the branch.

## When to Use This Skill

Use this skill when a PR changes something visible:

- Layout, styling, CSS
- Charts, dashboards, data visualizations
- UI components, forms, modals
- Error messages, CLI output, log formatting

## PR Description Pattern

Place screenshots directly in the PR description body. Avoid wrapping them in `<details>` collapse — reviewers are more likely to look at images they can see without clicking.

```markdown
**Before** — brief description of the problem:

![before](url-to-before-image)

**After** — brief description of the fix:

![after](url-to-after-image)
```

Keep the text brief. A sentence or two per image describing what the reader should notice. Let the image carry most of the communication.

### Multiple changes

For PRs with several visual changes, use separate before/after pairs with headings:

```markdown
## Filter bar alignment

**Before** — 1px border clash between adjacent buttons:

![before-filters](url)

**After** — borders overlap cleanly, hover tint added:

![after-filters](url)

## Chart tooltip

**Before** — tooltip clipped at container edge:

![before-tooltip](url)

**After** — tooltip repositions to stay visible:

![after-tooltip](url)
```

## Image Sizing

- **Take screenshots at native 1x resolution** — don't resize with PIL (creates artifacts)
- **Control display size in HTML** when images are too large:
  ```html
  <img src="url" width="600" alt="description">
  ```
- **Before/after pairs must use the same viewport width and crop** — otherwise the comparison is meaningless

## Uploading Images

### Azure DevOps

Upload images as PR attachments via the REST API:

```powershell
$token = az account get-access-token `
    --resource "499b84ac-1321-427f-aa17-267ca6975798" `
    --query accessToken -o tsv

$base = "https://{org}.visualstudio.com/{projectId}/_apis/git/repositories/{repoId}"
$url = "$base/pullRequests/{prId}/attachments/screenshot.png?api-version=7.1-preview.1"

# Use HttpClient — Invoke-RestMethod can corrupt binary data
$client = New-Object System.Net.Http.HttpClient
$client.DefaultRequestHeaders.Authorization = `
    New-Object System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", $token)
$content = New-Object System.Net.Http.ByteArrayContent(
    , [System.IO.File]::ReadAllBytes("screenshot.png")
)
$content.Headers.ContentType = `
    [System.Net.Http.Headers.MediaTypeHeaderValue]::new("application/octet-stream")
$resp = $client.PostAsync($url, $content).Result
```

Reference in the PR description:

```markdown
![description](https://{org}.visualstudio.com/{projectId}/_apis/git/repositories/{repoId}/pullRequests/{prId}/attachments/screenshot.png)
```

**Azure DevOps gotchas:**

- **Use `{org}.visualstudio.com` NOT `dev.azure.com/{org}`** — AzDO's markdown renderer uses `.visualstudio.com`. The `dev.azure.com` format loads noticeably slower
- Use `POST` not `PUT` (PUT returns 405)
- API version must be `7.1-preview.1`
- Can't re-upload with the same filename — use a new name (e.g. `screenshot-v2.png`)
- Use `HttpClient` not `Invoke-RestMethod` — IRM can corrupt binary data
- Repo-relative paths don't work in PR descriptions — must use full URLs
- Don't commit images to the branch just for PR screenshots

### GitHub

> **⚠️ Work in progress.** GitHub's drag-and-drop image upload uses internal endpoints that require browser cookies. There's no clean public API for uploading images to PR descriptions yet.

**Current workaround:** Commit images to a `pr-assets` orphan branch and reference via blob URLs (`github.com/{owner}/{repo}/blob/pr-assets/{file}?raw=true`). It works but is clunky — contributions for a better approach are welcome.

## Guidelines

1. **Capture before state BEFORE making changes** — it's easy to forget, and reconstructing the original state later is slow and error-prone
2. **Keep descriptions brief** — a sentence or two per image pointing out what changed is enough
3. **Prefer visible images over collapsed sections** — screenshots behind `<details>` tags are easy to skip
4. **Annotate when the change is subtle** — use the `image-annotations` skill to add callouts when the difference isn't immediately obvious
5. **Match viewport and crop** between before/after pairs so the comparison is meaningful

## Limitations

- GitHub image upload requires workarounds (no public API for PR description images)
- Azure DevOps attachment filenames can't be reused — plan naming ahead
- Very large images (>10MB) may not render inline on some platforms

© github · MIT · github/awesome-copilot

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

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

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