Browser automation powers web testing, scraping, and AI agent interactions. The difference between a flaky script and a reliable system comes down to understanding selectors, waiting strategies, and anti-detection patterns.
48
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/browser-automation/SKILL.mdQuality
Discovery
32%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 reads more like an introductory paragraph or marketing blurb than a functional skill description. It lacks concrete actions the skill performs, has no 'Use when...' clause, and uses a somewhat editorial tone ('The difference between a flaky script and a reliable system') rather than directly stating capabilities. It needs significant restructuring to serve as an effective skill selector.
Suggestions
Add an explicit 'Use when...' clause with trigger scenarios, e.g., 'Use when the user asks about browser automation, Puppeteer, Playwright, Selenium, web scraping, headless browsers, or automated testing.'
Replace the editorial second sentence with concrete actions, e.g., 'Automates browser interactions including clicking elements, filling forms, navigating pages, handling authentication, and extracting page content.'
Include common tool names and file/technology references users would mention (Puppeteer, Playwright, Selenium, Cypress, headless Chrome) to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (browser automation) and some actions (web testing, scraping, AI agent interactions), and mentions technical concepts (selectors, waiting strategies, anti-detection patterns), but doesn't list concrete specific actions the skill performs—it reads more like a topic introduction than a capability list. | 2 / 3 |
Completeness | The description addresses 'what' at a high level but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also weak/vague, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'browser automation', 'web testing', 'scraping', 'selectors', and 'anti-detection', but misses common user terms like 'Puppeteer', 'Playwright', 'Selenium', 'headless browser', 'web crawling', 'click', 'navigate', or 'fill form'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of browser automation, selectors, and anti-detection patterns provides some distinctiveness, but the broad framing around 'web testing, scraping, and AI agent interactions' could overlap with general web scraping skills, testing frameworks, or AI agent skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill excels at actionability with excellent, executable code examples covering a wide range of browser automation scenarios. However, it is severely undermined by its length and monolithic structure—it's essentially a comprehensive reference guide crammed into a single file, with significant repetition between the Patterns and Sharp Edges sections. The content would benefit enormously from splitting into focused sub-files and trimming redundant explanations.
Suggestions
Split into sub-files: move Sharp Edges to SHARP-EDGES.md, Validation Checks to VALIDATION.md, and individual patterns (stealth, network interception, parallel execution) to their own files, with brief summaries and links in the main SKILL.md.
Remove duplicate content: the locator priority list appears in both the User-Facing Locator Pattern and the CSS Selectors Sharp Edge; stealth setup code appears in both the Stealth Pattern and the navigator.webdriver Sharp Edge. Keep one canonical version and reference it.
Move Capabilities, Scope, When to Use, Collaboration, and Validation Checks sections to YAML frontmatter or separate metadata files—these are not instructional content and inflate the skill body significantly.
Add a concise quick-start workflow at the top (e.g., 'Setting up Playwright in 5 steps') with explicit validation checkpoints before diving into individual patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at 500+ lines. It repeats the same concepts multiple times (e.g., locator priority is listed in both the Patterns section and Sharp Edges section, stealth setup appears twice). The Capabilities, Scope, When to Use, and Validation Checks sections add significant bulk with information that could be in frontmatter or omitted. Many sharp edges re-explain patterns already covered in the Patterns section. | 1 / 3 |
Actionability | The skill provides fully executable, copy-paste ready code examples throughout. Every pattern includes concrete Playwright/Puppeteer code with specific API calls, configuration snippets, and real-world usage examples. The code is complete and runnable, not pseudocode. | 3 / 3 |
Workflow Clarity | Individual patterns are clearly explained with good/bad examples, but there's no overarching workflow for setting up a browser automation project from scratch. The test isolation and error recovery patterns show sequences, but lack explicit validation checkpoints. For scraping workflows (which are destructive in the sense of getting blocked), there's no step-by-step validation flow. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no references to external files. All patterns, sharp edges, validation checks, and collaboration notes are inlined into a single massive document. Content like the detailed stealth patterns, network interception examples, and validation checks would be better split into separate referenced files. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (1113 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
43280f9
Table of Contents
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.