AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

List Quality Scorecard

skill-growthenginenowoslawski-coldoutboundskills-list-quality-scorecard · by growthenginenowoslawski

Pre-send quality scorecard for any lead list. Grades duplicate rate, title diversity, bad-title patterns, catch-all domain density, ICP fit, email verification coverage. Outputs a letter grade + action items BEFORE you send. Catches bad lists before they burn inboxes. Run after email enrichment, before Smartlead upload.

No reviews yet
0 installs
34 views
0.0% view→install

Install

$ agentstack add skill-growthenginenowoslawski-coldoutboundskills-list-quality-scorecard

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-growthenginenowoslawski-coldoutboundskills-list-quality-scorecard)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of List Quality Scorecard? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

List Quality Scorecard

A CSV of 5,000 leads is not the same as a good list of 5,000 leads. This skill grades your list across 8 dimensions BEFORE you send, catching preventable waste.

Why this exists

The three campaign failure modes cold email runners hit most:

  1. Bad list — the copy doesn't matter when you're emailing the wrong people
  2. Unverified emails — bounces burn domain reputation
  3. ICP drift — you think you're targeting VPs, but the list is mostly Managers

Each of these is catchable before you send, in 5 minutes, for free.

Inputs

A CSV with at minimum these columns:

  • email — the primary email
  • first_name, last_name
  • job_title OR title
  • company_name OR company
  • company_domain (optional, derived from email if missing)
  • company_industry (optional, used for ICP fit scoring)
  • company_headcount (optional, used for ICP fit scoring)

Output

A markdown scorecard with:

  • Letter grade (A+ to F)
  • 8 dimension scores (each 0-100)
  • Top 5 issues to fix
  • Pre-send checklist

Usage

npx tsx scripts/score-list.ts --list=leads.csv --icp-file=client-profile.yaml --out=scorecard.md

Optional --icp-file lets the scorecard compare your list against your declared ICP filters (from /icp-onboarding).

The 8 dimensions

1. Email verification coverage (critical)

  • What: % of emails validated via MillionVerifier or equivalent
  • Rule: 100% of a cold list must be verified before sending. Unverified emails = bounces = dead domains.
  • Score: 100 if all verified, 0 if 5% is a problem
  • Score: 100 at 0%, drops linearly

3. Duplicate domain rate

  • What: max # of leads from any single domain
  • Rule: 1-2 leads per domain ideal. 5+ suggests you're over-indexing on one company.
  • Score: 100 if avg 5

4. Title relevance

  • What: % of titles matching your ICP's job title list
  • Rule: Exact-match + synonym list. If 40% of your "VP Sales" list is actually "Sales Manager", you have drift.
  • Score: 100 if ≥80% match, 50 if 40-80%, 0 if 10% means your Prospeo filter is too loose
  • Score: 100 if 15%

7. ICP fit

  • What: % of leads matching your client-profile.yaml filters on industry + headcount
  • Requires: --icp-file passed
  • Rule: 80%+ match, 100 if exact

8. Name quality

  • What: % with both firstname AND lastname populated AND looking human
  • Checks: Not all-caps, not fake names ("Admin", "Info"), not email-as-name
  • Rule: 95%+ acceptable
  • Score: 100 if 95%+, drops linearly

Letter grade mapping

Weighted average across 8 dimensions (verification and ICP fit weighted 2x):

| Average | Grade | Action | |---|---|---| | 90-100 | A+ / A | Ship it | | 80-89 | B | Minor fixes, then ship | | 70-79 | C | Fix top 3 issues first | | 60-69 | D | Serious cleanup required | | 5 each) — cap at 3 per domain

  1. 258 leads outside declared industry filter (12%) — filter by company_industry

Pre-send checklist: [ ] Deduplicate by email [ ] Drop catch-all if >5% (reduces bounce rate) [ ] Filter out bad titles [ ] Cap per-domain concentration [ ] Re-run verifier if list shrunk >10%


## When to use

- AFTER list-building skills (`/prospeo-full-export`, `/blitz-list-builder`, `/google-maps-list-builder`, `/disco-like`)
- AFTER email waterfall (`/email-waterfall`)
- BEFORE Smartlead upload

## When NOT to use

- On a list of <100. Sample too small for reliable stats.
- On a fully static list (same every send). Check once, reuse.

## Scripts

- `scripts/score-list.ts` — the main scorecard

## What to do next

**If grade ≥ B:** `/campaign-copywriting` to write the emails. Then `/smartlead-campaign-upload-public` to launch as DRAFT.

**If grade < C:** fix the top 3 issues (from scorecard output), re-run this skill until grade ≥ B. Don't upload a C-grade list — bounces and low reply rates will damage domain reputation.

**Or wait:** if large fixes are needed (missing email verification, 30%+ bad titles), address those BEFORE spending more on email-finding or enrichment.

## Related skills

- `/icp-prompt-builder` — more surgical ICP fit scoring (AI per-company)
- `/icp-onboarding` — produces the `client-profile.yaml` this skill checks against
- `/email-waterfall` — run BEFORE this skill for verification coverage

## The 1% rule alignment

A list that scores below C-grade is very likely to produce reply rates below 1%, which violates the 1% rule (see `/email-deliverability-audit`). Catching list issues here saves you the deliverability hangover later.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [growthenginenowoslawski](https://github.com/growthenginenowoslawski)
- **Source:** [growthenginenowoslawski/coldoutboundskills](https://github.com/growthenginenowoslawski/coldoutboundskills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.