Agent skill
vibe-prospecting
Find company & contact data.
Filed under Prospecting and list building.
From explorium-ai/vibeprospecting-plugin · 1 skill · 26 · pushed 2026-08-20
What it does when it runs
Find company & contact data. Turn your agent into a prospecting platform. Get contact information, roles, tech stack, business events, website changes, intent data. Build lead lists, research prospects, identify talent. 150M+ companies, 800M+ professionals, 50+ data sources.
Read from the skill and the 6 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- VP_API_KEY
- mcp__*__fetch-entities
- Hosts it reaches
- www.vibeprospecting.ai
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/explorium-ai/vibeprospecting-plugin.git /tmp/vibeprospecting-plugin git -C /tmp/vibeprospecting-plugin sparse-checkout set "skills/vibe-prospecting" mkdir -p ~/.claude/skills/vibe-prospecting cp -R "/tmp/vibeprospecting-plugin/skills/vibe-prospecting/." ~/.claude/skills/vibe-prospecting/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 1 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add explorium-ai/vibeprospecting-plugin /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs mcp__*__fetch-entities, VP_API_KEY, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from explorium-ai/vibeprospecting-plugin/blob/9b4067473305dbba80be0fa9a492be39b96f455e/skills/vibe-prospecting/SKILL.md, which is licensed MIT (repository). 1,478 words, 14 headings.
Vibe Prospecting
B2B prospecting — companies, contacts, enrichment, events.
Platform
Before any prospecting work, detect your host using the rules below, read exactly one platform guide, and follow it for auth, workflow, flags, and troubleshooting.
Detecting your runtime (mandatory, in order)
- Host identity in your system context (check this first — overrides tool names):
- Claude Code — context says you are Claude Code / Anthropic's CLI, or shows a CLI Environment block (cwd, shell, platform). → read
claude-code.mdonly. Do not readclaude-chat.mdorcowork.md. MCP tools in the list (mcp__*__fetch-entities) do not change this. - OpenAI Codex — context identifies Codex or
CODEX_SHELL=1. →codex.md - OpenClaw — context identifies OpenClaw or
OPENCLAW_CLI=1/OPENCLAW_SHELL. →openclaw.md
- Claude Code — context says you are Claude Code / Anthropic's CLI, or shows a CLI Environment block (cwd, shell, platform). → read
- Only if step 1 did not match — no CLI host identity, no shell:
- Claude Cowork — Cowork workspace,
.plugininstall, connector store. →cowork.md - Claude Chat — claude.ai or Claude desktop MCP connector (not Cowork). →
claude-chat.md
- Claude Cowork — Cowork workspace,
- Fallback: terminal, scripts, CI, or unknown host →
other.md
Never infer platform from MCP tool names alone (mcp__claude_ai_*, mcp__*__fetch-entities, etc.). Tool prefixes are not a host signal when step 1 already identified Claude Code, Codex, or OpenClaw.
| Platform | Read now |
|---|---|
| Claude Code | claude-code.md — vpai CLI |
| OpenAI Codex | codex.md |
| OpenClaw gateway | openclaw.md |
| Claude Cowork | cowork.md — MCP connector; not Claude Code |
| Claude Chat (claude.ai, Claude desktop) | claude-chat.md — MCP connector; not Cowork or Claude Code |
| Other (terminal, scripts, CI, generic hosts) | other.md |
CLI hosts use vpai — each platform guide is self-contained (Sample Gate, stdout/csv_path, CSV upload). Chat/Cowork follow each MCP tool's description and input schema only.
Hard Rules
tool_reasoning(or platform equivalent) on every real call. Use the user's request verbatim. Reuse across the whole workflow. Skip only when inspecting a tool's input schema with no real execution.- Chain via session + CSV, never paste IDs. Each step returns
session_idandcsv_path(names may vary slightly by host). Never inventsession_id— on the first step omit it and use the value MCP returns; on later steps copy it exactly from the prior tool JSON. Pass--csv-path(CLI) from the priorcsv_path. Do not paste raw ID lists into tool arguments when the platform reads IDs from the source CSV. Forfetch-entitiesprospects scoped to earlier companies, pass the prior business output'scsv_pathvia--businesses-csv-pathper your platform guide. - You may edit the CSV between steps — keep the ID column. On CLI hosts, read the file at
csv_path, filter/dedupe/add columns, or rewrite rows, then pass the result to the next step via--csv-path. Always retain the entity ID column:business_idfor business workflows,prospect_idfor prospect workflows. Every row you want processed next must have a non-empty ID in that column. Do not rename or drop those headers — the CLI reads them verbatim for ID injection and joins. autocompletefirst for:naics_category,linkedin_category,company_tech_stack_tech,job_title,interests,skills,business_intent_topics,city_region. Use returned standardized values, not raw user wording.- Never invent tool parameters. Before the first real execution of each distinct tool in a workflow, read that tool's live input schema (from the connector or your platform's schema discovery). Do this even when the planned call looks obvious — schemas drift. Re-read when tools, filters, or shapes change materially. Build each call only from fields confirmed by that schema.
- Session continuity. Reuse
session_idfrom prior tool JSON on every subsequent step in the same workflow — never make one up. Reuse the prior step'scsv_pathvia--csv-path(CLI) when chaining enrich, events, or scoped fetch. Start a new session only for a genuinely new task. fetch-entities-statisticsonly when stats supports the full fetch. Compare your plannedfetch-entitiespayload to the input schema forfetch-entities-statistics. Call statistics only if every filter key, value shape,entity_type, and scope you rely on (including session-scoped business CSVs) is accepted the same way as forfetch-entities. If any part is missing, unsupported, or needs a different shape, skip stats — do not call it with a partial or guessed subset. When you do call it, reuse the same filter object (and supported scope) asfetch-entities, plustool_reasoningwhere required. Call stats again before a full-scale fetch if filters or scope changed and the full fetch filter set still fits statistics.
Tool Mechanics
Behavior and caveats the live input schema may not spell out. For allowed filter values, enum strings, and enrichment type names, always use each tool's input schema.
Autocomplete
Requires autocomplete: linkedin_category, naics_category, company_tech_stack_tech, job_title, interests, skills, business_intent_topics, city_region.
Does not require autocomplete: company_country_code (ISO Alpha-2), company_region_country_code (ISO 3166-2), fixed buckets (company_size, company_revenue, company_age, job_level, job_department — exact allowed strings come from fetch-entities / fetch-entities-statistics input schema), website_keywords (free text).
Mutual exclusions: linkedin_category and naics_category — use one, not both. company_region_country_code and company_country_code — use one.
Picking values: Autocomplete may return noisy variants. Pick the canonical clean value (usually the first clean result). Multiple values broaden with OR logic; avoid near-duplicates unless you want a wider search.
Fetch
job_titleis substring-match, not exact. For executive searches, combine withjob_level(usuallyc-suite) to remove assistants, advisors, and office-of roles.company_sizeuses fixed buckets with no exact numeric cutoff. For "over N employees", approximate with adjacent buckets or enrich withfirmographicsfor exact headcount.- Business location filters (
company_country_code,company_region_country_code,city_region) match headquarters only — not branch or operating locations. - Prospects at prior companies: For
fetch-entitieswithentity_type: prospectsscoped to businesses from an earlier step, chain via session and pass the prior business step'scsv_pathas--businesses-csv-pathper your platform guide. - Row limits and pagination: per your platform guide (CLI:
--number-of-results; Chat/Cowork: MCP tool docs). max_per_company: auto-applied on prospect fetches so results spread across companies (not all from one big employer); omit from--argsunless the user sets it — their value overrides the auto cap.
Events (fetch-businesses-events / fetch-prospects-events)
- Chain from the prior step's session and source CSV with
business_id(business events) orprospect_id(prospect events). - When IDs come from the source CSV, do not also pass
business_ids/prospect_idsinline. - Batching is capped at 20 IDs per request; hosts may chunk and merge automatically.
- Output columns are
event_<event_type>: each cell is a JSON array string for that type (newest-first, capped per type), or empty when no events exist for that type.
Match
- Skip match if you already ran
fetch-entities— those results include IDs. - CSV file upload is CLI only — see your platform guide.
Enrich
financial-metricsrequiresparameters.date(see input schema for format).website-keywordsrequiresparameters.keywords.- Enrichment alone does not find people at a company — use
fetch-entitieswithentity_type: prospects(scoped to prior companies when needed) instead. - When chaining from a source CSV,
business_ids/prospect_idsneed not appear in tool arguments.
Filter Pattern
{ "values": ["v1", "v2"], "negate": false } // include or exclude
{ "gte": 6, "lte": 24 } // range
true | false | null // boolean (not wrapped)
Exception — business_intent_topics: use { "topics": ["Category:Topic"], "negate": false } (not values). Topics must come from autocomplete.
Location matching: Business location filters (company_country_code, company_region_country_code, city_region) match a company's headquarters only — not branch/operating locations. A search for "companies in the UK" returns companies HQ'd in the UK, and excludes e.g. a foreign company that merely operates there. This is the default for all fetch-entities / fetch-entities-statistics business queries and is not user-configurable.
Limits
| Tool | Limit |
|---|---|
match-business | 50 per call |
match-prospects | 40 per call |
enrich-business | 50 IDs per call |
enrich-prospects | 50 IDs per call |
fetch-businesses-events / fetch-prospects-events | Up to 20 IDs per request when batching. Pass event_types and timestamp_from. When chaining, IDs come from the source CSV — not inline ID arrays. |
Troubleshooting
| Error | Solution |
|---|---|
| Auth, connector setup, CLI invocation, flags, or chaining syntax | Read the matching platform guide from the Platform table |
| Empty results | Check filter values; run autocomplete for controlled-vocab fields; re-read the tool's input schema |
linkedin_category + naics_category together | Mutually exclusive — use one |
| Invented or unconfirmed parameters | Re-read the live input schema before calling; build arguments only from confirmed fields |
Support
When the user asks a support-related question (for example: how to contact support, who to contact, they have an issue, or something isn't working), reply briefly and point them here — do not dig into Explorium internals or over-explain.
For support, please reach out to the Vibe Prospecting team via the contact page:
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- prospecting by coreyhaines31 · 45,947
- outbound-prospecting by louisblythe · 136
- portfolio-prospecting by getaero-io · 54
- sales-prospecting-sequence by b2bforce · 2
- gtm-daily-prospecting by rvanshur · 2
- event-prospecting-pipeline by edupegoretti · 0
- outbound-prospecting-engine by edupegoretti · 0
- prospecting-agent by pryxis-ai · 0
Need help setting it up?
This page tells you what vibe-prospecting does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.