Lead scoring
SkillDev toolsEvaluates accounts and prospects for fit and readiness using signal-based scoring. Produces a fit verdict (STRONG_FIT
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Lead scoring skill
What this skill tells your AI
The instructions your AI receives, as published by matteotitta/genesys-skills in skills/primitives/outbound/strategy/lead-scoring/SKILL.md and read by ahel’s review.
Evaluate accounts through three layers — fit (structural), signals (temporal), interpretation (synthesized) — to produce a routing recommendation per account. NOT a composite numeric score. Compressing fit, timing, and context into one number destroys the information operators need to act.
When to run
- User asks "score this lead", "is X a good fit", "should we pursue X", "prioritize these accounts", "rank these prospects"
- ABM campaign needs account tiering input
- Pre-discovery account brief, sales pipeline qualification gate
Skip when: user wants full research without assessment angle (/company-context), ICP definition (/icp-research), ABM tactics on already-tiered accounts (/abm-campaign), outreach copy (/outreach-emails).
Inputs
Required: at least one company identifier (URL, LinkedIn URL, or name).
Recommended (lift quality): client ICP doc (/icp-research), CRM engagement history, competitor list, prior /company-context output.
Mode detection: single account → deep assessment. Batch (5+ accounts) → lightweight pass + priority matrix. >15 accounts → calibration round + parallel waves (see the premium reference).
If ICP doc missing: proceed with generic B2B SaaS criteria, flag as "generic ICP" in output, suggest /icp-research upstream.
Steps
- Validate input — confirm company identifier(s), determine mode (single/batch), identify ICP reference.
- Fit assessment (Phase 1) — score firmographic, technographic, use case, negative-fit dimensions per the premium reference. Output verdict: STRONG_FIT | MODERATE_FIT | WEAK_FIT | NO_FIT with evidence + confidence per dimension.
- Signal detection (Phase 2) — catalog leadership, growth, intent, operational, engagement signals per the premium reference. Tag each with category, recency (strong/moderate/weak/expired per decay table), source URL, confidence level.
- Apply recency decay — drop expired signals from active inventory; weak-recency signals provide background only, don't drive routing. Decay table in the premium reference.
- Interpret signal clusters (Phase 3) — identify reinforcement, contradictions, dominant story. Write 2-4 sentence situation hypothesis: "Based on [cluster], [company] appears to be [situation]. This suggests [implication]. The window is [timeframe] because [decay reasoning]."
- Confidence assessment — rate HIGH (dense + fresh + diverse) | MODERATE (2 of 3) | LOW (sparse or stale).
- Routing recommendation (Phase 4) — apply fit × signals matrix in the premium reference. Output: SALES | MARKETING | MONITOR | EVALUATE | DEPRIORITIZE | DISQUALIFY + 2-3 sentence rationale + 1-3 specific next actions.
- Optional — activation score — if client wants auditable math:
signal_activation = strength × recency × fit × tier_weight, sum top-3 per account, bucket into Hot/Warm/Nurture/Cold. Formula in the premium reference. - Optional — tier mode (numeric) — if client CRM needs a
lead_scorefield or sales ops wants a single-column sort: compute weighted tier_score (0-5) and bucket Tier 1 / 2 / 3 / Disqualify. Formula + alignment-with-routing check in the premium reference. - Self-evaluation gate — every signal has source + recency tag, fit dimensions have evidence (not assumption), interpretation reads as narrative not list, routing follows fit×signals matrix, gaps marked [UNAVAILABLE], confidence levels per ontology.
- Format output — single account: full template in the premium reference. Batch: priority matrix template.
- Review gate (Level 1) — present fit verdict, signal summary, situation hypothesis, routing recommendation. Actions: [Approve] [Challenge fit] [Add signals] [Change routing].
- Suggest chain — if SALES routing →
/outreach-emails. If batch →/abm-campaign. If fit uncertain →/company-context. If no ICP →/icp-research.
Scoring validity — before fit-rules count as predictive
When the fit rubric or ICP rules are derived from a client's own customers (won deals, a "good-fit" list), they fit those examples by construction and routinely fail on the wider universe. Before treating derived rules as predictive — or locking a numeric tier/activation model (steps 8–9) tuned on a small known-positive set — clear the pre-lock gate in .claude/rules/scoring-validity.md: ground-truth provenance, base rate + discriminative ratio (≥2.0), holdout, backwards-reasoning check. Below the sample floor (our client set is often N≈8), ship a directional hypothesis, not a locked rule. Scoring a single account against an already-validated rubric doesn't trigger this — deriving the rubric from outcomes does.
What good looks like
projects/research/taste-library/resources/0626-sales-qualification-frameworks/health-rubrics.md— deal-health (10-dim) + account-health (9-dim) rubrics; bolt onto fit+signal scoring when the account is an open opportunity, not just a prospect (re-weight per client motion)
Examples: none baked into skill (every assessment is account-specific). Pull patterns from projects/consulting/{client}/sales/ lead-assessment outputs when present.
Evaluations — output passes if:
- Fit verdict cites evidence per dimension (not asserted)
- Every signal tagged with category + recency + source URL + confidence
- Situation hypothesis reads as 2-4 sentence narrative, not a list
- Routing follows fit×signals matrix (divergence flagged with rationale)
- No invented data; gaps marked [UNAVAILABLE]
- If tier mode active: tier and routing align (or divergence has 1-sentence rationale)
- Decay applied: weak-recency signals don't drive routing, expired excluded
Anti-patterns (auto-fail):
- Compressing into single composite score without preserving fit/signal/interpretation layers
- Binary STRONG_FIT or NO_FIT verdicts (full 4-tier range required)
- Score with no routing recommendation
- Months-old signals treated as fresh
- Employee count as primary fit indicator (revenue model, tech stack, growth trajectory often matter more)
Final ship gate
Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.
Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.
Signals
- GitHub stars
- 36
- Forks
- 14
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
lead-scoring-matteotitta- Source
- github.com/matteotitta/genesys-skills