What problem does it solve? Squads in the app show empty avatar placeholders when official player photos are missing, and manually sourcing, resizing, and registering hundreds of player images is slow and error-prone. ## Core Features & Use Cases - Gap Reporting: Runs npm run ucl:report to generate docs/missing-assets.md, listing which clubs have the most missing player photos. - Official Photo Download: Fetches player images directly from the official UEFA CDN and optimizes them with Sharp into 300px WebP files at quality 80. - Manifest Regeneration: Automatically rebuilds src/data/player-photos.ts so the <squads-view> component picks up new photos, validated by a strict TypeScript build. - Use Case: A user notices Real Madrid players show initials instead of photos, runs the report, downloads photos for the club with one command, and verifies the result with a production build. ## Quick Start Ask the assistant to check which Champions League clubs are missing player photos and download the photos for a specific club such as RMA.