From Local-Web-Capture
Capture product name + price (and optional unit price, stock, SKU) from an Israeli e-commerce URL via the user's localhost, saving a structured JSON snapshot under ~/local-web-capture/prices/<domain>/. Use when the user wants to track a price on Yad2, Shufersal, Rami Levy, KSP, Ivory, Zap, or similar, or asks to "grab the price" / "snapshot this listing".
npx claudepluginhub danielrosehill/claude-code-plugins --plugin Local-Web-CaptureThis skill uses the workspace's default tool permissions.
Capture a structured price record for a product URL. One file per capture — history accumulates naturally.
Prevents silent decimal mismatch bugs in EVM ERC-20 tokens via runtime decimals lookup, chain-aware caching, bridged-token handling, and normalization. For DeFi bots, dashboards using Python/Web3, TypeScript/ethers, Solidity.
Share bugs, ideas, or general feedback.
Capture a structured price record for a product URL. One file per capture — history accumulates naturally.
Must run from this machine's network. The request must exit via the user's Israeli IP. No hosted scrapers.
sites.yaml. Most Israeli retail sites need playwright (SPA or JS-rendered prices). Default to playwright unless sites.yaml says otherwise.price_selectors block from sites.yaml if present. If the domain is unknown, prompt the user for the selectors once and add them to sites.yaml for future runs.Via the installed Playwright MCP:
playwright_navigate(url).document.title and the final URL (in case of redirects).Resolve save root per reference/save-location.md (project-local <repo>/captures/ preferred; global ~/local-web-capture/ fallback; --out overrides).
Path: <root>/prices/<domain>/YYYY-MM-DD--HHMM--<product-slug>.json (timestamp included so repeated snapshots of the same product accumulate history).
{
"url": "...",
"final_url": "...",
"domain": "shufersal.co.il",
"product_name": "...",
"price": {
"raw": "₪ 12.90",
"amount": 12.90,
"currency": "ILS"
},
"unit_price": {"raw": "...", "amount": null, "unit": null},
"in_stock": true,
"sku": null,
"captured_at": "2026-04-23T14:32:05+03:00",
"extractor": "playwright",
"selectors_used": { "product_name": "...", "price": "..." }
}
Parse amount by stripping currency symbols and thousands separators (Israeli sites use both , and . — detect the decimal carefully).