원클릭으로
asc-publish
Archive, build, and upload IngrediCheck to App Store Connect. Use to publish a new build for TestFlight or App Store.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Archive, build, and upload IngrediCheck to App Store Connect. Use to publish a new build for TestFlight or App Store.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Find Reddit posts and craft genuine comments to pitch IngrediCheck. Walk through posts one by one, propose comments, get approval, then move to next.
Build and deploy IngrediCheck to iOS device. Use when user wants to deploy, test on device, or run the app.
List builds from App Store Connect. Use to check build status, versions, and upload dates.
Show App Store ratings and customer reviews. Use to see overall rating, user feedback, filter by stars.
Download sales reports and analytics from App Store Connect.
Setup and validate App Store Connect CLI. Use when user needs to configure asc authentication or check setup status.
| name | asc-publish |
| description | Archive, build, and upload IngrediCheck to App Store Connect. Use to publish a new build for TestFlight or App Store. |
| argument-hint | ["--skip-upload"] |
| allowed-tools | ["Bash(*)"] |
Archive, create IPA, and upload to App Store Connect.
Arguments: $ARGUMENTS
--skip-upload: Build only, don't upload# Full build and upload
.claude/skills/asc-publish/scripts/publish_appstore.sh
# Build only (skip upload)
SKIP_UPLOAD=1 .claude/skills/asc-publish/scripts/publish_appstore.sh
xcodebuild archive using build number + 1iTMSTransporterNo local project file changes needed! Build number is determined from ASC and passed to xcodebuild at build time.
Install from Mac App Store: Transporter
.p8 file (only available once!)Automatic (recommended): If you've already run asc auth login, credentials are stored in the macOS Keychain. The script auto-resolves them using the default_key_name from .asc/config.json. No extra setup needed.
Manual (fallback): Create .asc/publish.env:
mkdir -p .asc
cat > .asc/publish.env << 'EOF'
APP_STORE_CONNECT_API_KEY=YOUR_KEY_ID
APP_STORE_CONNECT_API_ISSUER=YOUR_ISSUER_ID
APP_STORE_CONNECT_API_PRIVATE_KEY_PATH=./AuthKey_YOUR_KEY_ID.p8
APP_STORE_CONNECT_API_KEY_TYPE=individual
EOF
Copy your .p8 key file to .asc/:
cp ~/Downloads/AuthKey_XXXXX.p8 .asc/
The script works from git worktrees automatically:
.asc/config.json and .asc/publish.envasc CLI keychain if no publish.env exists.claude/skills/asc-publish/scripts/publish_appstore.sh
SKIP_UPLOAD=1 .claude/skills/asc-publish/scripts/publish_appstore.sh
Using team ID: 58MYNHGN72
Incrementing build number...
Build number set to: 15
Archiving IngrediCheck...
Creating IPA from archive...
IPA created at build/AppStoreExport/IngrediCheck.ipa
Uploading IPA via iTMSTransporter...
=========================================
Upload complete!
Build number: 15
Check App Store Connect for build status.
=========================================
Once uploaded, the build will:
Check status with: /asc-builds
| Error | Solution |
|---|---|
| "Transporter CLI not found" | Install Transporter from Mac App Store |
| "Unable to detect DEVELOPMENT_TEAM" | Set APPLE_TEAM_ID=58MYNHGN72 in .asc/publish.env |
| "Private key file not found" | Check .p8 file path in .asc/publish.env |
| "Authentication credentials invalid" | Verify Key ID and Issuer ID |
| Variable | Description |
|---|---|
APP_STORE_CONNECT_API_KEY | API Key ID from App Store Connect |
APP_STORE_CONNECT_API_ISSUER | Issuer ID from App Store Connect |
APP_STORE_CONNECT_API_PRIVATE_KEY_PATH | Path to .p8 file |
APP_STORE_CONNECT_API_KEY_TYPE | individual or team |
APPLE_TEAM_ID | (optional) Override team ID |