ooligo
claude-skill

Scorer les leads par rapport à un rubric ICP avec Claude

Difficulty
intermédiaire
Setup time
30min
For
revops
RevOps

Stack

Un Claude Skill qui prend n’importe quelle ligne de lead, l’évalue par rapport au rubric ICP de votre équipe et retourne un score de 0 à 10, une justification par critère citant le rubric, une prochaine action recommandée par tier, et un flag d’escalade pour les cas limites. Conçu pour s’intégrer dans une colonne AI Clay, une action de code personnalisée HubSpot, ou un run CLI autonome sur un CSV. Remplace la matrice de scoring en tableur que personne n’a mise à jour depuis l’année dernière — sans prétendre pouvoir faire du scoring d’intention ou comportemental, ce qu’il ne peut pas faire.

Le bundle est livré dans apps/web/public/artifacts/lead-scoring-icp-rubric-skill/ et contient SKILL.md ainsi que trois templates de référence que l’utilisateur adapte avant le premier run.

Quand l’utiliser

Utilisez ce skill quand vous avez des MQL inbound qui s’accumulent plus vite que votre équipe SDR ne peut les trier, et que le scoring existant est soit inexistant (“tout est un lead”), soit obsolète (“la matrice de scoring HubSpot calibrée pour la dernière fois en 2023, personne ne lui fait confiance”). Il est aussi utile en outbound : scorez une liste froide enrichie avant de l’assigner, et vous arrêtez de brûler du temps SDR sur des entreprises hors ICP qui semblent superficiellement correctes.

Ce skill est du fit scoring, pas de l’intent scoring. Il répond à la question “est-ce le bon type d’entreprise pour nous” — pas “sont-ils en train d’acheter cette semaine”. Cette distinction est importante : si vous scorez uniquement pour le fit, vous allez séquencer de super comptes qui n’ont pas de besoin actuel et ignorer de mauvais comptes qui achètent activement. Combinez ce skill avec les signaux qui indiquent un comportement in-market — Bombora, 6sense, vos propres événements d’usage produit, les visites de page de pricing — pour router correctement.

Concrètement, invoquez-le depuis :

  • Une colonne AI Clay qui se déclenche sur chaque nouvelle ligne dans une table de leads, écrivant le score et la justification dans deux colonnes.
  • Une action de code personnalisée HubSpot dans un workflow déclenché par Lifecycle stage = MQL, qui appelle le skill et écrit le score et la justification dans les propriétés du lead.
  • Un CLI autonome sur un export CSV — utile pour un scoring ponctuel de liste avant le lancement d’une campagne.

Quand NE PAS l’utiliser

Évitez ce skill quand :

  • Vous voulez rejeter automatiquement des leads sans humain dans la boucle. L’output est une recommandation. Le skill tague explicitement les cas limites avec escalate: needs_human_review, mais si vous le câblez pour supprimer les leads scorés C ou en dessous, vous allez silencieusement détruire du pipeline chaque fois que le rubric devient obsolète. Gardez toujours un chemin de revue SDR pour au moins le tier C.
  • Votre “rubric” repose sur des intuitions. Le skill refuse de scorer par rapport à un rubric sans poids explicites et valeurs de tier. Si votre équipe n’a pas eu la discussion sur ce qu’est réellement un secteur tier A, ayez-la d’abord. Le skill ne peut pas rendre le rubric défendable si la source ne l’est pas.
  • Vous avez besoin d’un scoring comportemental ou d’intention. Il s’agit uniquement de fit scoring. Essayer d’encoder un “engagement score” ou “dernière visite du site” dans le rubric vous oblige à le mettre à jour en permanence ; utilisez un outil d’intention dédié pour les signaux temporels et gardez ce skill pour les critères de fit statiques.
  • Vous opérez dans un domaine réglementé qui exige une explicabilité au-delà de la justification par critère. Les outputs par critère sont auditables mais ne sont pas équivalents à une model card défendable devant un régulateur. Si vous en avez besoin, investissez dans un vrai service de scoring, pas dans un Claude Skill.

