Asc release
Skill TopScrech/asc-release
Use the asc CLI to prepare and submit a new App Store Connect app version, including release requests, opening a new version, copying promotional text from the currently released version, applying changelogs, attaching a build number, or submitting an app version for App Review across one or more platforms and localizationsFrom its SKILL.md
npx -y skills add TopScrech/asc-releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.2 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it
asc release
Use this skill to prepare a new app version with asc, pause for the build number, then attach the build and submit for App Review
Core rules
- Use
asc --helpand subcommand--helpbefore relying on command syntax - Include all platforms unless the user explicitly excludes platforms
- Include all localizations unless the user explicitly narrows localizations
- Do not localize changelogs unless the user explicitly asks for localization
- Use the same provided changelog text across every included localization by default
- Stop after metadata updates and wait for the user to provide a build number in a later prompt
- Do not select a build or submit for review before the user provides the build number
- Prefer explicit app, version, platform, locale, version ID, and build selectors
- Preview remote writes with
--dry-runwhen supported - Some quick-edit commands do not support
--dry-run; validate after targeted writes when no dry run is available - Use
--output jsonfor parsing and--output tablefor user-facing checks - Use structured parsers such as
jqfor JSON output; do not parse table output - Keep user-facing summaries short: app, version, platform, state, validation, blockers, and next action
- Do not include app IDs or version IDs in normal user-facing summaries unless they are needed to disambiguate or debug a failure
- Do not show commit SHA or submission ID values in the user-facing overview
Inputs to resolve
Resolve these before changing App Store Connect:
- App ID or app name
- New version string
- Platforms to include
- Localizations to include
- Currently released version for each platform
- Changelog text provided by the user
- Whether changelogs should be localized
If the user has not supplied a changelog, ask for it before creating or updating version metadata
Phase 1: Prepare metadata
- Resolve the app and included platforms
- Use all platforms by default
- Exclude only platforms the user names
- Resolve platform-specific current released versions and target new versions
- If App Store Connect has no version history for a platform, report that and continue only with resolved App Store Connect platforms
- Common discovery commands:
asc apps list --bundle-id "BUNDLE_ID" --output json --pretty
asc versions list --app "APP_ID" --output table --paginate
asc versions list --app "APP_ID" --output json --pretty --paginate
rg "MARKETING_VERSION|PRODUCT_BUNDLE_IDENTIFIER" "*.xcodeproj/project.pbxproj"
-
Open the new version for every included platform
- Discover the current
ascversion-create command withasc versions --helpand related subcommand help - Create the new app-store version only when it does not already exist
- If the target version already exists, reuse its
VERSION_IDand continue with localization updates - Store every resolved target
VERSION_ID
- Discover the current
-
Resolve localizations for every included platform
- Use all existing localizations by default
- Narrow localizations only when the user asks
- Create missing target-version localizations when needed
- Inspect source and target localizations before copying fields:
asc localizations list --version "VERSION_ID" --output json --pretty
asc localizations list --version "VERSION_ID" --output table
-
Copy promotional text from the currently released version
- For each included platform and locale, read the released version localization
- Copy only the promotional text from the released version to the target new version
- Do not copy unrelated version metadata unless needed by
ascto preserve existing values - Track the promotional text copied for each locale so it can be reported in the Phase 1 summary
-
Add changelog text to the new version
- Set
whatsNewor the currentascequivalent on every included target-version localization - Use the exact changelog text provided by the user across all included localizations
- Localize changelogs only when the user explicitly requests localization
- Set
-
Validate and apply
- Prefer the canonical metadata workflow when practical:
asc metadata pull --app "APP_ID" --version "NEW_VERSION" --platform PLATFORM --dir "./metadata"
asc metadata validate --dir "./metadata" --output table
asc metadata push --app "APP_ID" --version "NEW_VERSION" --platform PLATFORM --dir "./metadata" --dry-run --output table
asc metadata push --app "APP_ID" --version "NEW_VERSION" --platform PLATFORM --dir "./metadata"
- For small targeted edits, use the current quick-edit command discovered with
asc localizations update --help,asc versions update --help, or related help - Version-localization quick edits commonly look like this:
asc localizations update --version "VERSION_ID" --locale "LOCALE" --promotional-text "PROMOTIONAL_TEXT" --whats-new "CHANGELOG_TEXT" --output table
- After quick edits, pull remote metadata to a temporary directory and validate the current App Store Connect state:
TMP_DIR="$(mktemp -d)"
asc metadata pull --app "APP_ID" --version "NEW_VERSION" --platform PLATFORM --dir "$TMP_DIR" --force --output table
asc metadata validate --dir "$TMP_DIR" --output table
- Always validate after editing and before submission
-
Stop
- Report the prepared app, version, platforms, localizations, validation state, and next action
- Include a compact table of promotional text by locale for each prepared platform
- Do not include app IDs or version IDs in the summary unless there is an ambiguity or blocker that requires them
- If the user has not provided a build number yet, also report the latest Xcode Cloud build number and commit message
- Ask the user for the build number
- End the turn without attaching a build or submitting for review
Discover the latest Xcode Cloud build with:
asc xcode-cloud --help
asc xcode-cloud workflows --help
asc xcode-cloud build-runs --help
asc xcode-cloud workflows list --app "APP_ID" --output json --pretty
asc xcode-cloud build-runs list --workflow-id "WORKFLOW_ID" --sort "-number" --limit 1 --output json --pretty
Report attributes.number, attributes.executionProgress, and attributes.sourceCommit.message for the latest run
Phase 2: Attach build and submit
Use this phase only when the user has provided the build number after Phase 1 If the previous Phase 1 summary reported a latest successful Xcode Cloud build, treat a follow-up such as "go on", "continue", or "use latest" as permission to use that build number
- Resolve the build for each relevant platform
- Match the user-provided build number to the included platforms
- Resolve the user-provided build number to a unique build ID before submitting
- Confirm each build is processed and eligible for App Store release
- If more than one build matches a platform, disambiguate before submitting
- Discover current build command syntax before relying on it:
asc builds --help
asc builds list --help
- Inspect the matching build with:
asc builds list --app "APP_ID" --version "NEW_VERSION" --build-number "BUILD_NUMBER" --platform PLATFORM --output json --pretty --paginate
asc builds list --app "APP_ID" --version "NEW_VERSION" --build-number "BUILD_NUMBER" --platform PLATFORM --output table --paginate
- Select the build for release
- Attach the resolved build to each target version
- Run
asc review doctorbefore submitting to check for blockers - Prefer
asc review submitwhen it covers the flow:
asc review --help
asc review submit --help
asc review doctor --app "APP_ID" --output table
asc review submit --app "APP_ID" --version-id "VERSION_ID" --build "BUILD_ID" --platform PLATFORM --dry-run --output table
asc review submit --app "APP_ID" --version-id "VERSION_ID" --build "BUILD_ID" --platform PLATFORM --confirm --output table
- Use
--version-id "VERSION_ID"instead of--versionwhen that is more deterministic
- Submit for App Review
- Submit every included platform version after the dry run is clean
- Capture submission IDs internally and review status
- Report submitted platforms, selected builds, and review status without showing submission IDs in the overview
- Verify the final state with:
asc versions list --app "APP_ID" --version "NEW_VERSION" --platform PLATFORM --output table
asc versions view --version-id "VERSION_ID" --include-build --include-submission --output table
asc review submissions-get --id "SUBMISSION_ID" --output table
asc review status --app "APP_ID" --output table
Fallbacks
- If the public API does not support a required release step, identify whether an
asc web ...command exists and say that it is an experimental web-session fallback before using it - If no CLI path exists for a required App Store Connect action, stop and give the exact manual step needed
- If validation reports blockers, fix API-addressable metadata issues, then re-run validation before continuing
What ships with it: 4 files
1.5 KB alongside SKILL.md
agents/
- openai.yaml279 B
- .gitattributes66 B
- LICENSE1.0 KB
- README.md174 B
Gives 0 of the 12 instructions most ship operate skills give in ~2.0k tokens
Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-07
- Document a rollback plan before deploymentin 41 of 779, across 22 files
- Update the changelogin 21 of 779, across 19 files
- Run the test suitein 20 of 779
- Create an annotated git tagin 20 of 779
- Clean up feature flags after full rolloutin 18 of 779, across 10 files
- Verify deployment health after launchin 18 of 779, across 10 files
- Test both feature flag statesin 17 of 779, across 9 files
- Verify the working tree is cleanin 17 of 779
- Make database migrations backward-compatiblein 16 of 779, across 8 files
- Set up error monitoring before launchin 15 of 779, across 7 files
- Monitor metrics at each rollout stagein 14 of 779, across 5 files
- Create a GitHub releasein 14 of 779
Said here and by no other author read
- check command help before relying on syntax
- include all platforms and localizations by default
- stop after metadata updates and wait for build number
- preview remote writes with dry runs
- use json output for parsing
- keep user-facing summaries short
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.