What problem does it solve? Many websites hide their data behind JavaScript rendering, "load more" buttons, dropdowns, or search boxes, so a naive one-shot scrape returns empty or partial results. This Skill captures data from any non-article web page — SPAs, branch locators, catalogs, government portals — while routing all requests through the user's own machine to preserve their local IP for geo-restricted sites. ## Core Features & Use Cases - API-first discovery: Captures XHR/fetch traffic in network mode to find the backing JSON endpoint of an SPA, then calls it directly and caches it in sites.yaml for future runs. - Scripted interaction: Clicks "load more" buttons in a loop, enumerates dropdown options, types into autocomplete search boxes, and scrolls lazy-loaded pages until content stops growing. - Four output modes: raw HTML, rendered DOM, structured JSON/CSV extraction, and network-response capture, each saved with a sidecar .meta.json under pages/YYYY/MM/. - Use Case: Scrape the Israel Post branch locator by loading the page, clicking through city filters until all branches load, then extracting every branch id and Hebrew name into JSON. ## Quick Start Scrape this page, click the "load more" button until everything loads, then extract all branch names and ids into JSON: <URL>.