Claude Code Skills·Claude Skills·The open SKILL.md registry for Claude
ClaudSkills / General / general-misc

Composing Semantics Matchers

Category: General  ·  Sub-category: general-misc  ·  Last updated:
Use this skill to build precise Compose UI test queries by composing `SemanticsMatcher` predicates with `infix and`, `infix or`, and `operator not`, plus the prebuilt filter library (`hasText`, `hasClickAction`, `isEnabled`, `isOn`, `hasTestTag`, `hasContentDescription`, `hasParent`, `hasAnyAncestor`, `hasAnyChild`, `hasAnySibling`, `hasAnyDescendant`, `hasImeAction`, `hasScrollToKeyAction`, `hasScrollToNodeAction`, `isDialog`, `isPopup`, `isRoot`, `isFocused`, `isEditable`, `isHeading`). Covers `SemanticsMatcher.expectValue` / `keyIsDefined` / `keyNotDefined` for custom semantics keys. Use when the developer asks how to find "an enabled button with text Submit", how to combine matchers, how to filter by a custom `SemanticsPropertyKey`, how to write a hierarchical predicate, or mentions `hasParent`, `hasAnyAncestor`, `expectValue`. If the developer wants one matcher instead of three chained assertions, use this skill.

About this skill (catalog notes)

Composing Semantics Matchers includes explicit scope boundaries (an explicit 'when not to use' or 'out of scope' section); a dedicated installation section; 8 code blocks for direct copy-paste. The SKILL.md runs to about 1,280 words, in the catalog's typical mid-range.

License
Apache-2.0
Original author
skydoves
Indexed lastmod
Catalog position
General · general-misc
Indexed related skills
10

How Composing Semantics Matchers fits the catalog

Composing Semantics Matchers sits in the General category under the general-misc sub-topic in the ClaudSkills catalog. There are 10 related skills indexed alongside it; comparing a few before installing usually reveals which fits your workflow best.

These notes are auto-generated from features detected in the SKILL.md file and from this catalog's structure — they aren't part of the source repository.

From the source SKILL.md

A SemanticsMatcher is a description string plus a (SemanticsNode) -> Boolean predicate (SemanticsMatcher.kt:26). Compose ships with a rich filter library and three combinators (and, or, not) that produce a single matcher whose error message lists every clause. This skill picks the right factory, composes precise predicates, and replaces brittle assertion chains.

What this skill does

Composing Semantics Matchers is a community-contributed Claude Code skill in the general-misc sub-category. It ships as a SKILL.md file that Claude Code auto-discovers under ~/.claude/skills/composing-semantics-matchers/ and loads when your prompt matches the skill's trigger.

When to invoke it: Use when the developer asks how to find "an enabled button with text Submit", how to combine matchers, how to filter by a custom `SemanticsPropertyKey`, how to write a hierarchical predicate, or mentions `hasParent`, `hasAnyAncestor`, `expectValue`. If the developer wants one matcher instead of three chained assertions, use this skill.

Who uses this skill

The Composing Semantics Matchers Claude Code skill is built for Claude Code users and developers across all disciplines looking for general-purpose AI assistance. It's part of ClaudSkills (also referred to as Claude Skills or Claude Code Skills) — the open community-curated registry of 93,000+ SKILL.md files for Anthropic's Claude Code agent and the wider Claude ecosystem (Claude API, Claude Agent SDK).

How to install

Free

Manual install (2 steps)

mkdir -p ~/.claude/skills/composing-semantics-matchers
curl -L https://claudskills.com/skills/composing-semantics-matchers/SKILL.md \
  -o ~/.claude/skills/composing-semantics-matchers/SKILL.md

Or just download SKILL.md directly and drop it into ~/.claude/skills/composing-semantics-matchers/. Claude Code auto-discovers it on next session.

Skills live at ~/.claude/skills/composing-semantics-matchers/SKILL.md on macOS/Linux, or %USERPROFILE%\.claude\skills\composing-semantics-matchers\SKILL.md on Windows. See the full install guide for step-by-step instructions.

Telegram

📱 Install from your phone or desktop Telegram

Open @claudskills_bot on Telegram, tap Open Desktop App, and the desktop app installs this skill for you. Or share the bot link with a colleague — they get the same one-tap install. Learn more →

Pro

One-click install via the desktop app

The ClaudSkills desktop app installs any skill directly into ~/.claude/skills/ with one click — no terminal required. Pro starts at $9/mo or $149 lifetime.

