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. This skill covers Playwright (recommended) and Puppeteer, with patterns for testing, scraping, and agentic browser control. Key insight: Playwright won the framework war. Unless you need Puppeteer's stealth ecosystem or are Chrome-only, Playwright is the better choice in 202
41
27%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.agent/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.
This description reads like an educational overview rather than a skill selection guide. While it establishes the domain (browser automation with Playwright/Puppeteer) and provides some context about framework choice, it fails to include explicit trigger conditions and lacks the concrete action verbs needed for Claude to confidently select this skill. The description also appears truncated (ending mid-word with '202').
Suggestions
Add an explicit 'Use when...' clause with trigger terms like 'browser automation', 'Playwright', 'Puppeteer', 'web scraping', 'E2E testing', 'headless browser', or 'automated web interaction'.
Replace the editorial content ('Key insight: Playwright won the framework war') with concrete capabilities like 'Automates browser interactions, captures screenshots, handles authentication flows, scrapes dynamic content'.
Include common user phrases and file/technology markers such as '.spec.ts', 'playwright.config', 'page.goto', 'browser.newPage' to improve trigger matching.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (browser automation) and mentions some actions (web testing, scraping, AI agent interactions) but lacks concrete specific actions like 'click buttons', 'fill forms', 'capture screenshots'. The description focuses more on concepts (selectors, waiting strategies, anti-detection patterns) than actionable capabilities. | 2 / 3 |
Completeness | Describes what the skill covers (browser automation frameworks and patterns) but completely lacks a 'Use when...' clause or any explicit trigger guidance. The description reads more like an introduction to a tutorial than skill selection criteria. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Playwright', 'Puppeteer', 'browser automation', 'web testing', 'scraping', but misses common user terms like 'headless browser', 'web crawler', 'automated testing', 'E2E tests', 'end-to-end', or 'selenium alternative'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of Playwright and Puppeteer specifically helps distinguish it, but 'web testing' and 'scraping' could overlap with other testing or data extraction skills. The framework-specific focus provides some distinctiveness. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill content is incomplete and lacks actionable guidance. It has a reasonable structure with sub-skill references but provides no executable code, no concrete examples, and appears truncated mid-sentence. The persona-style introduction wastes tokens on content Claude doesn't need.
Suggestions
Add a Quick Start section with executable Playwright code showing basic page navigation and element interaction
Remove the persona introduction and replace with concise, actionable guidance on when to use Playwright vs Puppeteer
Complete the truncated content and add at least one concrete workflow (e.g., 'Setting up a test' with numbered steps and validation)
Add a brief summary of what each sub-skill covers so users can navigate without clicking through all links
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The persona introduction ('You are a browser automation expert...') is unnecessary padding that explains Claude's role rather than providing actionable content. The 'core insight' section is somewhat useful but could be more concise. | 2 / 3 |
Actionability | The content provides no concrete code, commands, or executable examples. It describes concepts abstractly ('bad selectors, missing waits') without showing how to implement solutions. The 'Patterns' section is empty and sub-skills are just links. | 1 / 3 |
Workflow Clarity | No workflow is defined. The content appears truncated ('For scraping, yo') and provides no sequenced steps, validation checkpoints, or process guidance for browser automation tasks. | 1 / 3 |
Progressive Disclosure | The structure attempts progressive disclosure with sub-skill links, which is good. However, the main skill provides almost no overview content - it's essentially just a table of contents with no quick-start or essential information before delegating to sub-files. | 2 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
332e58b
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.