hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability
- community
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-stabilitySKILL.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:
testIDfor automation; separateaccessibilityLabelfor 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 = truefor automation;contentDescriptionfor 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/contentDescriptionas 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
- SKILL.md in the repositoryCheckingskills/quality-engineering/quality-engineering-selector-stability/SKILL.md
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
[](https://verified-skill.com/skills/hoangnguyen0403/agent-skills-standard/quality-engineering-selector-stability)