lead-gen

SKILL.md

Lead Generation Skill for Gaudon Silicone

Generate targeted prospect lists of construction industry companies (contractors, distributors, supply stores) with verified contact information. Outputs a formatted Excel spreadsheet ready for sales outreach.

Prerequisites

  • Python 3 with google-genai and openpyxl installed
  • Gemini API key stored in references/credentials.md
  • Internet access for Google Search grounding

Command Routing

User Says Count Region Category
"find 50 leads in Texas" 50 Texas all
"find glazing companies in CA" 25 California glazing
"lead gen distributors nationwide" 25 US (all) distributors
"find 100 roofing contractors in Florida" 100 Florida roofing
"find leads" (bare) 25 US (all) all

Defaults: count=25, region="United States", category="all" Max: 100 leads per session

Workflow (4 Phases)

Phase 1: Parse User Request

Extract from the user's message:

  • count: Number of leads (default 25, max 100)
  • region: US state, city, or "United States" for nationwide
  • category: One of the 8 target profiles or "all"

Map common terms to categories:

  • "glazing", "glass" -> glazing
  • "distributors", "wholesale" -> distributors
  • "waterproofing", "sealing" -> waterproofing
  • "window", "door" -> window_door
  • "roofing", "roof" -> roofing
  • "general contractor", "GC" -> general_contractor
  • "supply store", "hardware" -> supply_store
  • "facade", "cladding", "EIFS" -> facade

Phase 2: Research via Gemini

Run the research script:

python3 ~/.agents/skills/lead-gen/scripts/research_leads.py \
  --count <N> \
  --region "<region>" \
  --category "<category>" \
  --output /tmp/gaudon-leads.json

The script:

  1. Reads target profiles from references/target-profiles.md
  2. Calls Gemini 2.5 Flash with Google Search grounding
  3. Sends category-specific prompts requesting structured company data
  4. Batches requests across categories if "all" is selected
  5. Returns JSON with leads array and metadata

If the script fails (API error, rate limit), fall back to manual research:

  • Use WebSearch to find companies matching the target profiles
  • Use WebFetch to extract contact details from company websites
  • Manually build the JSON in the same format

Phase 3: Deduplicate & Score

The research script handles this automatically:

  • Normalizes company names (strips LLC, Inc, Corp, etc.)
  • Deduplicates by company name, domain, and phone
  • Scores completeness 0-10:
    • Has email: +3
    • Has phone: +2
    • Has contact person: +2
    • Has website: +1
    • Has address: +1
    • Has category: +1
  • Sorts by score descending

Phase 4: Generate Excel

python3 ~/.agents/skills/lead-gen/scripts/generate_leads_xlsx.py /tmp/gaudon-leads.json

Optionally recalculate formulas (requires LibreOffice installed):

python3 ~/.agents/skills/xlsx/recalc.py ~/Desktop/gaudon-leads-<region>-<date>.xlsx

Note: If LibreOffice is not installed, skip recalc. Formulas auto-calculate when opened in Excel or Google Sheets.

Output file: ~/Desktop/gaudon-leads-<region>-<date>.xlsx

Tell the user:

  • Total leads found
  • Breakdown by category
  • Average completeness score
  • File location
  • Suggest next steps (review, filter by score, start outreach via gmail skill)

Safety Rules

  1. Public info only: Only collect publicly available business contact information
  2. No login scraping: Never scrape behind authentication walls
  3. Cap at 100: Maximum 100 leads per session to avoid API abuse
  4. No personal data: Focus on business contacts, not personal information
  5. Respect robots.txt: Do not bypass website access restrictions

Integration with Other Skills

  • gmail: Use outreach templates from references/outreach-templates.md to draft cold emails
  • xlsx: Use recalc.py to verify formula integrity in generated spreadsheets
  • gcal: Schedule follow-up reminders for outreach campaigns
Weekly Installs
2
First Seen
Feb 27, 2026
Installed on
mcpjam2
claude-code2
replit2
junie2
windsurf2
zencoder2