CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

browser-automation

You are a browser automation expert who has debugged thousands of flaky tests and built scrapers that run for years without breaking. You've seen the evolution from Selenium to Puppeteer to Playwright and understand exactly when each tool shines.

Quality

48%

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 ./plugins/antigravity-bundle-qa-testing/skills/browser-automation/SKILL.md

The canonical home for this skill is browser-automation in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

30%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.

The body has a promising skeleton (patterns, anti-patterns, sharp edges) but is broken and hollow: a truncated sentence, empty anti-pattern sections, a placeholder-filled table with truncated solutions, no executable code or commands, and no workflow or validation guidance. What remains is a list of terse hints that a reader could not act on directly.

Suggestions

Turn the Patterns and Sharp Edges into executable guidance: replace one-line hints with concrete Playwright code (e.g., locator examples, trace-on-failure config, context-per-test setup) instead of comment fragments like '# Use stealth plugins:'.

Repair the broken content: complete the truncated 'For scraping, yo' sentence, fill the 'Issue' placeholder column with real problem names, and either explain each anti-pattern or remove the empty sections.

Add a short sequenced workflow (e.g., reproduce flake → capture trace → fix selector/wait → re-run to verify) with explicit validation checkpoints, since debugging and scraping are error-prone multi-step operations that currently have no sequence at all.

DimensionReasoningScore

Conciseness

The body is short and mostly terse (one-line patterns, a compact table), but the opening persona paragraph duplicates the frontmatter description verbatim, tokens are wasted on broken fragments ('For scraping, yo') and placeholder 'Issue' cells, and 'When to Use' is filler ('This skill is applicable to execute the workflow or actions described in the overview'). This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the lean anchor at 5 or the padded anchor at 2.

3 / 5

Actionability

Guidance is almost entirely high-level hints: patterns are single sentences ('Let Playwright wait automatically, never add manual waits'), anti-patterns are bare headers with zero explanation, and every Sharp Edges 'Solution' is a truncated comment fragment ('# REMOVE all waitForTimeout calls', '# Use stealth plugins:') with no code, commands, or specifics. This sits between anchor 1 (only describes rather than instructs) and anchor 3 (incomplete concrete guidance with pseudocode) — the hints point in a direction but give nothing executable, matching 'minimal concrete guidance; high-level hints but missing the specific steps to execute'.

2 / 5

Workflow Clarity

There is no sequence of steps anywhere in the body — no debugging workflow, no scraper-building process, and no validation or feedback loops, which matters here because browser-automation debugging is a multi-step, error-prone activity. This matches anchor 1 ('steps missing; no sequence; no validation') most closely; anchor 2 requires at least a rough sequence, which is absent, and the simple-skill exception does not apply since this is not a single unambiguous action.

1 / 5

Progressive Disclosure

Sections are present and clearly labeled (Capabilities, Patterns, Anti-Patterns, Sharp Edges, Related Skills) with no bundle files to navigate, so the skeleton is reasonable. But the Anti-Patterns sections contain no content, the Sharp Edges table is malformed (every Issue cell is the placeholder 'Issue'), and the truncated line 'For scraping, yo' leaves an unfinished thread — this is more than 'minor organization gaps' (anchor 4) but the content is genuinely sectioned rather than inlined or buried (above anchor 2).

3 / 5

Total

9

/

20

Passed

Description

42%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.

The description is a persona statement rather than a capability description: it never says what the skill does or when to invoke it, and it uses prohibited second-person voice. Its only strengths are the named domain keywords (Playwright/Puppeteer/Selenium, flaky tests, scrapers), which give it decent trigger terms and distinctiveness.

Suggestions

Rewrite the description in third person stating concrete actions, e.g. 'Debugs flaky browser tests, builds resilient web scrapers, and writes Playwright/Puppeteer automation. Use when working with browser automation, e2e tests, headless browsers, or web scraping.'

Add an explicit 'Use when...' clause with natural trigger phrases and synonyms (e.g., 'when tests are flaky', 'when a scraper breaks', '.spec.ts files').

Drop the persona backstory ('You've seen the evolution from Selenium to...') — it adds no capability information and consumes the token budget without improving triggering.

DimensionReasoningScore

Specificity

The description is pure persona narration ('You are a browser automation expert who has debugged thousands of flaky tests...') with no concrete actions the skill itself performs; base level was 2 (domain named, actions only implied via backstory), reduced by 1 because the second-person voice ('You are', "You've seen") violates the third-person requirement. It does not fall to vagueness of 'Helps with documents' level only because the domain and tools are named, but no anchor above 1 fits given the voice penalty and absence of any skill actions.

1 / 5

Completeness

Neither 'what does this do' nor 'when should Claude use it' is answered: the text describes who the persona is, not what the skill does, and there is no 'Use when...' clause or equivalent trigger guidance (which alone would cap completeness at 3). This matches the anchor 'has a vague what and no when' — the domain is only implied through persona backstory.

2 / 5

Trigger Term Quality

Good natural keyword coverage: 'browser automation', 'flaky tests', 'scrapers', 'Selenium', 'Puppeteer', 'Playwright' — terms users would actually say. A few common variations are missing (e.g., 'web scraping', 'e2e tests', 'headless'), which keeps it below the comprehensive-synonyms anchor at 5 but clearly above the sparse-keywords anchor at 3.

4 / 5

Distinctiveness Conflict Risk

Naming Selenium, Puppeteer, and Playwright carves out a fairly distinct browser-automation niche with minimal overlap risk against unrelated skills. It is not a 5 because the persona framing provides no distinct trigger phrasing, leaving moderate overlap risk with generic web-scraping or testing skills.

4 / 5

Total

11

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/antigravity-bundle-qa-testing/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.