Transforms, validates, loads data in ETL pipelines. Use when building scrapers, validating NDJSON feeds, or importing data into CMS/DB targets.
71
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Medium
Suggest reviewing before use
Project-specific sources, full schema, full scraper and extended validator: REFERENCE.md.
Headless browser cluster (Puppeteer Cluster / Playwright) with retryLimit: 3, retryDelay: 5000, timeout: 30000, args: ['--no-sandbox', '--disable-setuid-sandbox'].
One record per line. Required: name (preserve original encoding), lat/lng, address (full text), source (e.g. google-maps), sourceId (source-unique), category. Optional: rating, reviewCount, phone, website, openingHours, photos, priceLevel.
node ./scripts/scrape-to-ndjson.js --out=data.ndjson --pages=100
node ./scripts/validate-ndjson.js data.ndjson
node ./scripts/dry-import.js data.ndjson --target=staging
node ./scripts/import.js data.ndjson --target=production--dry-run sample of 50–200 records; require expected fields and geo data. Otherwise fix extractor selectors and re-run the sample.ndjson-filter, inspect source HTML.createOrReplace disabled: counts within ±5% of expectation, no duplicates. Otherwise revert staging and adjust the dedupe key.fa0c341
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.