CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

ai-unified-process/aiup-playwright

AI Unified Process end-to-end layer - Playwright browser tests for use cases and test case journeys of any web UI

1.05x
Quality

97%

Does it follow best practices?

Impact

99%

1.05x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

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

This is a high-quality skill body: executable config and commands for every phase, a well-guarded test-data and cleanup policy, a numbered workflow with explicit failure handling, and a clean one-level reference structure with all bundle files present. The only weakness is mild length — a few rationale passages in Setup and Test Data could be trimmed without losing guidance.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, project-specific guidance (Flyway vs Drizzle seeding, stack.md conventions, the Next.js route-announcer gotcha, mat-select overlay handling) and teaches nothing Claude already knows, matching the 4 anchor 'efficient; minor instances of over-explanation'. It is not 5 because the ~280-line body has passages that could be tightened, e.g. the extended port-vs-health-endpoint rationale in Setup and several long compound sentences.

4 / 5

Actionability

Fully executable throughout: 'npm install -D @playwright/test', a complete playwright.config.ts (baseURL, webServer array with readiness URLs, storageState setup project), locator one-liners, an assertions reference table, run commands like 'npx playwright test --grep "@UC-010"', and real spec templates in references/. This matches the 5 anchor: copy-paste ready commands and code covering the common cases.

5 / 5

Workflow Clarity

A 10-step Workflow with explicit sequencing and a genuine feedback loop in step 8 ('On a failure... Mechanics first: is the frontend and the backend up... Use --headed --debug or the Playwright MCP server'). The destructive cleanup operation is well guarded ('Make the cleanup idempotent', 'never a raw database call and never a delete-all', 'only the data the test created'), so the destructive-op cap does not apply; this matches the 5 anchor with explicit validation steps and error recovery.

5 / 5

Progressive Disclosure

All five inline links resolve to real files in references/ (e2e-server.md, layer.md, markers.md, test-case.spec.ts.md, use-case.spec.ts.md), each one level deep and clearly signaled with its purpose (templates, markers rows, the NestJS/Drizzle e2e server, the layer catalog row). Overview-level decisions and gotchas stay inline while templates and deep detail live in references, matching the 5 anchor; it is not 4 because navigation is clean and the split is appropriate.

5 / 5

Total

19

/

20

Passed

Description

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

The description is exemplary: it states concrete capabilities (both test types, locating strategy, cleanup discipline), gives an explicit and natural 'Use when' trigger list, and cleanly fences its scope against the adjacent /vaadin-e2e-test skill. It is long but every clause carries information, with no fluff or over-claims.

DimensionReasoningScore

Specificity

Concrete actions are comprehensively stated: 'Writes end-to-end browser tests in TypeScript with @playwright/test', 'a use case test (UC-XXX) with one test per scenario, or a test case journey (TC-XXX) that walks the whole Flow table... with one test.step per row', 'Locates elements by role, label, and text', and 'cleans up only the data the test created'. This matches the 5 anchor (multiple specific concrete actions, comprehensive coverage); it is not 4 because coverage extends beyond minor gaps into test structure, locating strategy, and cleanup.

5 / 5

Completeness

It explicitly answers both 'what' (writes TypeScript Playwright e2e tests as UC-XXX per-scenario tests or TC-XXX journeys with test.step per row, role/label/text locating, created-data cleanup) and 'when' (an explicit 'Use when...' clause with concrete trigger phrases), exactly the 5 anchor pattern. It is not 4 because the 'when' is fully explicit rather than improvable; third person is used throughout.

5 / 5

Trigger Term Quality

The 'Use when' clause lists natural phrases users would actually say: 'write Playwright tests', 'create e2e tests', 'test in the browser', 'automate a test case', 'test a user journey', 'automate TC-001', plus 'end-to-end, browser, or UI integration tests'. This is comprehensive synonym-level coverage matching the 5 anchor, not 4, since no common variation is obviously missing.

5 / 5

Distinctiveness Conflict Risk

A clear niche (Playwright e2e for non-Vaadin client-side frameworks) with explicit boundary routing: 'for any web UI that is not Vaadin' and 'For a Vaadin UI use /vaadin-e2e-test'. Triggers are distinct to browser/e2e testing, matching the 5 anchor with minimal conflict risk; it is not 4 because the main adjacent-skill overlap (Vaadin) is explicitly excluded.

5 / 5

Total

20

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page