Skip to main content
skill CX Codex

asc-screenshot-resize — Claude Code skill: what it does, install

This skill prepares screenshots for App Store Connect by finding current size rules, resizing files, and checking them before upload.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add rorkai/app-store-connect-cli-skills --skill asc-screenshot-resize -a claude-code
Open on GitHub

What asc-screenshot-resize does

The skill gets accepted dimensions from asc screenshots sizes --output table or asc screenshots sizes --all --output table. It then uses sips to inspect image metadata, remove alpha transparency, resize files into a separate output, and run asc screenshots validate on the result.

It can also clean hidden Unicode spaces from filenames with python3, convert images to sRGB when needed, and run an upload dry-run with asc screenshots upload --dry-run. The workflow needs macOS with sips, Python 3 for filename cleanup, and the asc CLI. Treat the size data from asc as authoritative because Apple’s requirements change. App Store Connect rejects screenshots with alpha transparency, so checking hasAlpha before upload is a practical safeguard.

What it helps with

  • find current App Store Connect screenshot dimensions
  • inspect PNG width, height, and metadata
  • remove alpha transparency from screenshots
  • resize a batch into a separate directory
  • validate files before uploading

Example prompts for the agent

  • Prepare the files in ./screenshots/iphone for IPHONE_65: find the accepted size with asc, resize them, and validate the output.
  • Check ./screenshots/ipad for IPAD_PRO_3GEN_129, including alpha transparency and color space.
  • Run a dry upload for the files in ./resized using asc screenshots upload --dry-run and localization LOC_ID.

How to install asc-screenshot-resize

1Skills CLI (Vercel)

npx skills add rorkai/app-store-connect-cli-skills --skill asc-screenshot-resize -a claude-code

2Manually: put the files in place

~/.claude/skills/asc-screenshot-resize/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/asc-screenshot-resize/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about asc-screenshot-resize

How do I install asc-screenshot-resize in Claude Code?

Run npx skills add rorkai/app-store-connect-cli-skills --skill asc-screenshot-resize -a claude-code, run the same command again, then check ~/.claude/skills/asc-screenshot-resize/SKILL.md.

What does asc-screenshot-resize do?

It reads current sizes from asc, processes screenshots with sips, and validates the output with asc screenshots validate before App Store Connect upload.

What should I check before uploading screenshots?

Check the accepted dimensions with asc screenshots sizes --all, confirm that the files have no alpha transparency, and run asc screenshots validate. Keep processed files separate from the originals.

Source text

SKILL.md · MIT
---
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:

```bash
asc screenshots sizes --output table
asc screenshots sizes --all --output table
```

For local validation before upload:

```bash
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:

```bash
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

```bash
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:

```bash
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:

```bash
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:

```bash
# Example: portrait IPHONE_65 1284 x 2778
sips -z 2778 1284 input.png --out output.png
```

Batch resize to a chosen target:

```bash
mkdir -p resized
for f in *.png; do
  sips -z 2778 1284 "$f" --out "resized/$f"
done
```

### 4. Validate outputs with asc

```bash
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

```bash
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:

```bash
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.

© rorkai · MIT · rorkai/app-store-connect-cli-skills

Similar skills

All skills for Browser and scraping →

From the same set24

asc-crash-triage Triages TestFlight crashes, beta feedback, and build performance metrics using the asc CLI to produce actionable iOS reports. CX Codex +1 6,400installs asc-aso-audit Runs an offline ASO audit on local App Store metadata in ./metadata, flagging wasted keyword space, bad separators, and missing fields. CX Codex +1 6,200installs asc-revenuecat-catalog-sync Reconciles App Store Connect subscriptions and in-app purchases with RevenueCat catalog resources. Use it before release or when the two catalogs have drifted apart. CX Codex +1 6,100installs asc-wall-submit Files or updates your app's Wall of Apps entry in the App-Store-Connect-CLI repo: a dry run first, then a confirmed submit with a PR plan. CX Codex +1 5,800installs asc-whats-new-writer Turn commits, bullet points, or a plain description into localized App Store release notes. Useful when preparing update copy across the locales already in your metadata. CX Codex +1 5,700installs asc-apple-ads A skill that teaches your agent to run Apple Ads through the asc CLI: campaigns, targeting, reports and recommendations. Useful once App Store ads are live. CX Codex +1 3,000installs asc-analytics-reports This skill pulls every segment of an App Store Connect analytics report through the asc CLI and checks each file against its size and MD5 before analysis. CX Codex +1 863installs asc-ad-hoc-distribution Builds and publishes private iOS ad hoc installs to S3-compatible storage for registered test devices without TestFlight. Works with .xcarchive packages and standalone IPAs. CX Codex +1 794installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor