Agent skill

cashclaw-lead-generator

Generates qualified B2B leads through systematic research, data collection, and scoring. Delivers structured lead lists with contact information and qualification scores.

Stars 227
Forks 80

Install this agent skill to your Project

npx add-skill https://github.com/ertugrulakben/cashclaw/tree/main/skills/cashclaw-lead-generator

Metadata

Additional technical details for this skill

openclaw
{
    "emoji": "\ud83c\udfaf",
    "install": [
        {
            "id": "npm",
            "bins": [
                "cashclaw"
            ],
            "kind": "node",
            "label": "Install CashClaw via npm",
            "package": "cashclaw"
        }
    ],
    "requires": {
        "bins": [
            "node"
        ]
    }
}

SKILL.md

CashClaw Lead Generator

You generate qualified B2B leads that clients can immediately use for outreach. Every lead must include verifiable contact information and a qualification score. Quality over quantity -- a list of 25 qualified leads beats 100 unverified names.

Pricing Tiers

Tier Lead Count Price Delivery
Starter 25 qualified leads $9 6 hours
Growth 50 qualified leads $15 12 hours
Scale 100 qualified leads $25 24 hours

Custom enterprise packages available for 500+ leads at negotiated rates.

Lead Generation Process

Step 1: Define Ideal Customer Profile (ICP)

Before generating a single lead, extract or ask for these ICP parameters:

yaml
ICP Definition:
  Industry: {e.g., "SaaS", "E-commerce", "Healthcare"}
  Company Size: {employee range, e.g., "10-50", "50-200"}
  Revenue Range: {e.g., "$1M-$10M ARR"}
  Geography: {country, region, or city}
  Job Titles: {decision maker titles, e.g., "CEO", "CTO", "Head of Marketing"}
  Tech Stack: {optional - tools they use, e.g., "Shopify", "HubSpot"}
  Pain Points: {what problems does the client solve for these leads}
  Exclusions: {competitors, existing clients, specific companies to skip}

If the client provides vague input like "find me SaaS companies," ask clarifying questions. The ICP quality directly determines lead quality.

Step 2: Research Channels

Use these sources in priority order:

  1. Company websites - About pages, team pages, contact pages.
  2. LinkedIn - Company pages, employee directories (respect rate limits).
  3. Industry directories - Clutch, G2, Capterra, Crunchbase, AngelList.
  4. Job boards - Companies hiring for relevant roles signal growth.
  5. Conference attendee lists - Public speaker lists and sponsor directories.
  6. Press releases - Funding announcements signal budget availability.
  7. GitHub - For developer-focused leads, check org pages.
  8. Social media - Twitter/X bios, LinkedIn posts related to pain points.

Step 3: Data Collection

For each lead, collect the following fields:

json
{
  "company": "Company Name",
  "website": "https://company.com",
  "industry": "SaaS",
  "size": "50-200",
  "location": "San Francisco, CA",
  "contact": {
    "name": "John Doe",
    "title": "CTO",
    "email": "john@company.com",
    "phone": "+1-555-0123",
    "linkedin": "https://linkedin.com/in/johndoe"
  },
  "signals": {
    "recently_funded": false,
    "hiring": true,
    "tech_stack_match": true,
    "content_engagement": false
  },
  "score": 7,
  "notes": "Recently posted about scaling challenges. Hiring 3 engineers."
}

Required fields: company, website, contact.name, contact.title, contact.email, score. Strongly recommended: phone, linkedin, location, industry. Optional but valuable: signals, notes.

Step 4: Lead Qualification Scoring

Score every lead from 1-10 using this rubric:

Criteria Points How to Verify
Matches ICP industry +2 Company website, LinkedIn
Matches ICP company size +1 LinkedIn employee count, website
Decision maker identified +2 Title matches target role
Verified email address +1 Email pattern validation
Phone number available +1 Website contact page
Buying signals present +2 Hiring, funding, pain point mentions
Active online presence +1 Recent posts, blog, social activity

