DevHive-Cli ai-sdr

Find relevant companies and leads for B2B sales with ICP definition and qualification frameworks.

install
source · Clone the upstream repo
git clone https://github.com/El3tar-cmd/DevHive-Cli
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/El3tar-cmd/DevHive-Cli "$T" && mkdir -p ~/.claude/skills && cp -r "$T/agents/ai-sdr" ~/.claude/skills/el3tar-cmd-devhive-cli-ai-sdr && rm -rf "$T"
manifest: agents/ai-sdr/SKILL.md
source content

AI SDR

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:

  1. What do you sell?

    • A) Software / SaaS
    • B) Physical product
    • C) Professional services / consulting
    • D) Marketplace / platform
    • E) Something else (describe)
  2. Who buys it?

    • A) Other businesses (B2B)
    • B) Consumers (B2C / DTC)
    • C) Both
  3. (If B2B) What size companies?

    • A) Startups / small teams (1-50 people)
    • B) Mid-market (50-500)
    • C) Enterprise (500+)
    • D) Not sure yet
  4. 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
  5. 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
  6. 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
  7. (If they have customers) What do your best customers have in common? (free text — this is the most valuable answer)

  8. 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.

AttributeHow to define itExample
HeadcountHard range, not "SMB"50-500 employees
RevenueEstimate from headcount if private$10M-$100M ARR
IndustryNAICS/SIC codes or named verticalsSaaS, fintech, digital health
GeographyWhere you can legally sell + supportUS, UK, Canada
Tech stackTools that signal fit (technographics)Uses Salesforce + Segment + AWS
Funding stageProxy for budget + growth pressureSeries A-C, raised in last 18mo
Hiring signalsJob posts reveal prioritiesHiring "RevOps" or "Head of Data"
Negative signalsDisqualifiers — 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
    site:crunchbase.com "series a" fintech 2025
    for funding events
  • LinkedIn
    site:linkedin.com/company [industry] "11-50 employees"
    (headcount filter leaks into page text)
  • BuiltWith / Wappalyzer lookups
    webFetch
    a prospect's homepage, then scan source for tech signatures (Segment snippet, Intercom widget, Shopify checkout)
  • Job boards
    site:linkedin.com/jobs "[target company]" "data engineer"
    reveals what they're building;
    site:greenhouse.io
    and
    site:lever.co
    for startup hiring
  • 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:

SignalWhy it mattersHow to find it
New exec in target personaNew VPs buy tools in first 90 days
site:linkedin.com "[company]" "I'm excited to join"
or Sales Nav job-change alerts
Funding roundBudget just unlockedCrunchbase,
webSearch: "[company] raises"
Hiring spike in relevant roleBuilding the team that needs youLinkedIn Jobs count,
site:greenhouse.io/[company]
Tech stack changeMigration = pain = budgetBuiltWith historical, job posts mentioning "migrating from X"
Competitor displacementNegative G2 review of competitor
site:g2.com "[competitor]" 1-star OR 2-star
M&A / new product launchOrg chaos creates tool gapsPress releases, TechCrunch
Earnings call mentionsPublic co priority signals
webFetch
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:

  1. Industry/vertical search — companies in the target vertical via Crunchbase, G2 category pages
  2. Funding/growth search — recently funded companies matching the ICP
  3. Hiring signal search — companies hiring for roles that indicate they need the user's product
  4. Competitor customer search — companies using competitors or reviewing them on G2/Capterra
  5. 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:
    site:linkedin.com/in "[company]" "[title]"
    . Include direct profile links.
  • Email — look for email patterns via
    webSearch("[company] email format" OR "[name] [company] email")
    . Common patterns:
    first@company.com
    ,
    first.last@company.com
    . If not found, leave blank and note the likely format.
  • 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

  1. 50 researched > 500 sprayed — reply rates on researched lists run 3-5x higher
  2. Disqualify before you qualify — negative filters are cheaper to check
  3. Trigger freshness decays fast — a funding round is a 60-day window, a job change is a 90-day window
  4. Enrich once, cache the result — don't re-research the same account every sequence
  5. 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