CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cuawright-web

Solve a user-specified web task code-as-action style by driving a local Playwright browser through one bash command at a time, saving screenshots and an action log into `final_runs/run_<id>/`, and visually verifying the result. Use when the user asks to automate a web task (search, filter, form-fill, multi-step flow, data extraction) and wants reusable scripts plus screenshot evidence rather than a one-shot answer.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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 well-structured skill body: the workspace contract and hard rules are unusually concrete, and the workflow embeds real validation with evidence-citation requirements and a fix-and-rerun loop. The main weaknesses are the skippable harness-history preamble and references to `reference/` files that are not present in the bundle, which undermines both actionability and navigation.

Suggestions

Trim the Webwright/JSON-loop backstory and the `image_qa`/`self_reflection` replacement discussion to one or two lines stating only the operative rule ("use Bash directly as the bash_command loop; verify with Read on PNGs"), cutting the design-history explanation.

Ship the referenced bundle files (`reference/playwright_patterns.md`, `reference/workflow.md`, `reference/cli_tool_mode.md`) with the skill, or inline a minimal executable Playwright heredoc skeleton in SKILL.md so the workflow's Explore/Author steps remain actionable without them.

Move the Firefox-vs-Chromium rationale (ERR_HTTP2_PROTOCOL_ERROR fingerprinting note) into `reference/playwright_patterns.md` alongside the launch recipes, keeping only the bare rule ("launch firefox headless, never Chromium, never full_page=True") in SKILL.md.

DimensionReasoningScore

Conciseness

The body is dense operational guidance with no basic-concept teaching — exact paths, formats, and rules throughout. Not 5 because the opening backstory ("Webwright is normally an LLM-driven loop that emits one JSON-wrapped `bash_command` per turn... You do NOT need to wrap your output in JSON") and the discussion of replacing the OpenAI-backed `image_qa`/`self_reflection` tools explain harness design history rather than what to do, and could be trimmed to a couple of lines.

4 / 5

Actionability

Concrete, near-executable guidance throughout: install commands (`pip install -e .`, `playwright install firefox`), exact log-line format (`step <n> action: <reason and action>`), screenshot naming pattern, viewport dict, and `playwright.firefox.launch(headless=True)`. Not 5 because no executable Playwright script skeleton appears inline — authoring patterns are delegated to `reference/playwright_patterns.md`, leaving a gap if that file is unavailable.

4 / 5

Workflow Clarity

The 6-step Workflow (Plan → Explore → Author → Execute → Self-verify → Done) has explicit validation checkpoints: each CP must be proven by a cited screenshot or log line ("`Read` each cited PNG and confirm the evidence is unambiguous"), with a feedback loop for failures ("Fix `final_script.py`, re-run inside `final_runs/run_<id+1>/`, and re-verify") and a checklist artifact (`plan.md`). This matches the top anchor exactly.

5 / 5

Progressive Disclosure

Well-organized sections (Modes, Prerequisites, Workspace Contract, Workflow, Hard Rules, Reference Files, Slash Commands) with a clearly signaled Reference Files section describing each one-level-deep reference's contents. Not 5 because all three referenced files (`reference/playwright_patterns.md`, `reference/workflow.md`, `reference/cli_tool_mode.md`) are absent from the bundle — the skill instructs the agent to consult files that do not exist, breaking navigation.

4 / 5

Total

17

/

20

Passed

Description

88%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 description: it names concrete actions with exact artifact paths, explicitly answers both what the skill does and when to use it with natural trigger phrases, and stays third-person throughout. The only gaps are a few missing user-side synonyms (scraping, browser automation) and slight overlap risk with generic scraping/testing skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the full loop — "driving a local Playwright browser through one bash command at a time, saving screenshots and an action log into `final_runs/run_<id>/`, and visually verifying the result" — with no vague filler. It fits the comprehensive-coverage anchor rather than the minor-gaps anchor (4) because every capability of the skill (execute, log, screenshot, verify) is explicitly named.

5 / 5

Completeness

Both halves are explicit and concrete: the "what" is solving web tasks via Playwright with saved screenshots/log and visual verification, and the "when" is an explicit "Use when the user asks to automate a web task (search, filter, form-fill, multi-step flow, data extraction) and wants reusable scripts plus screenshot evidence rather than a one-shot answer." This matches the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "automate a web task (search, filter, form-fill, multi-step flow, data extraction)", "reusable scripts", "screenshot evidence". Not 5 because common synonyms a user would naturally say — "scrape/scraping", "browser automation", "bot" — are absent.

4 / 5

Distinctiveness Conflict Risk

The niche — local Playwright browser driven bash-command-at-a-time with evidence artifacts in `final_runs/run_<id>/` — is mostly distinct with clear triggers. Not 5 because "automate a web task" and "data extraction" could also plausibly trigger generic web-scraping or browser-testing skills, creating minor overlap risk.

4 / 5

Total

18

/

20

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

microsoft/Webwright

Path

skills/cuawright-web/SKILL.md

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.