asc-app-previews

Manage App Store app preview video sets and uploads using the `asc` CLI tool. Use this skill when: (1) Listing preview sets for a localization: "asc app-preview-sets list --localization-id ID" (2) Creating a preview set: "asc app-preview-sets create --localization-id ID --preview-type IPHONE_67" (3) Listing previews in a set: "asc app-previews list --set-id ID" (4) Uploading a preview video: "asc app-previews upload --set-id ID --file preview.mp4" (5) User says "upload app preview", "add preview video", "create preview set", or "list previews"

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "asc-app-previews" with this command: npx skills add tddworks/asc-cli-skills/tddworks-asc-cli-skills-asc-app-previews

asc App Previews

Manage App Store preview video sets and video uploads via the asc CLI.

Commands

List preview sets for a localization

asc app-preview-sets list --localization-id <LOCALIZATION_ID>

Create a preview set

asc app-preview-sets create \
  --localization-id <LOCALIZATION_ID> \
  --preview-type <PREVIEW_TYPE>

--preview-type raw values have no APP_ prefix — unlike screenshot display types. Common values: IPHONE_67, IPHONE_65, IPAD_PRO_3GEN_129, APPLE_TV, APPLE_VISION_PRO, DESKTOP.

See preview-types.md for all valid values grouped by device.

List previews in a set

asc app-previews list --set-id <SET_ID>

Upload a preview video

asc app-previews upload \
  --set-id <SET_ID> \
  --file path/to/preview.mp4 \
  [--preview-frame-time-code 00:00:05]
  • Accepted formats: .mp4, .mov, .m4v
  • --preview-frame-time-code sets the poster frame shown in the App Store
  • Upload is a 3-step API flow: POST reserve → PUT chunks → PATCH MD5 confirm

State Fields

AppPreview has two independent state fields (unlike screenshots which only have one):

FieldStatesMeaning
assetDeliveryStateAWAITING_UPLOAD, UPLOAD_COMPLETE, COMPLETE, FAILEDUpload progress
videoDeliveryStateAWAITING_UPLOAD, UPLOAD_COMPLETE, PROCESSING, COMPLETE, FAILEDVideo encoding

videoDeliveryState: "COMPLETE" = video ready. PROCESSING is unique to previews (absent on screenshots).

Nil fields are omitted from JSON output. mimeType values containing / are escaped as \/ by JSONEncoder (e.g. "video\/mp4").

CAEOAS Affordances

Every JSON response includes affordances with ready-to-run follow-up commands:

AppPreviewSet:

{
  "affordances": {
    "listPreviews":    "asc app-previews list     --set-id <SET_ID>",
    "listPreviewSets": "asc app-preview-sets list --localization-id <LOCALIZATION_ID>"
  }
}

AppPreview:

{
  "affordances": {
    "listPreviews": "asc app-previews list --set-id <SET_ID>"
  }
}

Typical Workflow

# 1. Find the localization ID
asc version-localizations list --version-id <VERSION_ID> --output table

# 2. Create a preview set for the target device
asc app-preview-sets create \
  --localization-id <LOCALIZATION_ID> \
  --preview-type IPHONE_67

# 3. Upload the video (copy --set-id from affordances in step 2)
asc app-previews upload \
  --set-id <SET_ID> \
  --file preview.mp4 \
  --preview-frame-time-code 00:00:05

# 4. Check processing state
asc app-previews list --set-id <SET_ID> --pretty

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

asc-app-shots

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

asc-beta-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

asc-reports

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

asc-performance

No summary provided by upstream source.

Repository SourceNeeds Review