Agent skill · Testing & QA

run-device

Build, install, and launch an iOS app on a physical iPhone or iPad entirely from the command line (no Xcode GUI), using xcodebuild + devicectl. Use when the user wants to run, test, or screenshot their app on a real device without opening Xcode.

rshankrasgithub.com/rshankrasGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add rshankras/claude-code-apple-skills --skill run-device --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 7 KB
Bundled scripts: none
Allowed tools: BashRead
Path: skills/ios/run-device/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 589
Language: Swift

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Run on a Physical Device (CLI) Builds, signs, installs, and launches an app on a **connected physical device** straight from the terminal — no Xcode Run button. The companion `run-simulator` skill covers the Simulator; this is the hardware path, which uses a different toolchain: `devicectl` (not `simctl`), real code signing, and an external tool for screenshots. Building proves the code typechecks and signs; launching proves it installs and runs on real hardware. A crash on launch or a failed install is a failure. ## When This Skill Activates Use when the user wants to: - Run / test their app on a real iPhone or iPad from the CLI - Install a build on a device without opening Xcode - Reproduce a device-only bug (camera, sensors, performance, push) - Screenshot the app running on hardware Not for the Simulator (use `run-simulator`) and not for `xcodebuild test`. ## Prerequisites (one-time, partly interactive — cannot be scripted) 1. **Device connected** by USB (or paired over Wi-Fi). 2. **Developer Mode ON** (iOS 16+): Settings → Privacy & Security → Developer Mode → on → restart. There is no CLI to enable this. 3. **Device trusted/paired**: the first connection shows "Trust This C

What's inside
Steps it walks through
  1. When This Skill Activates
  2. Prerequisites (one-time, partly interactive — cannot be scripted)
  3. Process
  4. 1. Pick the device identifier
  5. 2. Build + sign for a device
  6. 3. Resolve the built .app (device build → Debug-iphoneos)
  7. 4. Install
  8. 5. Launch
  9. 6. Screenshot (optional — needs an extra tool)
  10. Output Format
  11. Reliability Notes
Commands it runs
xcrun devicectl list devices
xcrun devicectl list devices    # grab the Identifier (CoreDevice UUID) of the paired device
xcodebuild build \
eval $(xcodebuild -project MyApp.xcodeproj -scheme MyApp \
xcrun devicectl device install app --device "$DEV" "$APP"
xcrun devicectl device process launch --device "$DEV" "$BID"
xcrun devicectl device info processes --device "$DEV" | grep -i MyApp.app
brew install libimobiledevice          # one-time
idevicescreenshot /tmp/device-shot.png # captures the foreground screen
More from claude-code-apple-skills
All skills →
About this skill
What does the run-device skill do?

Build, install, and launch an iOS app on a physical iPhone or iPad entirely from the command line (no Xcode GUI), using xcodebuild + devicectl. Use when the user wants to run, test, or screenshot their app on a real device without opening Xcode.

How do I install it?

Run `npx skills add rshankras/claude-code-apple-skills --skill run-device --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From rshankras/claude-code-apple-skills, a repository with 589 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going