PluginBench
Skill
Pass
Audit score 90

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
Prerequisites
  • macOS with sips command-line tool installed
  • asc CLI installed and configured
  • Python 3 (for optional filename sanitization)
Claude Code
Cursor
Windsurf
Cline

How to use asc-screenshot-resize

  1. 1.Run `asc screenshots sizes --all` to discover current accepted dimensions for your target devices
  2. 2.Sanitize filenames using the provided Python script to remove hidden Unicode spaces
  3. 3.Inspect current screenshot dimensions with `sips -g pixelWidth -g pixelHeight`
  4. 4.Strip alpha transparency from PNGs using the JPEG round-trip method if needed
  5. 5.Resize screenshots to target dimensions using `sips -z height width` and save to a separate directory
  6. 6.Validate resized screenshots with `asc screenshots validate --path ./resized --device-type DEVICE_TYPE`
  7. 7.Upload validated screenshots using `asc screenshots upload` with optional `--dry-run` first

Use cases

Good for
  • 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
Who it's for
  • 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

Why shouldn't I hard-code screenshot dimensions?

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.

How do I remove alpha transparency from screenshots?

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.

What device types are most common?

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.

Can I resize screenshots across different aspect ratios?

You can, but avoid stretching unless the user explicitly accepts the visual tradeoff. Always preserve originals by outputting to a separate directory.

What color spaces does App Store Connect accept?

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_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.

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 --all as 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 validate over visual inspection before upload.