From israel-shopping
Use when the user provides a specific AliExpress product URL or ID and wants the listing parsed into structured JSON — title, price, ship-to-Israel fee, lead time, ratings, store, and a computed landed cost (item + shipping, with optional 18% Israeli VAT band for items over $75 USD). Default locale is English/USD; opt in to Hebrew/ILS via `--locale he-IL`. Uses the no-auth Puppeteer scraper (`aliexpress-product-scraper`) — no API credentials needed. Trigger phrases — "fetch this aliexpress listing", "parse this aliexpress url", "what's the landed cost of this aliexpress item", "scrape aliexpress product".
How this skill is triggered — by the user, by Claude, or both
Slash command
/israel-shopping:fetch-listingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Parse a single AliExpress listing into a structured JSON file plus a one-screen summary, with Israel-aware landed-cost calculation.
Parse a single AliExpress listing into a structured JSON file plus a one-screen summary, with Israel-aware landed-cost calculation.
search-aliexpress — once a candidate is shortlisted, fetch its full datacompare-to-local)For searching (no specific URL yet), use search-aliexpress instead.
id_or_url (required) — product ID (e.g. 1005007520167230) or full URL (https://www.aliexpress.com/item/...html)--locale (optional, default en-US) — en-US (English/USD) or he-IL (Hebrew/ILS, set via documented cookies)--out-dir (optional, default ./outputs) — where to write the JSON dumpnvm use 24 # Node ≥ 24 required
cd <skill-dir>/scripts
npm install # installs aliexpress-product-scraper + puppeteer
Puppeteer downloads its own Chromium on install (~150 MB).
node scripts/ali-fetch.mjs <id|url> [outDir]
Outputs:
<outDir>/listing-<id>.json — full structured dump (price, shipping, ratings, reviews, specs, store, variants)<outDir>/.fx-cache.json — cached USD/ILS rate (24h TTL, frankfurter.app/ECB)stdout summary — title, price, orders, rating, ship lane + fee + lead time, store, landed costwrote outputs/listing-1005007520167230.json
title: <product title>
price: ₪72.10
orders: 0 rating: 4.2 (25)
ship: China → Israel fee: ₪7.49 lead: 10–30 days
store: <store name> topRated: false
fx: 1 USD = ₪2.9798 (frankfurter@2026-04-24)
landed (item+ship): ₪79.59 incl. VAT: ₪79.59 band: under-$75 (no VAT)
The script computes and surfaces both the bare landed cost (item + shipping) and the VAT-inclusive cost. The user decides which to use for comparisons.
| Item value (USD) | VAT band |
|---|---|
| ≤ $75 | No VAT |
| $75 – $500 | 18% VAT on (item + shipping) |
| > $500 | Customs/duty applies (out of scope) |
USD value is computed from the ILS price using the live frankfurter.app rate. Override with USD_ILS=<rate> env var if needed.
currency: "USD" even when the amount is ILS. The script prefers formatedAmount (the localized string with the currency glyph) over the buggy currency field.--locale he-IL is on the roadmap — needs cookie injection through Puppeteer (c_tp=ILS, b_locale=iw_IL per research/cookies/language-and-currency.md).search-aliexpress.fetch-listing-api once configured.<outDir>/listing-<id>.json and is non-empty.data.title is present (empty title indicates the scraper failed silently — usually rate-limit or DOM rotation).data.shipping[].shippingInfo.toCode === "IL" exists (or the script falls back to shipping[0] and warns).fx.rate is a finite number; if frankfurter is unreachable and no USD_ILS env override is set, the script aborts.subtotal and withVat; band is one of the three documented values.If aliexpress-product-scraper breaks (DOM rotation, anti-bot challenges):
omkarcloud/aliexpress-scraperoxylabs/aliexpress-scraperdarwiish1337/scraper_mdBrenoFariasdaSilva/E-Commerces-WebScraperFor long-term reliability, prefer fetch-listing-api (official AliExpress Affiliate API).
npx claudepluginhub danielrosehill/claude-code-plugins --plugin israel-shoppingGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.