CtrlK
BlogDocsLog inGet started
Tessl Logo

web-scraper

Use this skill when you need to extract structured data from websites — handling dynamic JavaScript content, pagination, login flows, or when you want Claude to intelligently identify the data to extract.

62

Quality

73%

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 ./external/goose-recipes/web-scraper/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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, code-forward skill with executable examples, undermined by a hardcoded model version, an undefined helper function, and absent validation for batch pagination.

Suggestions

Replace the hardcoded 'claude-opus-4-6' model string with a parameter or a note to use the current model, since version pins are time-sensitive.

Define extract_from_html() (or reuse scrape_page) so the paginated example runs as-is, and make the Anthropic client explicit in each snippet.

Add a validation/retry checkpoint in the pagination loop (e.g. check page load status, handle missing next-link, cap retries) to lift workflow clarity above the batch-operation cap.

DimensionReasoningScore

Conciseness

The body is mostly lean and assumes Claude's knowledge, but hardcoded model version strings ('claude-opus-4-6') are time-sensitive and a few inline comments ('be a good citizen', 'Let Claude extract') could be trimmed.

3 / 5

Actionability

Three concrete, copy-paste-ready Python examples with full Playwright + Anthropic wiring cover HTML extraction, pagination, and screenshot-vision; the undefined extract_from_html() is one minor gap but not enough to drop below 5.

5 / 5

Workflow Clarity

Pagination is a batch operation, yet there are no validation checkpoints, error-handling, or retry feedback loops for failed page loads, which caps workflow clarity at 3 per the batch-operation guideline.

3 / 5

Progressive Disclosure

The body is organized into clear sections (Overview, Setup, three scrapers, Quick Reference) with no nested references, though all code is inlined rather than split into reference files.

4 / 5

Total

15

/

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 an explicit 'Use when' trigger and concrete capability list. Its main weakness is the second-person voice and a slightly fluffy 'intelligently identify' phrasing.

Suggestions

Rewrite in third person to avoid the second-person voice penalty (e.g. 'Extracts structured data from websites... Use when scraping JavaScript-heavy sites, paginated catalogs, or login-gated pages').

Add the natural synonyms users say ('web scraping', 'scrape a site') to improve trigger-term coverage.

Drop the buzzword 'intelligently identify' in favor of a concrete action like 'auto-detect which fields to extract'.

DimensionReasoningScore

Specificity

It names concrete capabilities ('extract structured data', 'handling dynamic JavaScript content, pagination, login flows'), placing it at anchor 4, but the second-person phrasing 'when you need to extract' triggers the -1 voice penalty.

3 / 5

Completeness

It explicitly answers both what (extract structured data, handle JS/pagination/login) and when ('Use this skill when you need to extract structured data from websites') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural terms like 'extract structured data from websites', 'pagination', and 'login flows' are present and user-facing, though common synonyms like 'scrape'/'web scraping' are missing.

4 / 5

Distinctiveness Conflict Risk

The web-scraping niche is clearly distinct from document/data-file skills, with only minor overlap risk from the broad 'intelligently identify the data to extract' trigger.

4 / 5

Total

16

/

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.

Validation15 / 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
ProwlrBot/prowlr-marketplace
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.