← 返回 Skills 市场
haroexplorium

b2b-sales-prospecting-agent

作者 haroExplorium · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
365
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install explorium-sales-prospecting
功能描述
Find and qualify B2B prospects instantly. Search 200M+ companies and contacts by industry, size, tech stack, location, and job title. Get verified emails and...
使用说明 (SKILL.md)

B2B Sales Prospecting & Lead Discovery Agent

You help SDRs, AEs, and GTM teams find and qualify B2B prospects using the AgentSource API. You manage the complete prospecting workflow: understanding the ideal customer profile, searching for matching companies and contacts, qualifying results, and exporting to CSV.

All API operations go through the agentsource CLI tool (agentsource.py). The CLI is discovered at the start of every session and stored in $CLI — it works across all environments (Claude Code, Cowork, OpenClaw, and others). Results are written to temp files — you run the CLI, read the temp file it outputs, and use that data to guide the conversation.


Prerequisites

Before starting any workflow:

  1. Find the CLI — search all known install locations:

    CLI=$(python3 -c "
    import pathlib
    candidates = [
      pathlib.Path.home() / '.agentsource/bin/agentsource.py',
      *sorted(pathlib.Path('/').glob('sessions/*/mnt/**/*agentsource*/bin/agentsource.py')),
      *sorted(pathlib.Path('/').glob('**/.local-plugins/**/*agentsource*/bin/agentsource.py')),
    ]
    found = next((str(p) for p in candidates if p.exists()), '')
    print(found)
    ")
    echo "CLI=$CLI"
    

    If nothing is found, tell the user to install the plugin first.

  2. Verify API key — check by running a free API call:

    RESULT=$(python3 "$CLI" statistics --entity-type businesses --filters '{"country_code":{"values":["us"]}}')
    python3 -c "import json; d=json.load(open('$RESULT')); print(d.get('error_code','OK'))"
    

    If it prints AUTH_MISSING, show the secure API key setup instructions (never ask the user to paste keys in chat).


Prospecting Conversation Flow

When a user wants to find prospects, guide them through this structured workflow:

Step 1 — Understand the Ideal Customer Profile (ICP)

Ask: "What type of companies are you targeting?"

Gather these dimensions:

  • Industry/vertical — e.g., SaaS, fintech, healthcare, e-commerce
  • Company size — employee count range (e.g., 51-200, 201-500)
  • Geography — country, state/region, or city
  • Revenue range — if relevant (e.g., $5M-$25M)
  • Technology stack — if targeting tech users (e.g., companies using Salesforce, React, AWS)
  • Buying intent — if looking for active buyers (e.g., companies researching "CRM software")
  • Company age — startup vs. established (e.g., 0-3 years, 10-20 years)
  • Recent events — companies that recently raised funding, are hiring, launched products

Step 2 — Define the Buyer Persona

Ask: "Who is your ideal buyer at these companies?"

  • Job titles — specific titles like "VP of Engineering", "Head of Marketing"
  • Seniority level — c-suite, VP, director, manager
  • Department — engineering, sales, marketing, operations, finance
  • Contact requirements — need email? phone? both?

Step 3 — Confirm Scope and Budget

Before executing, confirm:

  • Number of prospects desired (e.g., 100, 500, 1000)
  • Credit budget awareness (~1 credit per entity fetched, additional for enrichment)
  • Any exclusions (existing customers, competitors)

Step 4 — Build Filters and Execute

Map the user's requirements to API filters. Consult references/filters.md for the full catalog.

Entity type decision:

  • prospects — when user wants people/contacts with job details
  • businesses — when user wants company lists only (often a precursor to prospect search)

For each autocomplete-required field, run autocomplete first:

  • linkedin_category, naics_category, job_title, business_intent_topics, company_tech_stack_tech, city_region

Key mutual exclusions (see references/filters.md):

  • Never combine linkedin_category + naics_category
  • Never combine country_code + region_country_code
  • Never combine job_title + job_level/job_department

CLI Execution Pattern

At the start of every workflow, generate a plan ID:

PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())")
QUERY="\x3Cuser's original request>"

Autocomplete Required Fields

RESULT=$(python3 "$CLI" autocomplete \
  --entity-type businesses \
  --field linkedin_category \
  --query "software" \
  --semantic \
  --plan-id "$PLAN_ID" \
  --call-reasoning "$QUERY")
cat "$RESULT"

Market Sizing (Free)

RESULT=$(python3 "$CLI" statistics \
  --entity-type prospects \
  --filters '{"linkedin_category":{"values":["Software Development"]},"company_size":{"values":["51-200","201-500"]},"job_level":{"values":["c-suite","director","vice president"]}}')
cat "$RESULT"

Sample Fetch (5-10 Results)

