CtrlK
BlogDocsLog inGet started
Tessl Logo

playwright-skill

Battle-tested Playwright patterns for E2E, API, component, visual, accessibility, and security testing. Covers locators, fixtures, POM, network mocking, auth flows, debugging, CI/CD (GitHub Actions, GitLab, CircleCI, Azure, Jenkins), framework recipes (React, Next.js, Vue, Angular), and migration guides from Cypress/Selenium. TypeScript and JavaScript.

57

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/playwright/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

58%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an exceptionally token-efficient, well-organized index with genuinely useful golden rules, but as shipped in this bundle it is all pointer and no payload: every one of the ~50 referenced guides is missing, leaving no executable code, no workflow sequences, and no validation guidance. As a SKILL.md it is a good table of contents for a bundle that does not exist here.

Suggestions

Ship the referenced guide files (core/, ci/, pom/, migration/, playwright-cli/) or remove the index — as-is, all ~50 links are dead and the skill delivers no actionable detail.

Add a short quick-start section with one complete, executable test example (config snippet + a getByRole-based test) so the body carries minimal standalone value even before the guides are opened.

Include a brief decision workflow (e.g., 'new suite → pick architecture via test-architecture.md → set retries/traces per Golden Rules → verify with trace on first failure') so the body sequences the reader through the guides rather than only listing them.

DimensionReasoningScore

Conciseness

The body is a lean navigation index — compact tables plus ten terse golden rules with concrete API names and config values ('Never page.waitForTimeout()', "Retries: 2 in CI, 0 locally", "Traces: 'on-first-retry'"). There is no padding, no explanation of concepts Claude already knows, and every row earns its place, matching anchor 5 ('lean and efficient; assumes Claude's competence').

5 / 5

Actionability

The Golden Rules provide some concrete, directive guidance with real API and config names (getByRole(), expect(locator).toBeVisible(), baseURL, test.extend()), but the body contains no executable code blocks, commands, or examples — all execution detail is deferred to reference guides, and none of those guide files actually exist in the bundle. This sits between anchor 3 ('some concrete guidance but incomplete') and anchor 4; it does not reach 4 because 'mostly executable guidance' is absent from the body itself.

3 / 5

Workflow Clarity

The body presents no multi-step workflow, sequence, or validation checkpoint of any kind — it is an index of pointers, and the 'Architecture Decisions' table offers decision topics without a decision path. Anchor 2 ('rough sequence present but many gaps; validation absent') is the closest fit; it is not a 1 because the document is coherent and clearly organized, just without any operational sequence, and not a 3 because there are no steps listed at all to have gaps in.

2 / 5

Progressive Disclosure

Structurally the body is a well-signaled, one-level-deep reference index organized by task, which resembles anchor 5's navigation quality. However, none of the ~50 referenced files (core/locators.md, ci/ci-github-actions.md, playwright-cli/SKILL.md, etc.) exist in the bundle — no references/, scripts/, or assets/ directories are present, so every link is dead. Scored against the actual bundle structure, this drops to anchor 3: the structure and signaling are present, but the disclosed content cannot be reached.

3 / 5

Total

13

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, information-dense description that comprehensively enumerates the skill's capability surface with concrete tool, framework, and CI names, and is unambiguously anchored to Playwright. Its one structural weakness is the missing 'Use when...' trigger clause, which caps completeness and weakens the model's ability to know when to invoke it.

Suggestions

Append an explicit trigger clause, e.g. 'Use when writing, debugging, or migrating E2E tests with Playwright, or when the user mentions Playwright, test automation, or migrating from Cypress/Selenium.'

Spell out common natural trigger phrases users actually say — 'end-to-end testing', 'browser automation', 'flaky tests', 'test automation' — rather than relying only on tool-internal jargon like POM and fixtures.

Drop the 'Battle-tested' qualifier; it is a mild buzzword that adds no information for trigger matching.

DimensionReasoningScore

Specificity

The description enumerates concrete capability areas in detail — 'Covers locators, fixtures, POM, network mocking, auth flows, debugging, CI/CD (GitHub Actions, GitLab, CircleCI, Azure, Jenkins), framework recipes (React, Next.js, Vue, Angular), and migration guides from Cypress/Selenium' — with comprehensive, specific coverage. It matches the anchor-5 example (multiple specific concrete actions, comprehensive coverage) better than anchor 4, which requires 'minor gaps in coverage'; no meaningful gaps are evident.

5 / 5

Completeness

The 'what' is clear and specific (Playwright testing patterns across E2E, API, component, visual, accessibility, and security testing), but there is no 'Use when...' clause or equivalent explicit trigger guidance, capping this dimension at 3 per the judging guidelines. It is not a 2 because the 'what' is thorough and concrete, not vague.

3 / 5

Trigger Term Quality

Natural keywords users would say are well covered: 'Playwright', 'E2E', 'locators', 'fixtures', 'Cypress', 'Selenium', framework names, and 'TypeScript and JavaScript'. It falls between anchors: coverage is good (anchor 4) but misses common natural variations such as 'end-to-end testing' spelled out, 'test automation', 'browser testing', and 'flaky tests', so it does not meet anchor 5's 'comprehensive coverage of natural terms including synonyms'.

4 / 5

Distinctiveness Conflict Risk

The description is firmly anchored to a single specific tool ('Battle-tested Playwright patterns') with distinct triggers (Cypress/Selenium migration, specific CI systems, specific frameworks), giving it a clear niche with minimal conflict risk against other skills. It matches anchor 5; anchor 4's 'minor overlap risk with closely related skills' would apply only if it left room to trigger for generic testing skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 74 missing

Warning

Total

15

/

16

Passed

Repository
zebbern/claude-code-guide
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.