← ClaudeAtlas

mufeng-ios-visual-regressionlisted

Visual regression testing for iOS apps (UIKit or SwiftUI). Use after ANY UI change (layout, colors, spacing, fonts, dark-mode, localization strings) to screenshot each top-level screen in every supported language and appearance via the simulator, diff against committed baselines, and produce an HTML report boxing the changed regions. Shared engine; each project supplies its own config + in-app DEBUG harness. Also use to scaffold a new project (`init`) or regenerate baselines. Triggers include "视觉回归", "visual regression", "截图对比", "UI 改动后检查", "screenshot diff", "did my UI change break anything".
ichangyou/mf-ai-skills · ★ 2 · AI & Automation · score 75
Install: claude install-skill ichangyou/mf-ai-skills
# Visual Regression (shared engine) Screenshot diffing for an iOS app's top-level screens across languages and light/dark. This skill is the **shared engine**; each project supplies its own `VisualRegression/config.json` and a DEBUG-only in-app harness that renders one screen in isolation with seeded fixtures — no manual navigation, no network. Located project = `$VR_PROJECT` or the current working directory (must contain `VisualRegression/config.json`). ## Command (run from the project root) ```bash ~/.claude/skills/mufeng-ios-visual-regression/run.sh check # after a UI change ~/.claude/skills/mufeng-ios-visual-regression/run.sh baseline # accept current UI as truth ~/.claude/skills/mufeng-ios-visual-regression/run.sh open # reopen last report ~/.claude/skills/mufeng-ios-visual-regression/run.sh init # scaffold a NEW project ``` Add `--build` to `check`/`baseline` to force a clean `xcodebuild` first. `check` exits non-zero when any screen regresses past `diff_threshold_pct`. Per project, everything lives under `<project>/VisualRegression/`: - `config.json` — scheme, workspace, bundle_id, source_dir, screens, styles - `baselines/<lang>/<style>/<screen>.png` — committed source of truth - `current/`, `report/` — transient (gitignore them) ## Mandatory workflow after a UI change After you modify any UI code, BEFORE reporting "done": 1. Run `run.sh check` from the project root. 2. Open `VisualRegression/report/index.html`; read `summary.json`. Ever