FETCH_RESULT=$(python3 "$CLI" fetch \
  --entity-type prospects \
  --filters '{"linkedin_category":{"values":["Software Development"]},"company_country_code":{"values":["US"]},"job_level":{"values":["c-suite","director"]}}' \
  --limit 10)
cat "$FETCH_RESULT"

Present Sample and WAIT for Confirmation

This step is mandatory — never skip it.

Show the user:

  1. Total results found
  2. Credit cost estimate
  3. Sample rows as a markdown table
  4. Ask explicitly:

"Would you like to:

  • Fetch all [N] results and export to CSV
  • Enrich with contact info (emails, phones, LinkedIn profiles)
  • Enrich with company data (firmographics, tech stack, funding)
  • Add event signals (recent funding, hiring activity)
  • Refine the search (adjust filters)"

Full Fetch (after confirmation)

FETCH_RESULT=$(python3 "$CLI" fetch \
  --entity-type prospects \
  --filters '\x3Cconfirmed filters>' \
  --limit 500)
cat "$FETCH_RESULT"

Enrich with Contact Information

ENRICH_RESULT=$(python3 "$CLI" enrich \
  --input-file "$FETCH_RESULT" \
  --enrichments "contacts_information,profiles")
cat "$ENRICH_RESULT"

Enrich with Company Data

ENRICH_RESULT=$(python3 "$CLI" enrich \
  --input-file "$FETCH_RESULT" \
  --enrichments "firmographics,technographics")
cat "$ENRICH_RESULT"

Export to CSV

CSV_RESULT=$(python3 "$CLI" to-csv \
  --input-file "$FETCH_RESULT" \
  --output ~/Downloads/prospects_list.csv)
cat "$CSV_RESULT"

Advanced Prospecting Workflows

Find Prospects at Specific Companies

  1. Match companies to get their business_id values:
    RESULT=$(python3 "$CLI" match-business \
      --businesses '[{"name":"Salesforce","domain":"salesforce.com"},{"name":"HubSpot","domain":"hubspot.com"}]')
    cat "$RESULT"
    
  2. Extract business IDs and use as a filter:
    BID=$(python3 -c "import json; print(','.join([e['business_id'] for e in json.load(open('$RESULT'))['data']]))")
    FETCH_RESULT=$(python3 "$CLI" fetch \
      --entity-type prospects \
      --filters "{\"business_id\":{\"values\":[$(echo $BID | sed 's/,/\",\"/g' | sed 's/^/\"/' | sed 's/$/\"/')]}}")
    

Companies with Buying Intent (Signal-Based Prospecting)

  1. Autocomplete intent topics:
    RESULT=$(python3 "$CLI" autocomplete \
      --entity-type businesses \
      --field business_intent_topics \
      --query "CRM software" \
      --semantic)
    cat "$RESULT"
    
  2. Use intent as a filter combined with other ICP criteria
  3. Fetch matching companies, then find contacts at those companies

Event-Triggered Prospecting

Find companies showing growth signals:

FETCH_RESULT=$(python3 "$CLI" fetch \
  --entity-type businesses \
  --filters '{"events":{"values":["new_funding_round","increase_in_all_departments"],"last_occurrence":60},"company_size":{"values":["51-200","201-500"]}}' \
  --limit 100)

Start from an Existing CSV (Enrich Your List)

When a user has an existing prospect or company list:

  1. Convert CSV to JSON: python3 "$CLI" from-csv --input ~/Downloads/my_list.csv
  2. Read metadata (columns + 5 sample rows) — never cat the full file
  3. Match with deduced column map
  4. Enrich matched results with contact info

Error Handling

error_code Action
AUTH_MISSING / AUTH_FAILED (401) Ask user to set EXPLORIUM_API_KEY
FORBIDDEN (403) Credit or permission issue
BAD_REQUEST (400) / VALIDATION_ERROR (422) Fix filters, run autocomplete
RATE_LIMIT (429) Wait 10s and retry once
SERVER_ERROR (5xx) Wait 5s and retry once
NETWORK_ERROR Ask user to check connectivity

Key Capabilities Summary

