accessibility-testing
WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels, testing VoiceOver compatibility,…
XCTest and XCUITest execution workflows and flaky test detection patterns
$ npx -y skills add conorluddy/xclaude-plugin --skill ios-testing-patterns --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ios-testing-patternsContext preview
The summary Claude sees to decide when to auto-load this skill.
XCTest and XCUITest execution workflows and flaky test detection patterns
name: ios-testing-patterns description: XCTest and XCUITest execution workflows and flaky test detection patterns version: 0.0.1 token_cost: ~40
**Comprehensive guide to XCTest and XCUITest execution, analysis, and flaky test detection**
This skill provides patterns and workflows for executing iOS tests using XCTest and XCUITest frameworks. It covers test execution strategies, result analysis, flaky test detection, and troubleshooting common test failures.
**Use this skill when:**
| Task | Operation | Key Parameters | | ------------------ | --------- | ---------------------- | | Run all tests | `test` | scheme, destination | | Run specific test | `test` | scheme, only_testing | | Skip tests | `test` | scheme, skip_testing | | Use test plan | `test` | scheme, test_plan | | Parallel execution | `test` | destination (multiple) |
**Use ios-testing-patterns when:**
**Related Skills:**
**XCTest (Unit/Integration Tests):**
**XCUITest (UI Tests):**
**Sequential Execution:**
**Parallel Execution:**
**Test Sharding:**
**Basic Unit Test Execution:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15,OS=18.0"
}**Note:** The destination parameter now supports auto-resolution! You can omit the OS version (e.g., `"platform=iOS Simulator,name=iPhone 15"`) and the tool will automatically select the latest available OS version for that device.
**Run Specific Test Class:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15,OS=18.0",
"options": {
"only_testing": ["MyAppTests/NetworkTests"]
}
}**Run Specific Test Method:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15,OS=18.0",
"options": {
"only_testing": ["MyAppTests/NetworkTests/testAPIRequest"]
}
}**Basic UI Test Execution:**
{
"operation": "test",
"scheme": "MyAppUITests",
"destination": "platform=iOS Simulator,name=iPhone 15"
}**UI Tests with Specific Device:**
{
"operation": "test",
"scheme": "MyAppUITests",
"destination": "platform=iOS Simulator,name=iPad Pro (12.9-inch)"
}**UI Tests with Test Plan:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15",
"options": {
"test_plan": "SmokeTests"
}
}**Multiple Destinations:**
Run tests on multiple simulators simultaneously:
{
"operation": "test",
"scheme": "MyApp",
"destination": [
"platform=iOS Simulator,name=iPhone 15",
"platform=iOS Simulator,name=iPhone SE (3rd generation)"
],
"options": {
"parallel": true
}
}**Parallel Test Benefits:**
**Parallel Test Considerations:**
**Skip Specific Tests:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15",
"options": {
"skip_testing": [
"MyAppUITests/SlowTests",
"MyAppTests/NetworkTests/testLargeDownload"
]
}
}**Run Only Fast Tests:**
{
"operation": "test",
"scheme": "MyApp",
"destination": "platform=iOS Simulator,name=iPhone 15",
"options": {
"only_testing": ["MyAppTests/UnitTests"],
"skip_testing": ["MyAppTests/UnitTests/testSlowOperation"]
}
}**Success Response:**
{
"success": true,
"tests_run": 45,
"tests_passed": 45,
"tests_failed": 0,
"execution_time": "12.4s",
"scheme": "MyApp"
}**Failure Response:**
{
"success": false,
"tests_run": 45,
"tests_passed": 43,
"tests_failed": 2,
"failures": [
{
"test": "MyAppTests.LoginTests.testInvalidPassword",
"message": "XCTAssertEqual failed: (\"error\") is not equal to (\"invalid\")",
"file": "LoginTests.swift",
"line": 42
},
{
"test": "MyAppUITests.CheckoutTests.testPaymentFlow",
"message": "Failed to finModular iOS development automation for Claude Code Build, test, and automate iOS apps through natural conversation with Claude. 8 workflow-specific MCP servers with 24 tools across Xcode, Simulator, and IDB. Enable only what you need.
Repo: conorluddy/xclaude-plugin
WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels, testing VoiceOver compatibility,…
Crash log analysis, symbolication, and debugging workflows for iOS apps. Use when investigating app crashes, analyzing crash reports, symbolicating stack…
Instruments integration and performance analysis workflows for iOS apps. Use when profiling CPU usage, memory allocation, network activity, or energy…
iOS Simulator device and app management with simctl. Use when managing simulator devices (boot, create, delete), installing/launching apps, or troubleshooting…
Cache management, configuration best practices, and progressive disclosure patterns for efficient context window usage. Use when working with large responses,…
Accessibility-first UI automation using IDB. Query accessibility tree (fast, 50 tokens) before screenshots (slow, 170 tokens). Use when automating simulator…