Skip to content
Deployment
Skill

/asc-in-app-events

Create and localize App Store in-app events, upload event media, and submit or recover event review submissions with asc. Use when managing in-app events, event card or details page assets, or event-specific submission errors.

BOOST
From plugin
rorkai-app-store-connect-cli-skills
1.1k26 skills
Install
$ npx -y skills add rorkai/app-store-connect-cli-skills --skill asc-in-app-events --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/asc-in-app-events

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create and localize App Store in-app events, upload event media, and submit or recover event review submissions with asc. Use when managing in-app events, event card or details page assets, or event-specific submission errors.

SKILL.md

asc-in-app-events.SKILL.md
name: asc-in-app-events
description: Create and localize App Store in-app events, upload event media, and submit or recover event review submissions with asc. Use when managing in-app events, event card or details page assets, or event-specific submission errors.

asc in-app events

Use `asc app-events` for the requested stages only. A localization, media upload, or diagnostic request does not authorize creating or submitting another event. Preserve the resolved app, event, platform, locales, and existing authorization.

Inspect the target

Check `asc app-events --help` and the relevant subcommand help before execution. Resolve the app ID and auth profile; inspect an existing event before changing it:

asc app-events list --app "APP_ID" --paginate --output json
asc app-events view --event-id "EVENT_ID" --output json
asc app-events localizations list --event-id "EVENT_ID" --paginate --output json

Use explicit `--output json` when parsing results; output defaults are TTY-aware. Keep event IDs and localization IDs distinct.

Prepare and create

  • Choose the event badge and intended territories. Check help for accepted

`--event-type`, `--purpose`, and `--purchase-requirement` values; do not infer that every value described in App Store Connect is supported by the CLI.

  • Set future RFC 3339 dates: start before end, duration from 15 minutes to 31 days,

and publish start no more than 14 days before the event and no later than start. The CLI parses timestamps but does not enforce all of Apple's schedule rules.

  • Provide a deep link that opens the event's destination. Test the universal link

or custom URL scheme in the intended app build; a registered scheme alone does not prove the destination works. Creation without a deep link can succeed even though the event is not ready for review.

Replace the date variables with the agreed schedule before creating:

asc app-events create \
  --app "APP_ID" --name "Summer Challenge" --event-type CHALLENGE \
  --start "$START_RFC3339" --end "$END_RFC3339" \
  --publish-start "$PUBLISH_START_RFC3339" \
  --deep-link "myapp://event/summer" --primary-locale en-US \
  --purchase-requirement NO_COST_ASSOCIATED \
  --priority NORMAL --purpose APPROPRIATE_FOR_ALL_USERS --output json

`--name` is the internal reference name, limited to 64 characters. Retain the returned event ID. For an existing event, use `asc app-events update` instead of creating a replacement; check its help for the fields being changed.

Localize and upload media

Create only missing, requested localizations. Displayed names allow 30 characters, short descriptions 50, and long descriptions 120. Use `asc app-events localizations update --localization-id "LOC_ID"` for an existing localization, supplying the text flags that need changing.

asc app-events localizations create \
  --event-id "EVENT_ID" --locale en-US --name "Summer Challenge" \
  --short-description "Win three duels a day." \
  --long-description "Play every day during the challenge to earn the summer badge."

asc app-events screenshots create \
  --event-id "EVENT_ID" --locale en-US \
  --path "./event-card.png" --asset-type EVENT_CARD
asc app-events screenshots create \
  --event-id "EVENT_ID" --locale en-US \
  --path "./event-details.png" --asset-type EVENT_DETAILS_PAGE

Use `--localization-id "LOC_ID"` instead of `--event-id` plus `--locale` when the localization is already resolved. Video uploads use `asc app-events video-clips create`; inspect its help for asset types and `--preview-frame-time-code`.

To reuse existing Asset Library media, use `asc app-events localizations placements` with the event localization ID and `EVENT_CARD_ASSET` or `EVENT_DETAILS_PAGE_ASSET`. Follow the [Asset Library workflow](../asc-metadata-sync/references/asset-library.md) for upload, delivery, and placement checks; a placement does not submit the event.

Use JPG/JPEG/PNG images, at most 500 MB each. Export opaque images without alpha channels for upload compatibility. Apple specifies these dimensions:

| Asset | Aspect ratio | Minimum | Maximum | | --- | --- | --- | --- | | `EVENT_CARD` | 16:9 | 1920 × 1080 | 3840 × 2160 | | `EVENT_DETAILS_PAGE` | 9:16 | 1080 × 1920 | 2160 × 3840 |

Avoid embedded text or logos where possible. Account for crops, gradients, and App Store controls; inspect the App Store Connect preview when available rather than assuming a fixed percentage of the image is safe. Verify media for each intended localization; do not assume a locale with translated text inherits missing assets from the primary locale. See Apple's [media specifications](https://developer.apple.com/help/app-store-connect/reference/in-app-events/in-app-event-media-and-audio-specifications/) and [presentation guidance](https://developer.apple.com/app-store/in-app-events/).

Verify and submit

Read back the schedule, deep link, localized text, and delivered media. Inspect video clips too when used. Report any preview or link behavior not verified.

asc app-events view --event-id "EVENT_ID" --output json
asc app-events screenshots list --event-id "EVENT_ID" --locale en-US --paginate --output json

For an app with an approved iOS version, when submission is authorized and no existing submission needs to be continued:

asc app-events submit --event-id "EVENT_ID" --app "APP_ID" --platform IOS --confirm --output json
asc review submissions-get --id "SUBMISSION_ID" --output json

Use the `submissionId` from the receipt for the second command. Report the state returned by Apple; a successful submit receipt is not evidence of approval or publication. If the app has no approved iOS version, Apple requires the event in the first version's submission. Use `asc-release-flow` to prepare that version, then add the event to its intended draft with `review items-add` as shown below; skip the standalone `app-events submit` command. Coordinate the build and event release when ne

Read more
Ships withrorkai-app-store-connect-cli-skills

A collection of Agent Skills for shipping with the asc cli (asc). These skills help agents run builds, TestFlight, metadata, submissions, signing, and Apple Ads workflows. This is a community-maintained, unofficial skill pack and is not affiliated with Apple.

Get the whole plugin
Stats
1,075
Stars
64
Forks
Active
Maintenance
Python
Language
MIT
License
2d ago
Last commit
8mo ago
Created

Repo: rorkai/app-store-connect-cli-skills