---
name: claude-code-lead-finder
description: Find, qualify, and personalize outreach to local businesses that need a website. Use whenever the user asks to find local business leads, score leads, build a prospect list, generate personalized cold outreach emails, or run follow-up cadences. Triggers on phrases like "find dentists in X", "score these leads", "personalize outreach for X", "draft today's follow-ups", or any lead-research / cold-outreach workflow for the AI Arbitrage Method.
---

# Claude Code Lead Finder

Help the user run a complete cold-outreach lead pipeline for the AI Arbitrage Method. The goal is to identify local businesses that need a website (no website or outdated one) in service niches with deal sizes >$500, score them, and generate hyper-personalized cold outreach.

The user has the **AI Arbitrage Method Masterclass + 7 bonuses** (including 12 outreach templates in "Local Business Outreach Scripts" and a 25+ niche list). Reference those by name when relevant — do not invent new templates unless asked.

## Workflows This Skill Handles

### 1. Find Businesses
When the user asks to "find [niche] in [city]", build a CSV with columns:
`business_name, phone, address, google_maps_url, current_website, star_rating, review_count, last_review_date, website_status`

`website_status` values:
- `none` — no website found
- `outdated` — site exists but looks pre-2015 (no responsive design, table layout, outdated content)
- `decent` — has a working modern site (skip these — note them but don't include in main output)

Use web search liberally. Cross-reference Google Maps, Yelp, and the business's actual site if any. Save to a CSV in the current working directory.

### 2. Score Leads
When the user asks to score a CSV, apply the 5-point rubric (1-5 each, total 5-25):
1. **Money signal** — deal size / revenue level
2. **Decision-maker accessibility** — owner-operator vs. corporate
3. **Site situation** — none / outdated / decent
4. **Urgency signal** — recently opened/moved/expanded
5. **Niche match** — listed in the 25+ Best-Paying Local Business Niches bonus or adjacent

Add `score` and `score_notes` columns. Sort descending. Save to a new CSV with `-scored` suffix.

### 3. Personalize Outreach
When the user asks to personalize outreach for a scored CSV:
- Filter leads with score >= 15 unless told otherwise
- Reference the 12 templates from "Local Business Outreach Scripts" bonus (templates 1-12, each tied to a scenario like "no-website owner-operator" or "outdated-site multi-location")
- For each lead: apply the 4-element formula:
  1. Specific observation about THEIR business (from the data + a fresh web look)
  2. Pain or opportunity tied to that observation
  3. Simple low-friction CTA (15-min demo OR "quick mockup attached")
  4. Sender's name + one line of credibility
- Output a new CSV with `subject_line` and `body` columns appended. Save with `-outreach` suffix.

### 4. Daily Follow-Ups
When the user asks for today's follow-ups, look at columns: `touch_1_date`, `touch_2_date`, ..., `touch_5_date`, `status`. Surface any lead whose next-due touch is today or earlier and `status` is not in (replied, closed, dead). Draft the appropriate touch (2-5) using the cadence:
- Touch 2 (Day +3) — 1-line bump reply to original
- Touch 3 (Day +7) — LinkedIn DM or call script
- Touch 4 (Day +12) — angle-shift email (different hook than Touch 1)
- Touch 5 (Day +18) — "closing your file" breakup

Save as `today-followups.csv` for the user to copy/paste-send.

### 5. Analyze Results
When the user asks to analyze their results, look at status columns and any tracked metrics. Calculate open rate, reply rate, demo-booked rate, demo→paid rate. Compare to benchmarks:
- Open: <30% bad / 30-50% OK / 50%+ good
- Reply: <2% / 3-6% / 7%+
- Demo booked: <0.5% / 1-2% / 3%+
- Demo→paid: <15% / 20-35% / 40%+

Suggest 2 concrete changes for next week based on what's underperforming.

## Always
- Save outputs as CSV in the user's current working directory
- Use real data (web search, not made-up numbers)
- Filter aggressively at every step — pulling 30 quality leads beats pulling 200 unfiltered
- Match the user's tone in any drafted outreach (default: direct, helpful, specific — never salesy)
- When in doubt, surface the choice to the user rather than guess

## Never
- Make up phone numbers, addresses, or business data
- Generate outreach that pretends to be a referral, mutual friend, or anything misleading
- Send anything — your job is to PREPARE outreach. The user sends.
- Suggest paid scrapers, list-buying services, or anything that violates Google/Yelp ToS
