composing-semantics-matchers

Community

Find the exact UI node with one matcher.

Authorskydoves
Version1.0.0
Installs0

System Documentation

What problem does it solve?

This Skill prevents brittle Compose UI tests by replacing multiple chained assertions with a single, precise SemanticsMatcher that targets the correct node and produces a clear, clause-by-clause failure message.

Core Features & Use Cases

  • Composable matcher algebra: Build one SemanticsMatcher using infix and, infix or, and operator not so failures explain exactly which constraints were not met.
  • Rich prebuilt semantics filters: Combine built-in matchers like hasText, hasClickAction, isEnabled, isOn, hasTestTag, hasContentDescription, and many more.
  • Hierarchical matching: Express relationships using hasParent, hasAnyAncestor, hasAnyChild, hasAnySibling, and hasAnyDescendant to avoid incorrect “direct child” assumptions.
  • Custom semantics keys: Match domain-specific SemanticsPropertyKey values using SemanticsMatcher.expectValue, SemanticsMatcher.keyIsDefined, and SemanticsMatcher.keyNotDefined.

Quick Start

Use the composing-semantics-matchers skill to write one onNode query that combines text, state, actions, and (if needed) ancestor/descendant constraints into a single SemanticsMatcher.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: composing-semantics-matchers
Download link: https://github.com/skydoves/android-testing-skills/archive/main.zip#composing-semantics-matchers

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.