playwright-frontend
About
This skill guides frontend developers on writing UI components that are reliably locatable by tests and AI agents. It covers the official Playwright locator priority, emphasizes semantic markup, and provides framework-specific rules for adding stable `data-testid` attributes. Use it when authoring or reviewing components to create a durable automation contract for your UI.
Quick Install
Claude Code
Recommendednpx skills add testdino-hq/playwright-skill -a claude-code/plugin add https://github.com/testdino-hq/playwright-skillgit clone https://github.com/testdino-hq/playwright-skill.git ~/.claude/skills/playwright-frontendCopy and paste this command in Claude Code to install this skill
Documentation
Playwright Frontend (Authoring Locatable Markup)
Audience: frontend engineers writing the app — the counterpart to the test-author guides in
core/. Your job here is to expose a small, stable, machine-readable contract on the DOM so tests and AI agents can locate elements deterministically, without flakiness.
A data-testid is a public API for your UI's automation layer: once a test or agent depends on it, renaming it is a breaking change. Build accessible markup first, then add deliberate, well-named, unique, stable test IDs where automation needs a durable handle.
Guide Index
| Topic | Guide |
|---|---|
data-testid conventions (when, naming, uniqueness, stability) | data-testid-conventions.md |
| Framework patterns (React, Vue, Angular, Svelte) + centralizing IDs + production stripping | examples.md |
Golden Rules
- Semantic HTML first — give elements a real role/label/accessible name so
getByRole/getByLabelwork; then add test IDs. - Add
data-testidonly where role, label and text fall short — no-role custom widgets, scope containers, list rows, and dynamic or localized regions. A controlgetByRolealready finds uniquely needs none. - Name for global uniqueness —
feature-component-element[-variant],kebab-case. - In lists, suffix with a stable domain key, never the array index —
user-row-${user.id}✅ /user-row-${index}❌. - Decouple the value from text, locale, styling, and DOM position — those change; the test ID must not.
- Standardize on one attribute —
data-testidis Playwright's defaulttestIdAttribute; don't mixdata-test/data-qa.
Related
- core/locators.md / core/locator-strategy.md — the consumer side: choosing locators when writing tests.
- Playwright official docs: Locators, Best Practices.
GitHub Repository
Frequently asked questions
What is the playwright-frontend skill?
playwright-frontend is a Claude Skill by testdino-hq. Skills package instructions and resources that Claude loads on demand, so Claude can perform playwright-frontend-related tasks without extra prompting.
How do I install playwright-frontend?
Use the install commands on this page: add playwright-frontend to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does playwright-frontend belong to?
playwright-frontend is in the Testing category, tagged react, ai, testing, design, and data.
Is playwright-frontend free to use?
Yes. playwright-frontend is listed on AIMCP and free to install.
Related Skills
This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.
This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.
This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.
This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.
