Ios Simulator Skill
21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation…
- Type
- Skill
- Repository
- conorluddy/ios-simulator-skill
- GitHub stars
- 1.3k
- License
- MIT
- Repo last updated
- Sep 13, 2026
- Source file
- README.md
What Ios Simulator Skill is
Ios Simulator Skill is a skill published in the conorluddy/ios-simulator-skill repository on GitHub, which has about 1.3k stars. The repository describes itself as: “An IOS Simulator Skill for ClaudeCode. Use it to optimise Claude's ability to build, run and interact with your apps, and to proxy xcodebuild to save token and context wastage.”
A skill is a folder with a SKILL.md file: frontmatter with a name and a description, followed by instructions Claude follows. Claude loads a skill automatically when a task matches its description, and you can also run it directly with a slash and its name.
Skills work in Claude Code and in Claude Cowork, which makes Ios Simulator Skill a portable way to give Claude the same method everywhere.
How to install Ios Simulator Skill
Claude Code
- Download the ios-simulator-skill folder from the repository.
- Save it as ~/.claude/skills/<skill-name>/SKILL.md for all projects, or .claude/skills/<skill-name>/SKILL.md for one project.
- Claude loads it automatically when a task matches; you can also run it with / and its name.
Claude Cowork
- Zip the skill folder so SKILL.md sits at the top level of the folder.
- Open Customize → Skills, click +, then upload the ZIP.
- Start a task that matches the description, or call it by name with /.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from README.md, shared under the repository's MIT license. Read the full file on GitHub.
Production-ready skill for building, testing, and automating iOS apps. 29 scripts optimized for both human developers and AI agents.
(If you'd prefer an MCP, XC-MCP -> NPM )
Xcode Build + Simulator Automation
This skill covers both sides of iOS development:
- Xcode builds via xcodebuild — compile, test, and parse results with progressive error disclosure
- Simulator interaction via xcrun simctl and idb — semantic UI navigation, accessibility testing, device lifecycle
If you only need Xcode build tooling without the simulator scripts, see the plugin version: xclaude-plugin
Installation
Via Plugin Marketplace (Recommended)
In Claude Code:
/plugin marketplace add conorluddy/ios-simulator-skill
/plugin install ios-simulator-skill@conorluddyManual install
A skill is loaded from SKILL.md at the root of its directory — ~/.claude/skills/ /SKILL.md. This repository is a plugin, so the skill itself lives at ios-simulator-skill/skills/ios-simulator-skill/; cloning the whole repo into your skills directory puts SKILL.md three levels too deep and the skill will not load.
From a release (simplest):
curl -L https://github.com/conorluddy/ios-simulator-skill/releases/latest/download/ios-simulator-skill.zip -o skill.zip
unzip skill.zip -d ~/.claude/skills/ios-simulator-skillFrom a clone (to track main):
git clone https://github.com/conorluddy/ios-simulator-skill.git ~/src/ios-simulator-skill
cp -R ~/src/ios-simulator-skill/ios-simulator-skill/skills/ios-simulator-skill \
~/.claude/skills/ios-simulator-skillFor a project-local install, use .claude/skills/ios-simulator-skill as the destination instead. Either way, restart Claude Code afterwards; verify with ls ~/.claude/skills/ios-simulator-skill/SKILL.md.
Prerequisites
Install idb — required for every interactive script (navigator.py, gesture.py, keyboard.py):
brew tap facebook/fb
brew install facebook/fb/idb-companion facebook/fb/idb-cli> brew install idb-companion no longer works: idb-companion was removed from Homebrew > core and now lives in Meta's own facebook/fb tap. If you followed older instructions, > see Updating idb.
To verify everything at once:
bash scripts/sim_health_check.sh # add --json for machine-readable outputUpdating idb
On Xcode 27, idb-companion must be 1.5.1 or newer. Older builds look for SimulatorKit.framework where Xcode 26 kept it. Under Xcode 27 the companion still starts and the accessibility tree still reads correctly, but every tap, swipe and keystroke is silently dropped — idb reports success and nothing happens on screen.
brew upgrade facebook/fb/idb-companion facebook/fb/idb-cli
brew list --versions idb-companion # expect >= 1.5.1Coming from the old pip package? pip install fb-idb still provides a working idb CLI, but the Homebrew idb-cli above is the maintained path. If both are installed, whichever comes first on your PATH wins — check with which -a idb.
Xcode 27 notes
- There is no Simulator.app. Xcode 27 replaced it with DeviceHub.app, in Xcode.app/Contents/Applications/. Scripts drive simulators headlessly via simctl and idb, so you rarely need either — but open -a Simulator will fail.
- Quitting DeviceHub shuts down the simulator it is hosting.
- If idb calls start failing with Connection refused after a crash or a manual pkill, a dead companion is still registered. Clear it with idb disconnect ; sim_health_check.sh detects this.
Features
Xcode Build with Progressive Disclosure
The build_and_test.py script wraps xcodebuild with token-efficient output. A build returns a single summary line with an xcresult ID:
Build: SUCCESS (0 errors, 3 warnings) [xcresult-20251018-143052]Then drill into details on demand:
python scripts/build_and_test.py --get-errors xcresult-20251018-143052
python scripts/build_and_test.py --get-warnings xcresult-20251018-143052
python scripts/build_and_test.py --get-log xcresult-20251018-143052This keeps agent conversations focused — no walls of build output unless you ask for them.
Simulator Navigation via Accessibility
Instead of fragile pixel-coordinate tapping, all navigation uses iOS accessibility APIs to find elements by meaning:
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Ios Simulator Skill?
Ios Simulator Skill is a skill for Claude Code and Claude Cowork from the conorluddy/ios-simulator-skill repository on GitHub. 21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation…
How do I install Ios Simulator Skill in Claude Code?
Download the ios-simulator-skill folder from the repository. Save it as ~/.claude/skills/<skill-name>/SKILL.md for all projects, or .claude/skills/<skill-name>/SKILL.md for one project. Claude loads it automatically when a task matches; you can also run it with / and its name.
Can I use Ios Simulator Skill in Claude Cowork?
Zip the skill folder so SKILL.md sits at the top level of the folder. Open Customize → Skills, click +, then upload the ZIP. Start a task that matches the description, or call it by name with /.
Is Ios Simulator Skill safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Harness Moaiadk Best Practices moai-adk-go best-practices reference for the 4 harness specialists (cli-template-specialist, quality-specialist, workflow-specialist… Skill · modu-ai/moai-adk
- Claude Typer Render a Claude-style prompt typing animation video by calling Remotion CLI against the remote site https://www.laosunwendao.com. Use when the user asks for "做一个 claude 的提示词打字机动画", "做 Claude 打字动画", "创建提示词动画", or similar requests that convert a text prompt into a typing-animation video. Skill · vibe-motion/skills
- Agent Browser Agent-browser usage guide. Read this before running any agent-browser commands. Covers the snapshot-and-ref workflow, navigating pages… Skill · fcakyon/claude-codex-settings
- Adding A Command Creates a new CLI command following the Commander.js pattern in src/commands/. Handles command registration in src/cli.ts, telemetry… Skill · caliber-ai-org/ai-setup
- Backprop Bug → spec protocol. When a bug is found or a test fails, trace the cause, decide whether a new §V invariant would catch recurrence… Skill · JuliusBrussee/cavekit
- Create Skill Create new skills for Claude Code. Use when users ask to create a skill, add a skill, make a new command, build a skill, add a slash… Skill · moazbuilds/claudeclaw
- Alarmkit Implement alarm and countdown timer features using Apple's AlarmKit framework (iOS 26+ / iPadOS 26+). Covers AlarmManager for scheduling… Skill · dpearson2699/swift-ios-skills
- Wiki LLM-compiled knowledge base manager for Codex. Use it to initialize, ingest, import source collections, collect catalogs, track inventory… Skill · nvk/llm-wiki