Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

visual-qa视觉质量保证

Agent Skill

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

总安装

6,922

周安装

280

GitHub Stars

公开资料未说明

下载量

2,173
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:visual-qa(视觉质量保证)
来源仓库:https://github.com/kbo4sho/visual-qa
安装命令:
openclaw skills install visual-qa
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install visual-qa

简介

执行 Web 应用的像素级视觉回归测试。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

  • 通过截图捕获与相似性阈值比较进行自动化验证。
  • 支持配置化门控部署,确保视觉变更可控。visual-qa 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 适用于 UI 迭代中的质量保障和一致性检查。
  • 需设置合理相似度阈值,避免因微小差异误报问题。

SKILL.md

name
visual-qa
description
Visual regression testing pipeline for web applications. Capture baseline screenshots, compare against new builds using pixel-level diffing, and gate deployments based on visual similarity thresholds. Use when: visual QA, visual regression testing, screenshot comparison, UI verification, visual diff, pre-deploy check, or validating UI changes before merge.

Visual QA

A visual regression testing pipeline for web applications. Capture baseline screenshots of your app, compare new screenshots against baselines using pixel-level diffing, and pass/fail based on configurable similarity thresholds.

When to Use

  • Pre-deploy visual verification — gate merges/deploys until UI changes are approved
  • Regression testing — catch unintended visual changes in CI
  • UI review workflow — generate diff images for design/code review
  • Cross-browser/viewport testing — verify responsive layouts
  • Component library QA — ensure design system changes don't break consumers

Quick Start

1. Capture Baselines

# Capture single URL
python scripts/capture.py http://localhost:3000 --output .visual-qa/baselines

# Capture multiple viewports
python scripts/capture.py http://localhost:3000 --viewports desktop mobile tablet --output .visual-qa/baselines

# Capture multiple pages from config
python scripts/capture.py --config .visual-qa.json --output .visual-qa/baselines

2. Compare Against Baselines

# Compare new screenshots
python scripts/diff.py --baseline .visual-qa/baselines --current .visual-qa/current --threshold 99

3. All-in-One Gate

# Capture + diff in one command
python scripts/gate.py --baseline .visual-qa/baselines --url http://localhost:3000 --threshold 99

# With local dev server
python scripts/gate.py --baseline .visual-qa/baselines --server "npm run dev" --port 3000 --threshold 99

# Using config file
python scripts/gate.py --config .visual-qa.json

Config File Pattern

Create .visual-qa.json in your project root:

{
  "urls": ["/", "/about", "/pricing"],
  "baseUrl": "http://localhost:3000",
  "viewports": ["desktop", "mobile"],
  "threshold": 99,
  "server": "npm run dev",
  "port": 3000,
  "baselineDir": ".visual-qa/baselines",
  "ignore": [".visual-qa/diffs", ".visual-qa/current"]
}

Scripts

All scripts support --help for detailed usage.

capture.py

Capture screenshots using Playwright (headless Chromium).

Features:

  • Multiple viewport sizes: desktop (1280x800), tablet (768x1024), mobile (375x812)
  • Waits for networkidle before capture
  • Optional local server start/stop
  • Configurable output directory
  • Descriptive filenames: {url-slug}_{viewport}.png

Usage:

python scripts/capture.py <url> --output <dir> [options]
python scripts/capture.py --config <config.json> --output <dir>

diff.py

Compare screenshots using pixel-level diffing (Pillow).

Features:

  • Pixel-by-pixel comparison
  • Diff images with red/magenta overlay highlighting changes
  • Similarity percentage per image pair
  • Pass/fail based on threshold (default 99%)
  • Summary report with pass/fail status
  • Saves diff images to output directory

Usage:

python scripts/diff.py --baseline <dir> --current <dir> --output <diff-dir> --threshold <percent>

gate.py

All-in-one gate: capture + diff in a single command.

Features:

  • Combines capture and diff steps
  • Starts/stops local server automatically if needed
  • Returns exit code 0 (pass) or 1 (fail)
  • Human-readable summary output
  • Can use config file or CLI args

Usage:

