asc-ad-hoc-distributio…
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to…
Orchestrate iOS screenshot automation with xcodebuild/simctl for build-run, AXe for UI actions, JSON settings and plan files, Koubou-based framing (`asc screenshots frame`), and screenshot upload (`asc screenshots upload`). Use when users ask for automated screenshot capture,
Claude Code
$ npx -y skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline --agent claude-code
Codex
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a codex -y
Cursor
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a cursor -y
Gemini CLI
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a gemini-cli -y
GitHub Copilot
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a github-copilot -y
OpenCode
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a opencode -y
Windsurf
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -a windsurf -y
name: asc-shots-pipeline description: Orchestrate iOS screenshot automation with xcodebuild/simctl for build-run, AXe for UI actions, JSON settings and plan files, Koubou-based framing (`asc screenshots frame`), and screenshot upload (`asc screenshots upload`). Use when users ask for automated screenshot capture, AXe-driven simulator flows, frame composition, or screenshot-to-upload pipelines.
Use this skill for agent-driven screenshot workflows where the app is built and launched with Xcode CLI tools, UI is driven with AXe, and screenshots are uploaded with `asc`.
Create or update `.asc/shots.settings.json`:
{
"version": 1,
"app": {
"bundle_id": "com.example.app",
"project": "MyApp.xcodeproj",
"scheme": "MyApp",
"simulator_udid": "booted"
},
"paths": {
"plan": ".asc/screenshots.json",
"raw_dir": "./screenshots/raw",
"framed_dir": "./screenshots/framed"
},
"pipeline": {
"frame_enabled": true,
"upload_enabled": false
},
"upload": {
"version_localization_id": "",
"device_type": "IPHONE_65",
"source_dir": "./screenshots/framed"
}
}If you intentionally skip framing, set:
Use Xcode CLI for build/install/launch:
xcrun simctl boot "$UDID" || true xcodebuild \ -project "MyApp.xcodeproj" \ -scheme "MyApp" \ -configuration Debug \ -destination "platform=iOS Simulator,id=$UDID" \ -derivedDataPath ".build/DerivedData" \ build xcrun simctl install "$UDID" ".build/DerivedData/Build/Products/Debug-iphonesimulator/MyApp.app" xcrun simctl launch "$UDID" "com.example.app"
Use `xcodebuild -showBuildSettings` if the app bundle path differs from the default location.
Prefer plan-driven capture:
asc screenshots run --plan ".asc/screenshots.json" --udid "$UDID" --output json
Useful AXe primitives during plan authoring:
axe describe-ui --udid "$UDID" axe tap --id "search_field" --udid "$UDID" axe type "wwdc" --udid "$UDID" axe screenshot --output "./screenshots/raw/home.png" --udid "$UDID"
Minimal `.asc/screenshots.json` example:
{
"version": 1,
"app": {
"bundle_id": "com.example.app",
"udid": "booted",
"output_dir": "./screenshots/raw"
},
"steps": [
{ "action": "launch" },
{ "action": "wait", "duration_ms": 800 },
{ "action": "screenshot", "name": "home" }
]
}The asc CLI pins framing to Koubou `0.20.0`. Install and verify before running framing steps:
pip install koubou==0.20.0 kou --version # expect 0.20.0 # After upgrading from 0.18.x, or if Koubou reports missing device frames, # run once with network access: kou setup-frames
List supported frame device values first:
asc screenshots list-frame-devices --output json
Frame one screenshot (defaults to `iphone-air`):
asc screenshots frame \ --input "./screenshots/raw/home.png" \ --output-dir "./screenshots/framed" \ --device "iphone-air" \ --output json
Supported `--device` values:
Generate and review artifacts before upload:
asc screenshots review-generate --framed-dir "./screenshots/framed" --output-dir "./screenshots/review" asc screenshots review-open --output-dir "./screenshots/review" asc screenshots review-approve --all-ready --output-dir "./screenshots/review"
For reviewed multi-locale sets, prefer the plan/apply flow so existing remote screenshot counts are included before upload:
asc screenshots plan --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review" --output json asc screenshots apply --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review" --confirm --output json
Upload from the configured source directory (default `./screenshots/framed` when framing is enabled):
asc screenshots upload \ --version-localization "LOC_ID" \ --path "./screenshots/framed" \ --device-type "IPHONE_65" \ --output json
List or validate before upload when needed:
asc screenshots sizes --output table asc screenshots list --version-localization "LOC_ID" --output table
Change the order of an uploaded set without re-uploading. `--ids` must list every screenshot in the set exactly once, in the new order. If a screenshot is added after the command reads the set, App Store Connect rejects the update and keeps the order it had before the update; list the set again and re-run. An order-only change made by someone else is not detected and is overwritten.
asc localizations screenshot-sets list --localization-id "LOC_ID" --include appScreenshots asc screenshots list --set-id "SET_ID" --output table asc screenshots reorder --set-id "SET_ID" --ids "THIRD_ID,FIRST_ID,SECOND_ID"
A collection of Agent Skills for shipping with the asc cli (asc). These skills help agents run builds, TestFlight, metadata, submissions, signing, and Apple Ads workflows. This is a community-maintained, unofficial skill pack and is not affiliated with Apple.
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to…
Collect, download, and verify App Store Connect Analytics reports with asc. Use when users need to discover analytics report…
Create a new App Store Connect app record via browser automation. Use when there is no public API for app creation and you need…
Use when managing Apple Ads with asc, including OAuth profiles, ad-account discovery, Platform API v1 campaigns and targeting,…
Run an offline ASO audit on canonical App Store metadata under `./metadata` and surface keyword gaps using Astro MCP. Use after…
Track build processing, find latest builds, and clean up old builds with asc. Use when managing build retention or waiting on…
Use this skill whenever the user mentions Horizon by name in a Laravel context. Covers the full Horizon lifecycle: installing…
Use when launching cloud VMs, Kubernetes pods, or Slurm jobs for GPU/TPU/CPU workloads, training or fine-tuning models on cloud…
Use this skill when the user mentions "pinme", or needs to upload files, store to IPFS, create/publish/deploy websites or…