before-and-after — скилл

Скилл Vercel Labs вставляет в описание pull request блок «до и после» со скриншотами и записями экрана, не трогая остальной текст

  • 425 ★ репозитория
  • Последний коммит
СкиллОфициальный

Расширенный доступ

Почему такой уровень

  • Скилл через `gh pr edit` и `gh pr comment` меняет описание PR и загружает в GitHub ваши файлы, а они видны всем, кто видит PR
  • Снимки защищенных страниц могут вынести токены и параметры авторизации в публичный PR
Все причины и проверки

vercel-labs/before-and-after

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/before-and-after

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скилл через `gh pr edit` и `gh pr comment` меняет описание PR и загружает в GitHub ваши файлы, а они видны всем, кто видит PR
  • Снимки защищенных страниц могут вынести токены и параметры авторизации в публичный PR

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл берет уже снятые скриншоты и записи экрана и оформляет их в описании pull request на GitHub. Съемкой занимается `agent-browser`, загрузкой файлов — флаг `--attach` у `gh`, а скилл ведет процесс между ними и отвечает за единственный скрипт `skill/scripts/format.mjs`, который не требует зависимостей. Скрипт собирает разметку и заменяет в тексте PR один блок, обрамленный комментариями `<!-- before-and-after:start -->` и `<!-- before-and-after:end -->`. Остальное описание остается как было. Картинки ложатся в таблицу рядом: слева «до», справа «после». Чтобы верхние края совпали, полностраничные снимки выравнивают по высоте. Для страницы без пары скрипт делает блок `Preview`. Видео отдельной строкой GitHub показывает плеером, а сравнение двух видео собирается в два шага: сначала файлы грузятся во временный комментарий, потом их постоянные ссылки подставляются в HTML-таблицу. Скилл также советует, куда поставить блок: ближе к началу описания, до разделов с деталями реализации.

Для кого. Фронтенд-разработчикам и дизайн-инженерам, чьи pull request меняют интерфейс и которым проще показать рецензенту результат на картинке и в записи экрана.

Подходит, если

  • PR меняет верстку, и рецензенту хочется увидеть десктопную и мобильную версии до и после
  • Новая страница не имеет прежней версии, и в описание добавляют только превью
  • Анимацию или переход показывают записью экрана, которая воспроизводится прямо в описании PR
  • Описание PR обновляют повторно, и блок с медиа заменяется без дублей
  • Скриншоты сняты агентом через `agent-browser`, и их остается красиво оформить

Не подходит, если

  • PR не затрагивает интерфейс, и показывать нечего
  • Снимки сделать нечем: скилл сам съемкой не занимается и отдает ее `agent-browser`
  • На машине стоит `gh` старше версии 2.99, а для флага `--attach` нужна эта версия или новее
  • Страница, которую снимаете, требует токенов доступа, и они могут попасть на скриншот

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

Сними главную страницу до и после моих правок на десктопе и в мобильной ширине и добавь сравнение в описание PR номер 123

Ограничения

Нужны `agent-browser` и GitHub CLI версии 2.99 или новее. Скилл не оборачивает `agent-browser`, не решает вопросы авторизации Vercel, не конвертирует видео и не хостит медиа. `agent-browser` версий 0.35.2 и 0.36.0 пишет видео с частотой 10 кадров в секунду без настройки, и повышение частоты при перекодировании лишь дублирует кадры. Для защищенных Vercel Preview запись начинается в новом контексте браузера и может потерять заголовок доступа, поэтому сначала нужен вход. Скрипт форматирования понимает PNG, JPEG, GIF, WebP, MP4, MOV и WebM. Лицензия в метаданных репозитория не определена. Нельзя публиковать снимки с токенами OIDC, секретами обхода и параметрами авторизации в адресах.

Как отключить. Удалите папку скилла `before-and-after` из каталога скиллов агента. Блок в уже обновленных описаниях PR удалите вручную между комментариями `before-and-after:start` и `before-and-after:end`. Временные комментарии с видео, если они остались после сбоя, удалите в обсуждении PR.

Частые вопросы

Как поставить скилл before-and-after в Claude Code?

Выполните `npx skills add vercel-labs/before-and-after#main`. Дальше нужны `agent-browser` для съемки и GitHub CLI версии 2.99 или новее для загрузки файлов.

Что скилл делает с остальным текстом описания PR?

Ничего. Он заменяет только блок между комментариями `<!-- before-and-after:start -->` и `<!-- before-and-after:end -->`. Если блока нет, скрипт добавляет его, а при неясном месте вставки дописывает в конец.

Почему верх скриншотов «до» и «после» должен совпадать?

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

Как добавить сравнение двух видео?

