Customization
Before executing, check for user customizations at:
~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/BrightData/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the BrightData skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **BrightData** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
Workflow Routing
When executing a workflow, output this notification directly:
Running the **WorkflowName** workflow in the **Brightdata** skill to ACTION...
Route to the appropriate workflow based on the request.
When user requests scraping/fetching a single URL:
Examples: "scrape this URL", "fetch this page", "get content from [URL]", "pull content from this site", "retrieve [URL]", "can't access this site", "this site is blocking me", "use Bright Data to fetch"
→ READ: Workflows/FourTierScrape.md
→ EXECUTE: Four-tier progressive scraping workflow (WebFetch → Curl → Browser Automation → Bright Data MCP)
When user requests crawling multiple pages from a site:
Examples: "crawl this site", "crawl all pages under /docs", "spider this domain", "map this website", "get all pages from", "crawl [URL]", "scrape the whole site", "extract all pages"
→ READ: Workflows/Crawl.md
→ EXECUTE: Crawl workflow (Light Crawl for <50 pages, Full Crawl via Bright Data Crawl API for larger sites)
When to Activate This Skill
Direct Scraping Requests (Categories 1-4)
- "scrape this URL", "scrape [URL]", "scrape this page"
- "fetch this URL", "fetch [URL]", "fetch this page", "fetch content from"
- "pull content from [URL]", "pull this page", "pull from this site"
- "get content from [URL]", "retrieve [URL]", "retrieve this page"
- "do scraping on [URL]", "run scraper on [URL]"
- "basic scrape", "quick scrape", "simple fetch"
- "comprehensive scrape", "deep scrape", "full content extraction"
Access & Bot Detection Issues (Categories 5-7)
- "can't access this site", "site is blocking me", "getting blocked"
- "bot detection", "CAPTCHA", "access denied", "403 error"
- "need to bypass bot detection", "get around blocking"
- "this URL won't load", "can't fetch this page"
- "use Bright Data", "use the scraper", "use advanced scraping"
Result-Oriented Requests (Category 8)
- "get me the content from [URL]"
- "extract text from [URL]"
- "download this page content"
- "convert [URL] to markdown"
- "need the HTML from this site"
Crawling Requests (Categories 9-11)
- "crawl this site", "crawl [URL]", "spider this domain"
- "map this website", "get all pages from [URL]", "scrape the whole site"
- "crawl all pages under /docs", "extract all pages from", "site crawl"
- "get every page on this site", "full site extraction"
- "crawl depth 3", "crawl up to 50 pages"
Use Case Indicators
- User needs web content for research or analysis
- Standard methods (WebFetch) are failing
- Site has bot detection or rate limiting
- Need reliable content extraction
- Converting web pages to structured format (markdown)
- User needs multiple pages from a site, not just one
- User wants to map a site's structure or extract a section
Core Capabilities
Progressive Escalation Strategy:
- Tier 1: WebFetch - Fast, simple, built-in Claude Code tool
- Tier 2: Customized Curl - Chrome-like browser headers to bypass basic bot detection
- Tier 3: Browser Automation - Full browser automation using Playwright for JavaScript-heavy sites
- Tier 4: Bright Data MCP - Professional scraping service that handles CAPTCHA and advanced bot detection
Key Features:
- Automatic fallback between tiers
- Preserves content in markdown format
- Handles bot detection and CAPTCHA
- Works with any URL
- Efficient resource usage (only escalates when needed)
Workflow Overview
FourTierScrape.md - Complete URL content scraping with four-tier fallback strategy
- When to use: Any single URL content retrieval request
- Process: Start with WebFetch → If fails, use curl with Chrome headers → If fails, use Browser Automation → If fails, use Bright Data MCP
- Output: URL content in markdown format
Crawl.md - Multi-page crawling with link discovery and site mapping
- When to use: Crawling multiple pages from a site, mapping site structure, extracting a section
- Process: Light Crawl (MCP scrape_batch + link extraction loop, up to 50 pages) or Full Crawl (Bright Data Crawl API for entire sites)
- Output: Site map + page contents in markdown, with crawl stats and cost summary
Extended Context
Integration Points:
- WebFetch Tool - Built-in Claude Code tool for basic URL fetching
- Bash Tool - For executing curl commands with custom headers
- Browser Automation - Playwright-based browser automation for JavaScript rendering
- Bright Data MCP -
mcp__Brightdata__scrape_as_markdown and scrape_batch for advanced scraping
- Bright Data Crawl API - HTTP POST to
api.brightdata.com/datasets/v3/trigger for full-site crawls
When Each Tier Is Used:
- Tier 1 (WebFetch): Simple sites, public content, no bot detection
- Tier 2 (Curl): Sites with basic user-agent checking, simple bot detection
- Tier 3 (Browser Automation): Sites requiring JavaScript execution, dynamic content loading
- Tier 4 (Bright Data): Sites with CAPTCHA, advanced bot detection, residential proxy requirements
Configuration:
No configuration required - all tools are available by default in Claude Code
Examples
Example 1: Simple Public Website
User: "Scrape https://example.com"
Skill Response:
- Routes to three-tier-scrape.md
- Attempts Tier 1 (WebFetch)
- Success → Returns content in markdown
- Total time: <5 seconds
Example 2: Site with JavaScript Requirements
User: "Can't access this site https://dynamic-site.com"
Skill Response:
- Routes to four-tier-scrape.md
- Attempts Tier 1 (WebFetch) → Fails (blocked)
- Attempts Tier 2 (Curl with Chrome headers) → Fails (JavaScript required)
- Attempts Tier 3 (Browser Automation) → Success
- Returns content in markdown
- Total time: ~15-20 seconds
Example 3: Site with Advanced Bot Detection
User: "Scrape https://protected-site.com"
Skill Response:
- Routes to four-tier-scrape.md
- Attempts Tier 1 (WebFetch) → Fails (blocked)
- Attempts Tier 2 (Curl) → Fails (advanced detection)
- Attempts Tier 3 (Browser Automation) → Fails (CAPTCHA)
- Attempts Tier 4 (Bright Data MCP) → Success
- Returns content in markdown
- Total time: ~30-40 seconds
Example 4: Explicit Bright Data Request
User: "Use Bright Data to fetch https://difficult-site.com"
Skill Response:
- Routes to four-tier-scrape.md
- User explicitly requested Bright Data
- Goes directly to Tier 4 (Bright Data MCP) → Success
- Returns content in markdown
- Total time: ~5-10 seconds
Related Documentation:
~/.claude/PAI/SkillSystem.md - Canonical structure guide
~/.claude/PAI/CONSTITUTION.md - Overall PAI philosophy
Last Updated: 2026-02-22
1---2name: brightdata3description: 4-tier progressive URL scraping and multi-page crawling — WebFetch, then Chrome-header curl, then Playwright browser, then Bright Data proxy. Auto-escalates when lower tiers fail. USE WHEN Bright Data, scrape URL, web scraping, site blocking me, can't access, bot detection, crawl site, crawl pages, spider, CAPTCHA, four tier scrape, progressive scraping, Chrome headers.4---56## Customization78**Before executing, check for user customizations at:**9`~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/BrightData/`1011If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.121314## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)1516**You MUST send this notification BEFORE doing anything else when this skill is invoked.**17181. **Send voice notification**:19 ```bash20 curl -s -X POST http://localhost:8888/notify \21 -H "Content-Type: application/json" \22 -d '{"message": "Running the WORKFLOWNAME workflow in the BrightData skill to ACTION"}' \23 > /dev/null 2>&1 &24 ```25262. **Output text notification**:27 ```28 Running the **WorkflowName** workflow in the **BrightData** skill to ACTION...29 ```3031**This is not optional. Execute this curl command immediately upon skill invocation.**3233## Workflow Routing3435**When executing a workflow, output this notification directly:**3637```38Running the **WorkflowName** workflow in the **Brightdata** skill to ACTION...39```4041**Route to the appropriate workflow based on the request.**4243**When user requests scraping/fetching a single URL:**44Examples: "scrape this URL", "fetch this page", "get content from [URL]", "pull content from this site", "retrieve [URL]", "can't access this site", "this site is blocking me", "use Bright Data to fetch"45→ **READ:** Workflows/FourTierScrape.md46→ **EXECUTE:** Four-tier progressive scraping workflow (WebFetch → Curl → Browser Automation → Bright Data MCP)4748**When user requests crawling multiple pages from a site:**49Examples: "crawl this site", "crawl all pages under /docs", "spider this domain", "map this website", "get all pages from", "crawl [URL]", "scrape the whole site", "extract all pages"50→ **READ:** Workflows/Crawl.md51→ **EXECUTE:** Crawl workflow (Light Crawl for <50 pages, Full Crawl via Bright Data Crawl API for larger sites)5253---5455## When to Activate This Skill5657### Direct Scraping Requests (Categories 1-4)58- "scrape this URL", "scrape [URL]", "scrape this page"59- "fetch this URL", "fetch [URL]", "fetch this page", "fetch content from"60- "pull content from [URL]", "pull this page", "pull from this site"61- "get content from [URL]", "retrieve [URL]", "retrieve this page"62- "do scraping on [URL]", "run scraper on [URL]"63- "basic scrape", "quick scrape", "simple fetch"64- "comprehensive scrape", "deep scrape", "full content extraction"6566### Access & Bot Detection Issues (Categories 5-7)67- "can't access this site", "site is blocking me", "getting blocked"68- "bot detection", "CAPTCHA", "access denied", "403 error"69- "need to bypass bot detection", "get around blocking"70- "this URL won't load", "can't fetch this page"71- "use Bright Data", "use the scraper", "use advanced scraping"7273### Result-Oriented Requests (Category 8)74- "get me the content from [URL]"75- "extract text from [URL]"76- "download this page content"77- "convert [URL] to markdown"78- "need the HTML from this site"7980### Crawling Requests (Categories 9-11)81- "crawl this site", "crawl [URL]", "spider this domain"82- "map this website", "get all pages from [URL]", "scrape the whole site"83- "crawl all pages under /docs", "extract all pages from", "site crawl"84- "get every page on this site", "full site extraction"85- "crawl depth 3", "crawl up to 50 pages"8687### Use Case Indicators88- User needs web content for research or analysis89- Standard methods (WebFetch) are failing90- Site has bot detection or rate limiting91- Need reliable content extraction92- Converting web pages to structured format (markdown)93- User needs multiple pages from a site, not just one94- User wants to map a site's structure or extract a section9596---9798## Core Capabilities99100**Progressive Escalation Strategy:**1011. **Tier 1: WebFetch** - Fast, simple, built-in Claude Code tool1022. **Tier 2: Customized Curl** - Chrome-like browser headers to bypass basic bot detection1033. **Tier 3: Browser Automation** - Full browser automation using Playwright for JavaScript-heavy sites1044. **Tier 4: Bright Data MCP** - Professional scraping service that handles CAPTCHA and advanced bot detection105106**Key Features:**107- Automatic fallback between tiers108- Preserves content in markdown format109- Handles bot detection and CAPTCHA110- Works with any URL111- Efficient resource usage (only escalates when needed)112113---114115## Workflow Overview116117**FourTierScrape.md** - Complete URL content scraping with four-tier fallback strategy118- **When to use:** Any single URL content retrieval request119- **Process:** Start with WebFetch → If fails, use curl with Chrome headers → If fails, use Browser Automation → If fails, use Bright Data MCP120- **Output:** URL content in markdown format121122**Crawl.md** - Multi-page crawling with link discovery and site mapping123- **When to use:** Crawling multiple pages from a site, mapping site structure, extracting a section124- **Process:** Light Crawl (MCP scrape_batch + link extraction loop, up to 50 pages) or Full Crawl (Bright Data Crawl API for entire sites)125- **Output:** Site map + page contents in markdown, with crawl stats and cost summary126127---128129## Extended Context130131**Integration Points:**132- **WebFetch Tool** - Built-in Claude Code tool for basic URL fetching133- **Bash Tool** - For executing curl commands with custom headers134- **Browser Automation** - Playwright-based browser automation for JavaScript rendering135- **Bright Data MCP** - `mcp__Brightdata__scrape_as_markdown` and `scrape_batch` for advanced scraping136- **Bright Data Crawl API** - HTTP POST to `api.brightdata.com/datasets/v3/trigger` for full-site crawls137138**When Each Tier Is Used:**139- **Tier 1 (WebFetch):** Simple sites, public content, no bot detection140- **Tier 2 (Curl):** Sites with basic user-agent checking, simple bot detection141- **Tier 3 (Browser Automation):** Sites requiring JavaScript execution, dynamic content loading142- **Tier 4 (Bright Data):** Sites with CAPTCHA, advanced bot detection, residential proxy requirements143144**Configuration:**145No configuration required - all tools are available by default in Claude Code146147---148149## Examples150151**Example 1: Simple Public Website**152153User: "Scrape https://example.com"154155Skill Response:1561. Routes to three-tier-scrape.md1572. Attempts Tier 1 (WebFetch)1583. Success → Returns content in markdown1594. Total time: <5 seconds160161**Example 2: Site with JavaScript Requirements**162163User: "Can't access this site https://dynamic-site.com"164165Skill Response:1661. Routes to four-tier-scrape.md1672. Attempts Tier 1 (WebFetch) → Fails (blocked)1683. Attempts Tier 2 (Curl with Chrome headers) → Fails (JavaScript required)1694. Attempts Tier 3 (Browser Automation) → Success1705. Returns content in markdown1716. Total time: ~15-20 seconds172173**Example 3: Site with Advanced Bot Detection**174175User: "Scrape https://protected-site.com"176177Skill Response:1781. Routes to four-tier-scrape.md1792. Attempts Tier 1 (WebFetch) → Fails (blocked)1803. Attempts Tier 2 (Curl) → Fails (advanced detection)1814. Attempts Tier 3 (Browser Automation) → Fails (CAPTCHA)1825. Attempts Tier 4 (Bright Data MCP) → Success1836. Returns content in markdown1847. Total time: ~30-40 seconds185186**Example 4: Explicit Bright Data Request**187188User: "Use Bright Data to fetch https://difficult-site.com"189190Skill Response:1911. Routes to four-tier-scrape.md1922. User explicitly requested Bright Data1933. Goes directly to Tier 4 (Bright Data MCP) → Success1944. Returns content in markdown1955. Total time: ~5-10 seconds196197---198199**Related Documentation:**200- `~/.claude/PAI/SkillSystem.md` - Canonical structure guide201- `~/.claude/PAI/CONSTITUTION.md` - Overall PAI philosophy202203**Last Updated:** 2026-02-22