lead-scorer
Score leads 0-100 by analyzing a domain's website, DNS, sitemap, and social presence. Uses customizable JSON scoring profiles so users can define what signals matter for their brand. Use when qualifying leads, prioritizing outreach lists, or evaluating potential partners. Supports single domains, multiple domains, and CSV batch mode.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/psyduckler/lead-scorer-freeLead Scorer
Analyze a domain and return a 0-100 lead score with detailed breakdown. The key feature is customizable scoring profiles — JSON configs that define which signals matter and their weights.
How It Works
- DNS Analysis — MX records (Google Workspace/M365 = real business), SPF/DMARC
- Sitemap Parsing — URL count, last modified dates, content volume
- Website Scraping — Blog detection, tech stack, meta tags, social links, contact info
- Signal Scoring — Each signal scored against the profile weights
- Grade Assignment — A (80-100), B (60-79), C (40-59), D (20-39), F (0-19)
Dependencies
pip3 install dnspython
Usage
Single domain (default profile)
python3 scripts/score_lead.py example.com
With custom profile
python3 scripts/score_lead.py example.com --profile clearscope.json
Multiple domains
python3 scripts/score_lead.py domain1.com domain2.com domain3.com
Batch from CSV
python3 scripts/score_lead.py --csv leads.csv --domain-column "Website"
Options
--profile FILE— Scoring profile JSON (default:default.json, resolved fromscripts/profiles/)--csv FILE— CSV file with domains--domain-column NAME— Column name for domains in CSV (default:domain)--scrape-delay SECONDS— Delay between HTTP requests (default: 0.5)--output FILE— Write results to file instead of stdout
Output
JSON to stdout with overall score, per-signal breakdown, raw data, and summary:
{
"domain": "example.com",
"score": 72,
"grade": "B",
"profile": "default",
"signals": {
"has_blog": {"score": 20, "max": 20, "evidence": "Blog found at /blog; 234 URLs in sitemap"},
"business_legitimacy": {"score": 15, "max": 20, "evidence": "MX: Google Workspace; SPF configured"}
},
"raw_data": {
"sitemap_urls": 234,
"mx_provider": "Google Workspace",
"tech_stack": ["WordPress", "Cloudflare"]
},
"summary": "Strong in: has blog, business legitimacy. Good lead, worth pursuing."
}
Scoring Profiles
Profiles are the key differentiator. They let you define what matters for YOUR use case.
Profile format
{
"name": "my-profile",
"description": "What this profile scores for",
"signals": {
"signal_name": {
"weight": 25,
"description": "What this signal measures",
"keywords": ["optional", "keyword", "list"]
}
}
}
Built-in signals
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-psyduckler-lead-scorer-free": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
aeo-content-free
Create or refresh AEO-optimized content that gets cited by AI assistants (Gemini, ChatGPT, Perplexity) using only free tools. Two modes: CREATE new content targeting a specific prompt, or REFRESH existing content to improve AI citation-worthiness. Researches what AI models currently cite, builds a competitive brief, and produces citation-worthy content. Use when a user wants to: write content optimized for AI citations, create articles that show up in AI answers, refresh/update existing content for better AI visibility, build authority content for answer engines, or produce AEO content without paid tools. No API keys required — uses web_fetch, web_search (free tier), and LLM reasoning only. Pairs with aeo-prompt-research-free (which identifies WHAT to write about; this skill handles HOW to write or refresh it).
reddit-quote-topaz
Create an Instagram carousel from a popular-picks list with Reddit quotes + Topaz 2x upscaling. Cover = "clean" style ("Top CATEGORY in Destination"), attraction slides = "quote" style with Reddit quotes + subreddit attribution. All photos Topaz-enhanced before overlay. Trigger phrase "reddit-quote-topaz". Use when Bernard says "reddit-quote-topaz" or wants a Topaz-enhanced Reddit-quote carousel.
instagram-photo-text-overlay
Overlay text on photos for Instagram posts. Generates portrait (4:5) images with gradient overlays, titles, and optional numbered lists. Use when creating Instagram content that needs text on top of a photo — destination itineraries, top-5 lists, travel highlights, or any branded social image with text overlay.
itinerary-carousel-post
Create and publish an Instagram carousel post from a tabiji.ai itinerary. Given an itinerary URL, finds Instagram-worthy photos for the destination + top attractions, applies text overlays, and publishes as a carousel. Use when asked to create an Instagram post, carousel, or social content for a tabiji destination or itinerary.
email-verifier
Verify email address deliverability via SMTP without sending mail. Checks MX records, performs RCPT TO verification, and detects catch-all domains. Use when validating email lists, checking if an email address exists before sending, cleaning lead lists, or verifying contact information. Supports single emails, batch verification, and CSV input.