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.

72

Quality

88%

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

77%

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

The body is highly actionable with executable MCP calls, seed scripts, and a validated multi-step workflow including feedback loops. Its main weaknesses are mild verbosity in a few rationale passages and a monolithic structure that inlines reference-grade material rather than splitting it out.

Suggestions

Tighten or trim rationale passages (e.g., the 'Why this is the right primitive' note and the 'Two reasons:' enumeration in step 2) so the body assumes Claude's competence more fully and scores higher on conciseness.

Move the per-page seed-patterns table and associated gotchas into a references/ file (e.g., SEED-PATTERNS.md) linked from the step, giving the skill one-level-deep progressive disclosure and shortening the core SKILL.md.

Confirm bundle files referenced by path (e.g., ooxml/scripts/validate.py-style helpers) actually exist under references/scripts/assets; none were found in this bundle, so either add them or remove dangling path references.

DimensionReasoningScore

Conciseness

Mostly efficient and project-specific rather than generic, but includes explanatory asides such as 'Why this is the right primitive:' and the 'Two reasons:' list in step 2 that could be tightened, matching the 'mostly efficient but includes some unnecessary explanation' anchor rather than the lean 3.

2 / 3

Actionability

Provides fully executable guidance: real MCP calls (browser_snapshot, browser_evaluate with concrete JS), a copy-paste TypeScript seed script, and a runnable scratch test — meeting the 'fully executable code/commands; copy-paste ready' anchor.

3 / 3

Workflow Clarity

A clearly sequenced 10-step procedure with an explicit verification loop in step 8 ('read the failure trace', categorized failure modes) and feedback branches (method works? -> retry selector; selector unstable -> flag FE), matching the anchor for clear sequence with explicit validation and feedback loops.

3 / 3

Progressive Disclosure

Sections are well-organized (When this applies, The procedure, Step-by-step 1-10, Anti-patterns), but the ~280-line body is monolithic with no bundle files and reference-ish content (the per-page seed-patterns table, gotchas) kept inline, fitting the 'some structure but content that should be separate is inline' anchor rather than the one-level-deep reference ideal.

2 / 3

Total

10

/

12

Passed

Description

100%

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 is specific, trigger-rich, complete, and well-scoped, explicitly covering both what the skill does and when to invoke it. It uses the acceptable imperative 'Use when...' form consistent with the rubric's good examples rather than first/second person.

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 for each element, and verifying it before committing" — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both: the 'Use when building or extending a Page Object Model (POM)...' clause gives when, and the 'Walks through seeding... exploring... picking... verifying' sentence gives what, satisfying the explicit-trigger requirement.

3 / 3

Trigger Term Quality

Covers the natural terms an E2E engineer would say — "Page Object Model (POM)", "stable selectors", "data-testid", "Playwright MCP", "E2E suite" — with good coverage and no jargon-only or generic phrasing.

3 / 3

Distinctiveness Conflict Risk

Scoped to a distinct niche — the Opik E2E suite under a specific path, as the discovery sub-step of the writing-e2e-tests skill — making it unlikely to trigger for unrelated skills.

3 / 3

Total

12

/

12

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.