local-prospecting.md
165 lines · skills/prospecting/references/local-prospecting.md at 88c79f6
Most marks come from matching words in the file, so treat them as pointers.
Local SMB Prospecting Reference
For when the user sells to local small businesses — shops, gyms, restaurants, salons, clinics, professional services, contractors, real estate, fitness studios, dental practices.
Adapted from and generalized beyond the local-client-prospector pattern (browser-assisted discovery + website status classification + proximity scoring).
Raw lines 1 to 8
ICP Signals That Matter (Local SMB branch)
Raw lines 9 to 10Operational signals
- Active business — Google Business Profile updated, recent reviews, recent hours updates
- Recent activity — open right now, regular hours posted, recent photos uploaded by owner
- Customer engagement — owner responding to reviews, posts on social, active calendar (for service businesses)
Online presence signals (the core SMB qualification axis)
The reference local-client-prospector skill uses website status as the primary qualification — port this directly. Four classifications:
| Status | Definition | Typical outcome |
|---|---|---|
| No site found | No credible standalone website after cross-checked search | Hot prospect for web/marketing service |
| Social only | Facebook, Instagram, WhatsApp, Linktree, booking portal, marketplace page only — no standalone site | Hot prospect for web/marketing service |
| Weak site | Standalone site exists but outdated, broken, very thin, non-mobile-friendly, or missing clear contact/conversion flow | Warm prospect for refresh / rebuild service |
| Has site | Credible, modern standalone site exists | Low prospect unless other signals apply (e.g., poor SEO, weak conversion design) |
Proximity signals
- Distance from the user's location or service area
- Density — clusters of similar businesses in one area = neighborhood targeting opportunity
- Travel time — useful when in-person discovery, install, or service delivery is required
Decay signals
- Closed permanently (Google Maps banner)
- Reviews paused or business listing reported as closed
- Last activity (review, post) >12 months ago
Raw lines 34 to 41
Discovery Sources (Local SMB branch)
Raw lines 42 to 43Primary
- Google Maps (browser, manual) — search "category near [location]" and walk the visible results. Cross-check details. Don't bulk-extract.
- Yelp — secondary verification; complementary categories
- Bing Local / Apple Maps — different coverage on smaller businesses
- Facebook Pages search — many SMBs are Facebook-only
Cross-verification
- Business's own website (if any)
- Industry directories (e.g., Healthgrades for medical, OpenTable for restaurants, Avvo for legal)
- Local Chamber of Commerce listings
- State business registries for incorporation status
- Search results for "[business name] [city]" to discover non-Maps presence
Raw lines 51 to 60
Browser Research Workflow
- Open a browser and search Google Maps for the category near
base_location - Build a candidate list from visible local results, search results, and public directories
- For each candidate, inspect public sources to fill required fields
- Search the exact business name plus city/town to check whether a standalone website exists
- Classify website status per the table above
- Mark confidence: High (2+ sources), Medium (1 source + consistent evidence), Low (incomplete/ambiguous)
When the user explicitly asks for subagents AND subagents are available, split candidates into non-overlapping batches and ask each subagent to verify only website/social/contact status. Don't use subagents for the primary search if it slows progress.
Raw lines 61 to 71Optional: programmatic verification with Firecrawl or Browserbase
Once you have a candidate's website URL (found via manual Maps/Yelp discovery), you can speed up website-status classification by hitting the URL programmatically:
- Firecrawl for simple "is this site live, modern, mobile-friendly, conversion-flow-equipped" reads — returns clean markdown you can inspect
- Browserbase when the candidate site requires JS rendering, has a cookie consent dialog, or you need session state
Strict line: use these on the individual business's URL. Don't point them at Google Maps, Yelp, or any platform whose ToS prohibits bulk extraction — discovery stays manual.
See data-sources.md for setup details.
Raw lines 72 to 84
Qualification Checklist (Local SMB branch)
- [ ] Business is active (recent reviews or activity in last 6 months)
- [ ] Category matches user's service offering
- [ ] Distance / proximity within target radius
- [ ] Website status classified
- [ ] Phone or contact channel verified
- [ ] At least one cross-source confirms business operates at the listed address
- [ ] Not a duplicate / chain location / out-of-scope category
- [ ] Not closed permanently
Raw lines 85 to 97
Lead Scoring (Local SMB)
Use this simple rubric (matches local-client-prospector pattern):
| Score | Criteria |
|---|---|
| Hot | No site found OR social-only + phone present + active business + within target radius |
| Warm | Weak site, poor online presentation, or marketplace/booking-page only |
| Cold | Good website already present OR low confidence |
| Skip | Closed, duplicate, outside radius, irrelevant category, or not a business prospect |
Raw lines 98 to 110
Output Columns (Local SMB branch)
Chat table (≤15 rows):
| Score | Business | Category | Area | Distance | Website status | Website/Social | Phone | Why it's a prospect | Confidence |CSV:
score,business,category,area,distance_km,website_status,website_url,social_urls,phone,email,source_urls,why_prospect,confidence,verified_date,notesRules:
- Keep "Why it's a prospect" short and actionable
- Use
Not foundinstead of leaving blank fields - Include source links sparingly, not all of them
- After the table, add Best first outreach targets with the top 3 leads and one practical reason each
- If confidence is low, state exactly what remains uncertain
Raw lines 111 to 133
Top Outreach Targets Selection (Local SMB)
Prioritize for the top 3 hot leads:
- No site / social only + phone present = clearest service opportunity
- High review count = active, established business with real customers
- Owner-responded reviews = engaged owner = more likely to evaluate a vendor
- Industry alignment with your service specialty beats generic category match
Each top target rationale should be one sentence naming the gap and the signal: "No standalone website (cross-checked); 80+ Google reviews with owner replies; 2 km from target area."
Raw lines 134 to 146
Compliance Notes (Local SMB-specific)
The local branch is the most scraping-sensitive of the three motions. Specifically:
- Google Maps Terms of Service prohibit bulk extraction. Treat browser visits as research, not as data acquisition.
- Don't store full Google Maps Place IDs in your CRM — the ToS limits storage of Maps data.
- Public business contact channels only: published phone, contact form, info@ email. Don't reach individual employees through their personal channels.
- Owner/operator name when published on the business's own site is OK to use. If you only got it from LinkedIn, mark the source.
Raw lines 147 to 157
Common Mistakes (Local SMB)
- Bulk-scraping Google Maps — fastest way to violate ToS and lose the research channel.
- Treating Google Maps data as truth — listings go stale. Cross-check hours, status, and reviews.
- Skipping the website status cross-check — finding "no site" on Maps doesn't mean no site exists; do an exact-name web search before classifying.
- Targeting only the largest businesses — they're already covered by other providers. The 2–5 employee SMBs are the under-served opportunity.
- Generic outreach to all hot leads — local SMBs respond better to outreach that names their specific gap ("I noticed your menu isn't visible on mobile") than generic pitches.
- Ignoring chains and franchises as Skip — sometimes the franchisee is the buyer and they have local marketing authority. Verify before skipping.