Pro

For the full experience including quality scoring and one-click install features for each skill — upgrade to Pro.

Frequently asked questions

How do I install the Composing Semantics Matchers Claude Code skill?
Install via the ClaudSkills desktop app (one click) or copy SKILL.md from the source repository to ~/.claude/skills/composing-semantics-matchers/SKILL.md and restart Claude Code. Both flows are detailed at claudskills.com/install/.
What does the Composing Semantics Matchers skill do?
Use this skill to build precise Compose UI test queries by composing `SemanticsMatcher` predicates with `infix and`, `infix or`, and `operator not`, plus the prebuilt filter library (`hasText`, `hasClickAction`, `isEnabled`, `isOn`, `hasTestTag`, `hasContentDescription`, `hasParent`, `hasAnyAncestor`, `hasAnyChild`, `hasAnySibling`, `hasAnyDescendant`, `hasImeAction`, `hasScrollToKeyAction`, `hasScrollToNodeAction`, `isDialog`, `isPopup`, `isRoot`, `isFocused`, `isEditable`, `isHeading`). Covers `SemanticsMatcher.expectValue` / `keyIsDefined` / `keyNotDefined` for custom semantics keys. Use when the developer asks how to find "an enabled button with text Submit", how to combine matchers, how to filter by a custom `SemanticsPropertyKey`, how to write a hierarchical predicate, or mentions `hasParent`, `hasAnyAncestor`, `expectValue`. If the developer wants one matcher instead of three chained assertions, use this skill.
Is this skill free to install?
Yes. ClaudSkills is an open registry — every skill keeps its source repository's license, and manual install via copy is free. ClaudSkills Pro ($9/mo, $79/yr, or $149 one-time) adds one-click install via the desktop app and a multi-signal Quality Score.
When should I use the Composing Semantics Matchers skill?
Use Composing Semantics Matchers when your Claude Code task falls under the General category — specifically in the general misc area. Claude Code auto-discovers installed skills and invokes the right one based on the task description, so you can also ask Claude directly (e.g. "use Composing Semantics Matchers" or describe the task and let Claude pick). Browse related skills at /category/general/.
What is a Claude Code skill and how does the Composing Semantics Matchers skill fit in?
A Claude Code skill is a SKILL.md file that lives under ~/.claude/skills/<name>/ and tells the Claude Code CLI agent how to perform a specific task (instructions, prompts, allowed tools). Skills are auto-discovered at session start. Composing Semantics Matchers is one of 67,000+ skills indexed in the open ClaudSkills catalog, classified under the General category. Learn more at /learn/what-is-a-claude-skill/.

Attribution & license

Cite this skill

If you reference this skill in a blog post, paper, or documentation, you can cite it as:

APA
skydoves. (2026). Composing Semantics Matchers [Claude Code skill]. ClaudSkills. https://claudskills.com/skills/composing-semantics-matchers/
BibTeX
@misc{composing-semantics-matchers-2026,
  author    = {skydoves},
  title     = {Composing Semantics Matchers [Claude Code skill]},
  year      = {2026},
  publisher = {ClaudSkills},
  url       = {https://claudskills.com/skills/composing-semantics-matchers/}
}

Embed this skill

Promote, attribute, or link this skill from your own README, blog post, or documentation. All three snippets are free to use — no sign-up, no API key. More distribution surfaces →

Badge
[![ClaudSkills](https://claudskills.com/badge/composing-semantics-matchers.svg)](https://claudskills.com/skills/composing-semantics-matchers/?utm_source=badge&utm_medium=readme&utm_campaign=skill_badge)
<script>
<script src="https://claudskills.com/embed/composing-semantics-matchers.js" async></script>
<iframe>
<iframe src="https://claudskills.com/embed/composing-semantics-matchers.html" width="100%" height="160" frameborder="0" loading="lazy" title="ClaudSkills: Composing Semantics Matchers"></iframe>

Free. No spam. Unsubscribe in one click.

More General skills

Browse all General skills in the ClaudSkills registry, or explore these other picks from the same category:

Browse all General skills → Top 100 skills
Part of ClaudSkills — the open registry for Claude Skills & Claude Code Skills.  ·  What's New  ·  Install guide  ·  About  ·  llms.txt

Part of Acreator Store — Adam Lankamer's AI tools: PerfectStudio · Ucaption · UTagger · AutoXPoster · TestYourSkills · AutomationFlows · Au Naturel · Telegram @acreatorstore