Setup

Le setup prend environ 30 minutes une fois le rubric rédigé. Le rubric lui-même prend plus de temps — généralement une session de travail de 60 minutes avec le responsable SDR, un AE et quelqu’un de RevOps pour débattre des poids.

  1. Installez le Skill. Déposez apps/web/public/artifacts/lead-scoring-icp-rubric-skill/SKILL.md et le dossier references/ dans votre répertoire .claude/skills/lead-scoring/ (ou uploadez-le comme un Skill dans claude.ai). Le frontmatter name et description sont ce qui déclenche le Skill sur les prompts pertinents.
  2. Remplacez le template de rubric. Ouvrez references/1-icp-rubric-template.md et remplacez les lignes placeholder dans “Criteria” par vos critères réels, vos poids (1-5) et vos valeurs de tier (A / B / C). Remplissez la section “Hard disqualifiers” — ceux-ci s’exécutent en tant que checks déterministes avant tout appel LLM. Mettez à jour “Last edited” afin que le SHA-256 que le skill imprime dans chaque footer d’output reflète qui possède la version actuelle.
  3. Remplacez la matrice tier-to-action. Ouvrez references/2-tier-to-action-matrix.md et remplacez les lignes d’exemple par ce que votre équipe fait réellement pour chaque combinaison (tier, source_of_lead). Les valeurs par défaut sont raisonnables mais ne sont pas les vôtres.
  4. Câblez la source d’input. Dans Clay, pointez une colonne AI vers le Skill, passez la ligne de lead enrichi comme lead, le fichier de rubric comme rubric, et la colonne source comme source_of_lead. Dans HubSpot, enveloppez le Skill dans une action de code personnalisée qui lit les propriétés du contact et de l’entreprise dans un objet lead et reposte l’output structuré. Dans un script, parcourez le CSV, postez chaque ligne, écrivez le score et la justification dans deux nouvelles colonnes.
  5. Configurez la destination. Le score et la justification vont tous les deux sur le lead. Le score dans une propriété numérique (pour la logique de routing), la justification dans une propriété texte long (pour le SDR qui la lira avant l’appel). Câblez le champ escalate vers une propriété booléenne ou enum séparée afin que le responsable SDR puisse filtrer pour la revue.
  6. Calibrez. Avant de l’activer, lancez le skill sur 20 leads fermés-gagnés et 20 leads fermés-perdus des 6 derniers mois. La distribution des scores devrait clairement séparer les deux cohortes. Si ce n’est pas le cas, le rubric est le problème, pas le skill — retournez à l’étape 2 et redébattez les poids.

Ce que fait réellement le skill

Le skill exécute quatre étapes dans un ordre fixe. Les étapes antérieures conditionnent les suivantes ; ne les parallélisez pas.

Étape 1 — checks firmographiques déterministes. Avant tout appel LLM, du code pur exécute les hard disqualifiers du rubric (pays sanctionné, secteur disqualifié, effectif sous votre plancher, domaine email gratuit) et le check des champs requis (email et company_domain doivent être présents). Les hits retournent immédiatement — disqualified avec la citation, ou escalate: insufficient_data avec les champs manquants. Pourquoi déterministe d’abord : c’est gratuit, rapide, et n’hallucine jamais. Brûler des tokens pour confirmer qu’un salon de coiffure de 3 personnes n’est pas dans votre ICP enterprise-SaaS est du gaspillage.

Étape 2 — scoring LLM par critère avec pondération explicite. Pour chaque critère restant, le modèle émet un tier (A / B / C) et une justification d’une phrase citant la ligne du rubric. Le skill multiplie le tier (A=3, B=2, C=1) par le poids du critère et somme. Pourquoi par critère plutôt qu’un prompt holistique : les outputs holistiques mélangent silencieusement les critères et vous perdez la capacité de débugguer pourquoi un lead a eu un 8 plutôt qu’un 5. Pourquoi une pondération explicite plutôt que de laisser le modèle équilibrer : les poids déclarés sont le seul moyen que le rubric reste la source de vérité. Si le modèle décide de son propre équilibre, les revues de rubric deviennent du théâtre.

