Guide · Agent skill
How to use the Xcode Simulator Testing agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The ce-test-xcode skill lets an AI agent build an iOS app in Xcode's simulator, walk through the screens and flows you approve, and produce a structured test report. It is written for iOS developers who want simulator evidence attached to a change before handing it off. After following this guide you will know what the skill does, how to install it, how to ask for a run in plain language, and what it needs to work.
Quick start
- 1Check your Mac and project. Confirm you have macOS with Xcode, its command-line tools and an iOS simulator, plus an iOS project with a buildable scheme.
- 2Install XcodeBuildMCP. Install it with Homebrew or npx using the commands in the setup section, then add it as an MCP server in your agent.
- 3Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder.
- 4Restart the agent. Restart your agent so it loads the new skill and the XcodeBuildMCP server.
- 5Ask for a simulator test. Describe the change, the screens or flows in scope, and the scheme to use, or say current for the default.
- 6Review the report. Read the overall PASS, FAIL or PARTIAL result, the per-area statuses, screenshots, console errors and any human-check notes.
What is an agent skill, and what does this one do?
An agent skill is a folder of instructions and supporting files that an AI agent loads when a task matches it. This skill, ce-test-xcode, covers one job: testing an iOS app in a simulator and reporting the result.
Once installed, the agent builds the app in Xcode's simulator, launches it, walks through the screens and flows you approve, and captures screenshots, console logs and human-verification notes. It finishes with a report giving an overall PASS, FAIL or PARTIAL and a status for each tested area.
- Captures descriptively named screenshots of each resulting state.
- Reads simulator logs for crashes, exceptions, error-level messages and failed network requests tied to the flow.
- Asks you to perform any steps the simulator cannot reliably do, and records your answers.
- Reports project, scheme, simulator, build result, per-surface PASS / FAIL / SKIP, console errors, human checks and residual failures.
Install the skill from the ZIP
Download the ZIP for the skill from the page you are reading. Unzip it into one of two locations, depending on how you want to use it.
For personal use across all your projects, unzip it into ~/.claude/skills/. For a single project, unzip it into that project's .claude/skills/ folder. The skill folder should contain SKILL.md, the references folder and the agents folder.
If you use the Claude apps instead of files on disk, you can upload the skill under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/
- Project only: .claude/skills/ inside the project
- Claude apps: Settings → Capabilities → Skills
Set up XcodeBuildMCP first
The skill depends on XcodeBuildMCP, a separate tool that lets the agent talk to Xcode and the simulator. The skill checks for it before doing anything else. If XcodeBuildMCP is missing or not responding, the skill stops and tells you what to install.
The skill does not install or configure XcodeBuildMCP for you. Two setup options are listed in the skill's instructions. After you install it, add XcodeBuildMCP as an MCP server in your agent setup and restart the agent.
Homebrew:
brew tap getsentry/xcodebuildmcp && brew install xcodebuildmcp
npx:
npx -y xcodebuildmcp@latest mcpTrigger the skill with a natural request
The skill is invoked by your request, so you do not need a special command. Describe the change and the simulator evidence you want. The skill accepts an optional scheme name; you can name one or say 'current' to use the default.
Be specific about which screens or flows are in scope. The skill only drives the app and flows you place in scope.
- Test the onboarding flow on the iPhone simulator with the MyApp scheme and give me a PASS/FAIL report before I hand this off.
- Use the current scheme and check the settings screen and the new export button, then attach screenshots and console errors.
- Run an Xcode simulator test on my latest SwiftUI change and tell me which screens still fail.
Understand the results and what happens to failures
Each tested area gets a status derived from the evidence it produced. PASS needs completed passing evidence. FAIL records observed failing evidence until a retest replaces it. SKIP means the check did not reach a completed outcome.
The overall result is FAIL while any failure remains, PARTIAL when nothing failed but a scoped check was skipped, and PASS otherwise. If a failure happens before the app launches with log capture running, the skill stops and reports the setup blocker with its evidence.
The skill tests and reports only. Diagnosis and any fix are handed to a separate debugging skill, ce-debug, and it does not commit, push or open pull requests.
Know the limits: SwiftUI inline links and sensitive data
Simulated taps do not trigger SwiftUI Text views with inline AttributedString links, because the link is not exposed as a separate accessibility element. When a tap reports success but nothing happens, the skill asks you to tap the link manually.
The skill runs scripts and does not use the network. Captured logs may contain sensitive information, so avoid testing against production accounts or real user data.
- Do not use production accounts or real user data.
- Expect manual taps for inline SwiftUI links.
- Keep the scope to the app and flows you approve.
What people use it for
- Attaching simulator screenshots and a PASS/FAIL report to a pull request for an iOS feature before review.
- Checking a new SwiftUI settings screen for layout breaks and console errors before handoff.
- Giving a QA or product reviewer a consistent report format across several iOS builds.
- Recording which flows still fail after a fix, with a retest replacing earlier failing evidence.
Frequently asked questions
Is the Xcode Simulator Testing skill free to use?
The skill is published under the MIT licence, according to this listing. Check the repository's licence file for the full terms. XcodeBuildMCP is a separate tool and its own terms apply.
What do I need to run the ce-test-xcode skill?
You need macOS with Xcode and its iOS simulator, XcodeBuildMCP available to your agent, and an iOS project with a buildable scheme. The skill cannot run on Windows or Linux because simulator builds need a Mac.
How do I install the ce-test-xcode skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.
Does this skill work with non-iOS projects like Android or web apps?
No. The skill is specific to Xcode and the iOS simulator, so it is not suitable for other platforms.
Why does the skill stop with an XcodeBuildMCP error?
The skill checks for XcodeBuildMCP before building. If it is not installed, not connected or returns an error, the skill stops and tells you to install it with Homebrew or npx and add it as an MCP server, then restart the agent.
Can the skill fix bugs it finds during testing?
Not directly. It tests and reports only. Diagnosis and any fix you approve are handed to the separate ce-debug skill, and this skill does not commit, push or open pull requests.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are an iOS developer on a Mac who wants simulator screenshots, logs and a consistent PASS, FAIL or PARTIAL report attached to changes before handoff, and you already run XcodeBuildMCP. Pick something else if your project is not iOS, you do not have Xcode on a Mac, or you need automated tests that run in CI without a person reviewing manual steps.
Download the skill