Mtg argentina playwright
Skill rodrijuarez/mtg-argentina-skills/mtg-argentina-playwright
Claude Code skills for shopping MTG sealed product in Argentina — store lookup, full-catalog scraping, ARS/USD price verification
npx -y skills add rodrijuarez/mtg-argentina-skills --skill mtg-argentina-playwrightAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scrape full catalogs of Argentine MTG stores using Playwright MCP. Walks pagination correctly across Bazaar of Baghdad, Rancho Store TCG, Labatikueva, Al Battle TCG, Phoenix Reborn. Use when surveying stores for deals across product categories (Collector Boxes, Bundles, Secret Lairs, Commander Decks, etc).
SKILL.md
6.1 KB, as published. Nobody here has run it
MTG Argentina — Playwright Full-Catalog Scraper
When to use
- User asks "what deals are at store X?" or "survey all stores"
- Comparing prices for a specific product across all Argentine retailers
- Looking for SLDs / bundles / commander collections / sealed
- Verifying stock + pricing for a planned purchase
CRITICAL — Walk ALL pages, not just page 1
Most stores paginate with 12 products per page. A category claiming "Secret Lairs" or "Booster Boxes" typically has 3-5 pages. Always check for pagination and walk every page.
Required tools
mcp__plugin_playwright_playwright__browser_navigate— load pagemcp__plugin_playwright_playwright__browser_evaluate— extract products via JSmcp__plugin_playwright_playwright__browser_wait_for— handle Cloudflare delaysmcp__plugin_playwright_playwright__browser_close— cleanup
Standard scraping flow
1. Navigate to category page 1
browser_navigate(url=STORE_CATEGORY_URL)
2. Wait if needed
Phoenix Reborn has Cloudflare → wait 8 seconds:
browser_wait_for(time=8)
3. Extract products + detect pagination
() => {
const products = [];
document.querySelectorAll('li.product, .product, .item-product, .js-item-product').forEach(card => {
const name = card.querySelector('.woocommerce-loop-product__title, h2, h3, .name, .js-item-name')?.textContent?.trim();
const price = card.querySelector('.price, .woocommerce-Price-amount, .js-price-display, .item-price')?.textContent?.trim();
const stock = card.classList.contains('outofstock') ? 'OOS' : 'in stock';
if (name) products.push({ name, price, stock });
});
const pages = [...document.querySelectorAll('.page-numbers, .pagination a')]
.map(a => a.textContent.trim())
.filter(t => /^\d+$/.test(t));
return { products, maxPage: pages.length ? Math.max(...pages.map(Number)) : 1 };
}
4. Walk pagination — URL pattern per store
| Store | Pagination URL pattern |
|---|---|
| Bazaar | https://bazaarmtg.com/categoria-producto/magic-the-gathering/<category>/page/N/ |
| Rancho | https://ranchostoretcg.com.ar/categoria-producto/magic/page/N/ |
| Phoenix Reborn | https://phoenixreborn.com.ar/inicio/mtg/page/N/ |
| Labatikueva | https://www.labatikuevastore.com/magic-the-gathering/?mpage=N (Tiendanube) |
| Al Battle | https://albattletcg.com/magic/<category>/?mpage=N (Tiendanube) |
5. Loop until last page
# Pseudocode
page = 1
all_products = []
while True:
navigate(category_url + f"/page/{page}/")
result = evaluate(scrape_js)
if not result.products:
break
all_products.extend(result.products)
if page >= result.maxPage:
break
page += 1
6. Close browser
browser_close()
Store-specific notes
Bazaar of Baghdad (bazaarmtg.com)
- WooCommerce-based, 12 products/page
- Cash discount: not explicit on site
- Bank transfer discount: assume 5% (verify if needed)
- Categories:
/categoria-producto/magic-the-gathering/<slug>/secret-lair(5 pages, 60 SLDs)booster-box(5 pages, 60 boxes)bundle(2 pages, 14 bundles)spellbook(1 page)decks-mazos(1 page)commander-collection(1 page)pre-release(1 page)
Rancho Store TCG (ranchostoretcg.com.ar)
- WooCommerce-based, 12 products/page
- Cash discount: 10% (efectivo)
- Bank transfer discount: 5%
- Best for: Marvel preorders, Hobbit/RF preorders, Lorwyn Collector
- Category:
/categoria-producto/magic/page/N/ - 10+ pages of total Magic catalog
Labatikueva (labatikuevastore.com)
- Tiendanube platform — DIFFERENT pagination
- URL:
/magic-the-gathering/?mpage=N - Need to scroll to load products (JS lazy-loading)
- Products: scroll 5-8 times before scraping
- Cash discount: ~5%
- Selector:
.js-item-product, .item-card, [data-product-id]
Al Battle TCG (albattletcg.com)
- Tiendanube — same as Labatikueva
- Cash/transfer discount: 10% (best!)
- Often deep markdowns on Play Boxes (15-25% off)
- Categories:
/magic/<sub>/?mpage=Nbooster-box1= play boxescollector-booster-box= collectors
Phoenix Reborn (phoenixreborn.com.ar)
- WooCommerce + Cloudflare protection
- Must wait 5-8 seconds for Cloudflare to clear
- Discount: variable
- Best for: Hobbit Collector (specialty)
- URL:
/inicio/mtg/page/N/
Price interpretation
Argentine prices use periods as thousand separators:
$ 800.000,00= 800,000 ARS$ 1.740.000,00= 1,740,000 ARS
Always convert to USD using the CURRENT exchange rate (ask the user — never assume from memory). Argentine peso moves weekly.
Apply discount AFTER conversion:
- Cash: -10% (Rancho, Al Battle)
- Transfer: -5% (most stores)
Common pitfalls
- Don't trust page 1 only — most categories have 3-5 pages
- Don't skip pagination detection — walk every page
- Don't forget Cloudflare wait for Phoenix Reborn (5-8s)
- Don't ignore Tiendanube scroll for Labatikueva/Al Battle (lazy-loaded)
- Don't conflate ARS thousand-separator periods with decimal points
- Don't apply cash discount twice if site already shows discounted price
- Don't assume exchange rate — always confirm with the user
Output format
Always produce:
- Total product count across all pages
- Best deals ranked by % below market
- Cross-store comparison for same product when available
- TCG market verification for suspected deals via Scryfall/MTGStocks
Example workflow
User: "Survey Bazaar Secret Lairs"
- Navigate page 1 → extract 12 products + detect 5 total pages
- Navigate page 2 → extract 12 products
- Navigate page 3 → extract 12 products
- Navigate page 4 → extract 12 products
- Navigate page 5 → extract 12 products
- Close browser
- Verify top candidates via TCGPlayer/MTGStocks
- Report ranked deals
Gives 0 of the 12 instructions most e2e browser skills give
Counted across 407 of the 410 authors here whose files we hold, read 2026-08-06
- use page object model patternin 35 of 407, across 25 files
- Snapshot to get element refsin 24 of 407, across 14 files
- keep tests independentin 23 of 407, across 18 files
- Interact using refs from the latest snapshotin 23 of 407, across 11 files
- clean up test data after each testin 21 of 407, across 15 files
- test user behavior not implementationin 20 of 407, across 14 files
- quarantine flaky tests explicitlyin 19 of 407, across 10 files
- wait for specific network conditionsin 18 of 407, across 8 files
- re-snapshot after navigation or dom changesin 17 of 407, across 10 files
- Detect running dev servers before writing test codein 17 of 407, across 7 files
- use web-first assertionsin 17 of 407, across 14 files
- capture screenshots or videos on test failurein 17 of 407, across 14 files
Said here and by no other author read
- walk every pagination page
- use playwright browser_navigate to load pages
- use playwright browser_evaluate to extract products
- use playwright browser_wait_for to handle delays
- scroll multiple times for lazy-loaded products
- convert prices using the current exchange rate
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.