What problem does it solve? UI tests in this SwiftUI codebase are expensive and flaky when written ad hoc. This Skill enforces a disciplined workflow — driver-first design, deterministic seeds, bounded waits, and a 20-run stability gate — so new UI tests are reliable and maintainable instead of timing out or flaking in CI. ## Core Features & Use Cases - Decision gate: Helps you decide whether a behaviour truly needs a UI test or is cheaper to cover with a store test against TestBackend. - Driver-first test authoring: Enforces extending screen drivers (sidebar, transaction list, detail, dialogs) with Trace.record, bounded post-condition waits, and UITestIdentifiers constants instead of inlining XCUI primitives. - Deterministic seeds and identifiers: Reuses or adds hard-coded UUID seeds in UITestSeeds.swift and incremental accessibility identifiers. - Failure triage and stability gates: Reads tree.txt, screenshot.png, seed.txt, and trace.txt artefacts, runs a @ui-test-review pass, and requires 20 consecutive passing runs before opening a PR. - Use Case: You need a test proving that opening a trade focuses the payee field. The Skill walks you through picking the tradeBaseline seed, extending the transaction detail driver with a focus expectation, and validating the test across 20 runs. ## Quick Start Ask the assistant to write a UI test for a specific Moolah macOS behaviour, naming the screen and the expected outcome.