ios-release

Orchestrates tagged iOS builds from archive to App Store Connect upload via Xcode tools.

Updated Apr 28, 2026
One-click install
npx skills add https://github.com/ChazzCoin/claude-kit --skill ios-release-chazzcoin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-release
Source: https://github.com/ChazzCoin/claude-kit/tree/main/kit/skills/ios-release
Command: npx skills add https://github.com/ChazzCoin/claude-kit --skill ios-release-chazzcoin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

End-to-end release orchestration for iOS projects: it coordinates the archive, export, validation, and upload steps to App Store Connect, ensuring releases occur only from clean, tagged main commits and reducing manual overhead.

Core Features & Use Cases

  • End-to-end iOS release orchestration: xcodebuild archive → xcodebuild -exportArchive → xcrun altool --validate-app → xcrun altool --upload-app, with optional project wrappers.
  • Pre-flight gates: enforce a clean working tree, require an annotated vMAJOR.MINOR.PATCH-BUILD tag that matches source version numbers, and ensure necessary release configs exist.
  • Scaffolding and integration: scaffolds missing release configuration (CLAUDE.md guidance, scripts/.release.env, ExportOptions.plist) and surfaces artifacts/logs for auditing.
  • Safe, explicit deployment: prompts for explicit confirmation before running the release steps and provides a completion log with artifact locations.

Quick Start

Invoke the skill with the desired tag on the main branch and confirm the prompts to begin shipping an iOS build.

Frequently Asked Questions about ios-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate an iOS app release to App Store Connect from a tagged commit?

To ship iOS builds to App Store Connect, you must run xcodebuild archive, export the archive, validate it, and upload it. This workflow enforces a clean main branch with a matching annotated tag, scaffolding missing release configurations like ExportOptions.plist before prompting for explicit confirmation.

What is needed to validate and upload an iOS archive using xcrun altool?

Validating and uploading an iOS archive with xcrun altool requires an ExportOptions.plist file and an App Store Connect API key. The process enforces pre-flight gates to ensure a clean working tree and an annotated vMAJOR.MINOR.PATCH-BUILD tag matching your source version numbers before executing the upload.

Can I deploy my iOS app to TestFlight if my git working tree is not clean?

Deploying an iOS app to TestFlight requires a clean git working tree as a strict pre-flight gate. The release workflow enforces this condition along with an annotated tag on the main branch, ensuring releases only occur from clean, tagged main commits to reduce manual overhead and risk.

How does scaffolding work for missing iOS release configuration files?

Scaffolding for missing iOS release configuration automatically generates necessary files like CLAUDE.md guidance, scripts/.release.env, and ExportOptions.plist. This provides the required environment setup and App Store Connect API key references for xcodebuild export and xcrun altool upload steps to proceed successfully.

What are the limitations of automating App Store Connect uploads with xcodebuild?

Automating App Store Connect uploads with xcodebuild is limited to tagged main-branch iOS projects and requires explicit confirmation before running release steps. It enforces strict vMAJOR.MINOR.PATCH-BUILD tag formats and blocks deployment if the working tree is unclean or release config is missing.

Why does my iOS release workflow require an annotated tag matching the source version?

An iOS release workflow requires an annotated vMAJOR.MINOR.PATCH-BUILD tag matching the source version to enforce safe, explicit deployment. This pre-flight gate ensures releases occur only from clean, tagged main commits, coordinating archive, export, validation, and upload steps to App Store Connect accurately.