agentsclimarketplace

Xcode ui test stabilizer

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

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.From its SKILL.md

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.

SKILL.md

2.4 KB, 450 tokens by cl100k_base, 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.

What ships with it: 2 files

2.9 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Keep looking

Skills are one crate of 325,949. 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.