Token导航 LogoToken导航TokenDH.com
前端设计操作浏览器github未标认证来源可访问许可证需确认审计提醒

qa-detecting-visual-regressionsqa 检测视觉回归

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

186

周安装

8

GitHub Stars

5

下载量

65
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:qa-detecting-visual-regressions(qa 检测视觉回归)
来源仓库:https://github.com/wizeline/sdlc-agents
仓库路径:skills/qa-detecting-visual-regressions
安装命令:
npx skills add https://github.com/wizeline/sdlc-agents --skill qa-detecting-visual-regressions
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/wizeline/sdlc-agents --skill qa-detecting-visual-regressions

简介

qa-detecting-visual-regressions 用于辅助界面设计、视觉规范和布局优化,适合检查视觉一致性。

  • 适用于页面结构整理、组件层级改进和响应式表现检查。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 需结合品牌和设计系统,避免仅堆装饰元素。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Detecting Visual Regressions

This skill performs semantic visual comparison — understanding what UI elements mean and how they relate to each other — instead of brittle pixel-by-pixel diffing. It catches real regressions while maintaining a false positive rate below 2%.

When to Use

  • After CSS/layout changes to verify nothing else broke
  • When comparing current UI against Figma design specs
  • For design system audits (are components consistent?)
  • As part of CI/CD visual regression gates
  • When migrating UI frameworks or component libraries

Comparison Workflow

Step 1 — Capture Screenshots

Use the capture script to take consistent, comparable screenshots:

python skills/qa-detecting-visual-regressions/scripts/capture.py \
  --url https://staging.example.com \
  --pages /,/login,/dashboard,/checkout \
  --viewport desktop \
  --output captures/current/

For baselines, either:

  • Capture from the known-good version (production or last release)
  • Use Figma exports as the reference

Step 2 — Compare

Run semantic comparison between baseline and current captures:

python skills/qa-detecting-visual-regressions/scripts/compare.py \
  --baseline captures/baseline/ \
  --current captures/current/ \
  --output visual-results/ \
  --threshold 0.85

The comparison analyzes screenshots using Claude Vision (or equivalent VLM) to perform a semantic diff rather than pixel diff.

Step 3 — Review and Classify

The comparison produces a structured report. Each difference is pre-classified, but human review is recommended for borderline cases.

Semantic Diff Approach

Instead of overlaying pixels and counting differences, semantic comparison:

  1. Identifies elements in both screenshots (buttons, headings, images, forms)
  2. Maps correspondence between baseline and current (this button = that button)
  3. Compares properties for each matched pair:

- Position (relative to parent and siblings) - Size (width, height, aspect ratio) - Text content - Color and contrast - Visibility and opacity

  1. Detects additions and removals (elements in one but not the other)
  2. Evaluates layout structure (grid alignment, spacing consistency)

Classification Rules

REGRESSION (severity: high)

  • Element present in baseline is missing in current
  • Element has moved to a completely different section
  • Text is truncated or overflowing its container
  • Interactive element is obscured by another element
  • Layout has collapsed (elements stacking when they shouldn't)

REGRESSION (severity: medium)

  • Spacing between elements differs by >8px from baseline
  • Font size changed without corresponding design update
  • Color changed to something outside the design palette
  • Border or shadow properties changed noticeably

COSMETIC (severity: info — not a bug)

  • Sub-pixel text rendering differences (<1px shifts)
  • Anti-aliasing variations between browsers
  • Slightly different scroll positions
  • Font hinting differences

DYNAMIC (ignore — expected variation)

  • Timestamps, dates, relative time ("3 min ago")
  • User-specific content (avatars, notification counts)
  • A/B test variants
  • Ad slots and third-party embeds
  • Animated elements at different frames

Dynamic Region Masking

To reduce false positives from expected dynamic content, define mask regions:

{
  "masks": [
    {
      "page": "/dashboard",
      "regions": [
        {"selector": ".notification-count", "reason": "dynamic content"},
        {"selector": ".user-avatar", "reason": "user-specific"},
        {"selector": ".ad-slot", "reason": "third-party"}
      ]
    }
  ]
}

Pass masks to the comparison script with --masks masks.json.

Figma Design Reference

When comparing against Figma:

  1. Export Figma frames as PNG at 2x resolution
  2. Map each frame to its application URL:
{
  "mappings": [
    {"figma_frame": "Homepage - Desktop", "file": "homepage-desktop.png", "url": "/"},
    {"figma_frame": "Checkout - Step 1", "file": "checkout-step1.png", "url": "/checkout"}
  ]
}
  1. Run comparison with --reference-type figma
  2. Differences represent implementation drift from the design

Color Comparison

Use CIEDE2000 (ΔE2000) for perceptually accurate color comparison:

  • ΔE < 1.0: Imperceptible — ignore
  • ΔE 1.0–3.0: Slightly noticeable — log as cosmetic
  • ΔE 3.0–5.0: Noticeable — investigate
  • ΔE > 5.0: Obvious difference — flag as regression

Output Format

visual-results/
├── comparisons/
│   ├── homepage/
│   │   ├── baseline.png
│   │   ├── current.png
│   │   ├── diff-annotated.png
│   │   └── analysis.json
│   └── checkout/
│       └── ...
├── regressions.json          ← confirmed regressions only
├── all-differences.json      ← everything, classified
└── visual-summary.md

Each regression in regressions.json:

{
  "id": "vr-001",
  "page": "/checkout",
  "severity": "high",
  "category": "layout",
  "description": "Submit button overlaps price total",
  "baseline": "comparisons/checkout/baseline.png",
  "current": "comparisons/checkout/current.png",
  "diff": "comparisons/checkout/diff-annotated.png",
  "affected_elements": ["submit-button", "price-total"],
  "confidence": 0.95
}

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.32%
按下载量换算23

Claude

28.58%
按下载量换算19

Cursor

18.69%
按下载量换算12

Gemini CLI

9.26%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills