visual-regression-testing — скилл для Claude Code: скриншот-диффы UI
Ловит случайные визуальные изменения интерфейса: снимает скриншоты компонентов и страниц и сравнивает их между версиями.
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a claude-codeЧто делает visual-regression-testing
Скилл учит агента писать и разбирать визуальные тесты. Он подсказывает, как снимать скриншоты страниц и компонентов, сравнивать их с базовыми и находить расхождения, которые обычные функциональные тесты пропускают: поехавшую вёрстку, конфликты CSS, наложения элементов.
Внутри — краткий стартовый пример на @playwright/test с toHaveScreenshot и maxDiffPixels, список ситуаций для применения и папка references/ с отдельными руководствами: Playwright, Percy, Chromatic для Storybook, Cypress, BackstopJS, работа с динамическим контентом и адаптивными компонентами. Быстрый старт обрывается на третьем тесте, полные реализации лежат в справочниках.
Главная засада — динамика на странице. Таймстемпы, реклама и случайные данные дают ложные диффы, поэтому скилл советует прятать или мокать такое содержимое и отключать анимации на время снимка. Порог maxDiffPixels: 100 в примере — это совет начать с него, а не жёсткий лимит. Базовые снимки придётся хранить в системе контроля версий и обновлять после каждой правки дизайна, иначе тесты начнут падать на легитимных изменениях.
Какие задачи решает
- поймать регрессию в CSS после рефакторинга стилей
- проверить, как страница выглядит на мобильном и планшетном вьюпорте
- сравнить скриншоты компонента до и после правки темы
- отсеять ложные диффы от таймстемпов и рекламных блоков
- просмотреть визуальные изменения в пул-реквесте до мержа
Примеры запросов агенту
- настрой визуальные тесты для главной страницы на Playwright
- добавь проверку адаптива для мобильного вьюпорта 375x667
- как замокать динамический контент, чтобы скриншоты не расходились
Как установить visual-regression-testing
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a claude-code2Вручную: положить файлы
~/.claude/skills/visual-regression-testing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/visual-regression-testing/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a codex2Вручную: положить файлы
.agents/skills/visual-regression-testing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a cursor2Вручную: положить файлы
.cursor/skills/visual-regression-testing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts visual-regression-testing2Вручную: положить файлы
.github/skills/visual-regression-testing/SKILL.md1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a gemini-cli2Командой платформы
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/visual-regression-testingВручную: положить файлы
.devin/skills/visual-regression-testing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора118
Похожие
Рядом в теме «Тесты и QA»
Всё по теме «Тесты и QA» →Вопросы о visual-regression-testing
Как установить visual-regression-testing в Claude?
Выполните npx skills add aj-geddes/useful-ai-prompts --skill visual-regression-testing -a claude-code. Скилл окажется в ~/.claude/skills/visual-regression-testing/SKILL.md.
Что делает visual-regression-testing?
Помогает агенту писать тесты, которые снимают скриншоты UI и сравнивают их между версиями, чтобы находить непреднамеренные визуальные изменения.
С какими инструментами работает скилл?
В справочниках разобраны Playwright, Percy, Chromatic для Storybook, Cypress и BackstopJS, плюс отдельные материалы по динамическому контенту и адаптивным компонентам.
Исходный текст
SKILL.md · MIT
---
name: visual-regression-testing
description: >
Detect unintended visual changes in UI by comparing screenshots across
versions. Use for visual regression, screenshot diff, Percy, Chromatic, UI
testing, and visual validation.
---
# Visual Regression Testing
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Visual regression testing captures screenshots of UI components and pages, then compares them across versions to detect unintended visual changes. This automated approach catches CSS bugs, layout issues, and design regressions that traditional functional tests miss.
## When to Use
- Detecting CSS regression bugs
- Validating responsive design across viewports
- Testing across different browsers
- Verifying component visual consistency
- Catching layout shifts and overlaps
- Testing theme changes
- Validating design system components
- Reviewing visual changes in PRs
## Quick Start
Minimal working example:
```typescript
// tests/visual/homepage.spec.ts
import { test, expect } from "@playwright/test";
test.describe("Homepage Visual Tests", () => {
test("homepage matches baseline", async ({ page }) => {
await page.goto("/");
// Wait for images to load
await page.waitForLoadState("networkidle");
// Full page screenshot
await expect(page).toHaveScreenshot("homepage-full.png", {
fullPage: true,
maxDiffPixels: 100, // Allow small differences
});
});
test("responsive design - mobile", async ({ page }) => {
await page.setViewportSize({ width: 375, height: 667 }); // iPhone SE
await page.goto("/");
await expect(page).toHaveScreenshot("homepage-mobile.png");
});
test("responsive design - tablet", async ({ page }) => {
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [Playwright Visual Testing](references/playwright-visual-testing.md) | Playwright Visual Testing |
| [Percy Visual Testing](references/percy-visual-testing.md) | Percy Visual Testing |
| [Chromatic for Storybook](references/chromatic-for-storybook.md) | Chromatic for Storybook |
| [Cypress Visual Testing](references/cypress-visual-testing.md) | Cypress Visual Testing |
| [BackstopJS Configuration](references/backstopjs-configuration.md) | BackstopJS Configuration |
| [Handling Dynamic Content](references/handling-dynamic-content.md) | Handling Dynamic Content |
| [Testing Responsive Components](references/testing-responsive-components.md) | Testing Responsive Components |
## Best Practices
### ✅ DO
- Hide or mock dynamic content (timestamps, ads)
- Test across multiple viewports
- Wait for animations and images to load
- Use consistent viewport sizes
- Disable animations during capture
- Test interactive states (hover, focus)
- Review diffs carefully before approving
- Store baselines in version control
### ❌ DON'T
- Test pages with constantly changing content
- Ignore small legitimate differences
- Skip responsive testing
- Forget to update baselines after design changes
- Test pages with random data
- Use overly strict thresholds (0% diff)
- Skip browser/device variations
- Commit unapproved diffs
© aj-geddes · MIT · aj-geddes/useful-ai-prompts