Add a screenshots skill for the app store images#119
Merged
Conversation
Captures how the four shipped screenshots in appinfo/screens/ are produced, so the next refresh does not start from scratch. The seeding script writes the choir demo data (10 appointments, ~110 responses) straight into the DB instead of clicking through the UI as eleven users. Times are relative to the instance clock, so one appointment is always running and the live check-in button stays reachable. It is limited to the reserved ID range 101-199 and is idempotent. It also sets up what silently spoils the shots otherwise: display names (the dev users have none), whitelisted_groups plus a Conductor group (members of missing groups collapse into an "Others" row), and lang=en *with* locale=en_GB (lang alone leaves the dates German). SKILL.md documents the sizing lever — keep viewport x deviceScaleFactor at 1952x1344 and trade one against the other to fit content — plus measuring element heights instead of guessing, the hover and check-in-button pitfalls, and that replacing an image only needs a merge to main while adding an entry needs a release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
.claude/skills/screenshots/so refreshing the four shipped screenshots inappinfo/screens/is repeatable instead of guesswork.What's in it
scripts/seed_demo_data.py— writes the choir demo data (10 appointments, ~110 responses) straight intooc_att_appointments/oc_att_responses. Going through SQL rather than the UI is the point: it produces "everyone has answered" states without logging in as eleven users.config.php.user1),whitelisted_groupsplus aConductorgroup (members of groups missing from the whitelist collapse into an "Others" row that reads like a data bug), andlang=enwithlocale=en_GB(langalone leaves dates German inside an English UI).SKILL.md— the parts that are judgement, not automation:viewport x deviceScaleFactorat 1952x1344 (the size of the existing set) and trade one against the other to fit more content. Includes working start values per screenshot.info.xmlrules that actually bite: the element order is a schema-enforced sequence (screenshotgoes afterrepository), and replacing an image only needs a merge to main while adding an entry needs a release, because the URLs point atrefs/heads/mainbut the entries are release metadata.Verification
seed_demo_data.py --dry-runand a full run both exercised againstmaster-stable34-1; verified via the app's own API that the response summary showsConductor / Sopran / Alt / Tenor / Basswith no "Others", and that check-in states come out 4 attended / 1 absent / 6 pending with all three visible in the first five rows.name+descriptiononly); script mode100755like the others.main; no app code touched, soappinfo/**is unchanged and the backend suite is unaffected.🤖 Generated with Claude Code