android-screenshot-baseline-verifylisted
Install: claude install-skill damson/hard-won-skills
# Verify Android screenshot baselines
**A screenshot run that compares nothing reports success.** Run the plain unit-test
task instead of the verify task and the capture calls become no-ops: tests pass, zero
images are compared, and a refactor that changed every pixel ships clean. Green is not
the evidence — *comparisons performed* is.
## Procedure
### 1. Find the verify task — not the test task
```bash
./gradlew :<module>:tasks --all | grep -i "screenshot\|roborazzi\|paparazzi"
```
| Framework | Verify task | Not this |
|---|---|---|
| Roborazzi | `verifyRoborazzi<Variant>` | `test<Variant>UnitTest` |
| Paparazzi | `verifyPaparazzi<Variant>` | `test<Variant>UnitTest` |
| AGP preview screenshots | `validate<Variant>ScreenshotTest` | `<variant>ScreenshotTest` compile task |
The right-hand column runs the same test class and asserts nothing about pixels.
Where the variant sits differs by framework — last for Roborazzi and Paparazzi (`verifyRoborazziDebug`), in the middle for AGP (`validateDebugScreenshotTest`). Take the names from the command above; the table is the shape to look for, not the answer.
### 2. Confirm baselines exist first
```bash
BASE=$(find <module-dir> -type d \( -name screenshots -o -name snapshots -o -name reference \))
[ -n "$BASE" ] && echo "$BASE" | xargs -I{} find {} -name '*.png' | wc -l || echo "no baseline directory"
```
Search from the module under test, not the repo root — in a multi-module repo
a root-wide search finds *some* module's base