В два шага: загрузите видео во временный комментарий через `gh pr comment --attach`, возьмите из него постоянные адреса `user-attachments`, затем соберите таблицу командой `format.mjs` с флагами `--before-video-url` и `--after-video-url` и обновите описание через `gh pr edit`.

С какой частотой кадров пишется запись экрана?

`agent-browser` версий 0.35.2 и 0.36.0 пишет 10 кадров в секунду, настроить это нельзя. Перекодирование в 30 или 60 кадров только дублирует кадры, плавность не растет.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл превращает скриншот, макет, кадр Figma или живую страницу в адаптивный сайт и сверяет результат с дизайном

СкиллМинимальный доступ143Звезды репозитория

Скилл разбирает и переносит WebGL, WebGPU и Canvas-эффекты со страницы в отдельный локальный проект на нативном JS

СкиллРасширенный доступ773Звезды репозитория

Скилл рисует макеты интерфейсов и лендингов и переносит их в HTML, в проект на React или в мини-приложение WeChat

СкиллРасширенный доступ556Звезды репозитория

Скилл Claude Code и других агентов для сборки сайтов, где режиссура задается до кода: арт-дирекшн, генерация ассетов локальными CLI и проверка анти-слоп линтеро

СкиллРасширенный доступ1 тыс.Звезды репозитория

Скилл воссоздает интерфейс по сайту, скриншоту или записи экрана и оценивает копию по макету, стилю, пикселям и движению.

СкиллРасширенный доступ112Звезды репозитория
Нужен VPN

Скилл, который собирает лендинг с полетом камеры сквозь сгенерированный 3D-мир, управляемым прокруткой

СкиллШирокий доступ11 тыс.Звезды репозитория

Коротко о README

Страница делит работу между инструментами: съемка у `agent-browser`, загрузка у `gh`, оформление у скилла. Дальше идут команда установки, список того, что получается на выходе, и таблица из пяти слоев проверки, от тестов формата до пробного запуска Claude Code на тестовом PR.

Бейдж для README

Исходный SKILL.md

---
name: before-and-after
description: Add existing screenshots or screen recordings to a GitHub pull request as a before/after or preview block. Use when a PR needs visual media attached to its description. Browser navigation and capture belong to agent-browser.
---

# Add visual media to a PR

Use `agent-browser` to create the screenshots or recordings. This skill only owns the GitHub PR attachment workflow.

## Capture

1. Load the version-matched core instructions with `agent-browser skills get core --full` and follow them for sessions, navigation, page state, screenshots, and recordings.
2. If a Vercel URL is protected, load `agent-browser skills get protected-vercel-deployments --full`. Do not reproduce its authentication workflow here.
3. Save media under the repository with paths that contain no whitespace, for example:

   ```text
   captures/desktop-before.png
   captures/desktop-after.png
   captures/mobile-before.png
   captures/mobile-after.png
   ```

The formatter supports PNG, JPEG, GIF, WebP, MP4, MOV, and WebM files. Use an `--after` file without a matching `--before` file for a net-new preview.

### Screen recordings

`agent-browser record start` creates a fresh browser context. It preserves cookies and local storage, but an origin-scoped header used to open a protected Vercel Preview may not carry into that new context. Before recording a protected Preview:

1. Load `agent-browser skills get protected-vercel-deployments --full`.
2. Start the recording context on a blank page.
3. Apply the authentication method from that skill inside the recording context.
4. Navigate to the Preview only after authentication is active, then trim the navigation lead-in if necessary.

Do not assume that a page which worked before `record start` will remain authenticated after it.

Agent-browser `0.35.2` and `0.36.0` capture at a hardcoded 10 fps with no CLI or environment override. Inspect the installed version and its recording reference rather than assuming this stays true in later releases. Preserve the source cadence when transcoding: changing the container to 30 or 60 fps only duplicates frames and does not make motion smoother. For animation evidence that requires a higher real frame rate, use a genuinely higher-cadence capture path instead of upsampling agent-browser output.

### Equal-height image pairs

GitHub vertically centers a shorter image inside a Markdown table cell. For full-page before/after screenshots, make both files the same pixel height so their top edges align:

1. Open both pages at the same viewport and state.
2. Read `document.documentElement.scrollHeight` in both sessions.
3. Append bottom-only space to the shorter page until both scroll heights match, then take both `--full` screenshots.

The padding may be transparent or use the capture tool's default canvas. Never add space above the page. For component or section comparisons, capture the same scoped region instead of padding unrelated page content.

Use raw `agent-browser eval` for this DOM-only adjustment; do not add an image-processing dependency to this skill. Confirm the resulting files have equal pixel dimensions before publishing.

## Format

Сообщить о проблеме