Builds and manages iOS/macOS apps using xcodebuild and xcrun simctl CLI tools. Use when working with Xcode projects, running apps in simulators, managing simulator instances, taking screenshots, capturing logs, running tests, or automating builds.
/plugin marketplace add bradwindy/using-xcode-cli-skill/plugin install using-xcode-cli@using-xcode-cli-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
reference/logging.mdreference/simctl.mdreference/workflows.mdreference/xcodebuild.mdNative Xcode CLI tools (xcodebuild and xcrun simctl) provide full control over iOS/macOS builds and simulators without opening Xcode IDE. Core principle: Use CLI for automation, headless builds, and CI/CD—the same tools Xcode uses internally.
Symptoms that trigger this skill:
swift package CLIFind available simulators:
xcrun simctl list devices available
Build for simulator:
UDID=$(xcrun simctl list devices --json | jq -r '.devices | .[].[] | select(.name=="iPhone 16 Pro" and .isAvailable==true) | .udid' | head -1)
xcodebuild -workspace App.xcworkspace -scheme App -destination "platform=iOS Simulator,id=$UDID" -derivedDataPath /tmp/build build
Install and launch:
APP_PATH=$(find /tmp/build -name "*.app" -type d | head -1)
xcrun simctl install $UDID "$APP_PATH"
xcrun simctl launch --console $UDID com.bundle.identifier
Take screenshot:
xcrun simctl io $UDID screenshot /tmp/screenshot.png
| Task | Command |
|---|---|
| List schemes | xcodebuild -workspace App.xcworkspace -list |
| List simulators | xcrun simctl list devices available |
| Get simulator UDID | xcrun simctl list devices --json | jq ... |
| Boot simulator | xcrun simctl boot $UDID |
| Build for simulator | xcodebuild ... -destination "platform=iOS Simulator,id=$UDID" build |
| Install app | xcrun simctl install $UDID /path/to/App.app |
| Launch app | xcrun simctl launch --console $UDID com.bundle.id |
| Take screenshot | xcrun simctl io $UDID screenshot /tmp/shot.png |
| Run tests | xcodebuild ... test |
| Stream logs | /usr/bin/log stream --predicate 'processImagePath CONTAINS "App"' |
| Reference | Contents |
|---|---|
| xcodebuild.md | Project discovery, building, archiving, testing |
| simctl.md | Device management, screenshots, video, location, permissions |
| logging.md | Log streaming and filtering predicates |
| workflows.md | End-to-end automation scripts |
simctl list devices --jsonsimctl boot $UDIDxcodebuild using -derivedDataPathsimctl installsimctl launch --consolexcodebuild -workspace App.xcworkspace -scheme App \
-destination "platform=iOS Simulator,id=$UDID" \
-only-testing "AppTests/SpecificTest" test
| Mistake | Fix |
|---|---|
| "Unable to find destination" | Verify simulator exists with simctl list devices. Use exact name or UDID. |
| "No scheme found" | Run xcodebuild -list to see available schemes. Ensure you're using -workspace or -project flag. |
| "App not found after build" | Use -derivedDataPath /tmp/build and search there with find. |
| Simulator not responding | Try xcrun simctl shutdown all then boot fresh. |
| Build succeeds but app crashes | Check xcrun simctl launch --console for runtime errors. |
| Tests hang indefinitely | Add -destination-timeout flag. Ensure simulator is booted first. |
| Wrong simulator selected | Always use UDID from simctl list devices --json, not device name alone. |
| Stale build artifacts | Use clean build action or delete derived data directory. |
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.