ooligo
claude-skill

Score leads against an ICP rubric using Claude

Difficulty
intermediate
Setup time
30min
For
revops
RevOps

Stack

A Claude Skill that takes any lead row, runs it against your ICP rubric, and outputs a numeric score plus the reasoning. Designed to plug into Clay tables, HubSpot workflows, or a standalone Python script. Replaces the spreadsheet-based scoring matrix nobody has updated since last year.

What you’ll need

  • Claude.ai or Claude Code with Skills enabled
  • A lead source: Clay table with enrichment, HubSpot lead list, or CSV export
  • HubSpot or your CRM as the destination for the score
  • An ICP rubric document with explicit weights, not vibes

Setup

  1. Install the Skill. icp-scoring.skill exposes one primary function: score_lead. Inputs are a structured lead record and the rubric. Output is a score from one to one hundred plus per-criterion reasoning.
  2. Drop in the rubric. The rubric is the leverage point. Format it as a markdown table with criterion, weight, and the values that hit each scoring tier. Vague rubrics produce vague scores; tight rubrics produce defensible ones.
  3. Wire the input source. In Clay, point an AI column at the Skill and pass enriched fields. In HubSpot, use a custom code action to call the Skill via API. In a script, read from CSV and write back the score.
  4. Configure the destination. Score and reasoning both go to the lead record. Score in a number property, reasoning in a textarea property. Both are useful: the score for routing, the reasoning for the SDR who gets the lead.
  5. Calibrate. Run on twenty closed-won leads and twenty closed-lost. The score distribution should clearly separate the two. If it does not, the rubric is the problem.

How it works

The Skill takes the rubric and the lead, and asks Claude to score each criterion in turn, output a per-criterion score, multiply by weight, and sum. The sum is the headline number. The reasoning is the per-criterion explanation, which is what makes the score defensible to a skeptical AE.

The Skill can also output a tier label (A, B, C, disqualified) based on configurable thresholds. Tiers are easier for downstream routing logic than raw numbers, but the raw number is still useful for sorting and debugging.

Watch-outs

  • Rubric staleness. Your ICP shifts every quarter. The Skill cannot know that. Schedule a quarterly rubric review or scores will calcify around last year’s reality.
  • Enrichment quality. Garbage enrichment produces garbage scores. The Skill’s first action should be a “do I have enough data” check; if not, output “insufficient data” rather than a low score.
  • Score inflation. Reps push for “more leads scored A.” Resist. Tiers exist to focus attention, not to make everyone feel busy.
  • Bias in the rubric. Industry-only rubrics miss great-fit accounts in adjacent industries. Pair industry weights with use-case fit signals.

Stack

  • Claude — scoring engine and reasoning generator
  • Clay or HubSpot — lead source and enrichment layer
  • HubSpot — destination for score and reasoning