app-store-publish

Installation
SKILL.md

Automate this: /mobile-release:ship-beta for the TestFlight leg, /mobile-release:ship-release for the production leg — the latter stops for explicit approval before submitting and before any rollout. Which steps need which credential: skills/release-automation/references/automation-matrix.md.

Take a signed .ipa that already exists and get it to testers and then to the store. This skill starts at the .ipa and ends at a version in review.

Producing the .ipa is not this skill. Certificates, provisioning profiles, xcodebuild archive / -exportArchive, ExportOptions.plist, match and gym belong to ios-build-sign. Do not re-derive signing here — if the artifact is unsigned, ad-hoc signed, or signed with a development identity, stop and hand back.

Confidence marks used throughout this skill and its references: [verified] — read off a primary vendor source on 2026-08-05. [snippet] — secondary source only, plausible but unconfirmed. [unverified] — not confirmed anywhere; run the check given before relying on it.

Publish process:

  1. Clear the prerequisites below. A missing app record or an unregistered bundle id fails late and with a misleading error.
  2. Pick one upload path and stay on it — 1. Upload paths, detail in references/upload-paths.md.
  3. Validate before uploading (--validate-app). It costs a minute and catches most ITMS errors before they burn a build number.
  4. Upload, then wait for Apple to finish processing. The build is not addressable by any other tool until processing completes.
  5. Distribute on TestFlight — 2. TestFlight, detail in references/testflight.md.
  6. Submit the version for review — 3. Submitting for review, endpoints in references/review-submission-api.md.
  7. On failure, diagnose with 4. Troubleshooting before re-uploading. A re-upload at the same build number cannot succeed, so a blind retry wastes a build number as well as the time.
Installs
2
First Seen
Oct 15, 2026