business-contact-recon
- Repo stars 0
- Author repo nano-core
Business Contact Reconnaissance Skill
When not to use this skill
- Do not use when another skill is a better direct match for the task.
- Do not use when the request is outside this skill's scope.
When to Use
Build targeted outreach lists using free public data sources:
- Sales lead generation by region/industry
- Business validation before contact attempts
- Discovering key personnel (owners, managers, decision-makers)
- Regional/niche market research
Prerequisites
# Core dependencies
pip install requests beautifulsoup4 lxml python-dateutil
# Optional (for advanced extraction)
pip install linkedin-api # Free tier with limitations
No paid APIs required. All sources in this skill are free.
Core Workflow
Phase 1: Discovery
- Define target parameters (region, keywords, industry)
- Run web searches to discover businesses
- Filter by location/relevance
- Compile seed list
Phase 2: Validation
Cross-reference each business:
- Social presence (LinkedIn, website, social links)
- Review activity (Google, Yelp)
- Recent mentions (news, blogs)
- Government records (state biz registries)
- Forum/community signals
Phase 3: Contact Extraction
For validated businesses:
- Scrape website contact pages (respect robots.txt)
- Find LinkedIn company page → extract key personnel
- Use pattern-based email guessing (first@business.com)
Phase 4: Output
Generate CSV with standardized fields.
Available Scripts
| Script | Purpose |
|---|---|
scripts/discover_businesses.py |
DuckDuckGo + web discovery |
scripts/validate_activity.py |
Multi-signal validation |
scripts/extract_contacts.py |
Contact extraction from websites |
scripts/linkedin_extract.py |
Free LinkedIn company/person data |
scripts/build_csv.py |
Generate CRM-ready CSV |
Free Data Sources Priority
- Search engines: DuckDuckGo (no tracking, no API limits)
- Business listings: Google Maps, Yelp (public pages)
- Social: LinkedIn (public profiles only, no scraping)
- Government: State Secretary of State business databases
- Domains: WHOIS lookup, website analysis
- News: RSS feeds, Google News alerts
Compliance & Safety
✅ Allowed (Free Tier)
- Public business listings and directories
- Website contact pages (respect rate limits)
- LinkedIn public profiles
- Government records (public domain)
- DuckDuckGo/Google search results
⚠️ Use Caution
- Website scraping: 1 req/sec max, respect robots.txt
- Email pattern guessing: verify before sending
- LinkedIn: no automation tools, manual data only
❌ Never Do
- Credential stuffing or account takeover
- Bypassing CAPTCHAs or rate limits
- Scraping behind login walls
- Harvesting personal phone numbers
- Using paid APIs you don't have keys for
Output Format
business_name,website,phone,email,contact_name,title,linkedin_url,source,confidence,last_verified,notes
Joe's Plumbing,https://joesplumbing.com,555-0123,joe@joesplumbing.com,Joe Smith,Owner,,website+hunter,high,2026-02-06,"Local SEO present"
Rate Limiting
- Search engines: 1 query per 3 seconds (DuckDuckGo is lenient)
- Websites: 1 request per second
- LinkedIn: Manual extraction only (no API/scripted access)
- General: Be respectful, don't impact target sites
Reference Documentation
- Free Data Sources - Detailed guide to all free APIs and databases
- Industry Templates - Pre-built search patterns by industry
- Compliance Guidelines - Do's and don'ts for ethical OSINT
- CSV Schema - Field definitions and validation rules
- Fluxly category
- Data
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @0-CYBERDYNE-SYSTEMS-0 · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Python
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
# Phase 4: Output
Generate CSV with standardized fields. Core Workflow
Define target parameters (region, keywords, industry) Run web searches to discover businesses Filter by location/relevance
Cross-reference each business: Social presence (LinkedIn, website, social links) Review activity (Google, Yelp)
For validated businesses: Scrape website contact pages (respect robots.txt) Find LinkedIn company page → extract key personnel
Generate CSV with standardized fields.
# Business Contact Reconnaissance Skill
## When not to use this skill
- Do not use when another skill is a better direct match for the task.
- Do not use when the request is outside this skill's scope.
## When to Use
Build targeted outreach lists using free public data sources:
- Sales lead generation by region/industry
- Business validation before contact attempts
- Discovering key personnel (owners, managers, decision-makers)
- Regional/niche market research
## Prerequisites
```bash
# Core dependencies
pip install requests beautifulsoup4 lxml python-dateutil
# Optional (for advanced extraction)
pip install linkedin-api # Free tier with limitations
```
**No paid APIs required.** All sources in this skill are free.
## Core Workflow
### Phase 1: Discovery
1. Define target parameters (region, keywords, industry)
2. Run web searches to discover businesses
3. Filter by location/relevance
4. Compile seed list
### Phase 2: Validation
Cross-reference each business:
- Social presence (LinkedIn, website, social links)
- Review activity (Google, Yelp)
- Recent mentions (news, blogs)
- Government records (state biz registries)
- Forum/community signals
### Phase 3: Contact Extraction
For validated businesses:
1. Scrape website contact pages (respect robots.txt)
2. Find LinkedIn company page → extract key personnel
3. Use pattern-based email guessing (first@business.com)
### Phase 4: Output
Generate CSV with standardized fields.
## Available Scripts
| Script | Purpose |
|--------|---------|
| `scripts/discover_businesses.py` | DuckDuckGo + web discovery |
| `scripts/validate_activity.py` | Multi-signal validation |
| `scripts/extract_contacts.py` | Contact extraction from websites |
| `scripts/linkedin_extract.py` | Free LinkedIn company/person data |
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> When not to use this skill → When to Use → Prerequisites → Core Workflow → Phase 1: Discovery → Phase 2: Validation
terms -> No paid APIs required. · Search engines · Business listings · Social · Government · Domains · News · Websites
files/cmd -> scripts/discoverbusinesses.py · scripts/validateactivity.py · scripts/extractcontacts.py · scripts/linkedinextract.py · scripts/buildcsv.py
body sha256 -> 9a40d4ae8f38
Decide Fit First
Design Intent
How To Use It
Boundaries And Review