swiftship/internal/skills/data/features/asc-publish/SKILL.md
App Store publishing workflow with readiness checks, metadata preview, and submission. Use when publishing to the App Store, submitting to TestFlight, or managing App Store metadata.
npx skillsauth add abdullah4ai/apple-dev-docs asc-publishInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Starting April 28, 2026, all apps submitted to the App Store must be built with the iOS 26 SDK. Ensure the project targets iOS 26 SDK before submission.
The automated pipeline handles both TestFlight and App Store targets based on user intent.
When no Xcode GUI is available, use xcodebuild commands directly for archive and export operations.
For ANY operation that writes to App Store Connect, follow these steps in order. For read-only operations (list_apps, get_app_status, list_builds, check_auth, list_certificates, list_profiles, list_bundle_ids, validate_version), proceed directly.
Call read-only tools to check current state:
get_app_status for release pipeline statevalidate_version for what's complete vs missinglist_builds for available builds and processing statusShow a checklist using these markers:
[checkmark] App registered in ASC
[checkmark] Bundle ID: com.example.app
[checkmark] Build 1.0 (42) -- processed, ready
[x] Screenshots -- missing for iPhone 6.7"
[x] Description -- not set
[checkmark] Age rating -- set
For items the user must fix outside ASC tools, provide the exact URL:
Show a formatted preview of everything that will be pushed:
APP STORE SUBMISSION PREVIEW
App Name: WeatherApp
Bundle ID: com.janedoe.weatherapp
Version: 1.0
Build: 42
Platform: iOS
Description: [AI-generated]
"A beautiful weather app..."
Keywords: [AI-generated]
weather, forecast, rain, temperature
What's New: [AI-generated]
"Initial release"
Age Rating: 4+
Localizations: English (primary)
Mark ALL AI-generated values with [AI-generated]. Ask: "Does everything look correct? Type 'yes' to proceed, or tell me what to change."
If the user wants changes, update the values and re-show the full preview. Repeat until confirmed.
Only after explicit "yes":
set_metadata -- push metadataset_age_rating -- set ratingvalidate_version -- final readiness checksubmit_for_review -- with one last confirmationCRITICAL: Even if the user says "just do it" or "skip the preview", you MUST show the preview. It is the user's last chance to catch errors before submission.
These cannot be automated and require user action:
When any of these are missing, tell the user exactly what to do and provide the URL.
When localizations are configured:
testing
Use for 3D games: racing, 3D sports, board games, marble maze, tower defense, bowling. SceneKit + SceneView architecture, 3D scene hierarchy, physics, game loop, primitives, materials, cameras, particles, audio.
documentation
Game UI patterns: SwiftUI HUD overlays on SpriteKit, menus (main/pause/game-over), virtual joystick/d-pad, score displays, health bars, tutorial onboarding.
tools
Download free game sprites/textures/3D models and generate procedural assets. Covers nw_download_asset tool, texture factories, sprite atlas organization, 3D model loading, and programmatic asset creation.
testing
Use for 2D games: arcade, puzzle, sports, ping pong, platformer, shooter, 2D racing. SpriteKit + SpriteView architecture, scene hierarchy, physics, game loop, audio, particles, game feel.