hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Cross-stack selector and test-id policy for web and mobile automation. Use when writing or reviewing E2E/UI test locators, or adding data-testid/accessibility identifiers to components.

Install

npx vskill@latest install hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability

SKILL.md

Quality Engineering: Selector Stability

Priority: P0 (CRITICAL)

Web Ladder

getByRole / getByLabel > getByTestId (data-testid) > attribute CSS. Never XPath, nth-child, or generated class names.

Mobile Ladder

Accessibility id > resource-id / testTag > predicate/uiautomator > XPath. Never XPath.

Framework Map

  • React/Next.js: data-testid.
  • React Native: testID for automation; separate accessibilityLabel for VoiceOver/TalkBack.
  • Flutter: WidgetKeys (Key) on widgets for widget tests, integration_test, and Patrol.
  • SwiftUI/UIKit: .accessibilityIdentifier (automation only); .accessibilityLabel (screen reader).
  • Jetpack Compose: Modifier.testTag + testTagsAsResourceId = true for automation; contentDescription for a11y.

Naming

<screen>-<element>-<role>, kebab-case (e.g. checkout-submit-button).

Insertion Policy

Add ids to leaf interactive/assertable elements only, never layout wrappers. Never rename an existing id — ids are a public contract other tests depend on.

Drift Classes

rename (id changed), restructure (DOM/tree moved), i18n (visible text changed, id untouched).

Anti-Patterns

  • Text selectors on translated strings, index-based locators (nth), generated/hashed class names.
  • Using accessibilityLabel / contentDescription as a test id (they are user-facing a11y strings, not stable test locators).
  • Overwriting or stripping accessible labels to insert test identifiers.
  • Using web CSS / XPath selectors in native mobile automation.
  • "xpath just for now" — there is no temporary XPath; use the ladder from the first commit.

References

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
569
Repository forks
166
7-day trend score
37

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability/badge)](https://verified-skill.com/skills/hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability)

Something wrong with this skill or its page? Tell us.