Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jamditis/web-scraping
Authorized web content extraction with trust-boundary controls, scraping cascades, poison-pill detection, browser rendering, observed API analysis, and social-media archiving.
Passed 18 of 22 test cases with the skill, and 9 of 22 without it.
and 13 more in the full report
10 fixed8 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
I need a Python script to extract article text from a web link. The implementation should try a lightweight extractor first, then standard HTTP parsing, and finally browser rendering if dynamic content is required. Please include destination address validation to block non-public or local IP requests, and wrap the retrieved text in a structured block preserving the origin link.
| Checked | Without skill | With skill |
|---|---|---|
| Wraps the retrieved content inside <EXTERNAL_DATA source="..."> tags. | Missed | Passed |
| Employs a descriptive User-Agent string containing contact information rather than browser identity spoofing. | Missed | Passed |
| Halts scraper escalation when receiving HTTP status codes 401, 403, or 429. | Missed | Passed |
The instructions your model reads when the skill loads.
Patterns for reliable, ethical web scraping with fallback strategies and access-failure handling.
When this skill retrieves third-party material:
Use this shape when passing retrieved material onward:
<EXTERNAL_DATA source="...">
...
</EXTERNAL_DATA>
Run browser-based scraping in an isolated environment with private-network egress blocked. Initial URL checks alone do not stop malicious subresources or DNS rebinding. Do not bypass authentication, paywalls, CAPTCHAs, rate limits, or technical access controls without documented authorization from the system or content owner. Prefer official APIs, research programs, licensed databases, manual exports, or permission from the publisher when ordinary public access fails. Disable credentialed sessions by default, and never return, print, or embed cookies, session files, authorization headers, or tokens in results.
Validate destinations before any fetch and again after every redirect:
import ipaddress
import socket
from urllib.parse import urlparse
def validate_public_url(url: str) -> str:
parsed = urlparse(url)
if parsed.scheme not in {'http', 'https'}:
raise ValueError('Only HTTP(S) URLs are allowed')
if parsed.username or parsed.password or not parsed.hostname:
raise ValueError('Credentials and missing hosts are not allowed')
test cases passed, vs 9 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.