python scripts/gate.py --baseline <dir> --url <url> --threshold <percent>
python scripts/gate.py --baseline <dir> --server <command> --port <port> --threshold <percent>
python scripts/gate.py --config <config.json>

Workflow Examples

Initial Baseline Capture

# Start your app
npm run dev

# Capture baselines (desktop + mobile)
python scripts/capture.py http://localhost:3000 --viewports desktop mobile --output .visual-qa/baselines

CI/CD Integration

# In your CI pipeline after build
python scripts/gate.py --baseline .visual-qa/baselines --server "npm start" --port 3000 --threshold 99

# Exit code 0 = pass, 1 = fail
if [ $? -eq 0 ]; then
  echo "Visual QA passed ✓"
else
  echo "Visual QA failed ✗"
  exit 1
fi

Review Workflow

# 1. Developer makes UI changes
# 2. Capture new screenshots
python scripts/capture.py http://localhost:3000 --output .visual-qa/current

# 3. Generate diff images
python scripts/diff.py --baseline .visual-qa/baselines --current .visual-qa/current --output .visual-qa/diffs

# 4. Review diff images in .visual-qa/diffs/
# 5. If changes are intentional, update baselines:
rm -rf .visual-qa/baselines
mv .visual-qa/current .visual-qa/baselines

Multi-Page Testing

Create .visual-qa.json:

{
  "urls": ["/", "/products", "/about", "/contact"],
  "baseUrl": "http://localhost:3000",
  "viewports": ["desktop", "mobile"],
  "threshold": 99,
  "baselineDir": ".visual-qa/baselines"
}
# Capture all pages
python scripts/capture.py --config .visual-qa.json --output .visual-qa/baselines

# Gate all pages
python scripts/gate.py --config .visual-qa.json

Dependencies

Scripts require Playwright and Pillow:

pip install playwright pillow
python -m playwright install chromium

Scripts will check for dependencies and print install instructions if missing.

Thresholds

The --threshold parameter controls similarity percentage (0-100):

  • 99% (default) — strict, catches most visual changes
  • 95% — moderate, allows minor rendering differences (anti-aliasing, fonts)
  • 90% — loose, allows more variation (use for dynamic content)

Experiment to find the right threshold for your app. Start strict (99%) and loosen if you get false positives.

Ignoring Dynamic Content

For pages with dynamic content (dates, user-specific data):

  1. Use data attributes to hide dynamic elements during testing:
   [data-test-hide] { visibility: hidden !important; }
  1. Capture specific viewport regions (future enhancement)
  1. Loosen threshold for pages with acceptable dynamic content

Troubleshooting

"Command not found: python"

  • Use python3 instead of python

"Playwright not installed"

  • Run: pip install playwright && python -m playwright install chromium

"Similarity below threshold but images look the same"

  • Font rendering, anti-aliasing, or sub-pixel differences. Lower threshold to 98-95%.

"Server not starting"

  • Check that --port matches your server's port
  • Ensure server command is correct (npm run dev, npm start, etc.)
  • Increase wait time in gate.py (default 5s)

"Images not found"

  • Check that baseline directory exists and contains PNGs
  • Ensure current screenshots were captured to the correct directory
  • Verify filenames match pattern: {url-slug}_{viewport}.png

Tips

  • Commit baselines to Git so your team shares the same reference
  • Add .visual-qa/diffs and .visual-qa/current to .gitignore
  • Run in CI as a required check before merge
  • Update baselines when intentional UI changes are made
  • Use multiple viewports to catch responsive layout issues
  • Test empty/error/loading states by capturing those URLs explicitly

Integration with Other Skills

  • ux-qa-gate — Use visual-qa as part of the UX QA checklist
  • webapp-testing — Combine with Playwright functional tests
  • coding-agent — Sub-agents building UI must pass visual-qa before completion

For detailed script options, run:

python scripts/capture.py --help
python scripts/diff.py --help
python scripts/gate.py --help

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

OpenClaw

88.97%
按下载量换算1,933

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

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

安装前确认

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

来源信息

继续浏览同类 Skills