mufeng-ios-visual-regressionlisted
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