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
1---2name: lead-scorer3description: 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.4license: AGPL-3.0-or-later5---67# Lead Scorer89Weighted lead scoring engine from Clay enrichment data.1011## When to Trigger1213Activate this skill when the user:1415- Asks to score leads, rank prospects, or prioritize a contact list16- Wants to know which contacts to reach out to first17- Needs a quality filter before running a campaign sequence18- Says "score", "prioritize", "rank", "qualify", or "tier"1920## Scoring Dimensions2122Each dimension produces a score from 0 to 100. The final score is a weighted sum.2324### 1. Company Fit (Weight: 30%)2526Evaluate how well the prospect's company matches the ideal customer profile.2728| Signal | Score | How to Assess |29|-------------------|--------|--------------------------------------------------|30| Industry match | 0-30 | Exact match = 30, adjacent = 15, unrelated = 0 |31| Company size | 0-25 | Sweet spot (50-500) = 25, too small/large = 10 |32| Funding stage | 0-25 | Series A-B = 25, Seed = 20, Series C+ = 15, Unknown = 5 |33| Revenue signals | 0-20 | Growing = 20, Stable = 10, Declining = 0 |3435Data source: Clay `find-and-enrich-company` and `ask-question-about-accounts`.3637### 2. Title Seniority (Weight: 25%)3839Map the contact's role to a seniority score.4041| Level | Score | Example Titles |42|--------------|-------|-----------------------------------------------|43| C-Level | 100 | CEO, CTO, CFO, CPO |44| VP | 80 | VP Engineering, VP Product, VP Sales |45| Director | 60 | Director of Engineering, Head of DevRel |46| Manager | 40 | Engineering Manager, Product Manager |47| IC (Senior) | 20 | Senior Engineer, Staff Engineer, Lead Dev |48| IC (Junior) | 10 | Software Engineer, Developer, Analyst |49| Unknown | 5 | Title not found or ambiguous |5051Data source: Clay `find-and-enrich-contacts-at-company`.5253### 3. Tech Stack Overlap (Weight: 20%)5455Compare the prospect's tech stack against the user's target stack.5657| Overlap Level | Score | Definition |58|-----------------------|-------|-----------------------------------------------|59| High overlap (3+) | 100 | 3 or more shared technologies |60| Medium overlap (1-2) | 60 | 1-2 shared technologies |61| Adjacent stack | 30 | Different but compatible ecosystem |62| No overlap | 0 | Completely different stack |6364The user must define the target tech stack before scoring. Example: `["TypeScript", "Solidity", "Next.js", "Foundry"]`.6566Data source: Clay enrichment fields for the contact and company.6768### 4. Social Presence (Weight: 15%)6970Measure the contact's public visibility and influence.7172| Signal | Score | Threshold |73|-------------------------|-------|--------------------------------------------|74| GitHub stars (repos) | 0-30 | 1000+ = 30, 100+ = 20, 10+ = 10, <10 = 0 |75| Twitter/X followers | 0-30 | 10k+ = 30, 1k+ = 20, 100+ = 10, <100 = 0 |76| Newsletter subscribers | 0-20 | 5k+ = 20, 1k+ = 10, <1k = 5 |77| Conference speaker | 0-20 | Recent (12mo) = 20, Ever = 10, Never = 0 |7879Data source: Clay enrichment and `ask-question-about-accounts`.8081### 5. Engagement Signals (Weight: 10%)8283Track prior interactions with your brand or content.8485| Signal | Score | Detection Method |86|---------------------------|-------|---------------------------------------------|87| Replied to previous email | 40 | `gmail_search_messages` for prior threads |88| Opened previous email | 20 | Tracking pixel data if available |89| Attended your event | 20 | Check Supabase event attendees table |90| Visited your site | 10 | PostHog or analytics data if available |91| No prior engagement | 0 | Default |9293## Score Calculation9495```96final_score = (company_fit * 0.30)97 + (title_seniority * 0.25)98 + (tech_overlap * 0.20)99 + (social_presence * 0.15)100 + (engagement * 0.10)101```102103## Tier Classification104105| Tier | Score Range | Action |106|--------|-------------|-------------------------------------------------|107| Hot | 80-100 | Priority outreach, L3 personalization, Day 0 send |108| Warm | 50-79 | Standard sequence, L2 personalization |109| Cold | 20-49 | Low priority, L1 personalization, batch later |110| Skip | 0-19 | Do not contact, remove from campaign |111112## Output Format113114Present results as a sorted table, highest score first:115116```117| Name | Company | Score | Tier | Top Signal |118|---------------|----------------|-------|------|-------------------------------|119| Alex Chen | Acme Protocol | 92 | Hot | CTO + 3 stack overlaps |120| Jordan Lee | Nova Labs | 74 | Warm | Director + recent Series A |121| Sam Park | BuildCo | 45 | Cold | IC + no engagement history |122| Chris Taylor | Random Corp | 12 | Skip | No industry match, no overlap |123```124125The "Top Signal" column should contain the single strongest scoring factor for that contact, written as a human-readable phrase.126127## Integration with Campaign Sequencer128129When called from `campaign-sequencer`:1301311. Accept a list of enriched contacts (post Clay enrichment)1322. Score each contact using the dimensions above1333. Return the score, tier, and top signal for each contact1344. The campaign sequencer uses tier to determine personalization depth and send priority