From israel-shopping
Use when the user wants to search AliExpress and **hide products that carry the `Max Combo` badge** — i.e. exclude bundle/combo deals from the result set so only standalone listings remain. AliExpress provides no server-side filter for this on the listing page (validated — see `research/ui-selectors/listing-page-filters.md` §3); the skill therefore runs the standard search via `search-aliexpress`, then post-filters the visible product cards by reading the `Max Combo` badge text in the card DOM and dropping any card that has it. Trigger phrases — "search aliexpress without combo", "exclude max combo", "no bundle deals aliexpress", "aliexpress single items only", "hide combo deals".
npx claudepluginhub danielrosehill/claude-code-plugins --plugin israel-shoppingThis skill uses the workspace's default tool permissions.
Wrapper around `search-aliexpress` that drops `Max Combo` bundle listings from the results.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Wrapper around search-aliexpress that drops Max Combo bundle listings from the results.
Max Combo is a per-product badge, not a server-side filter — there is no filterCode:* toggle for it on the listing page. The only way to "exclude combo" is to fetch the full result set and drop badged cards client-side. This skill encapsulates that pattern so callers don't have to know about the badge mechanics.
Same as search-aliexpress, plus:
query (required)filters (optional) — same shape: { choice, freeshipping, rating4plus, premium, ship_from }max_results (optional, default 20) — applied after combo filtering, so to surface 20 non-combo cards the skill will scrape more than 20 raw cards.over_fetch_factor (optional, default 2) — multiplier for how much to over-fetch. With max_results=20 and factor 2, scrape up to 40 raw cards then drop combos and trim to 20.search-aliexpress (locale handshake → URL → filter toggles).max_results, see over_fetch_factor).Max Combo badge.max_results and return.Max Combo badgeValidated in research/ui-selectors/listing-page-filters.md §3:
<span class="lw_an">Max Combo</span>
The class lw_an is hashed and will rotate between deploys — anchor on the text instead, scoped to product card containers.
// On the listing page, after results render:
const badged = new Set(
[...document.querySelectorAll('span')]
.filter(el => /^max combo$/i.test(el.textContent.trim()))
.map(el => el.closest('a[href*="/item/"]'))
.filter(Boolean)
);
Then when extracting product cards, drop any whose anchor element is in badged.
When b_locale=iw_IL, AliExpress may render the badge in Hebrew. Capture both:
/^(max combo|מקס קומבו|קומבו)$/i.test(el.textContent.trim())
If the Hebrew rendering is ever observed and differs from the regex above, update the research notes and this skill.
Same shape as search-aliexpress, with one extra line in the header:
Combo cards dropped: <N> (raw scraped: <R>, returned: <max_results or fewer>)
If R - N < max_results, return what's available and note that the over-fetch wasn't enough — the user can re-run with a higher over_fetch_factor.
max_results × over_fetch_factor: just process what's there; report the actual counts.max_results cards normally; report Combo cards dropped: 0."Max Combo deal"): the regex above is anchored, so it won't match; this is intentional. If observed in the wild, relax to /\bmax combo\b/i and document the change.Pack of 3, Set of 5) with no Max Combo badge — these are not filtered. Add a separate skill if needed.search-aliexpress passes.max_results.