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

81%

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

The canonical home for this skill is browser-automation in alirezarezvani/claude-skills

SKILL.md
Quality
Evals
Security

Quality

Content

65%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-organized, largely actionable body with concrete code, a useful anti-patterns section, and clean per-topic reference pointers. Its two real weaknesses are that every referenced bundle file (references/*.md and scripts/*.py) is missing from the bundle, and that the batch pagination workflow lacks validation/feedback checkpoints as required by the rubric's batch-operation cap.

Suggestions

Ship the referenced bundle files (references/data_extraction_recipes.md, references/playwright_browser_api.md, references/anti_detection_patterns.md, and the three scripts/*.py) or remove the dangling references — the body's navigation and the workflow code's undefined helpers (extract_listings, human_delay, login) currently dead-end.

Add validation/verification checkpoints to the batch pagination workflow (e.g., verify extracted row counts or non-empty data per page, retry with backoff or fallback selectors inside the loop), since batch operations require feedback loops per the rubric.

Trim the "Why Playwright over Selenium or Puppeteer" section and the Overview's restatement of the frontmatter triggers; the body is otherwise efficient and these parts explain what Claude already knows.

DimensionReasoningScore

Conciseness

The body is dense and actionable (selector priority ladder, ordered anti-detection priorities, anti-patterns with bad/good pairs). Minor over-explanation remains: the "Why Playwright over Selenium or Puppeteer" section recites library features Claude already knows, and the Overview restates the frontmatter triggers — trimmable, hence 4 rather than 5.

4 / 5

Actionability

Three workflows ship near-executable async Playwright code with real API calls (expect_download, storage_state, wait_for_selector, is_disabled). Not 5: the code depends on undefined helper functions (extract_listings, human_delay, login, fill_step_1/2) whose definitions should live in the reference files, which are not present in the bundle.

4 / 5

Workflow Clarity

Sequences are clearly numbered and Workflow 1 includes a validation step ("Validate extracted data (check for nulls, expected types)"), but Workflow 2 is a batch operation ("Scrape search results across 50+ pages") whose steps and code lack any validation/verification or retry/fallback checkpoint in the loop. Per the rubric's batch-operation cap, workflow clarity cannot exceed 3 despite the good sequencing.

3 / 5

Progressive Disclosure

The body is well-sectioned with clearly signaled one-level-deep per-topic references ("See [data_extraction_recipes.md](references/data_extraction_recipes.md) for...") and a tools table. However, scoring against the actual bundle structure, every referenced file — 3 references/*.md and 3 scripts/*.py — is absent from the bundle, so the disclosure structure cannot be followed; this keeps it at 3.

3 / 5

Total

14

/

20

Passed

Description

92%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: concrete enumerated capabilities, an explicit 'Use when' trigger clause, and a clear negative boundary that disambiguates the skill from the sibling testing skill. The only gap is a few natural synonym trigger terms (web scraping, crawler).

DimensionReasoningScore

Specificity

"scrape websites, fill forms, capture screenshots, extract structured data from web pages" lists multiple specific concrete actions with comprehensive coverage of the browser-automation domain. This matches the 5 anchor rather than 4 because the enumerated actions span the skill's full surface with no significant gaps.

5 / 5

Completeness

The explicit "Use when the user asks to..." clause enumerates concrete trigger phrases (the what), and the when is maximally explicit, including a negative boundary ("NOT for testing"). Both what and when are clearly and explicitly answered, matching the 5 anchor.

5 / 5

Trigger Term Quality

Natural user phrasings like "scrape websites", "fill forms", "capture screenshots", and "automate browser tasks" are present. Not 5 because common synonyms and variations (e.g., "web scraping", "crawler", "spider", "harvest data") are missing.

4 / 5

Distinctiveness Conflict Risk

"NOT for testing — use playwright-pro for that" draws an explicit boundary against the nearest competing skill, giving a clear niche with minimal conflict risk. Minor overlap with generic scraping skills exists, but the explicit exclusion makes this a 5 rather than 4.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 8 missing

Warning

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

14

/

16

Passed

Repository

alirezarezvani/claude-skills

Path

.gemini/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.