Asc Shots Pipeline
Orchestrate iOS screenshot automation with xcodebuild/simctl for build-run, AXe for UI...
Install
npx skills add rorkai/app-store-connect-cli-skills --skill asc-shots-pipeline -g -a claude-code -y- Repository
- rorkai/app-store-connect-cli-skills1.1k
- Category
- Design
- Updated
- 9d ago
- License
- MIT
- Context cost
- Mediumabout 2,916 tokens
- Runs scripts
- No, instructions only
What it does
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.
asc screenshots pipeline (xcodebuild -> AXe -> frame -> asc)
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.
Current scope
- Implemented now: build/run, AXe plan capture, frame composition, and upload.
- Device discovery is built-in via
asc screenshots list-frame-devices. - Local screenshot automation commands are experimental in asc cli.
- Framing is pinned to Koubou
0.20.0for deterministic output. - Feedback/issues: https://github.com/rorkai/App-Store-Connect-CLI/issues/new/choose
Defaults
- Settings file:
.asc/shots.settings.json - Capture plan:
.asc/screenshots.json - Raw screenshots dir:
./screenshots/raw - Framed screenshots dir:
./screenshots/framed - Default frame device:
iphone-air
1) Create settings JSON first
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:
"frame_enabled": false"upload.source_dir": "./screenshots/raw"
2) Build and run app on simulator
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