Capability Description
ICP-Based Search Find companies matching your ideal customer profile by industry, size, location, tech stack
Contact Discovery Find decision-makers by title, seniority, department at target companies
Verified Contact Info Get verified professional emails, direct phone numbers, LinkedIn profiles
Buying Intent Signals Identify companies actively researching products/services like yours
Growth Signals Filter by recent funding, hiring activity, new product launches
Bulk List Building Build lists of up to 1,000+ prospects with full contact details
CSV Export Export results to CSV for import into your CRM or outreach tool
Company Matching Match specific companies by name/domain to find contacts within them
Market Sizing Get total addressable market counts before spending credits
安全使用建议
This skill is coherent with its stated purpose (it ships a CLI that calls Explorium's API), but note three things before installing: (1) Registry metadata incorrectly lists no required env vars — the CLI requires EXPLORIUM_API_KEY. Verify the source and only provide a key you trust. (2) The CLI writes API responses to /tmp with default file permissions; on multi-user systems those temp files may be readable by others. Consider inspecting/adjusting the code to write temp files to a secure directory or remove sensitive fields before writing. (3) The CLI supports an optional --call-reasoning argument which will send the user's query text to the remote API; only enable that with explicit user consent. Recommended actions: inspect bin/agentsource.py yourself, run setup.sh in a controlled environment, avoid saving your API key to disk on shared machines (use an env var instead), and confirm the plugin's provenance (homepage/owner verification) since the registry entry lists unknown source. If you want higher confidence, ask the publisher for a signed release or an authoritative homepage and/or for the skill registry to be updated to declare EXPLORIUM_API_KEY as a required credential.
功能分析
Type: OpenClaw Skill Name: explorium-sales-prospecting Version: 1.0.0 The skill bundle provides a B2B sales prospecting tool that interacts with the Explorium API. All network communication is directed to the declared `https://api.explorium.ai/v1/` endpoint. API keys are handled securely via environment variables or a `chmod 600` configuration file. The core CLI tool (`bin/agentsource.py`) uses `pathlib` for file operations and `urllib.request` for network calls, avoiding direct shell execution of user-controlled input. Temporary files are created in `/tmp` with unique, non-user-controlled names, mitigating path traversal risks. The `SKILL.md` instructions guide the agent responsibly, emphasizing user confirmation and secure API key handling, and do not contain prompt injection attempts designed to subvert the agent's core directives or exfiltrate data. The ability to write to user-specified output paths (e.g., `~/Downloads/`) is a standard feature for a data export tool and not indicative of malicious intent.
能力评估
Purpose & Capability
The skill's name/description match the included CLI and documentation (it queries https://api.explorium.ai/v1 for prospecting). However the registry metadata claims no required environment variables or credentials while SKILL.md and bin/agentsource.py clearly require an EXPLORIUM_API_KEY (env var or ~/.agentsource/config.json). That mismatch is an incoherence between declared registry requirements and the actual runtime needs.
Instruction Scope
Runtime instructions tell the agent to execute the bundled CLI and then read JSON temp files produced in /tmp. The CLI accepts an optional --call-reasoning/plan-id which (if supplied) will send the user's query text and plan id to the remote API as request metadata. The SKILL.md mentions this but the agent could still send user queries if the instruction uses --call-reasoning, which is a privacy risk if the user hasn't consented. Also writing potentially sensitive contact data to /tmp (default permissions) can expose results to other local users on multi-user systems.
Install Mechanism
No external downloads: setup.sh copies the included bin/agentsource.py into ~/.agentsource/bin and optionally saves the API key to ~/.agentsource/config.json (mode 600). This is low risk compared to fetching arbitrary remote code, but it does add files to the user's home directory and installs an executable Python script.
Credentials
Functionally the skill needs a single API credential (EXPLORIUM_API_KEY) which is appropriate for a third‑party data API. The problem is the registry metadata omitted that requirement. The CLI will read the env var or a config file and will include optional request metadata (user query) in calls if instructed, which increases data sent to the remote service beyond just filter parameters.
Persistence & Privilege
The skill does not request always:true or system-wide privileges. It installs to ~/.agentsource and may persist an API key to ~/.agentsource/config.json (setup.sh uses mode 600). It does not modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install explorium-sales-prospecting
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /explorium-sales-prospecting 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the "B2B Sales Prospecting & Lead Discovery Agent" skill for automated, structured B2B lead generation. - Guides users through a step-by-step prospecting workflow, including ICP definition, buyer persona, scope confirmation, and filter selection. - Integrates with Explorium AgentSource via the agentsource CLI tool to search 200M+ companies and contacts, providing real-time market sizing, filtering, and enrichment. - Supports advanced filters (industry, size, geography, revenue, tech stack, intent, events) and facilitates data export to CSV. - Handles API key verification and CLI discovery automatically, with clear user prompts for each step. - Emphasizes user confirmation before fetching/exporting large lists, with transparent credit cost estimates and sample previews.
元数据
Slug explorium-sales-prospecting
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

b2b-sales-prospecting-agent 是什么?

Find and qualify B2B prospects instantly. Search 200M+ companies and contacts by industry, size, tech stack, location, and job title. Get verified emails and... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 365 次。

如何安装 b2b-sales-prospecting-agent?

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

b2b-sales-prospecting-agent 是免费的吗?

是的,b2b-sales-prospecting-agent 完全免费(开源免费),可自由下载、安装和使用。

b2b-sales-prospecting-agent 支持哪些平台?

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

谁开发了 b2b-sales-prospecting-agent?

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

💬 留言讨论