app-store-deployment · secondsky — Claude Code skill: setup & overview
Provides build scripts, checklists, and CI/CD pipelines to publish mobile apps to the iOS App Store and Google Play. Helps automate code signing and release packaging.
npx skills add secondsky/claude-skills --skill app-store-deployment -a claude-codeWhat app-store-deployment does
The skill provides build commands and CI/CD workflows for mobile releases. For iOS, it covers archive generation and IPA export using xcodebuild, followed by upload to App Store Connect via xcrun altool. Android builds rely on keytool for RSA 2048-bit keystores, ./gradlew bundleRelease, and release credentials configured in gradle.properties.
The skill provides a GitHub Actions workflow triggered on v* tags. iOS jobs run on macos-latest runners, while Android builds execute on ubuntu-latest and publish through r0adkll/upload-google-play@v1. Without repository secrets for APPLE_ID and APP_SPECIFIC_PASSWORD, the App Store Connect upload fails immediately.
The skill also defines a pre-deployment checklist. Requirements include test coverage above 80%, verified privacy URLs, and store listing screenshots. A JSON structure keeps cross-platform versioning aligned between iOS buildNumber and Android versionCode.
What it helps with
- Build and export iOS IPA packages with
xcodebuild - Generate Android release keystores using
keytool - Set up GitHub Actions workflows for App Store and Google Play deployments
- Keep iOS
buildNumberand AndroidversionCodeversions synchronized - Verify release readiness against a store submission checklist
Example prompts for the agent
- Help me set up a GitHub Actions workflow to deploy
v*tags to App Store and Google Play - Show me how to archive and export an iOS IPA using
xcodebuildandExportOptions.plist - Walk through the mobile pre-deployment checklist before submitting this build
How to install app-store-deployment
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill app-store-deployment -a claude-code2Manually: put the files in place
~/.claude/skills/app-store-deployment/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/app-store-deployment/
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill app-store-deployment -a codex2Manually: put the files in place
.agents/skills/app-store-deployment/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill app-store-deployment -a cursor2Manually: put the files in place
.cursor/skills/app-store-deployment/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills app-store-deployment2Manually: put the files in place
.github/skills/app-store-deployment/SKILL.md1Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill app-store-deployment -a gemini-cli2Platform CLI
gemini skills install https://github.com/secondsky/claude-skills --path plugins/app-store-deployment/skills/app-store-deploymentManually: put the files in place
.devin/skills/app-store-deployment/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill app-store-deployment -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about app-store-deployment
How to install app-store-deployment in Claude Code?
Run npx skills add secondsky/claude-skills --skill app-store-deployment -a claude-code.
What does the app-store-deployment skill do?
It guides developers through building, signing, and releasing mobile apps to both the iOS App Store and Google Play. It provides setup snippets for xcodebuild, Gradle properties, GitHub Actions CI/CD workflows, and release checklists.
Which secrets are required for automated iOS App Store uploads?
The workflow requires APPLE_ID and APP_SPECIFIC_PASSWORD stored as repository secrets. The xcrun altool command uses them to authenticate with App Store Connect.
Source text
SKILL.md · MIT
---
name: app-store-deployment
description: Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation. Use when preparing app releases, configuring signing certificates, or setting up automated deployment pipelines.
license: MIT
---
# App Store Deployment
Publish mobile applications to iOS App Store and Google Play with proper procedures.
## iOS Deployment
### Build and Archive
```bash
# Build archive
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
# Export IPA
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/
```
### Upload to App Store Connect
```bash
xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"
```
## Android Deployment
### Build Release APK/Bundle
```bash
# Generate keystore (once)
keytool -genkey -v -keystore release.keystore \
-alias app -keyalg RSA -keysize 2048 -validity 10000
# Build release bundle
./gradlew bundleRelease
```
### gradle.properties
```properties
RELEASE_STORE_FILE=release.keystore
RELEASE_KEY_ALIAS=app
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_PASSWORD=****
```
## Version Management
```json
{
"version": "1.2.3",
"ios": { "buildNumber": "45" },
"android": { "versionCode": 45 }
}
```
## Pre-Deployment Checklist
- [ ] All tests passing (>80% coverage)
- [ ] App icons for all sizes
- [ ] Screenshots for store listing
- [ ] Privacy policy URL configured
- [ ] Permissions justified
- [ ] Tested on minimum supported OS
- [ ] Release notes prepared
## CI/CD (GitHub Actions)
```yaml
on:
push:
tags: ['v*']
jobs:
deploy-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
run: |
# Accept Xcode license if needed
sudo xcodebuild -license accept || true
- name: Build archive
run: |
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
- name: Export IPA
run: |
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/
- name: Upload to App Store Connect
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APP_SPECIFIC_PASSWORD: ${{ secrets.APP_SPECIFIC_PASSWORD }}
run: |
xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"
deploy-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./gradlew bundleRelease
- uses: r0adkll/upload-google-play@v1
```
## Best Practices
- Automate deployment with CI/CD
- Test on physical devices
- Secure signing materials separately
- Monitor crash reports post-launch
© secondsky · MIT · secondsky/claude-skills
Similar skills
Everything for Mobile →app-store-deployment by other authors comes first.