← 返回 Skills 市场
liufx13

Prospecting

作者 sunrise_lfx · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
105
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install prospecting
功能描述
B2B manufacturing proactive prospecting. Search Google Maps for potential customers based on existing client profiles, enrich leads with business details, sc...
使用说明 (SKILL.md)

Prospecting — B2B Lead Generation from Existing Customers

Overview

Turn existing customers into a search template → find similar businesses on Google Maps → enrich → score → output actionable call lists.

One line: Known customer → profile → Maps search → enrich & rank → CSV call list + JSON index

When to Use

  • User gives a customer name + location and asks to find similar businesses
  • User asks to build a prospect/call list
  • User wants to find new clients in a specific industry (auto body, manufacturing, HVAC, etc.)

Input Required

Field Required Notes
Company name Core search term
Location (city/state) Search center point
Product purchased Helps with profiling

Even minimal input ("Bob's Auto Body, Orange CA") can start the full flow.

Execution Flow

Step 1: Profile the Existing Customer (8-step fixed process)

Read references/profiling.md for the full 8-step process. Key actions:

  1. Google Maps deep dive — Use agent-browser to search [company name] [location], extract: address, phone, rating, review count, business type, hours, website, photos, chain status
  2. Review sampling — Sample reviews with keyword filtering (not all reviews). Generic keywords: new, expand, equipment, upgrade, install, moved, bigger + industry-specific keywords (e.g., for auto body: paint booth, insurance, fleet, dealer)
  3. Social/web enrichment — Only for 🔴 chain (FB+LinkedIn+website) or 🟡 mid-tier (FB+website). Skip 🟢 small (no website)
  4. Output a Profile Card — Standard format saved to prospect-data/{batch}/profile-{name}.json

Tier detection (determines enrichment depth):

  • 🔴 Chain/large: name contains chain markers OR >200 reviews
  • 🟡 Mid-tier: has website, 50-200 reviews
  • 🟢 Small: no website, \x3C50 reviews

Step 2: Maps Batch Search (agent-browser automated)

Read references/maps-search.md for detailed search techniques and troubleshooting.

Use agent-browser to search Google Maps with keywords derived from the profile's business tags.

Keyword mapping (customize per industry — these are examples):

Industry Search terms
Auto body / collision "auto body shop", "auto body repair", "collision repair", "collision center"
Paint / coating "paint shop", "spray booth", "auto paint shop", "powder coating"
Manufacturing "machine shop", "fabrication shop", "CNC machining", "metal fabrication"
HVAC "HVAC contractor", "heating and cooling", "air conditioning service"
Dental / medical "dental lab", "dental clinic", "medical equipment"

Rule: Derive search terms from the source customer's industry. The profile step (Step 1) produces search_keywords — use those.

Radius rules:

  • 1 known customer → 50mi radius from their address
  • 2-3 clustered customers → geometric center + 30mi buffer
  • Multiple scattered customers → 50mi per customer, merge & dedup
  • User-specified → use user's range

Process:

  1. Open Google Maps with each keyword + location
  2. Snapshot results, extract all candidate listings
  3. Click into each listing for details
  4. Collect: name, phone, address, rating, review count, business type, website status, chain markers
  5. Dedup: same name + same address = duplicate
  6. Remove: permanently closed, non-target industry (e.g., pure car wash)

Save to: prospect-data/{batch}/candidates.json

Step 3: Auto-Tier Candidates

Based on Maps data, assign tiers. Chain stores are NOT excluded — they are valid prospects with a different approach strategy.

Tier Criteria Next action
🔴 Chain/large Chain name OR >200 reviews Deep enrichment + chain procurement strategy
🟡 Mid-tier Has website, 50-200 reviews Medium enrichment
🟢 Small No website, \x3C50 reviews Skip enrichment

Chain store prospecting strategy — Read references/chain-strategy.md for the full three-call approach:

  • Call 1: Local store — NOT to sell, but to identify procurement decision chain
  • Call 2: Regional/corporate — pitch to the person who can approve multi-location deals
  • Call 3: Follow-up with proposal

Key principles:

  • Chain stores have large, stable equipment needs — one deal can cover multiple locations
  • Local store manager is the entry point, not the decision-maker (usually)
  • Key question: "Is equipment purchasing handled locally, or should I speak with your regional/corporate procurement team?"

Step 4: Enrich by Tier

Tier Action Tools Time
🔴 Chain Website deep + LinkedIn + news search + chain procurement mapping agent-browser + agent-reach (Exa) 3-5min each
🟡 Mid Website basics + FB agent-browser 1-2min each
🟢 Small Skip — Maps data sufficient 0