Étape 3 — fallback borderline vers la revue humaine. Si le score final est à moins de 0,5 d’une limite de tier, ou si plus de 3 critères ont été scorés sur des données manquantes ou inférées, le skill définit escalate: needs_human_review et nomme les champs manquants. L’échec de scoring le plus coûteux n’est pas un mauvais tier sur un lead confiant — c’est un mauvais tier sur un lead qui était toujours borderline.

Étape 4 — assemblage de l’output. Le skill émet le markdown décrit dans references/3-sample-output.md : score et tier en titre, prochaine action recommandée issue de la matrice tier-to-action, tableau par critère avec justifications, check des disqualifiers, liste des lacunes de données, et un footer avec le SHA-256 du rubric et la date de dernière édition.

Réalité des coûts

Le coût en tokens par lead dépend de la taille du rubric, mais pour un rubric typique à 6 critères avec un output structuré par critère, attendez-vous à environ 1 500-2 500 tokens d’input et 400-700 tokens d’output par lead. Au pricing Claude Sonnet 4.x (environ 3 $ par million de tokens d’input et 15 $ par million de tokens d’output fin 2026), soit environ 0,01-0,02 $ par lead scoré.

Une équipe traitant 5 000 MQL inbound par mois dépense environ 50-100 $/mois en tokens Claude. Une équipe traitant 50 000 leads outbound enrichis par mois dépense 500-1 000 $/mois — auquel cas le batching, le prompt caching du rubric, et le pré-filtrage avec l’étape déterministe comptent beaucoup. Le skill utilise par défaut un seul prompt structuré par lead (plutôt que 6-10 petits prompts) précisément pour garder l’usage des tokens borné.

Les coûts hors tokens sont plus importants. Construire le rubric est une session de travail de 60 minutes que vous faites une fois et refaites trimestriellement. La calibration sur 20 leads fermés-gagnés + 20 leads fermés-perdus prend une autre heure. Câbler l’intégration Clay ou HubSpot prend une demi-journée. Ensuite le skill est autonome jusqu’à ce que le rubric dérive.

Métrique de succès

La métrique à surveiller est la corrélation score-to-conversion : parmi les leads scorés A au cours des 90 derniers jours, quelle fraction s’est convertie en opportunités ? Parmi ceux scorés B ? C ? Si la courbe est monotone — A se convertit à un taux plus élevé que B, B à un taux plus élevé que C — le rubric fait son travail. Si C se convertit à un taux similaire à B, le rubric ne sépare pas le fit du non-fit et doit être redébattu.

Métrique secondaire : temps de premier contact SDR sur les leads tier A. Un système de scoring fonctionnel réduit ce délai à moins d’1 heure pour l’inbound. Si les leads tier A restent encore dans une file d’attente 24h, le routing — pas le scoring — est le goulet d’étranglement.

Comparaison avec les alternatives

vs HubSpot Predictive Lead Scoring. Le score prédictif intégré de HubSpot est une boîte noire entraînée sur vos données historiques de conversion. Il fonctionne une fois que vous avez suffisamment de volume de closed-won (HubSpot recommande environ 500 deals fermés comme minimum). Pour les équipes sous ce seuil, le modèle n’a rien à apprendre et le score est du bruit. Ce skill fonctionne dès le premier jour car le rubric est rédigé manuellement, pas appris. La contrepartie : le modèle de HubSpot capte des patterns qu’un auteur de rubric manquerait ; ce skill ne connaît que ce que vous avez écrit. Utilisez les deux si vous avez le volume — le score de HubSpot pour “ce qui me surprend” et la justification par critère de ce skill pour “pourquoi celui-ci est classé ici”.

