Saarthi-AI find-customers
Find relevant companies and leads for B2B sales with ICP definition and qualification frameworks.
git clone https://github.com/SAARTHII-AI/Saarthi-AI
T=$(mktemp -d) && git clone --depth=1 https://github.com/SAARTHII-AI/Saarthi-AI "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.local/secondary_skills/find-customers" ~/.claude/skills/saarthii-ai-saarthi-ai-find-customers && rm -rf "$T"
.local/secondary_skills/find-customers/SKILL.mdFind Customers
Find relevant companies and leads for B2B sales. Define ideal customer profiles, identify target accounts, qualify prospects, and organize research for outreach.
When to Use
- User wants to find companies that match their ICP
- User needs to build a prospect list for sales outreach
- User wants to research target accounts
- User needs lead qualification analysis
When NOT to Use
- Writing outreach sequences (use sdr-outreach or cold-email-writer skills)
- Recruiting candidates (use ai-recruiter skill)
- General market research (use deep-research skill)
Methodology
Step 0: Interview the User About Their Business
Before doing any research, interview the user. Most users won't give you enough context unprompted — they'll say "find me customers" without explaining what they sell or who buys it. Use multi-option quizzes to make this fast and low-friction. Ask one question at a time.
Question flow:
-
What do you sell?
- A) Software / SaaS
- B) Physical product
- C) Professional services / consulting
- D) Marketplace / platform
- E) Something else (describe)
-
Who buys it?
- A) Other businesses (B2B)
- B) Consumers (B2C / DTC)
- C) Both
-
(If B2B) What size companies?
- A) Startups / small teams (1-50 people)
- B) Mid-market (50-500)
- C) Enterprise (500+)
- D) Not sure yet
-
What's your price point?
- A) Under $100/mo
- B) $100-$1,000/mo
- C) $1,000-$10,000/mo
- D) $10,000+/mo or custom pricing
- E) One-time purchase
-
Who inside the company makes the buying decision?
- A) Engineering / technical (CTO, VP Eng, developers)
- B) Marketing (CMO, growth, content)
- C) Sales / revenue (CRO, VP Sales, RevOps)
- D) Operations / finance (COO, CFO)
- E) Founder / CEO directly
- F) Not sure
-
Do you have existing customers?
- A) Yes, paying customers — I can describe who they are
- B) A few early users / pilots
- C) No customers yet
-
(If they have customers) What do your best customers have in common? (free text — this is the most valuable answer)
-
Any industries or verticals you're focused on? (free text or skip)
If the user provides a detailed prompt upfront, skip the questions they already answered. Don't re-ask what's obvious. But if key info is missing (who buys, what size, what price), ask before proceeding — the ICP will be wrong without it.
Step 1: Define ICP (Ideal Customer Profile)
An ICP describes accounts where three things are true: they can buy (budget/size fit), they will buy (pain exists now), and they will stay (retention profile). Pick 6-10 attributes — more than 10 and nothing qualifies.
| Attribute | How to define it | Example |
|---|---|---|
| Headcount | Hard range, not "SMB" | 50-500 employees |
| Revenue | Estimate from headcount if private | $10M-$100M ARR |
| Industry | NAICS/SIC codes or named verticals | SaaS, fintech, digital health |
| Geography | Where you can legally sell + support | US, UK, Canada |
| Tech stack | Tools that signal fit (technographics) | Uses Salesforce + Segment + AWS |
| Funding stage | Proxy for budget + growth pressure | Series A-C, raised in last 18mo |
| Hiring signals | Job posts reveal priorities | Hiring "RevOps" or "Head of Data" |
| Negative signals | Disqualifiers — the sharpest filter | <20 employees, agency model, on-prem only |
ICP vs Buyer Persona: ICP = which company. Persona = which human inside it. A Series B fintech (ICP) has a VP Eng who cares about velocity and a CFO who cares about cloud spend (two personas, different messaging).
Step 2: Source Accounts
Free sources (use
+ webSearch
):webFetch
- Crunchbase —
for funding eventssite:crunchbase.com "series a" fintech 2025 - LinkedIn —
(headcount filter leaks into page text)site:linkedin.com/company [industry] "11-50 employees" - BuiltWith / Wappalyzer lookups —
a prospect's homepage, then scan source for tech signatures (Segment snippet, Intercom widget, Shopify checkout)webFetch - Job boards —
reveals what they're building;site:linkedin.com/jobs "[target company]" "data engineer"
andsite:greenhouse.io
for startup hiringsite:lever.co - G2 / Capterra category pages — companies reviewing competitors are in-market
- GitHub orgs — public repos reveal tech stack and eng team size for dev-tool ICPs
- SEC EDGAR (public cos) — 10-K "Risk Factors" sections list the exact problems they're worried about
Paid sources the user likely has (shape output for these):
- Apollo (~210M contacts, $49+/mo) — best value for SMB/mid-market, filters on headcount growth + job postings + intent
- LinkedIn Sales Navigator (~1B profiles) — most accurate job-change data, but no email export
- ZoomInfo — strongest US enterprise coverage + intent data (tracks content consumption across the web)
- Clay ($134+/mo) — waterfall enrichment: chains Apollo → Hunter → Cognism to maximize match rate. Best for teams with RevOps capacity.
- Cognism — best EU/UK data + phone-verified mobiles (GDPR-compliant)
Step 3: Buying Signals (Trigger Events)
Prospects with an active trigger convert 3-5x higher. Rank by signal strength:
| Signal | Why it matters | How to find it |
|---|---|---|
| New exec in target persona | New VPs buy tools in first 90 days | or Sales Nav job-change alerts |
| Funding round | Budget just unlocked | Crunchbase, |
| Hiring spike in relevant role | Building the team that needs you | LinkedIn Jobs count, |
| Tech stack change | Migration = pain = budget | BuiltWith historical, job posts mentioning "migrating from X" |
| Competitor displacement | Negative G2 review of competitor | |
| M&A / new product launch | Org chaos creates tool gaps | Press releases, TechCrunch |
| Earnings call mentions | Public co priority signals | SeekingAlpha transcripts, Ctrl-F for your problem space |
Step 4: Qualify & Tier
Fast disqualification (do this first): Before researching, kill accounts that fail any hard constraint — wrong geo, below headcount floor, competitor customer under contract, recent layoffs (no budget).
Qualification frameworks:
- BANT (Budget / Authority / Need / Timeline) — fine for transactional/SMB
- MEDDPICC (Metrics / Economic buyer / Decision criteria / Decision process / Paper process / Identify pain / Champion / Competition) — use for enterprise deals >$50k. The extra P's (paper process, competition) matter because enterprise deals die in legal/procurement, not in the pitch.
Tiering:
- Tier 1 — ICP match + active trigger in last 30 days → full personalization, multi-channel, SDR owns it
- Tier 2 — ICP match, no trigger → lighter-touch automated sequence, monitor for triggers
- Tier 3 — Partial fit → newsletter/nurture, revisit quarterly
Step 5: Scale with Parallel Agents
Target minimum 40 prospects. A single sequential search won't get there fast enough. Use
startAsyncSubagent to run 5 parallel research agents, each focused on a different search angle:
- Industry/vertical search — companies in the target vertical via Crunchbase, G2 category pages
- Funding/growth search — recently funded companies matching the ICP
- Hiring signal search — companies hiring for roles that indicate they need the user's product
- Competitor customer search — companies using competitors or reviewing them on G2/Capterra
- Lookalike search — competitors and alternatives to any strong-fit companies already found
Each agent should return 10-15 prospects with all columns filled in. Deduplicate after all agents return via
waitForBackgroundTasks, then merge into the final spreadsheet.
Step 6: Output as a Spreadsheet
Build a real spreadsheet using the excel-generator skill or write a CSV file — not a markdown table. The output should be something the user can import directly into a CRM, Clay, or Apollo.
Columns:
| Company | Domain | Headcount | Fit Score (1-5) | Trigger | Trigger Date | Target Contact Name | Target Title | LinkedIn URL | Email (if found) | Why Now (1 sentence) |
- LinkedIn URL — search for the target persona at the company:
. Include direct profile links.site:linkedin.com/in "[company]" "[title]" - Email — look for email patterns via
. Common patterns:webSearch("[company] email format" OR "[name] [company] email")
,first@company.com
. If not found, leave blank and note the likely format.first.last@company.com - Why Now — the most valuable column. It's the first line of the cold email.
The spreadsheet should be downloadable and ready to import — not just displayed as text.
Deep Research for Complex ICPs
For industries or markets you don't know well, pull in the deep-research skill to build context before prospecting. This is especially useful when:
- The user sells into a niche vertical you don't have strong priors on (e.g., "construction tech", "veterinary SaaS")
- You need to understand market landscape, key players, and buyer behavior before defining the ICP
- The user wants competitor analysis as part of the prospecting process
Use deep-research to gather industry context, then return here to build the prospect list with that knowledge.
Agent Tactics
Tech stack detection: Use
webSearch("[company] tech stack" OR "[company] built with") to find BuiltWith/Wappalyzer/StackShare profiles. Common signatures to look for in search results:
- Segment, Intercom, Stripe, Shopify, Google Analytics
- Job postings often reveal stack:
webSearch("[company] careers engineering")
Note:
webFetch returns markdown content, not raw HTML — script tags and asset URLs are stripped. Use search-based detection rather than HTML source scanning.
Waterfall search pattern: If one query returns nothing, don't stop — try synonym variants. "VP Engineering" OR "Head of Engineering" OR "Engineering Lead" OR "CTO" all map to the same persona at different company sizes.
Lookalike expansion: Once you find 5 good-fit accounts, search for their direct competitors —
webSearch: "[good-fit company] vs" or "[good-fit company] alternatives" surfaces the category.
Best Practices
- 50 researched > 500 sprayed — reply rates on researched lists run 3-5x higher
- Disqualify before you qualify — negative filters are cheaper to check
- Trigger freshness decays fast — a funding round is a 60-day window, a job change is a 90-day window
- Enrich once, cache the result — don't re-research the same account every sequence
- B2B data decays ~30%/year — any list older than 6 months needs re-verification
Limitations
- Cannot log into LinkedIn Sales Navigator, Apollo, ZoomInfo, or Clay — builds search strategies the user executes
- Cannot verify email deliverability (user should run through NeverBounce/ZeroBounce before sending)
- Cannot detect intent data (Bombora/6sense-style content consumption signals require paid platforms)
- Company headcount/revenue estimates from public web are approximate — private company data is inherently fuzzy