---
name: 0xjitsu/lead-scorer
source: https://app.decimal.ai/s/0xjitsu-lead-scorer@1/SKILL.md
source_sha256: 7d4c0dc0cbdb
---

# 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`:

1. Accept a list of enriched contacts (post Clay enrichment)
2. Score each contact using the dimensions above
3. Return the score, tier, and top signal for each contact
4. The campaign sequencer uses tier to determine personalization depth and send priority