vs Marketo behavioral scoring. Marketo (ou le behavioral scoring de HubSpot) suit les signaux d’engagement — ouvertures d’emails, vues de pages, soumissions de formulaires — et ajoute des points. C’est de l’intent scoring, pas du fit scoring, et les deux répondent à des questions différentes. Un compte à fort fit qui n’a pas ouvert un email reste un compte à fort fit. Un compte à faible fit qui a parcouru votre blog en entier reste un compte à faible fit. Utilisez le behavioral scoring en plus de ce skill, pas à la place ; routez sur le signal combiné (fit élevé + intent élevé → AE direct ; fit élevé + intent faible → nurture ; fit faible + intent élevé → appel de fit SDR avant AE).

vs revue manuelle SDR. Pour moins de 50 leads inbound par semaine, la revue manuelle par un responsable SDR est genuinement compétitive — les humains captent la nuance (“cette entreprise vient d’acquérir notre client, priorisez”) que le skill manquera. Au-dessus de ~200 leads par semaine, la revue manuelle devient le goulet d’étranglement et la cohérence baisse. Le skill scale linéairement avec le budget de tokens ; les humains non.

Points de vigilance

  • Dérive du rubric. Quelqu’un modifie le rubric markdown, shippe le changement, et les SDR qui lisent les nouveaux scores ne voient jamais de diff. Six semaines plus tard, l’équipe réalise que le poids de l’effectif a été accidentellement remonté de 4 à 2 et 200 comptes stretch-tier ont été silencieusement rétrogradés en C. Garde-fou : le skill enregistre le SHA-256 du rubric dans chaque footer d’output et préfixe une bannière “Rubric updated YYYY-MM-DD” chaque fois que le hash change entre les runs. Un rappel calendaire trimestriel force une revue même si aucune modification n’a lieu.
  • Amplification des biais de source. Un rubric construit à partir de vos closed-won encode qui vous avez déjà vendu. Scorer par rapport à lui vous rend aveugle à l’ICP adjacent et votre pipeline se rétrécit progressivement vers des lookalikes des clients de l’année dernière. Garde-fou : chaque trimestre, échantillonnez 20 leads que le skill a scorés tier C et demandez à un AE de revoir manuellement si certains sont réellement fit. Si plus de 3 sont mal classés, ajoutez une ligne “stretch ICP” au rubric et recalibrez.
  • Fausse confiance sur des données minces. Quand l’enrichissement manque 4 critères sur 6, un score de 7,4 est majoritairement du bruit mais se lit comme autoritaire. Les SDR le traiteront comme un tier A confiant et sauteront la préparation de l’appel. Garde-fou : le skill définit escalate: needs_human_review chaque fois que plus de 3 critères sont scorés sur des données manquantes ou inférées, et ajoute une section “Data gaps” listant les champs absents. Les SDR sont formés à lire la section des lacunes avant le score principal.
  • Proxies de classes protégées. Même avec de bonnes intentions, un rubric qui pondère la “géographie” peut s’effondrer en nationalité, et le “secteur” peut s’effondrer en proxies des données démographiques d’entreprise d’une manière que votre service juridique n’appréciera pas. Garde-fou : le skill refuse les champs qu’il reconnaît comme proxies de classes protégées (genre dérivé du nom, photo, signaux d’âge). Examinez le rubric annuellement avec quelqu’un capable de repérer les proxies moins évidents.

Stack

  • Claude — moteur de scoring et générateur de justifications. Sonnet 4.x est le sweet spot pour le rapport coût/qualité de raisonnement sur cette tâche ; Haiku fonctionne pour le chemin déterministe uniquement mais perd en qualité de justification sur l’étape LLM.
  • Clay — couche de source et d’enrichissement de leads préférée pour l’outbound et le scoring de liste froide. La colonne AI est un point d’intégration propre.
  • HubSpot — destination CRM pour le score, la justification, le flag d’escalade, et la source. Les actions de code personnalisées sont le point d’intégration pour le scoring de MQL inbound.
  • Un éditeur markdown et un calendrier — les pièces peu glamour. Le rubric vit en markdown, la revue trimestrielle vit dans le calendrier de quelqu’un, et les deux comptent plus que le choix du modèle.

Files in this artifact

Download all (.zip)