E2E testing with Playwright - Page Objects, cross-browser, CI/CD
48
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/playwright-testing/SKILL.mdQuality
Discovery
32%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description reads more like a tag list than a proper skill description. While it identifies the technology (Playwright) and some relevant concepts, it fails to describe concrete actions the skill performs and completely lacks a 'Use when...' clause to guide skill selection. It needs to be rewritten with explicit capabilities and trigger conditions.
Suggestions
Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks about writing Playwright tests, end-to-end testing, browser automation, or test infrastructure setup.'
Replace the tag-style format with concrete action descriptions, e.g., 'Writes and maintains Playwright E2E test suites using the Page Object pattern, configures cross-browser test matrices, and sets up CI/CD pipelines for automated test execution.'
Include common natural language variations users might say, such as 'end-to-end tests', 'browser automation', 'test automation', '.spec.ts', or 'integration testing'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (E2E testing with Playwright) and mentions some concepts (Page Objects, cross-browser, CI/CD), but these are more like topic tags than concrete actions. It doesn't describe what the skill actually does (e.g., 'writes test scripts', 'generates page object classes', 'configures browser matrices'). | 2 / 3 |
Completeness | There is no explicit 'Use when...' clause or equivalent trigger guidance, and the 'what' is only loosely implied through topic keywords rather than clearly stated actions. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the weak 'what' brings it down to 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Playwright', 'E2E testing', 'Page Objects', 'cross-browser', and 'CI/CD' that users might mention. However, it misses common variations like 'end-to-end', 'browser testing', 'test automation', 'integration tests', or file extensions like '.spec.ts'. | 2 / 3 |
Distinctiveness Conflict Risk | Mentioning 'Playwright' specifically helps distinguish it from other testing frameworks (e.g., Cypress, Selenium), but the broad terms 'E2E testing', 'cross-browser', and 'CI/CD' could overlap with other testing or DevOps skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable code examples covering the full Playwright testing lifecycle, which is its primary strength. However, it is severely over-long and monolithic—it tries to be a comprehensive Playwright reference rather than a focused skill document. The dead link detection section alone (~100+ lines) and exhaustive assertion reference could easily be separate files, and many patterns shown are standard Playwright usage that Claude already knows.
Suggestions
Reduce the file to ~150 lines by extracting detailed sections (dead link detection, full assertion reference, CI/CD configs, visual testing) into separate referenced files like LINK-CHECKING.md, CI-CD.md, etc.
Remove or drastically condense the assertions section—Claude knows Playwright's assertion API; a brief 'prefer web-first assertions, avoid manual waits' note suffices.
Cut explanatory comments that state the obvious (e.g., '// ✅ BEST: Role-based (accessible, resilient)' and '// ❌ NEVER: XPath') and trust Claude to understand the locator priority from a concise ordered list.
Add an explicit workflow with validation steps for setting up a new E2E test suite: install → verify browsers installed → run sample test → confirm passing → build out page objects.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~600+ lines. It explains many concepts Claude already knows (basic Playwright API, what assertions do, how page objects work), includes exhaustive assertion lists that duplicate Playwright docs, and the dead link detection section alone is massive with three full implementations. Much of this could be condensed or referenced externally. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with proper imports, complete implementations, and copy-paste ready patterns. The config, page objects, test files, CI workflows, and CLI commands are all concrete and specific. | 3 / 3 |
Workflow Clarity | The setup flow (install → configure → write tests → run) is implicit rather than explicitly sequenced. There are no validation checkpoints (e.g., verify installation succeeded, verify config is valid before writing tests). The project structure is shown but the workflow for creating a new test from scratch lacks explicit steps with verification. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with everything inline. The header mentions 'Load with: base.md + [framework].md' suggesting a multi-file structure exists, but the skill itself dumps everything—config, page objects, auth, assertions, mocking, visual testing, CI/CD, dead link detection, test data, debugging—into one massive file with no references to separate documents for detailed topics. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (963 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
d4ddb03
Table of Contents
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.