Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Resize and validate App Store screenshots with current asc screenshot-size data and macOS sips. Use when preparing or fixing screenshots for App Store Connect submission.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -36% | 0% |
Use this skill to prepare screenshots for App Store Connect. Do not rely on a hard-coded dimension table in this skill; the CLI owns the current size matrix.
Always discover current accepted sizes from asc first:
bashasc screenshots sizes --output table asc screenshots sizes --all --output table
For local validation before upload:
bashasc screenshots validate --path "./screenshots/iphone" --device-type "IPHONE_65" --output table asc screenshots validate --path "./screenshots/ipad" --device-type "IPAD_PRO_3GEN_129" --output table
Common current device-type anchors:
IPHONE_65 for the common 6.5-inch iPhone screenshot set.IPAD_PRO_3GEN_129 for the common 12.9/13-inch iPad screenshot set.Run asc screenshots sizes --all when targeting other display types such as 6.9-inch iPhone, Apple TV, Mac, Vision Pro, iMessage, or Watch.
macOS screenshots can contain hidden Unicode spaces that make tools fail with "not a valid file". Sanitize before batch work:
bashpython3 -c " import os for f in os.listdir('.'): clean = f.replace('\u202f', ' ') if f != clean: os.rename(f, clean) print(f'Renamed: {clean}') "
bashsips -g pixelWidth -g pixelHeight screenshot.png sips -g hasAlpha -g space screenshot.png
App Store Connect rejects screenshots with alpha transparency. Strip alpha by round-tripping through JPEG:
bashsips -s format jpeg input.png --out /tmp/asc-screenshot-no-alpha.jpg sips -s format png /tmp/asc-screenshot-no-alpha.jpg --out output.png rm /tmp/asc-screenshot-no-alpha.jpg
Batch-strip alpha from PNGs:
bashfor f in *.png; do if sips -g hasAlpha "$f" | grep -q "yes"; then sips -s format jpeg "$f" --out /tmp/asc-screenshot-no-alpha.jpg sips -s format png /tmp/asc-screenshot-no-alpha.jpg --out "$f" rm /tmp/asc-screenshot-no-alpha.jpg echo "Stripped alpha: $f" fi done
Pick a width and height from asc screenshots sizes --all. sips -z takes height first, then width:
bash# Example: portrait IPHONE_65 1284 x 2778 sips -z 2778 1284 input.png --out output.png
Batch resize to a chosen target:
bashmkdir -p resized for f in *.png; do sips -z 2778 1284 "$f" --out "resized/$f" done
bashsips -g pixelWidth -g pixelHeight -g hasAlpha resized/*.png asc screenshots validate --path "./resized" --device-type "IPHONE_65" --output table
bashasc screenshots upload --version-localization "LOC_ID" --path "./resized" --device-type "IPHONE_65" --dry-run --output table asc screenshots upload --version-localization "LOC_ID" --path "./resized" --device-type "IPHONE_65"
asc screenshots sizes --all as authoritative; Apple size requirements change.bashsips -m "/System/Library/ColorSync/Profiles/sRGB IEC61966-2.1.icc" input.png --out output.png
asc screenshots validate over visual inspection before upload.Other measured skills in the registry, with their headline benchmark lift.