agentsclimarketplace

Xcode ui test stabilizer

Skill Xopoko/build-swift-apps/skills/xcode-ui-test-stabilizer

Swift-focused AI agent skills for iOS and macOS: build, debug, simulator, SwiftUI, Xcode, App Store workflows. Part of Plug'n Skills.

Install
npx -y skills add Xopoko/build-swift-apps --skill xcode-ui-test-stabilizer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Create, stabilize, and run UI end-to-end tests with Xcode (XCUIApplication/xcodebuild), including environment setup, focus/input stabilization, logging/attachments, and flakiness triage. Use when adding or debugging UI automation, writing new UI tests, or making them reliable.

SKILL.md

2.4 KB, as published. Nobody here has run it

Xcode UI Test Stabilizer

Overview

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.

Workflow

  1. Define the flow and success signals.

    • Identify the UI state that proves success (accessibility identifiers, log markers, or system-visible views).
    • Decide which logs to capture (app log, build log, UI test log).
  2. Add or update the UI test.

    • Use stable identifiers (avoid labels that can change or be localized).
    • Avoid typing into complex text components when possible; prefer injecting text via test-only defaults.
    • Gate test-only behavior behind env flags so production behavior is unchanged.
  3. Stabilize the app for UI tests.

    • Ensure the app activates and brings windows to front in UI test mode.
    • Disable modal blockers or auto-approve when tests run.
    • Use in-memory persistence for tests if persistent stores are fragile.
  4. Run the test with the provided script or your own command.

    • Use scripts/run_ui_test.sh (from this skill) or run xcodebuild test with -only-testing.
  5. Triage failures.

    • Attach logs and screenshots.
    • Search logs for build/preview errors and unexpected user-stop messages.
    • Iterate until the test is deterministic.

Stability checklist (quick wins)

  • Use waitForExistence for every critical element.
  • Assert the app is running foreground before input.
  • Avoid typeText for long text; prefer env-injected defaults.
  • Click the window before interacting.
  • Keep timeouts explicit and generous for CI machines.
  • Attach logs and screenshots on failure.

References

  • Read references/ui-e2e-playbook.md for generic flags, focus fixes, typing workarounds, and debugging patterns.

Resources

scripts/

  • scripts/run_ui_test.sh — run a single UI test with optional .env loading and xcodebuild args.

references/

  • references/ui-e2e-playbook.md — general UI E2E playbook, flags, and troubleshooting.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.