🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Seo Prospector

by @mrmooseyman

Automated SEO prospect research and outreach for web designers, agencies, and freelancers. Use when researching local business prospects, running scheduled p...

Versionv1.0.0
Downloads894
Installs1
TERMINAL
clawhub install seo-prospector

πŸ“– About This Skill


name: seo-prospector description: >- Automated SEO prospect research and outreach for web designers, agencies, and freelancers. Use when researching local business prospects, running scheduled prospect clusters, creating outreach packages, generating daily summaries, or managing a lead pipeline. Triggers on "research prospect", "find leads", "prospect report", "outreach for [business]", "run today's clusters", "daily prospect summary", "batch research", "generate outreach", "SEO audit prospect", "local business leads", "cold outreach", "lead pipeline". license: Proprietary. See LICENSE.txt for complete terms.

SEO Prospector

Automated local business lead generation for web designers and agencies.

Pipeline: discover β†’ research β†’ audit β†’ report β†’ outreach β†’ track.

How It Works

This skill turns you into a prospecting machine. Point it at a city or industry, and it:

1. Finds businesses with weak websites (via SEO audit + web research) 2. Generates detailed prospect reports with specific issues found 3. Creates personalized outreach (HTML emails, LinkedIn messages, DMs) 4. Tracks everything in a database with dedup + cluster rotation 5. Delivers daily summaries of your pipeline health

Setup (First Run)

Before using, configure your agency details:

# Copy and edit the config file
cp references/config-template.json ~/.openclaw/workspace/leads/data/seo-prospector-config.json

Edit the config with your info:

{
  "agency": {
    "name": "Your Agency Name",
    "owner": "Your Name",
    "phone": "(555) 123-4567",
    "email": "you@agency.com",
    "website": "youragency.com",
    "city": "Your City",
    "tagline": "Your one-liner value prop"
  },
  "outreach": {
    "default_tone": "casual",
    "signature_style": "friendly"
  }
}

Quick Reference

Research One Prospect

python3 scripts/research_prospect.py \
  --business "Business Name" --domain "example.com" --industry "Restaurant" \
  --priority HIGH --cluster "Restaurants"