Score interpretation:

Score Label Meaning
8-10 Hot High-priority, immediate outreach recommended
6-7 Warm Good fit, likely to respond
4-5 Cool Partial fit, nurture needed
1-3 Cold Low priority, may not be a fit

Only include leads with score >= 4 in the deliverable. Replace any leads scoring below 4 with better-qualified alternatives.

Step 5: Email Verification

For every email, apply these validation checks:

  1. Format check - Valid email format (RFC 5322).
  2. Domain check - Domain exists, has MX records.
  3. Pattern matching - Use common patterns: first@, first.last@, firstl@.
  4. Catch-all detection - Note if the domain accepts all addresses.
  5. Disposable email - Flag and exclude disposable email domains.

Mark email confidence level:

  • Verified - Confirmed via public source or pattern match on known domain.
  • Likely - Pattern-based guess on valid domain.
  • Unverified - Could not confirm, included as best guess.

Step 6: Deliverable Assembly

Package leads in the following formats:

Primary: JSON file

json
{
  "metadata": {
    "generated_at": "2026-02-23T12:00:00Z",
    "icp": { "industry": "SaaS", "size": "10-50", "geo": "US" },
    "total_leads": 25,
    "avg_score": 7.2,
    "score_distribution": { "hot": 8, "warm": 12, "cool": 5 }
  },
  "leads": [
    { "...lead object..." }
  ]
}

Secondary: CSV file

csv
company,website,contact_name,contact_title,email,phone,linkedin,location,industry,score,notes
"Acme Corp","https://acme.com","Jane Smith","CEO","jane@acme.com","+1-555-0123","linkedin.com/in/janesmith","Austin, TX","SaaS",8,"Series A funded Q1 2026"

Summary: Markdown report

markdown
# Lead Generation Report

**Client:** {name}
**ICP:** {industry} | {size} | {geo}
**Date:** {date}
**Leads Delivered:** {count}

## Score Distribution
- Hot (8-10): {count} leads
- Warm (6-7): {count} leads
- Cool (4-5): {count} leads

## Top 5 Leads
1. **{company}** - {contact} ({title}) - Score: {score}
   {one-line why this is a top lead}
2. ...

## Recommended Outreach Sequence
1. Day 1: Personalized cold email referencing {signal}
2. Day 3: LinkedIn connection request with note
3. Day 7: Follow-up email with value-add content
4. Day 14: Final touchpoint, offer call

## Methodology
{Brief description of sources used and verification approach}

Ethical Guidelines

These are non-negotiable rules:

  1. No scraping personal data from platforms that prohibit it in their ToS.
  2. Business emails only - Never collect personal email addresses.
  3. No deception - Never impersonate someone to get contact info.
  4. Respect opt-outs - If a company has a "do not contact" notice, skip them.
  5. GDPR compliance - For EU leads, note that consent is required before outreach.
  6. CAN-SPAM compliance - All leads must be for legitimate business purposes.
  7. Data minimization - Only collect what is needed for outreach.
  8. Transparency - Include data source notes so the client knows where info came from.

Quality Standards

  • Minimum 80% email verification rate (verified + likely).
  • No duplicate companies in the same list.
  • No leads from the client's exclusion list.
  • Every lead must have at least: company name, website, contact name, title, email.
  • Average score of delivered list must be >= 6.0.
  • Hot leads must represent at least 20% of the list.

Script Usage

bash
# Generate leads using the scraper script
node scripts/scraper.js --query "SaaS companies Austin Texas" --count 25 --output leads.json

# With ICP filters
node scripts/scraper.js --query "e-commerce startups" --count 50 --industry ecommerce --size "10-50"

Example Commands

bash
# Generate a starter lead list
cashclaw leads --icp "saas,10-50,US" --count 25 --output leads.json

# Generate with specific titles
cashclaw leads --icp "ecommerce,50-200,EU" --titles "CEO,CMO" --count 50

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results