Chain enrichment with agent-browser:

  1. agent-browser open "[website URL]"
  2. agent-browser snapshot -i → extract Services, About, Staff, Contact
  3. Check for Portfolio/Cases and News/Blog pages for expansion signals
  4. For chains: Look for corporate/region procurement contacts, preferred vendor programs, and expansion news

Chain news search with agent-reach:

mcporter call 'exa.web_search_exa(query: "[company name] expansion OR new location OR equipment", numResults: 5)'

Chain procurement mapping (chains only) — See references/chain-strategy.md for full approach:

  • Identify: local manager → regional operations manager → VP of operations / procurement director
  • Sources: LinkedIn, corporate website "careers" or "partners" page, news about leadership changes
  • Goal: find the person who can approve equipment purchases for multiple locations

Step 5: Score & Rank

Match each candidate against the profile card:

Factor Rule Points
Buy signal Expansion / new service / new equipment +5 (strong) / +3 (medium) / +1 (weak)
Industry match Business type matches profile +3
Scale match Review count / bays similar to profile +2
Service overlap Same services as profile +2
Geo similarity Similar area type +1
Business age Similar years in operation +1
Chain multiplier Chain store (multiple locations = bulk potential) +3
EV/high-end certification EV Certified / LUXE / premium line +4

Tie-breaking: buy signal strength → chain (bulk potential) → has phone → closer scale match

Total score Priority Action
10+ 🔴 High Call within 48h
6-9 🟡 Medium Call this week
\x3C5 🟢 Low Call when available

Step 6: Generate Custom Sales Openers

Not templates — custom for each prospect based on their data.

Opener must accomplish 3 things: (1) prove you know them, (2) state your purpose, (3) invite dialogue.

Data source How to use in opener
Buy signal "Saw you just added [service related to your product]"
Similar customer "We supplied [product] to [similar customer] in your area"
Business type "Since you do [their business type]..."
Key clues "As an [industry certification] shop..." / "Working with [their key client]..."
Tier High→emphasize quality & custom, Mid→value, Low→entry-level
Chain store Key opener question: "Is equipment purchasing handled locally, or should I speak with your regional/corporate procurement team?"
Premium/certified line Reference their specialization: "As an EV-certified shop, you need [specific configuration] — we've done those."

Step 7: Output (3-layer structure)

Save to prospect-data/{batch}/:

prospect-data/{area}-{date}/
├── index.json          ← Lightweight index, instant search
├── P001.json           ← Full detail for first prospect
├── P002.json           ← Full detail for next prospect
└── call-list.csv       ← 11-column CSV for calling

See examples/ for sample output files.

Then export CSV from index + P###.json files for calling.

index.json — Search/filter only (few KB):

{
  "batch_id": "orange-ca-2026-05-19",
  "source_customer": "ABC Auto Body",
  "generated": "2026-05-19",
  "search_areas": ["Orange CA"],
  "product": "Customizable per industry",
  "chain_strategy": "Chain stores included — call local first to identify procurement decision chain, then escalate to regional/corporate",
  "prospects": {
    "P001": {
      "name": "Bob's Auto Body",
      "city": "Orange CA",
      "priority": "高",
      "tier": "中高端-独立",
      "status": "待联系",
      "tags": ["[industry]", "[business type]"],
      "file": "P001.json"
    },
    "P013": {
      "name": "Crash Champions Orange",
      "city": "Orange CA",
      "priority": "高",
      "tier": "连锁-中高端",
      "status": "待联系",
      "tags": ["collision", "chain", "Crash Champions"],
      "file": "P013.json"
    }
  }
}

P001.json — Full detail (all collected data + contact log):

{
  "id": "P001",
  "name": "Bob's Auto Body",
  "phone": "(714)555-1234",
  "city": "Orange CA",
  "tier": "Mid-high-Independent",
  "priority": "High",
  "buy_signal": "Added new [service]",
  "similar_customer": "Customer A",
  "business_type": "[industry service type]",
  "key_clues": "[specific observations from data]",
  "email": "[email protected]",
  "chain_brand": null,
  "opener": "We supplied [product] to [similar customer] in your area — saw you recently added [service]. What [product type] are you currently using?",
  "status": "Pending",
  "contact_log": [],
  "tags": ["[industry]", "[business type]", "[certification]"],
  "maps_url": "https://maps.google.com/...",
  "rating": 4.5,
  "reviews_count": 87,
  "has_website": true,
  "website_url": "https://bobscorp.com",
  "raw_notes": "Reviews mention...",
  "source_customer": "Customer A"
}