Batch Research (Today's Rotation)

python3 scripts/batch_research.py --run morning    # Today's run_1 cluster
python3 scripts/batch_research.py --run afternoon   # Today's run_2 cluster
python3 scripts/batch_research.py --cluster "Restaurants" --limit 5

Generate Outreach

python3 scripts/create_outreach.py --report path/to/report.md --template casual
python3 scripts/create_outreach.py --business "Name" --template professional --format html

Daily Summary

python3 scripts/daily_summary.py                     # Today, Discord format
python3 scripts/daily_summary.py --date 2026-02-09 --format markdown

Pipeline Management

python3 scripts/prospect_tracker.py today-clusters
python3 scripts/prospect_tracker.py check --business "Name"
python3 scripts/prospect_tracker.py stats
python3 scripts/prospect_tracker.py outreach-ready

Workflow

1. Check Schedule & Dedup

  • Run prospect_tracker.py today-clusters to see scheduled clusters
  • Run prospect_tracker.py check --business "Name" before researching (14-day dedup window)
  • 2. Research Phase

    Data sources in priority order: 1. SEO Quick Audit (seo_quick_audit.py) β€” on-page technical analysis 2. Perplexity Search (perplexity_search.py) β€” business intel, reviews, reputation 3. Browser verification (optional) β€” visual check for high-priority prospects

    3. Report Generation

    Reports follow references/research-template.md. Key sections:
  • Executive Summary (specific findings, not generic)
  • Business Overview (what they do, how long, reviews)
  • Online Presence Analysis (SEO audit results with pass/fail)
  • Why [Your Agency] (pitch angle customized to their gaps)
  • Contact & Next Steps (confidence level + recommended action)
  • Output: ~/.openclaw/workspace/leads/prospects/YYYY-MM-DD-{cluster}/{business}.md

    4. Outreach Generation

    scripts/create_outreach.py supports:
  • HTML emails (professional, mobile-responsive, branded)
  • Plain text emails (casual, no-frills)
  • LinkedIn messages (see references/outreach-templates.md)
  • DMs (Instagram, Facebook, SMS β€” see assets/templates/dm-outreach.md)
  • Each outreach package includes:

  • Email draft (HTML or plain text)
  • Review checklist for manual QA
  • Tracking JSON for pipeline status
  • 5. Pipeline Tracking

    Every prospect gets tracked via prospect_tracker.py add. The database enables dedup, coverage stats, cluster tracking, and outreach status.

    Status pipeline: draft_ready β†’ pending_review β†’ approved β†’ sent β†’ followed_up β†’ responded β†’ closed

    Priority Scoring (Strict)

    Aim for ~30% HIGH, ~50% MEDIUM, ~20% LOW:

  • HIGH: No website OR completely broken site, AND business confirmed active
  • MEDIUM: Has website but major SEO gaps (no H1, no meta, no schema, bad mobile), AND confirmed active
  • LOW: Decent website with minor issues, OR business activity unconfirmed
  • If unsure, default to MEDIUM.

    Verification (Mandatory)

    Before recording any prospect, verify:

    python3 scripts/verify_prospect.py 
    
    Skip prospects with: dead URLs, parked domains, suspended hosting, permanently closed businesses.

    Scripts

    | Script | Purpose | |--------|---------| | scripts/research_prospect.py | Full pipeline for single prospect | | scripts/batch_research.py | Research multiple prospects from cluster or input | | scripts/create_outreach.py | Generate personalized outreach (HTML + plain text) | | scripts/generate_outreach_batch.py | Batch outreach for all prospects from a date | | scripts/daily_summary.py | Pipeline summary (Discord or markdown) | | scripts/prospect_tracker.py | Database, dedup, cluster rotation, stats | | scripts/verify_prospect.py | URL/domain/phone verification | | scripts/seo_quick_audit.py | On-page SEO technical audit |

    References

    | File | Use When | |------|----------| | references/research-template.md | Writing or reviewing prospect reports | | references/outreach-templates.md | Drafting email/LinkedIn/DM outreach | | references/industry-insights.md | Industry-specific talking points | | references/objection-handling.md | Handling "we already have a site" etc. | | references/config-template.json | First-time setup of agency details | | references/cluster-template.json | Setting up industry cluster rotation |

    Assets

  • assets/templates/email-html.html β€” Professional HTML email template with merge fields
  • assets/templates/email-plain.txt β€” Plain text email template
  • assets/templates/linkedin-message.md β€” LinkedIn outreach templates
  • assets/templates/dm-outreach.md β€” DM templates (SMS, IG, FB)
  • assets/examples/example-report.md β€” Completed prospect report
  • assets/examples/example-outreach.md β€” Completed outreach package
  • Cron Integration

    Designed for automated daily prospecting:

    8:30 AM  β€” SERP Gap Scanner (identify opportunities for 5 industries)
    10:00 AM β€” batch_research.py --run morning (Tier A/B cluster)
    11:30 AM β€” batch_research.py --run afternoon (Tier B/C cluster)
    5:00 PM  β€” daily_summary.py (pipeline summary)
    

    Quality Rules

    1. Always check for duplicates first (14-day window) 2. Minimum 2 data sources per prospect (SEO audit + web research) 3. Specific findings only β€” "missing H1 tag" not "SEO issues" 4. Authentic compliments β€” if their site is good, say so honestly 5. 5 prospects per cluster max β€” depth over breadth 6. Match outreach tone to industry β€” casual for restaurants, professional for law firms 7. Verify every prospect before recording β€” no dead URLs, no parked domains 8. Never exaggerate issues β€” stick to what the audit actually found

    Error Handling

  • Site unreachable: Research via web search only, note limitation
  • Duplicate detected: Skip with message, don't waste API calls
  • Search timeout: Continue without, flag as lower confidence
  • Empty cluster: Log and move on (cluster may be exhausted)
  • Minimum data: Business name + (domain OR industry) required