accessibility-testing
WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels,…
XCTest and XCUITest execution workflows and flaky test detection patterns
Claude Code
$ npx -y skills add conorluddy/xclaude-plugin --skill ios-testing-patterns --agent claude-code
Codex
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a codex -y
Cursor
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a cursor -y
Gemini CLI
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a gemini-cli -y
GitHub Copilot
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a github-copilot -y
OpenCode
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a opencode -y
Windsurf
$ npx skills add conorluddy/xclaude-plugin --skill ios-testing-patterns -a windsurf -y
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.
WCAG compliance testing and accessibility quality assurance workflows for iOS apps. Use when validating accessibility labels,…
Crash log analysis, symbolication, and debugging workflows for iOS apps. Use when investigating app crashes, analyzing crash…
Instruments integration and performance analysis workflows for iOS apps. Use when profiling CPU usage, memory allocation, network…
iOS Simulator device and app management with simctl. Use when managing simulator devices (boot, create, delete),…
Cache management, configuration best practices, and progressive disclosure patterns for efficient context window usage. Use when…
Accessibility-first UI automation using IDB. Query accessibility tree (fast, 50 tokens) before screenshots (slow, 170 tokens).…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.