What problem does it solve? Writing reliable Espresso UI tests for Android Views is error-prone: dialog clicks silently fail because RootMatchers.DEFAULT excludes dialogs, RecyclerView rows off-screen cannot be matched, and version-specific gotchas like the missing BottomNavigationViewActions in espresso-contrib 3.7.0 cause confusing compile and runtime failures. ## Core Features & Use Cases - Full matcher/action/assertion catalog: Covers ViewMatchers, ViewActions, ViewAssertions, onData for AdapterView, RecyclerViewActions, and Intents.intended/intending for stubbing camera or share flows. - Gotcha prevention: Encodes the inRoot(isDialog()) requirement, the PickerActions.setDate 1-12 month convention, and the BottomNavigationViewActions absence in 3.7.0 contrib. - IdlingResource guidance: Shows how to register IdlingResources for non-Looper async work and configure IdlingPolicies timeouts instead of using Thread.sleep. - Use Case: A test fails with NoMatchingViewException when clicking an AlertDialog button; the skill diagnoses the RootMatchers.DEFAULT exclusion and rewrites the test with .inRoot(isDialog()). ## Quick Start Ask the assistant to write an Espresso test that clicks a button inside an AlertDialog and verifies a RecyclerView row, using the writing-espresso-tests skill.