CtrlK
BlogDocsLog inGet started
Tessl Logo

playwright-pom-discovery

Use when building or extending a Page Object Model (POM) for the Opik E2E suite (under `tests_end_to_end/e2e/pom/`) and you need to choose stable selectors against the live UI. Walks through seeding required state, exploring the running page with the Playwright MCP (accessibility snapshot + data-testid enumeration), picking the most stable locator for each element, and verifying it before committing. Used as the discovery sub-step by the `writing-e2e-tests` skill.

71

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

81%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.

A highly actionable, well-sequenced skill body with strong verification feedback loops and concrete copy-paste examples. Its main weakness is conciseness: it over-explains a few concepts Claude already knows and would benefit from pushing page-family detail into a reference file.

Suggestions

Trim explanations of concepts Claude already knows (e.g. the role/accessible-name/ref breakdown of the accessibility tree and the 'why getByRole maps 1:1' paragraph) to lean operational guidance.

Move the per-page seed-pattern table and the eventually-consistency gotchas into a references/ file (e.g. SEED-PATTERNS.md), keeping SKILL.md as the discovery overview with a one-level-deep pointer.

Collapse the dot-graph and the numbered step list into a single representation to reduce duplication of the same procedure.

DimensionReasoningScore

Conciseness

Mostly efficient and high-value (Opik-specific gotchas, the seed-by-page-family table, anti-patterns), but it explains concepts Claude already knows — e.g. the accessibility tree having roles/accessible-names/refs and why getByRole maps 1:1 to the snapshot — and at ~280 lines could be tightened.

3 / 5

Actionability

Fully executable guidance throughout: a copy-paste TS seed script, a complete browser_evaluate JS function, exact MCP tool-call syntax (browser_navigate, browser_generate_locator), and concrete file paths (apps/opik-frontend/src/v2/router.tsx) covering the common page families.

5 / 5

Workflow Clarity

A dot-graph procedure plus a 10-step walkthrough with an explicit verify step, a failure-mode feedback loop (timeout → re-snapshot; assertion failed → fix method; multiple matches → add scope), an anti-patterns checklist, and teardown guidance — clear sequencing with validation checkpoints.

5 / 5

Progressive Disclosure

Well-organized with clear section headers and no nested references (no bundle files exist), but at ~280 lines some inline content — notably the per-page seed-pattern table and the detailed gotchas — could be split into a reference file rather than kept in SKILL.md.

4 / 5

Total

17

/

20

Passed

Description

92%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, specific description that clearly states both what it does and when to use it, with concrete actions and a well-scoped niche. Slightly technical in its trigger phrasing but well above the bar for completeness and distinctiveness.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'seeding required state', 'exploring the running page with the Playwright MCP (accessibility snapshot + data-testid enumeration)', 'picking the most stable locator', and 'verifying it before committing' — giving comprehensive coverage of what the skill does.

5 / 5

Completeness

Explicitly answers both: 'Use when building or extending a Page Object Model (POM) ... and you need to choose stable selectors' (when) and 'Walks through seeding ... exploring ... picking ... verifying' (what), in third person with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good keyword coverage with natural niche terms ('Page Object Model (POM)', 'choose stable selectors', 'Playwright MCP', 'E2E suite') and the POM synonym, but it leans technical and a few natural phrasings (e.g. 'locators', 'E2E test selectors') are only weakly present.

4 / 5

Distinctiveness Conflict Risk

A clear niche ('POM for the Opik E2E suite under tests_end_to_end/e2e/pom/') with distinct triggers and minimal conflict risk, and its relationship to the writing-e2e-tests skill is explicitly scoped.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
comet-ml/opik
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.