web-scrapelisted
Install: claude install-skill juliuswiener/nord-kit
# web-scrape — local-first page → markdown
Pulls a URL to clean markdown with Crawl4AI running on this machine. Free, no API key, the page
content never leaves the device. This is the default reader for normal web pages.
Tool entrypoint (dispatcher over the local venv):
```bash
bash "$CLAUDE_PLUGIN_ROOT/bin/nw" scrape <url> # plain → auto-escalates to stealth if blocked
bash "$CLAUDE_PLUGIN_ROOT/bin/nw" scrape <url> --stealth # force stealth (skip plain): known anti-bot/login
bash "$CLAUDE_PLUGIN_ROOT/bin/nw" scrape <url> --no-escalate # plain only, never retry stealth
bash "$CLAUDE_PLUGIN_ROOT/bin/nw" scrape <url> --out page.md # write to file instead of stdout
bash "$CLAUDE_PLUGIN_ROOT/bin/nw" scrape <url> --raw # full markdown (default = pruned main content)
```
## Escalation ladder (auto — cheapest rung that works)
```
1. nw scrape <url> ← plain Crawl4AI, free, ~90% of pages
└─ result empty or a bot-wall ("just a moment", "enable JavaScript", captcha, cloudflare…)?
2. → AUTO-retries once with --stealth ← invisible_playwright patched Firefox, on-device
3. STILL blocked + non-sensitive? ← only then consider Firecrawl MCP (external, credits)
4. sensitive material? ← stays at rung 2. Never send it to an external API.
```
`nw scrape` does rungs 1→2 automatically: plain first, and only if the result looks blocked/empty
does it fetch again with stealth. So **just call `scrape`** — you don't decide per