app-shots
Take screenshots of the Kaeri apps and run UI checks safely - Apple and Android shots scripts, scenes and fixture ids, emulator and Simulator rules, and click tests. Use when capturing screens, compar
SKILL.md.claude/skills/app-shots/SKILL.md
GitHubApp screenshots and UI checks
Apple
caffeinate -u apple/scripts/shots.sh <mac|iphone|ipad> [--landscape] [shot…]
- A shot is a scene and optionally a screen:
watching(default),fresh,sourceless, then:calendar,:seasonal,:search,:library,:downloads,:providers,:pluginStores,:settings, ortitle=<id>,query=<words>, joined with+(pane=,sheet=,showcase=,watched=<id>:<episodes>). Player states:player-playing,player-skip,player-up-next,player-picture-in-pictureand so on. Read the script's header for all. - Output goes to
apple/.shots/(git ignores it). Mac shots come out white while the display sleeps, hencecaffeinate -u.--landscapeand a clean 9:41 status bar are built in for iPad. KAERI_SIMULATORpicks the Simulator. Create your own and delete it after; never shut down others' (nosimctl shutdown all).
Android
android/scripts/shots.sh <phone|phone-37|tablet|fold> [shot…]
Same shot syntax: watching, fresh, or app (real AniList), then :calendar, :seasonal,
title=<id> and so on. Roborazzi JVM shots (:ui tests) cover most boards without an emulator.
Fixture ids
Made-up titles only: 900001–900006 (the base fixtures), 920001–920014 (a 12-season franchise with a film and an OVA). Never real shows.
Rules
- Only the Fixtures app or a re-identified copy runs. Never launch
app.kaeri.app; never post real notifications on the Mac. - One emulator at a time, your own AVD name and port, selected by
-avd/-portin any script (includingtaskpolicy -bthrottling for phone-speed timing). Stop it when done. - Anything that moves the pointer on the maintainer's Mac needs their go-ahead, must act only when our window is in front, and must restore their windows. The Mac player XCUITest runs in CI only.
- Measure frames on release-like builds (R8, not debuggable); debug builds mislead.