Build + run on a connected iOS device
SkillDev toolsThis skill should be used when the user invokes "/xcode-run-device" to build the current Xcode project, install the app on a connected iOS device, and launch it.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Build + run on a connected iOS device skill
What this skill tells your AI
The instructions your AI receives, as published by xenodium/emacs-skills in skills/xcode-run-device/SKILL.md and read by ahel’s review.
Build the Xcode workspace or project under the current working directory and launch it on a wired-connected iOS device via Xcode 15+ devicectl. Requires a configured signing team in the project and a trusted, paired device.
How to run
The shared agent-skill-xcode.el lives in the sibling xcode-shared directory at skills/xcode-shared/agent-skill-xcode.el in the emacs-skills plugin. All four /xcode-* skills load it from there.
emacsclient --eval "(progn (load \"/path/to/skills/xcode-shared/agent-skill-xcode.el\" nil t) (agent-skill-xcode-run-device :project-dir \"$(pwd)\"))"
The function:
- Locates the workspace/project and picks a scheme.
- Locates the first connected device via
xcrun devicectl list devices -j. - Runs
xcodebuild buildagainst the device's specific UDID. - Reads
BUILT_PRODUCTS_DIR/WRAPPER_NAME/PRODUCT_BUNDLE_IDENTIFIERfrom-showBuildSettings -json. - Installs (
xcrun devicectl device install app) and launches (xcrun devicectl device process launch). - Returns a multi-line status string. On build failure, returns the same error format as
/xcode-build-device.
Rules
- Pass the agent's current working directory as
:project-dirvia$(pwd). - The shared elisp lives under
xcode-shared/agent-skill-xcode.el— load it from there. - Run via the Bash tool with a single
emacsclient --evalinvocation. Builds can take minutes; consider extending the Bash timeout if known to be slow. - Report the returned status string verbatim.
- If the function signals "No connected iOS device found", tell the user to plug in a device and trust the Mac on it.
- If the build fails with a code-signing error, point them at Xcode → target → Signing & Capabilities → Team. Don't try to fix signing automatically.
- Requires Xcode 15+ for
devicectl. Ifxcrun devicectlis missing, tell the user to update Xcode.
Signals
- GitHub stars
- 135
- Forks
- 17
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
xcode-run-device- Source
- github.com/xenodium/emacs-skills