Enable testTagsAsResourceId and consolidate screen identifiers into verify skill#15418
Enable testTagsAsResourceId and consolidate screen identifiers into verify skill#15418JorgeMucientes merged 11 commits intotrunkfrom
Conversation
… testTagsAsResourceId Move the screen identifiers reference from a standalone document (.agents/references/screen-identifiers.md) into the verify-on-device skill (SKILL.md), so agents have all navigation context in one place when performing device verification. This also adds two missing dialog entries (Store Name and Create Test Order) and expands the navigation reference with per-screen element tables and step-by-step flows. Enable testTagsAsResourceId in WooTheme so that Compose test tags are exposed as resource IDs in the accessibility tree. This allows UI automation tools (Appium, UI Automator, mobile-mcp) to discover Compose elements by their test tags, which is essential for reliable agent-driven device verification.
Disable animations, LeakCanary, and launch MainActivity explicitly to reduce flakiness and interference during agent verification.
Resolve conflicts in SKILL.md step numbering, incorporating trunk's new API Mocks step alongside our device preparation steps.
|
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## trunk #15418 +/- ##
=========================================
Coverage 39.43% 39.43%
- Complexity 11121 11122 +1
=========================================
Files 2246 2246
Lines 128532 128536 +4
Branches 17968 17968
=========================================
+ Hits 50682 50685 +3
- Misses 72675 72677 +2
+ Partials 5175 5174 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
irfano
left a comment
There was a problem hiding this comment.
Thanks for improving this skill, Jorge! I've added some feedback, please take a look.
| Reviews List: Menu tab → tap "Reviews" | ||
| Analytics Hub: Dashboard → tap "See analytics" or Menu tab → "Analytics" | ||
| Customer List: Menu tab → tap "Customers" | ||
| Blaze Campaigns: Menu tab → tap "Blaze Campaigns" |
There was a problem hiding this comment.
The menu button is just "Blaze", not "Blaze Campaigns". Let's update it.
| Payments Hub: Menu tab → tap "Payments" | ||
| Coupon List: Menu tab → tap "Coupons" | ||
| Reviews List: Menu tab → tap "Reviews" | ||
| Analytics Hub: Dashboard → tap "See analytics" or Menu tab → "Analytics" |
There was a problem hiding this comment.
We don't have "Analytics" at Menu.
I think this should be like this:
| Analytics Hub: Dashboard → tap "See analytics" or Menu tab → "Analytics" | |
| Analytics Hub: Dashboard → tap "View all store analytics" |
| |--------|----------|----------| | ||
| | Main Settings | `MainSettingsFragment` | Menu → "Settings" | | ||
| | Privacy Settings | `PrivacySettingsFragment` | Settings → "Privacy settings" | | ||
| | Beta Features | `BetaFeaturesFragment` | Settings → "Beta features" | |
There was a problem hiding this comment.
We call it Experimental features, not Beta features.
| | Beta Features | `BetaFeaturesFragment` | Settings → "Beta features" | | |
| | Experimental features | `BetaFeaturesFragment` | Settings → "Experimental features" | |
|
|
||
| Settings: Menu tab → tap "Settings" (opens AppSettingsActivity) | ||
| Privacy Settings: Settings → tap "Privacy settings" | ||
| Beta Features: Settings → tap "Beta features" |
There was a problem hiding this comment.
Same comment here. The screen is called "Experimental Features" in the UI.
| Beta Features: Settings → tap "Beta features" | |
| Experimental Features: Settings → tap "Experimental features" |
| | Privacy Settings | `PrivacySettingsFragment` | Settings → "Privacy settings" | | ||
| | Beta Features | `BetaFeaturesFragment` | Settings → "Beta features" | | ||
| | Developer Options | `DeveloperOptionsFragment` | Settings → "Developer options" (debug only) | | ||
| | Notifications | `NotificationSettingsFragment` | Settings → "Notifications" | |
There was a problem hiding this comment.
It's actually tricky to open NotificationSettingsFragment since the user has to manually change the default notification sound to open our notification screem. Currently, this button just opens the OS notification settings. I think it's fine to omit mentioning NotificationSettingsFragment. We can use this instead:
| | Notifications | `NotificationSettingsFragment` | Settings → "Notifications" | | |
| | Manage Notifications | OS Notification Settings | Settings → Manage Notifications | |
Alternatively, we could just drop this line entirely.
|
Version |
|
Thanks for the feedback @irfano |
irfano
left a comment
There was a problem hiding this comment.
Thanks for addressing my feedback. I’ve just left two more minor suggestions, but I’m approving. LGTM! 👍🏻
Co-authored-by: Irfan Ömür <irfan.omur@automattic.com>
Co-authored-by: Irfan Ömür <irfan.omur@automattic.com>

Description
Three changes to improve AI agent reliability when verifying UI changes on-device:
1. Enable testTagsAsResourceId in WooTheme
Adds Modifier.semantics { testTagsAsResourceId = true } to WooTheme, which makes all Compose testTag() values visible as resource IDs in the accessibility tree. Without this, Compose test tags (e.g. dashboard_stats_card, POS tags) were invisible to mobile_list_elements_on_screen, the primary tool agents use to detect and interact with UI elements. This is a one-line semantic change with no visual or layout impact.
2. Consolidate screen identifiers into the verify-on-device skill
Moves the screen identifiers reference from a standalone file (.agents/references/screen-identifiers.md) into the verify-on-device skill where it is actually consumed. This gives agents a single source of truth, the skill now contains comprehensive screen detection identifiers, navigation flows, dialog handling, and Compose test tag references inline.
3. Add device preparation steps to the verify skill
Adds three new steps to reduce flakiness and interference during agent verification:
Test Steps
Images/gif
N/A