CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/electron-playwright

Authors Playwright `_electron` tests for packaged Electron desktop apps - launches the app via `electron.launch({ args })`, returns an `ElectronApplication` handle, drives renderer windows as Playwright `Page` objects, and probes the main process via `electronApp.evaluate(({ app, BrowserWindow }) => …)`. Distinct from ordinary browser page automation: this wraps the `_electron` API for launching packaged Electron apps and probing main + renderer processes. Use for end-to-end tests of Electron apps where main-process state, IPC, and renderer DOM must all be asserted from one suite.

74

Quality

93%

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

Overview
Quality
Evals
Security
Files

Quality

Content

85%

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

A well-structured, highly actionable multi-surface testing skill with a clear 10-step workflow and properly offloaded reference material. Its only weakness is conciseness — several API facts are restated across steps and the prose occasionally re-explains what the code demonstrates.

Suggestions

Consolidate the electronApp.evaluate main-process semantics into one place (Step 2) and reference it from Steps 4 and 5 instead of restating it, to cut repeated tokens.

Trim the 'What's going on' commentary in Step 2 to only the non-obvious points (e.g. executablePath defaulting to node_modules/.bin/electron), since the code already shows the rest.

Mention the executablePath default once (Step 3, the packaged-binary case where it matters) rather than repeating it in Steps 2 and the reference file.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete code per step, but repeats the same API facts across steps — electronApp.evaluate's main-process semantics (Steps 2, 4, 5) and the executablePath default (Steps 2, 3, reference) — and the 'What's going on' block re-explains behavior the code already shows, so it is not fully lean.

2 / 3

Actionability

Every step ships copy-paste-ready, executable TypeScript plus concrete CLI ('npm install --save-dev @playwright/test', 'xvfb-run --auto-servernum npx playwright test') and a complete CI yaml matrix, matching the score-3 'fully executable, copy-paste ready' anchor.

3 / 3

Workflow Clarity

A clearly numbered 10-step sequence (Install → first test → packaged launch → probe → map windows → wait for windows → config → run → parse results → CI) with built-in expect() verification at each assertion and an anti-patterns table giving error-recovery fixes, matching the score-3 clear-sequence-with-recovery-guidance anchor.

3 / 3

Progressive Disclosure

The body is an overview that points one level deep to a real references/electron-ci-and-api.md (verified present) for the full API table and CI workflow, signaled repeatedly and unambiguously, matching the score-3 'well-signaled one-level-deep references' anchor.

3 / 3

Total

11

/

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.

A tightly-scoped, third-person description that states concrete capabilities and gives an explicit 'Use for...' trigger, while explicitly distinguishing itself from ordinary browser Playwright. It cleanly satisfies all four dimensions without verbosity.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'launches the app via electron.launch({ args })', 'returns an ElectronApplication handle', 'drives renderer windows as Playwright Page objects', and 'probes the main process via electronApp.evaluate(...)' — matching the score-3 anchor of several specific actions rather than the single-domain score-2 anchor.

3 / 3

Completeness

Explicitly answers both what ('Authors Playwright _electron tests...') and when ('Use for end-to-end tests of Electron apps where main-process state, IPC, and renderer DOM must all be asserted from one suite'), matching the score-3 anchor with an explicit trigger clause.

3 / 3

Trigger Term Quality

Natural terms a user testing Electron would say — 'Electron', 'Playwright', 'end-to-end tests', 'main-process state, IPC, and renderer DOM' — give good coverage; not merely technical jargon, so it sits above the score-2 'some keywords' anchor.

3 / 3

Distinctiveness Conflict Risk

Explicitly carves a clear niche — 'Distinct from ordinary browser page automation: this wraps the _electron API' — making conflict with sibling skills unlikely, matching the score-3 'clear niche with distinct triggers' anchor.

3 / 3

Total

12

/

12

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents