asc-screenshot-resize
rorkai/app-store-connect-cli-skills
Resize and validate App Store screenshots using asc CLI and macOS sips.
What is asc-screenshot-resize?
Prepares screenshots for App Store Connect submission by resizing to current Apple-approved dimensions and validating format compliance. Use this when batch-processing screenshots for iOS, iPad, Apple TV, Mac, Vision Pro, or Watch app releases.
- Query current accepted screenshot dimensions from asc CLI instead of relying on hard-coded sizes
- Resize PNG/JPEG screenshots to target device types using macOS sips
- Strip alpha transparency from PNGs (required by App Store Connect)
- Validate resized screenshots against device-type specifications before upload
- Batch-process multiple screenshots with filename sanitization and color-space conversion
How to install asc-screenshot-resize
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-screenshot-resize- macOS with sips command-line tool installed
- asc CLI installed and configured
- Python 3 (for optional filename sanitization)
How to use asc-screenshot-resize
- 1.Run `asc screenshots sizes --all` to discover current accepted dimensions for your target devices
- 2.Sanitize filenames using the provided Python script to remove hidden Unicode spaces
- 3.Inspect current screenshot dimensions with `sips -g pixelWidth -g pixelHeight`
- 4.Strip alpha transparency from PNGs using the JPEG round-trip method if needed
- 5.Resize screenshots to target dimensions using `sips -z height width` and save to a separate directory
- 6.Validate resized screenshots with `asc screenshots validate --path ./resized --device-type DEVICE_TYPE`
- 7.Upload validated screenshots using `asc screenshots upload` with optional `--dry-run` first
Use cases
- Preparing a batch of iPhone 6.5-inch screenshots for App Store submission
- Converting iPad Pro screenshots to 12.9-inch standard dimensions
- Removing alpha transparency from PNG screenshots that fail validation
- Validating screenshot dimensions and format before uploading to App Store Connect
- Converting Display P3 color space to sRGB for App Store compliance
- iOS/macOS app developers preparing App Store releases
- QA teams validating screenshot assets before submission
- Developers managing multi-device screenshot sets (iPhone, iPad, Apple TV, Vision Pro)
asc-screenshot-resize FAQ
Apple's accepted screenshot sizes change over time. Always query `asc screenshots sizes --all` to get the current authoritative list rather than relying on outdated dimension tables.
Use the JPEG round-trip method: convert PNG to JPEG with `sips -s format jpeg`, then back to PNG. This strips the alpha channel that App Store Connect rejects.
IPHONE_65 for 6.5-inch iPhones and IPAD_PRO_3GEN_129 for 12.9/13-inch iPads are the most common anchors. Run `asc screenshots sizes --all` to see options for 6.9-inch iPhone, Apple TV, Mac, Vision Pro, iMessage, and Watch.
You can, but avoid stretching unless the user explicitly accepts the visual tradeoff. Always preserve originals by outputting to a separate directory.
sRGB is standard. If your screenshots use Display P3 or other color spaces, convert them using the ColorSync profile method shown in the guardrails section.
Full instructions (SKILL.md)
Source of truth, from rorkai/app-store-connect-cli-skills.
name: asc-screenshot-resize description: 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.
asc screenshot resize
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.
Source of truth
Always discover current accepted sizes from asc first:
asc screenshots sizes --output table
asc screenshots sizes --all --output table
For local validation before upload:
asc 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_65for the common 6.5-inch iPhone screenshot set.IPAD_PRO_3GEN_129for 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.
Workflow
1. Sanitize filenames
macOS screenshots can contain hidden Unicode spaces that make tools fail with "not a valid file". Sanitize before batch work:
python3 -c "
import os
for f in os.listdir('.'):
clean = f.replace('\u202f', ' ')
if f != clean:
os.rename(f, clean)
print(f'Renamed: {clean}')
"
2. Inspect dimensions and metadata
sips -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:
sips -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:
for 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
3. Resize only after choosing a target from asc
Pick a width and height from asc screenshots sizes --all. sips -z takes height first, then width:
# Example: portrait IPHONE_65 1284 x 2778
sips -z 2778 1284 input.png --out output.png
Batch resize to a chosen target:
mkdir -p resized
for f in *.png; do
sips -z 2778 1284 "$f" --out "resized/$f"
done
4. Validate outputs with asc
sips -g pixelWidth -g pixelHeight -g hasAlpha resized/*.png
asc screenshots validate --path "./resized" --device-type "IPHONE_65" --output table
5. Upload only after validation
asc 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"
Guardrails
- Treat
asc screenshots sizes --allas authoritative; Apple size requirements change. - Do not stretch screenshots across incompatible aspect ratios unless the user accepts the visual tradeoff.
- Always output to a separate file or directory to preserve originals.
- Screenshots must be PNG or JPEG and must not include alpha transparency.
- Convert Display P3 or other color spaces to sRGB when needed:
sips -m "/System/Library/ColorSync/Profiles/sRGB IEC61966-2.1.icc" input.png --out output.png
- Prefer
asc screenshots validateover visual inspection before upload.
Related skills
More from rorkai/app-store-connect-cli-skills and the wider catalog.

asc-shots-pipeline
Automate iOS screenshot capture, framing, and App Store upload with xcodebuild, AXe, and Koubou.

asc-signing-setup
Set up iOS/macOS signing certificates, provisioning profiles, and team-shared encrypted signing sync via App Store Connect CLI.

asc-submission-health
Diagnose App Store submission blockers and manage review health with readiness validation, repair routing, and status monitoring.

asc-subscription-localization
Bulk-localize subscriptions, subscription groups, and in-app purchases across App Store locales via asc CLI.

asc-testflight-orchestration
Orchestrate TestFlight beta distribution, groups, testers, and test notes via App Store Connect CLI.

asc-wall-submit
Submit or update Wall of Apps entries in App-Store-Connect-CLI via CLI flow.