Skip to content
Back to skills

Lead Researcher

ASecurity

Qualify and prioritize sales leads against an ICP definition, score lead lists for outreach worthiness, and draft personalized outreach hooks. Use when building a target account list, qualifying inbound leads, prepping for outreach, or when the user mentions lead research, prospecting, sales outreach, ICP scoring, or account targeting.

  • 847 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 30, 2026
ai-agentspythongobash

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 30, 2026

npx -y skills add borghei/Claude-Skills --skill lead-researcher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lead Researcher?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lead Researcher
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/borghei-lead-researcher/badge)](https://www.skillsdirectory.com/skills/borghei-lead-researcher)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lead-researcher
description: >
  Qualify and prioritize sales leads against an ICP definition, score lead lists
  for outreach worthiness, and draft personalized outreach hooks. Use when
  building a target account list, qualifying inbound leads, prepping for outreach,
  or when the user mentions lead research, prospecting, sales outreach,
  ICP scoring, or account targeting.
license: MIT + Commons Clause
metadata:
  version: 1.0.0
  author: borghei
  category: personal-productivity
  domain: sales-prospecting
  updated: 2026-05-04
  python-tools: lead_qualifier.py
  tech-stack: sales, outbound, CRM
---

# Lead Researcher

Score and qualify sales leads against an Ideal Customer Profile (ICP) definition, then draft outreach hooks tied to specific ICP signals.

---

## Table of Contents

- [Keywords](#keywords)
- [Quick Start](#quick-start)
- [Core Workflows](#core-workflows)
- [Tools](#tools)
- [Reference Guides](#reference-guides)
- [Templates](#templates)
- [Best Practices](#best-practices)

---

## Keywords

lead, leads, prospect, prospecting, sales, outbound, ICP, ideal customer profile, qualify, qualification, scoring, account list, target account, outreach, cold email, BDR, SDR, account executive

---

## Quick Start

### Score a Lead List in 10 Minutes

1. Define your ICP in `icp.json` using the schema in `assets/icp_schema.json`
2. Save your lead list as a CSV with columns: `company,industry,size,country,website,signals`
3. Run the qualifier:
   ```bash
   python scripts/lead_qualifier.py icp.json leads.csv
   ```
4. Review the ranked output — top 20% is your A-tier outreach list

---

## Core Workflows

### Workflow 1: ICP-Based Lead Scoring

**Goal:** Rank a list of candidate accounts so the top of the list reflects the best fit, not the most recent import.

**Steps:**
1. Build your ICP in `icp.json` — see `assets/icp_schema.json` for the full schema
2. Capture leads in a CSV with at minimum: `company,industry,size,country`
3. Run: `python scripts/lead_qualifier.py icp.json leads.csv`
4. Sort the result by `score` (highest first); the top 20% is your A-tier
5. Discard everything below the disqualification threshold rather than mass-emailing

**Expected Output:** Ranked list with score, tier (A/B/C/disqualified), and reason per lead.

**Time Estimate:** 10-15 minutes for a list of 200 leads.

### Workflow 2: ICP Definition

**Goal:** Convert a fuzzy "we sell to ops teams at mid-market SaaS" intuition into a structured ICP that the qualifier can actually score against.

**Steps:**
1. Pull the company names of your last 20-50 best customers
2. Identify the shared signals: industry, size band, geography, tech stack, pain trigger
3. For each, decide whether it's a **must-have**, **nice-to-have**, or **disqualifier**
4. Encode in `icp.json` per `references/icp_framework.md`
5. Pressure-test by scoring last quarter's closed-won and closed-lost accounts — the model should rank the wins above the losses

**Expected Output:** A versioned `icp.json` that retroactively predicts your past wins.

**Time Estimate:** 1-2 hours for first pass, 30 minutes per quarterly refresh.

### Workflow 3: Outreach Hook Drafting

**Goal:** Write outreach where the personalization actually mentions a real signal, not a fake "I noticed you posted on LinkedIn."

**Steps:**
1. Take the qualifier output for an A-tier lead
2. Read the matched ICP signals — these are your hooks
3. Use the outreach template in `assets/outreach_template.md`
4. Personalize the opening line with the strongest signal (e.g., recent funding, hiring spike, product launch, public quote about a pain you solve)
5. Keep the rest of the email short — sub-90 words

**Expected Output:** First-touch outreach email under 90 words with a real signal-based hook.

**Time Estimate:** 5 minutes per A-tier lead.

---

## Tools

### lead_qualifier.py

Reads an ICP JSON file and a leads CSV, returns a scored & tiered list.

```bash
# Human-readable
python scripts/lead_qualifier.py icp.json leads.csv

# JSON for programmatic use
python scripts/lead_qualifier.py icp.json leads.csv --json
```

**Scoring model:**
- Each ICP attribute has a weight (default 10) and direction (must / nice / disqualify)
- Must-have hits: full weight
- Nice-to-have hits: half weight
- Disqualifier hits: lead drops out of consideration entirely
- Score is normalized to 0-100

---

## Reference Guides

- **`references/icp_framework.md`** — How to define an ICP that actually predicts deal velocity, with worked examples by GTM motion (PLG, sales-led, channel)

---

## Templates

- **`assets/icp_schema.json`** — JSON schema for an ICP definition file
- **`assets/outreach_template.md`** — Cold-touch email template with placeholder slots tied to ICP signals

---

## Best Practices

- **Disqualify hard.** Mediocre leads are worse than no leads — they consume rep time and damage sender reputation.
- **Keep ICP versioned.** When deal velocity drops, your ICP is often stale. Re-derive every quarter.
- **One signal per email.** Multi-signal openers feel like research dumps; one well-chosen signal feels human.
- **Leads are not opportunities.** A scored A-tier lead is permission to reach out, not a forecasted deal.
- **Logs over feel.** Track which signals correlate with closed-won — let data update the ICP, not vibes.

---

## Integration Points

- Pairs with `marketing/cold-email/` for sequence design
- Pairs with `sales-success/` skills for account executive handoff
- Feeds into `business-growth/` revenue forecasting

Files in this skill

  • SKILL.md5.4 KB
  • assets/icp_schema.json2.7 KB
  • assets/outreach_template.md2.3 KB
  • references/icp_framework.md4.6 KB
  • scripts/lead_qualifier.py5.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…