Agent skill

Lead Gen

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered…

MITAuto-check passedSales & Support

Install Lead Gen

skills CLI
$ npx skills add ericrisco/rsc-harness --skill lead-gen -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness lead-gen --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/lead-gen .claude/skills/lead-gen && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lead-gen
GitHub stars
156
Token cost
~2.6k tokens
SKILL.md length
1,244 words
Files
6 (incl. scripts, references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered…

  • Works in 3 steps: Define a falsifiable ICP → Build the list → Score & prioritize
  • Building and qualifying a prospect list before anyone reaches out — a falsifiable ICP
  • SKILL.md covers The pipeline — three phases,…, Phase 1 — Define a falsifiable…, Decision — pick the… and Phase 2 — Build the list, plus 4 more sections
  • Runs Shell scripts from its folder

What it does

Lead Gen is an agent skill from ericrisco/rsc-harness. Use when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered by fit+intent+engagement. NOT writing or sending the outreach (that is cold-outreach), NOT tracking the deal after first contact (that is sales-pipeline).

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/data-sources.md`).

It sits in Sales & Support, covering Lead generation, CRM management and GraphQL. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Building and qualifying a prospect list before anyone reaches out — a falsifiable ICP
  • Named accounts/contacts from Apollo/ZoomInfo/Clay
  • Deduped against the CRM
  • Tiered by fit+intent+engagement

Example prompts

  • “/lead-gen”

Requirements

  • A Bash shell

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Define a falsifiable ICP
  2. Build the list
  3. Score & prioritize

What it can do on your machine

Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lead Gen loads about 2.6k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,244 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,244 words, ~2,643 tokens.

Download SKILL.mdSave it as .claude/skills/lead-gen/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
lead-gen
description
Use when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered by fit+intent+engagement. NOT writing or sending the outreach (that is cold-outreach), NOT tracking the deal after first contact (that is sales-pipeline).
tags
lead-generation, prospecting, icp, lead-scoring, sales
recommends
cold-outreach, sales-pipeline, market-research, data-scraper, spreadsheet-ops, email-deliverability, gdpr-privacy
origin
risco

Lead Gen — The List and the Model That Ranks It

You turn "we sell X to Y" into a deduplicated, scored, compliance-cleared roster of named accounts and people. You define the target, you build the list, you rank it — then you stop. What you produce is a prioritized roster plus the rationale that ranked it; the hand-off is the finish line, not the campaign.

The pipeline — three phases, two gates

Run these in order. Each gate is a hard stop: do not advance until the prior phase produced its artifact.

  1. Define the target → a falsifiable ICP + persona. Why: you cannot dedupe or score against a vibe; a vague ICP guarantees reps chase the wrong companies.
  2. Build the list → sourced, deduped, verified rows with provenance. Why: an unverified or undocumented list is a deliverability and legal liability before a single email goes out.
  3. Score & prioritize → tiered list (A/B/C) with subscores + handoff packet. Why: an unsorted list means reps work the easy-to-reach names, not the right ones.

Between phase 2 and the handoff sits the compliance gate (GDPR LIA + CAN-SPAM). Run it before you hand anything off, never after the first send.

Phase 1 — Define a falsifiable ICP

An ICP is falsifiable when you can look at any company and answer "in or out?" with no judgement call. Write three blocks:

  • Firmographic — headcount band, revenue band, region/country, industry/NAICS, funding stage. Numbers, not adjectives.
  • Technographic / intent — required stack (e.g. "runs Salesforce"), or an active trigger (hiring for role X, recently raised, surging on a topic). Apollo filters on 1,500+ technologies and active job postings, so make these checkable. (docs.apollo.io People API Search, accessed 2026-06-02.)
  • Negative criteria — the disqualify if… list. This is the half everyone skips and the half that saves the most rep time.

Then write the buyer persona(s) inside the account: title, seniority, the pain they own, the trigger that makes now the moment.

text
BAD ICP (un-falsifiable — every company "kind of" fits):
  "Mid-market SaaS companies that could use better analytics."

GOOD ICP (any company resolves to in/out):
  Firmographic:   50–500 employees · $5M–$50M ARR · US + EU · B2B SaaS
  Technographic:  runs Snowflake OR BigQuery · hiring a "Data Analyst" now
  Negative:       DISQUALIFY IF <50 employees · agency/reseller · no data team
  Persona:        Head of Data / VP Eng · owns dashboard sprawl · triggered by
                  a recent funding round (new headcount to equip)

Decision — pick the qualification framework by deal size

Do not default to BANT. The framework must match the deal's size and cycle, or you qualify on the wrong signals. (leadsatscale.com / callingagency.com qualification guides, accessed 2026-06-02.)

FrameworkStands forUse when
BANTBudget · Authority · Need · TimelineHigh-velocity SMB, deals under ~$50K ARR, short cycle, 1–2 stakeholders
CHAMPChallenges · Authority · Money · PrioritizationConsultative selling — lead with the prospect's problem, not your budget question
MEDDICMetrics · Economic-buyer · Decision-criteria · Decision-process · Identify-pain · ChampionEnterprise, deals over ~$100K, 5+ stakeholders, long cycle

The framework you pick becomes the qualification fields on every row — so choose it before you score, not after.

Phase 2 — Build the list

Source selection. No single database wins, so the 2025 norm is a waterfall: layer providers and stop at the first verified hit. (starnus.com / cleanlist.ai provider comparisons, accessed 2026-06-02.)

ProviderRough coverageNote
Apollo~200M contactsSearch is free + credit-free; enrichment costs credits; ~78% email accuracy
ZoomInfo321M+ contacts / 104M+ companies~84% email accuracy; strongest firmographics
People Data LabsBroad person/company graphGood as a waterfall fill layer
ClayOrchestrates 100+ sourcesThe waterfall engine — runs the layering for you

The waterfall rule: order providers by accuracy-per-dollar, query the next layer only for rows the previous one missed or could not verify, and stop at the first verified hit. You pay once per contact, not once per provider.

Apollo People Search → Enrichment flow. Search and enrichment are two different endpoints — search finds people but returns no emails/phones; enrichment (credit-consuming) returns the contact data. (docs.apollo.io, accessed 2026-06-02.)

text
1. POST /api/v1/mixed_people/api_search   (free, no credits)
   filters: person_titles, person_seniorities, organization_locations,
            organization_num_employees_ranges, q_organization_keyword_tags,
            currently_using_any_of_technology_uids, q_organization_job_titles
   → returns up to 50,000 records (100/page × 500 pages) — IDs + firmographics,
     NO email/phone.

2. POST /api/v1/people/bulk_match     (consumes credits)
   → enriches the IDs you actually want with email + phone.

Search broad and free first, then spend credits enriching only the rows that survive your ICP filter and dedupe.

Dedupe against the CRM. Before enriching, strip rows that already exist in the CRM (match on company domain + person email/LinkedIn). You do not pay to re-source a known account, and you do not want a rep cold-touching an active opportunity.

Verify — mandatory, not optional. Apollo (~78%) and ZoomInfo (~84%) email accuracy both sit at the edge of the high-volume-sender red-flag line. (cleanlist.ai / fundraiseinsider.com, accessed 2026-06-02.) Run a verification pass (bounce-check the address) before any row is handed off — a stale list is a lead-gen defect, not a copy or deliverability problem.

Full provider comparison, the waterfall ordering heuristic, and the provenance/compliance field spec each row must carry → references/data-sources.md.

Show full SKILL.md (546 more words)Show less

Phase 3 — Score & prioritize

Use a composite 100-point model. Single-signal scoring fails; the proven split is ~30 fit + ~50 engagement + ~20 intent. (houseofmartech.com / theinsightcollective.com intent-scoring guides, accessed 2026-06-02.)

  • Fit (≈30) — how well the account matches the ICP firmographics/technographics.
  • Engagement (≈50) — behavioral signals: site visits, content downloads, replies, demo views.
  • Intent (≈20) — third-party intent surge on your category/keywords.

The load-bearing rule: intent without fit is noise. A 10-person company surging on "enterprise CRM" is not your buyer — fit gates the score. Never let an intent spike alone tier a row up.

Tier on the total:

TierScoreSLA
A90–100Route now, first contact within 24h
B75–8948h SLA
C60–74Nurture, no rep time yet

The full 100-pt rubric, negative scoring, score decay, the tier→SLA map, and the scored-list CSV schema → references/scoring-model.md.

Handoff packet (what leaves this skill): the tiered CSV, the ICP + persona it was built against, per-row provenance, and the scoring rationale for the A tier. Nothing more — no message, no pipeline stage.

Compliance gate — run BEFORE handoff

A list that ships without these fields is not done. Run both checklists; the strictest applicable jurisdiction wins.

GDPR (EU B2B). Cold B2B email runs on legitimate interest, Art. 6(1)(f) — not consent — but only if you have done the paperwork. (derrick-app.com / instantly.ai GDPR-B2B guides, accessed 2026-06-02.)

  • A documented Legitimate Interest Assessment (LIA) exists.
  • Every email will carry the data-source disclosure + a privacy-policy link + a one-click opt-out.
  • Objections will be honored.
  • No purchased or scraped data — those confer no lawful basis, full stop.

CAN-SPAM (US). (ftc.gov CAN-SPAM compliance guide, accessed 2026-06-02.)

  • A valid physical postal address is available for the footer.
  • A clear opt-out mechanism, honored within 10 business days, live ≥30 days.
  • Penalty awareness: up to $53,088 per violating email, FTC-enforced.

To lint a produced list file for the required columns, score-range sanity, provenance presence, and a compliance flag, run scripts/verify.sh path/to/list.csv (read-only).

Anti-patterns

Anti-patternWhy it failsDo instead
Buying/scraping a list and emailing itNo GDPR lawful basis; CAN-SPAM exposure up to $53,088/emailSource + verify + document the LIA + provenance per row
Scoring on intent aloneIntent without fit is noise — surge ≠ buyerComposite fit+intent+engagement; fit gates the tier
One ICP/framework for every deal sizeBANT on a MEDDIC deal qualifies on the wrong signalsPick the framework by deal size/cycle first
Skipping email verification78–84% accuracy = bounces + domain reputation damageWaterfall + a verify pass before handoff
Enriching before deduping against the CRMYou pay to re-source known accounts and risk touching live dealsDedupe on domain/email first, enrich the survivors
Handing reps a raw, unsorted listReps work easy-to-reach names, not the right onesTier A/B/C with SLAs and an A-tier rationale
Treating the list as the goalA list is not a pipeline and not a campaignHand A/B to cold-outreach, accepted leads to sales-pipeline

Handoff — where the list goes next

This skill stops at a scored, compliance-cleared list. From there:

  • The A/B tiers + persona context go to ../cold-outreach/SKILL.md — that skill writes the message and the cadence; you do not.
  • Accepted leads (worked and responsive) go to ../sales-pipeline/SKILL.md — that skill tracks stages, forecasts, and manages the deal; you do not.
  • If the request is really "how big is this market / which segment?" with no named list, that is ../market-research/SKILL.md, not this skill.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/lead-gen of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/data-sources.md
  • references/scoring-model.md
  • scripts/verify.sh

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

Lead Gen next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lead Gen compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lead Gen this skillericrisco/rsc-harness156—~2.6kAutomated safety check: PassMIT
B2B Lead Generationminhnv0807/ai-business-skills608—~1.2kAutomated safety check: PassMIT
Suede RevopsJasonColapietro/suede-creator-skills127—~3.8kAutomated safety check: PassMIT
Lead Gen Tool Builderexplorium-ai/gtm-skills160—~1.8kAutomated safety check: NotesMIT
AI SDR Deploymenttech-leads-club/agent-skills7k—~4.4kAutomated safety check: PassCustom licence
RevopsAvdLee/RocketSimApp8025 repos~3.7kAutomated safety check: PassCustom licence

Similar skills

  • B2B Lead Generation

    minhnv0807/ai-business-skills

    Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.

    608 GitHub stars~1.2k tokensUpdated 25 days ago
    Sales & SupportAuto-check passed
  • Suede Revops

    JasonColapietro/suede-creator-skills

    Suede-owned revenue-operations discipline. An agent skill from JasonColapietro/suede-creator-skills.

    127 GitHub stars~3.8k tokensUpdated 3 days ago
    Sales & SupportAuto-check passed
  • Lead Gen Tool Builder

    explorium-ai/gtm-skills

    Lead generation tool builder skill for Claude Code and Codex: scaffolds a complete, self-hostable, ZoomInfo-style B2B lead-generation web app — company & contact search UI, firmographic and…

    160 GitHub stars~1.8k tokensUpdated 13 days ago
    Sales & SupportAuto-check: notes
  • AI SDR Deployment

    tech-leads-club/agent-skills

    Guides founders and sales teams through choosing, deploying and tuning AI sales development reps, from signal-based targeting to human handoff.

    7k GitHub stars~4.4k tokensUpdated 17 days ago
    Sales & SupportAuto-check passed
  • Revops

    AvdLee/RocketSimApp

    When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes.

    802 GitHub starsUsed in 5 repos~3.7k tokens
    Sales & SupportAuto-check passed
  • GEO Prospect Tracker

    zubair-trabzada/geo-seo-claude

    Tracks GEO agency leads and clients through a sales pipeline in a local JSON file, with notes, audit scores, deal values and a pipeline summary.

    11k GitHub stars~1.7k tokensUpdated yesterday
    Sales & SupportAuto-check: notes

More from ericrisco/rsc-harness

All 229 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    156 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    156 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    156 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    156 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    156 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    156 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Lead Gen

What does Lead Gen do?

A skill your agent uses when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered…. Lead Gen is an agent skill from ericrisco/rsc-harness. Use when building and qualifying a prospect list before anyone reaches out — a falsifiable ICP, named accounts/contacts from Apollo/ZoomInfo/Clay, deduped against the CRM, tiered by fit+intent+engagement.

When should I use Lead Gen?

Lead Gen fits situations like: building and qualifying a prospect list before anyone reaches out — a falsifiable ICP; named accounts/contacts from Apollo/ZoomInfo/Clay; deduped against the CRM; tiered by fit+intent+engagement.

How do I install Lead Gen in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill lead-gen -a claude-code`. Or copy the skill folder (skills/lead-gen in ericrisco/rsc-harness) into .claude/skills/lead-gen in your project. Claude Code loads it when a task matches its description.

How do I install Lead Gen in Codex?

Run `npx skills add ericrisco/rsc-harness --skill lead-gen -a codex`. Or copy the skill folder (skills/lead-gen in ericrisco/rsc-harness) into .agents/skills/lead-gen in your project. Codex loads it when a task matches its description.

Can I use Lead Gen in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill lead-gen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lead-gen, .gemini/skills/lead-gen, .github/skills/lead-gen and .opencode/skills/lead-gen in your project.

What does Lead Gen need to run?

Going by SKILL.md and its folder, Lead Gen needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Lead Gen access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Lead Gen safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Lead Gen use?

Lead Gen is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lead Gen use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to Lead Gen?

Skills that share tags, products or a category with Lead Gen: B2B Lead Generation (minhnv0807/ai-business-skills, 608 stars), Suede Revops (JasonColapietro/suede-creator-skills, 127 stars), Lead Gen Tool Builder (explorium-ai/gtm-skills, 160 stars) and AI SDR Deployment (tech-leads-club/agent-skills, 7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lead Gen?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.