From Build Swift Apps
Creates and stabilizes Xcode UI e2e tests. Handles environment setup, focus/input stabilization, logging/attachments, and flakiness triage. Use when writing, debugging, or making UI test suites reliable.
How this skill is triggered — by the user, by Claude, or both
Slash command
/build-swift-apps:xcode-ui-test-stabilizerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build deterministic UI end-to-end tests and debug flaky runs. Prefer stable accessibility identifiers, environment-driven setup, and explicit wait conditions. Always attach logs and screenshots on failure.
Build deterministic UI end-to-end tests and debug flaky runs. Prefer stable accessibility identifiers, environment-driven setup, and explicit wait conditions. Always attach logs and screenshots on failure.
Define the flow and success signals.
Add or update the UI test.
Stabilize the app for UI tests.
Run the test with the provided script or your own command.
scripts/run_ui_test.sh (from this skill) or run xcodebuild test with -only-testing.Triage failures.
waitForExistence for every critical element.typeText for long text; prefer env-injected defaults.references/ui-e2e-playbook.md for generic flags, focus fixes, typing workarounds, and debugging patterns.scripts/run_ui_test.sh — run a single UI test with optional .env loading and xcodebuild args.references/ui-e2e-playbook.md — general UI E2E playbook, flags, and troubleshooting.npx claudepluginhub xopoko/build-swift-apps --plugin build-swift-appsProvides workflows for executing XCTest unit tests and XCUITest UI tests on iOS simulators/devices, detecting flaky tests, analyzing failures, and optimizing parallel/CI execution.
Guides writing, modifying, and reviewing tests for iOS/macOS apps: Swift Testing, XCTest, XCUITest, performance tests, and Instruments .trace file analysis.
Build, launch, and visually test iOS/SwiftUI apps in the Simulator using computer use. Automated screen navigation, crash log analysis, state testing (empty/error/loading), and memory leak detection. Use when you need to test an iOS app, run it in the Simulator, check for crashes, or verify UI flows.