CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

browser-automation

Use when the user asks to automate browser tasks, scrape websites, fill forms, capture screenshots, extract structured data from web pages, or build web automation workflows. NOT for testing — use playwright-pro for that.

64

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./engineering/skills/browser-automation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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, highly actionable skill body: executable workflow code, explicit validation checkpoints, and exemplary progressive disclosure across a six-file bundle. Its weakness is token efficiency — it spends sections explaining Playwright features and selector basics Claude already knows, and the workflow step lists restate what the code shows.

Suggestions

Cut or compress the "Why Playwright over Selenium or Puppeteer" section — Claude already knows these library features; keep at most one line justifying the choice.

Remove the duplication between numbered workflow steps and the accompanying code by letting the code carry the sequence and keeping steps to decision points and checkpoints.

Move the CSS selector priority rationale into data_extraction_recipes.md alongside the selector patterns, keeping only a one-line pointer in the body.

DimensionReasoningScore

Conciseness

The "Why Playwright over Selenium or Puppeteer" section explains library features Claude already knows ("Auto-wait built in", "Multi-browser from one API"), the selector-priority list restates basic web knowledge, and the workflow step lists partially duplicate their accompanying code. Not a 2 because most of the document is genuine operational guidance (anti-detection ordering, storage-state patterns, anti-patterns); not a 4 because the over-explanation spans whole sections rather than minor trimmable instances.

3 / 5

Actionability

Three complete async Playwright functions with real API calls ("await page.pdf(path=\"out.pdf\", format=\"A4\")", "context.storage_state(path=\"state.json\")"), plus a scripts table with concrete flags and commands. Minor gaps keep it from 5: helpers like extract_listings, human_delay, and login are defined only in reference files, and "user_agent=\"Mozilla/5.0 ...\"" is a placeholder, so the body code is not standalone copy-paste. Clearly above 3 — the guidance is concrete and executable with reference support, not pseudocode.

4 / 5

Workflow Clarity

Three workflows have numbered sequences with explicit checkpoints ("Validate extracted data (check for nulls, expected types)", "Check if 'Next' button exists and is enabled", "Deduplicate results", incremental writes, session-validity pre-check), covering the 50+ page batch case. Not a 5 because retry/backoff feedback loops are described in a separate section rather than woven into the workflows themselves; not a 3 because validation checkpoints are explicitly present.

4 / 5

Progressive Disclosure

Every bundle file (3 references, 3 scripts) is clearly signaled with descriptive one-level-deep links ("See [data_extraction_recipes.md](references/data_extraction_recipes.md) for complete pagination handlers and scroll patterns"), scripts are documented in a table with flags and outputs, and no nested references exist in the bundle. The body stays a navigable overview with worked examples inline, matching the level 5 anchor.

5 / 5

Total

16

/

20

Passed

Description

78%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 with explicit, natural trigger phrases and a well-handled boundary against the sibling testing skill. Its main weakness is the absence of an explicit capability statement: the description is entirely a when-clause, so what the skill does (and that it uses Playwright) must be inferred from the trigger list.

Suggestions

Add a standalone third-person capability statement naming the tool, e.g. "Automates browser workflows with Playwright: scraping, form filling, screenshots, and session management" before the Use-when clause.

Add common trigger synonyms such as "web scraping", "crawler", or "headless browser" to broaden natural keyword coverage.

Mention capabilities the body covers but the description omits (PDF capture, cookie/session persistence) to close the coverage gap.

DimensionReasoningScore

Specificity

Concrete actions are listed ("scrape websites, fill forms, capture screenshots, extract structured data from web pages"), but "automate browser tasks" and "build web automation workflows" are generic, and coverage gaps exist (PDF capture, session management, anti-detection are in the body but not the description). It exceeds the 1-2 concrete actions of level 3 but falls short of level 5's comprehensive coverage.

4 / 5

Completeness

The explicit trigger clause "Use when the user asks to automate browser tasks, scrape websites... or build web automation workflows" clearly answers when, with a concrete negative boundary ("NOT for testing"). However, there is no standalone capability statement answering what — the what is only implied by the action list embedded in the when clause. Short of level 5's explicit both what AND when; clearly above level 3 since the when is fully explicit.

4 / 5

Trigger Term Quality

Natural phrases users would say ("automate browser tasks", "scrape websites", "fill forms", "capture screenshots") give good keyword coverage, but common synonyms like "web scraping", "crawler", "headless browser", or the tool name Playwright are missing. Better than level 3's partial coverage, short of level 5's comprehensive synonym set.

4 / 5

Distinctiveness Conflict Risk

The explicit disambiguation "NOT for testing — use playwright-pro for that" resolves the closest neighboring-skill conflict, and the remaining triggers (scraping, form filling, screenshots, data extraction) form a clear niche with minimal overlap risk. This matches the level 5 anchor.

5 / 5

Total

17

/

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.

Repository

alirezarezvani/claude-skills

Path

engineering/skills/browser-automation/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.