P013.json — Chain store example:

{
  "id": "P013",
  "name": "[Chain Brand] [City]",
  "phone": "(714)555-5678",
  "city": "Orange CA",
  "tier": "Chain-Mid-high",
  "priority": "High",
  "buy_signal": "National chain with stable equipment needs across locations",
  "similar_customer": "Customer A",
  "business_type": "[Industry] Chain",
  "key_clues": "[Chain brand] national chain + [city] location + online booking",
  "email": "",
  "chain_brand": "[Chain Brand]",
  "opener": "Hi, I'm with [company] — we manufacture [product]. [Chain brand] has a location here, and I'd like to learn about your equipment purchasing process. Is that handled locally, or should I speak with your regional/corporate procurement team?",
  "status": "Pending",
  "contact_log": [],
  "tags": ["[industry]", "chain", "[chain brand]", "online booking"],
  "maps_url": "https://maps.google.com/...",
  "rating": 4.6,
  "reviews_count": 120,
  "has_website": true,
  "website_url": "https://www.chainbrand.com",
  "raw_notes": "National chain. Key question: local manager vs regional purchasing.",
  "source_customer": "Customer A"
}

CSV export — 11 columns, ready to call:

优先级,店名,电话,城市,档位,购买信号,相似客户,业务类型,关键线索,邮箱,开场白

CSV columns map 1:1 to P###.json fields (priority→tier, etc.). CSV is a projection of the JSON, not a separate data source.

Status tracking (in P###.json, not CSV):

待联系 → 已联系 → 意向 / 无意向 / 回访中
                 ↘ 无人接听 → 再试

Step 8: Update contact status

When user reports call results, update P###.json:

"contact_log": [
  {"date": "2026-05-20", "action": "电话", "result": "无人接听", "next": "明后天再试"}
]

And update index.json status field accordingly.

Re-export CSV filtered by status when user needs a new call list.

Critical Rules

  1. Every step must execute — skip only if data source has nothing (no website = skip website enrichment)
  2. Review sampling, not all — use tiered sampling + keyword filtering per profiling reference
  3. Social media by tier only — 🔴 chain gets full search, 🟢 small gets nothing
  4. Opener is custom — never use generic templates, always tailor to prospect's specific data
  5. Output is 3-layer — index.json for search, P###.json for detail, CSV for calling
  6. CSV is a projection — all data lives in JSON; CSV is just 11 columns exported on demand
  7. Chain stores ARE valid prospects — do NOT exclude them. Include with a different strategy: local call first → identify procurement decision chain → escalate to regional/corporate buyer. One chain deal can equal many independent deals.
  8. Tier labels include chain distinction — use "独立" (independent) or "连锁" (chain) suffix in tier: e.g., "中高端-独立", "连锁-中高端"
  9. Chain opener must ask about procurement — "Is equipment purchasing handled locally, or should I speak with your regional/corporate procurement team?"
  10. Specialized/certified prospects are high priority — certifications (EV, ISO, specific industry standards) indicate higher equipment requirements and justify premium positioning
安全使用建议
This review is low confidence because attempts to read metadata.json and the artifact directory failed in the execution environment. Re-run the scan with readable artifacts before relying on this result for installation decisions.
能力标签
cryptocan-make-purchases
能力评估
Purpose & Capability
No concrete artifact evidence was available showing a purpose-capability mismatch or unsafe behavior.
Instruction Scope
No concrete artifact evidence was available showing unsafe, hidden, or overbroad instructions.
Install Mechanism
No concrete artifact evidence was available showing a risky install mechanism.
Credentials
No concrete artifact evidence was available showing disproportionate environment access.
Persistence & Privilege
No concrete artifact evidence was available showing persistence or privilege abuse.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install prospecting
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /prospecting 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: B2B lead generation from existing customers via Google Maps, chain store strategy, 3-layer output (JSON+CSV)
元数据
Slug prospecting
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Prospecting 是什么?

B2B manufacturing proactive prospecting. Search Google Maps for potential customers based on existing client profiles, enrich leads with business details, sc... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 105 次。

如何安装 Prospecting?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install prospecting」即可一键安装,无需额外配置。

Prospecting 是免费的吗?

是的,Prospecting 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Prospecting 支持哪些平台?

Prospecting 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Prospecting?

由 sunrise_lfx(@liufx13)开发并维护,当前版本 v1.0.0。

💬 留言讨论