lead-scorer
Weighted lead scoring engine that evaluates prospects using Clay MCP enrichment data across five dimensions: company fit, title seniority, tech stack overlap, social presence, and engagement signals. Triggers when the user asks to score leads, prioritize contacts, or rank prospects. Outputs a tiered classification (Hot, Warm, Cold, Skip) with a summary table and top signal per contact for fast decision-making.
Lead Scorer
Weighted lead scoring engine from Clay enrichment data.
When to Trigger
Activate this skill when the user:
- Asks to score leads, rank prospects, or prioritize a contact list
- Wants to know which contacts to reach out to first
- Needs a quality filter before running a campaign sequence
- Says "score", "prioritize", "rank", "qualify", or "tier"
Scoring Dimensions
Each dimension produces a score from 0 to 100. The final score is a weighted sum.
1. Company Fit (Weight: 30%)
Evaluate how well the prospect's company matches the ideal customer profile.
| Signal | Score | How to Assess |
|---|---|---|
| Industry match | 0-30 | Exact match = 30, adjacent = 15, unrelated = 0 |
| Company size | 0-25 | Sweet spot (50-500) = 25, too small/large = 10 |
| Funding stage | 0-25 | Series A-B = 25, Seed = 20, Series C+ = 15, Unknown = 5 |
| Revenue signals | 0-20 | Growing = 20, Stable = 10, Declining = 0 |
Data source: Clay find-and-enrich-company and ask-question-about-accounts.
2. Title Seniority (Weight: 25%)
Map the contact's role to a seniority score.
| Level | Score | Example Titles |
|---|---|---|
| C-Level | 100 | CEO, CTO, CFO, CPO |
| VP | 80 | VP Engineering, VP Product, VP Sales |
| Director | 60 | Director of Engineering, Head of DevRel |
| Manager | 40 | Engineering Manager, Product Manager |
| IC (Senior) | 20 | Senior Engineer, Staff Engineer, Lead Dev |
| IC (Junior) | 10 | Software Engineer, Developer, Analyst |
| Unknown | 5 | Title not found or ambiguous |
Data source: Clay find-and-enrich-contacts-at-company.
3. Tech Stack Overlap (Weight: 20%)
Compare the prospect's tech stack against the user's target stack.
| Overlap Level | Score | Definition |
|---|---|---|
| High overlap (3+) | 100 | 3 or more shared technologies |
| Medium overlap (1-2) | 60 | 1-2 shared technologies |
| Adjacent stack | 30 | Different but compatible ecosystem |
| No overlap | 0 | Completely different stack |
The user must define the target tech stack before scoring. Example: ["TypeScript", "Solidity", "Next.js", "Foundry"].
Data source: Clay enrichment fields for the contact and company.
4. Social Presence (Weight: 15%)
Measure the contact's public visibility and influence.
| Signal | Score | Threshold |
|---|---|---|
| GitHub stars (repos) | 0-30 | 1000+ = 30, 100+ = 20, 10+ = 10, <10 = 0 |
| Twitter/X followers | 0-30 | 10k+ = 30, 1k+ = 20, 100+ = 10, <100 = 0 |
| Newsletter subscribers | 0-20 | 5k+ = 20, 1k+ = 10, <1k = 5 |
| Conference speaker | 0-20 | Recent (12mo) = 20, Ever = 10, Never = 0 |
Data source: Clay enrichment and ask-question-about-accounts.
5. Engagement Signals (Weight: 10%)
Track prior interactions with your brand or content.
| Signal | Score | Detection Method |
|---|---|---|
| Replied to previous email | 40 | gmail_search_messages for prior threads |
| Opened previous email | 20 | Tracking pixel data if available |
| Attended your event | 20 | Check Supabase event attendees table |
| Visited your site | 10 | PostHog or analytics data if available |
| No prior engagement | 0 | Default |
Score Calculation
final_score = (company_fit * 0.30)
+ (title_seniority * 0.25)
+ (tech_overlap * 0.20)
+ (social_presence * 0.15)
+ (engagement * 0.10)
Tier Classification
| Tier | Score Range | Action |
|---|---|---|
| Hot | 80-100 | Priority outreach, L3 personalization, Day 0 send |
| Warm | 50-79 | Standard sequence, L2 personalization |
| Cold | 20-49 | Low priority, L1 personalization, batch later |
| Skip | 0-19 | Do not contact, remove from campaign |
Output Format
Present results as a sorted table, highest score first:
| Name | Company | Score | Tier | Top Signal |
|---------------|----------------|-------|------|-------------------------------|
| Alex Chen | Acme Protocol | 92 | Hot | CTO + 3 stack overlaps |
| Jordan Lee | Nova Labs | 74 | Warm | Director + recent Series A |
| Sam Park | BuildCo | 45 | Cold | IC + no engagement history |
| Chris Taylor | Random Corp | 12 | Skip | No industry match, no overlap |
The "Top Signal" column should contain the single strongest scoring factor for that contact, written as a human-readable phrase.
Integration with Campaign Sequencer
When called from campaign-sequencer:
- Accept a list of enriched contacts (post Clay enrichment)
- Score each contact using the dimensions above
- Return the score, tier, and top signal for each contact
- The campaign sequencer uses tier to determine personalization depth and send priority