Live leads from the workspace ghost-scouting pipeline (Serper Maps):
Google Business listings with 1,000+ reviews, no owned website (Maps-only or empty URL).
Grouped by U.S. region → city (then cuisine on each card) for outreach and web-build prioritization.
Getting 100+ rows is normal to take multiple fetch runs: this combo is uncommon in Maps results, and Serper stops when your account runs out of credits — run npm run fetch again after topping up.
Context: AGENTS.md, memory.md (ghost-scouting + local JSON), .agents/skills/skill-manager/SKILL.md (orchestration →
frontend-design), .agents/skills/ghost-scouting/SKILL.md, .agents/learning.md, work-track/CLAUDE.md.
Serve over HTTP so fetch('data/leads.json') works — not file://.
Build a strong test batch →