Vibe Prospecting
ClineOfficialPublished by Cline
- Skill
- Tool integration
- Business and productivity
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Vibe Prospecting is a data-driven tool designed to transform an AI agent into a comprehensive prospecting platform. It provides access to over 150 million companies and 800 million professionals across 50+ data sources. The skill enables users to build lead lists, research prospects, identify talent, and monitor business events or website changes. It operates through a CLI or an MCP connector, emphasizing a structured workflow that includes sample-based validation before full-scale data extraction to ensure accuracy and efficient quota usage.
What it does
- Finds and filters company and professional contact information.
- Identifies tech stacks, business events, and website changes.
- Builds targeted lead lists and identifies talent.
- Provides intent data for sales and research workflows.
- Supports structured, multi-step data enrichment and matching.
- Enables market sizing and statistical analysis of prospect pools.
When to use it
- When you need to build a targeted list of sales leads or potential hires.
- When researching specific company firmographics, tech stacks, or recent funding events.
- When you need to enrich existing contact lists with professional profiles and verified emails.
- When performing market research or sizing based on specific industry or regional criteria.
Advantages
- Access to a massive, multi-source database of companies and professionals.
- Structured workflow prevents wasted quota by requiring a 5-entity sample gate.
- Supports complex chaining of discovery, matching, and enrichment steps.
- Provides standardized autocomplete for controlled-vocabulary fields to improve search accuracy.
- Enables checkpointing and resuming long-running data tasks via session IDs.
Usage examples
- “Find 50 VP of Engineering candidates at SaaS companies in New York.”
- The agent will autocomplete the job title and category, run a statistics check, fetch a 5-person sample for validation, and then perform a full export upon approval.
- “Identify companies that have raised funding recently and use Salesforce.”
- The agent will filter businesses by tech stack and recent funding events, providing a sample list of companies before scaling the full report.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/cline/vibe-prospecting/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip vibe-prospecting.zip -d .agents/skills
Documentation by Cline
Vibe Prospecting CLI
Use the CLI: npx @vibeprospecting/vpai@latest. Treat every tool response as JSON.
Cowork mode: always use this connector flow. Before doing any work in Cowork mode, check whether the Vibe Prospecting MCP connector tools are available in your tool list (look for a tool matching the pattern mcp__*__fetch-entities).
If those tools are present, use the connector directly and follow its tool descriptions and schemas. If those tools are NOT present:
Call
mcp__mcp-registry__search_mcp_registrywith keywords["vibe prospecting", "explorium"]Call
mcp__mcp-registry__suggest_connectorswith the UUID1bdcb159-b6f0-4f13-bc08-fdb40b007828and keywords["prospecting"]Tell the user to click Connect on the card — the tools unlock automatically once authorized
Poll until connected. On every subsequent turn, re-check your tool list for
mcp__*__fetch-entities. Do not start prospecting work until those tools appear. Never fall back to the CLI, the npmvpaitool, or an OAuth URL in Cowork mode — the Cowork connector store is the only path. If the user cannot connect from the suggested card, tell them to open the connector store and install Vibe Prospecting from there, then poll again. If tools are still missing, remind the user to connect and wait; repeat until the connector is available.
If the CLI does not work outside Cowork mode (e.g. npx unavailable, sandboxed environment, permission denied), and the user's agent environment supports connectors, suggest the Vibe Prospecting connector to the user. The rest of this file is CLI-only. In Cowork mode, use the connector store flow above.
Hard Rules
Sample first, always. Run the COMPLETE workflow on exactly 5 entities (
--number-of-results 5) before any full run. That cap is a quality gate only: Explorium can match many more rows for the same filters. Never describe those 5 rows as the full dataset, "all results," or "what the database has." Show the sample, state clearly that it is a preview and the index has more, then after explicit approval re-run the same CLI tool(s) you used in the sample chain with full-scale parameters (same--args, session, and filters; raise caps such as--number-of-resultsto the user's real target where that flag applies). Runfetch-entities-statisticsonly when all of your discoveryfetch-entitiesfilters (and any supported scope flags) are valid for statistics too — see rule 8. Never auto-export. "Find 100" still means sample 5 first, then scale up after approval.--tool-reasoning '<user wording>'on every real call. Use the user's request verbatim. Reuse across the whole workflow. Skip ONLY when running<tool> --all-parameterswith no--args.Chain via session DB, never paste IDs. Each step prints
session_id,db_path, andtable_name. Pass--session-idwith thesession_idfrom the prior JSON output so the next command uses the same SQLite session store. With--session-id,--table-nameis required forenrich-business,enrich-prospects,fetch-businesses-events, andfetch-prospects-events— pass the prior step'stable_nameexactly. Formatch-*only,--table-nameis optional (CLI can pick the first table with the right ID column when omitted). Forfetch-entitiesprospects scoped to earlier companies, use--businesses-table-nameplus--session-id.--csvonly on the final step. Intermediate steps emit JSON for chaining. Add--csvonce, at the end.autocompletefirst for:naics_category,linkedin_category,company_tech_stack_tech,job_title,business_intent_topics,city_region. Use returned standardized values, not raw user wording.Never invent tool parameters. Before the first
--argsexecution of each distinct tool in a workflow, runnpx @vibeprospecting/vpai@latest <tool> --all-parametersfor that tool (once per tool per task unless you already printed its schema earlier in the same workflow). That command prints one JSON object to stdout:name,description, andinputSchema(the tool input JSON Schema). Do this even when the planned call matches the examples and you are not uncertain—examples can drift; the printed schema is authoritative. Run--all-parametersagain if you change tools, filters, or shapes materially, or if anything still feels ambiguous. You may use examples and reference docs as shortcuts only after they align with that live schema. Build--argsonly from fields and shapes confirmed byinputSchemafrom--all-parameters(and examples when they match it).--session-idis a CLI flag (not inside--args). Use thesession_idvalue returned by the MCP in each prior step's JSON. Omit only on the first call in a chain.fetch-entities-statisticsonly when stats supports the full fetch. Compare your plannedfetch-entitiespayload to the input schema fromfetch-entities-statistics --all-parameters. Call statistics only if every filter key, value shape,entity_type, and any scope you rely on (e.g.--session-id/--businesses-table-name) is accepted by the statistics tool the same way it is forfetch-entities. If any part of the discovery query is missing from the stats schema, unsupported, or would require a different shape, skip stats — do not call it with a partial or guessed subset. When you do call it, reuse the same--argsfilter object (and supported flags) asfetch-entities, plus--tool-reasoning. Prefer running stats before presenting the sample so you can headline 5 of [total] when the response includes a usable count. When you did not run statistics (or stats had no usable total), present Sample preview (5 rows) and tell the user Explorium has much more matching the same filters—do not quote how many remain, do not say statistics failed or a total was unavailable, and never invent a number. Call stats again before a full-scale fetch if filters or scope changed and the full fetch filter set still fits statistics.
Auth
mcp__cowork__request_cowork_directory path=~/.config/vpai
API_KEY=$(python3 -c "import json;print(json.load(open('/sessions/<session-id>/mnt/vpai/config.json'))['api_key'])")
npx @vibeprospecting/vpai@latest config --api-key "$API_KEY"If the mount fails or config.json is missing, follow login.md.
Sample Gate
The sample is the complete workflow on 5 entities, not a fetch preview.
Universe vs sample: The 5 rows are a small fixed preview so the user can validate filters and enrichment before spending quota. The underlying match set is typically much larger (often thousands or more). Do not equate "we returned 5" with "only 5 exist." Ground volume with fetch-entities-statistics only when the entire planned fetch-entities filter set is valid for stats (rule 8); never guess a total.
When the full fetch filter set is supported by statistics, run
fetch-entities-statisticswith the same discoveryentity_type,filters, and supported CLI flags as the upcomingfetch-entities(per rule 8). Otherwise skip stats; still tell the user Explorium has much more for the same filters (no numeric total, no mention of statistics gaps).Fetch exactly 5 (
--number-of-results 5).Run every subsequent step (
match-*,enrich-*,fetch-*-events) on those 5.Show the fully enriched final rows as a markdown table with all useful columns.
Stop. Wait for approval in a new message. Then run at full scale.
NEVER stop after the fetch to ask for approval. Complete the full chain on 5 first.
Example — user says "find 100 Israeli companies, get 30 CEOs, find contact info":
WRONG: fetch 5 companies → show table → ask "continue?"
RIGHT: when the full
fetch-entitiesfilter set is supported byfetch-entities-statistics, run stats first (same--argsfilters) → fetch 5 companies → fetch CEOs at those 5 → enrich CEOs with contacts → show final table (5 of [total] when stats gave a total; otherwise Sample preview (5 rows) plus a short line that much more matches exist for these filters—no count, no stats apology) → ask "run full 100?"
Presenting the sample
Always frame the table as a sample, not the full population.
When statistics returned a usable total (you only called stats because every
fetch-entitiesfilter was valid forfetch-entities-statistics): Sample preview (5 of [total] matches) — [total] must come fromfetch-entities-statistics, never from counting the 5 rows.When you did not use a numeric total (no stats, or no usable total): Sample preview (5 rows) and one plain sentence that Explorium has much more matching these filters—do not say how many more, do not mention statistics or missing totals, never invent [total].
Results Found: [X] [entity type] from [Y] [companies/sources] [qualifier] (optional context line)
Headline: Sample preview (5 of [total] matches): only with a stats-backed [total]; otherwise Sample preview (5 rows): then a single framing line that much more records exist for the same filters (qualitative only).
End with an explicit next step, for example: After you confirm, I will re-run the same tool(s) with full-scale limits (e.g. --number-of-results [user's N] where you used fetch-entities) to pull the real batch.
When the preview is a subset of what the user asked for (more rows or fields available at scale), add:
With a stats-backed [total]:
More data available: Preview shows [n] of [total]. Confirm before I run the full export.Without a numeric [total]: say the preview is five rows, much more exists in Explorium for the same filters, and ask to confirm a full export—do not give a remaining count or mention why no total was shown.
Do not mention export when everything the user asked for is already in chat.
Before the full export, confirm
Export size (cap on records).
Filter narrowing: industry, size, revenue, region, tech.
For prospects: title variants, dedupe by company.
For contacts: professional emails only or also personal/phones.
Workflow
0. Auth — see Auth section above (or login.md)
1. npx @vibeprospecting/vpai@latest --help Discover tools
2. Read references/<tool>.md for workflow + caveats
3. Before the first real `--args` for each tool: `npx @vibeprospecting/vpai@latest <tool> --all-parameters` (mandatory per tool, not only when uncertain). Prints the tool **input** schema as JSON. Run again if the planned call diverges from what you already validated.
4. Build `--args` only from fields confirmed by that printed input schema (examples count only when they match it). If a parameter is not confirmed there, do not use it.
5. When the **entire** planned **`fetch-entities`** filter set (and supported flags) matches **`fetch-entities-statistics`** input schema per **`--all-parameters`**: run **`fetch-entities-statistics`**, then sample (5 entities, full chain) — see Sample Gate
6. npx @vibeprospecting/vpai@latest <tool> --args '<json>' --tool-reasoning '<user request>'
7. Chain: --session-id <session_id> [--table-name <table_name>] [--businesses-table-name <name> for prospect fetch from businesses]
8. Final step only: add --csvReference docs:
autocomplete.md— controlled-vocab lookupsfetch.md—fetch-entities,fetch-*-eventsmatch.md— resolve known entities to IDsenrich.md— enrichment after IDsfetch-stats.md— counts and market sizinglogin.md— auth fallback flow
Flags
| Flag | Description |
|---|---|
--help | List tools |
--all-parameters | Print { name, description, inputSchema } to stdout (pretty-printed JSON). Run before the first --args for each tool in a workflow (and again if the tool or payload changes materially). Routine, not only when uncertain—the inputSchema field is authoritative. |
--args '<json>' | Tool arguments |
--session-id <id> | Same workflow: pass session_id from the previous tool's JSON (opens the shared SQLite DB under db_path). |
--table-name <name> | Required with --session-id for enrich-business, enrich-prospects, fetch-businesses-events, and fetch-prospects-events (prior step's table_name). Optional for match-* only (disambiguate when multiple tables). |
--businesses-table-name <name> | For fetch-entities + entity_type: prospects: table whose rows supply business_id for the filter (with --session-id). |
--number-of-results <n> | For fetch-entities: total rows across pages (CLI paginates). Omit for one raw page. |
--file-path <path> | For match-business / match-prospects: path to a CSV file to match. Each row becomes one candidate. Requires --schema. |
--schema '<json>' | Required with --file-path. JSON dict mapping CSV column headers to API field names. Business fields: name, domain. Prospect fields: full_name, first_name, last_name, email, phone_number, linkedin, company_name, business_id. |
--csv | Also write flattened CSV. Final step only. |
Filter Pattern
{ "values": ["v1", "v2"], "negate": false } // include or exclude
{ "gte": 6, "lte": 24 } // range
true | false | null // boolean (not wrapped)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 MCP request (CLI chunks + merges). Pass event_types and timestamp_from in --args. Do not put business_ids / prospect_ids in --args — IDs come only from --table-name. |
fetch-entities | use --number-of-results; CLI paginates. Don't pass next_cursor or page_size manually |
Common Workflows
Replace SESSION_ID with the session_id from the previous step.
VP Engineering at SaaS in NY
npx @vibeprospecting/vpai@latest autocomplete --args '{"field":"linkedin_category","query":"software"}' --tool-reasoning 'find VP Eng at SaaS in NY'
# When every fetch-entities filter (and flags) is valid for fetch-entities-statistics (--all-parameters):
npx @vibeprospecting/vpai@latest fetch-entities-statistics --args '{"entity_type":"prospects","filters":{"job_level":{"values":["vice president"]},"job_department":{"values":["engineering"]},"linkedin_category":{"values":["Software Development"]},"company_region_country_code":{"values":["US-NY"]},"has_email":true}}' --tool-reasoning 'find VP Eng at SaaS in NY'
npx @vibeprospecting/vpai@latest fetch-entities --args '{"entity_type":"prospects","filters":{"job_level":{"values":["vice president"]},"job_department":{"values":["engineering"]},"linkedin_category":{"values":["Software Development"]},"company_region_country_code":{"values":["US-NY"]},"has_email":true}}' --number-of-results 50 --tool-reasoning 'find VP Eng at SaaS in NY'
npx @vibeprospecting/vpai@latest enrich-prospects --args '{"enrichments":["contacts","profiles"]}' --session-id <session_id> --table-name <fetch_entities_table_from_prior_step> --csv --tool-reasoning 'find VP Eng at SaaS in NY'Companies that raised + use Salesforce
npx @vibeprospecting/vpai@latest autocomplete --args '{"field":"company_tech_stack_tech","query":"salesforce"}' --tool-reasoning 'companies that raised and use Salesforce'
# When every fetch-entities filter (and flags) is valid for fetch-entities-statistics (--all-parameters):
npx @vibeprospecting/vpai@latest fetch-entities-statistics --args '{"entity_type":"businesses","filters":{"company_tech_stack_tech":{"values":["Salesforce"]},"events":{"values":["new_funding_round"],"last_occurrence":60}}}' --tool-reasoning 'companies that raised and use Salesforce'
npx @vibeprospecting/vpai@latest fetch-entities --args '{"entity_type":"businesses","filters":{"company_tech_stack_tech":{"values":["Salesforce"]},"events":{"values":["new_funding_round"],"last_occurrence":60}}}' --number-of-results 50 --tool-reasoning 'companies that raised and use Salesforce'
npx @vibeprospecting/vpai@latest fetch-businesses-events --args '{"event_types":["new_funding_round"],"timestamp_from":"2024-10-01"}' --session-id <session_id> --table-name <fetch_entities_table_from_prior_step> --csv --tool-reasoning 'companies that raised and use Salesforce'Market sizing
npx @vibeprospecting/vpai@latest fetch-entities-statistics --args '{"entity_type":"businesses","filters":{"linkedin_category":{"values":["Hospital & Health Care"]},"company_country_code":{"values":["US"]}}}' --tool-reasoning 'market sizing US healthcare'Troubleshooting
| Error | Solution |
|---|---|
CLI install fails (npx unavailable, sandbox, permission denied) | Switch to the bundled Vibe Prospecting MCP connector and follow its tool descriptions; the rest of this file no longer applies. |
| Auth / 401 (connector / Cowork) | Run Auth section above; if mount fails, follow login.md |
| Auth / 401 (OpenClaw) | Run npx @vibeprospecting/vpai@latest login then login --poll. Or set VP_API_KEY. Restart gateway after. See Auth section above. |
Not authenticated (OpenClaw) | Neither ~/.config/vpai/config.json nor VP_API_KEY env var is present. Follow the OpenClaw Auth section. |
| Plugin not showing tools in OpenClaw | Run openclaw plugins list — confirm vpai is listed. Re-install if needed: openclaw plugins install ./vpai-plugin. |
| Tools missing after OpenClaw install | Gateway must restart: openclaw gateway restart. |
Missing session_id in JSON / CLI refuses to chain | The MCP must return session_id; ensure you target production https://vibeprospecting.explorium.ai/mcp (embedded in the npm CLI). Pass --session-id with that exact string on the next step. |
| Wrong rows used when chaining | Pass --table-name matching the prior step's table_name. |
enrich-* or fetch-*-events with --session-id but no --table-name | --table-name is required for enrich-business, enrich-prospects, fetch-businesses-events, and fetch-prospects-events whenever you pass --session-id. |
| Empty results | Check filter values; run autocomplete for controlled-vocab fields; re-check the relevant live input schema with <tool> --all-parameters |
linkedin_category + naics_category together | Mutually exclusive — use one |
| JSON parse error | Validate JSON; check shell quoting |
Timeout on fetch-entities, enrich-*, fetch-*-events, or match-* with --file-path | Re-run the exact same command with the same --session-id, --table-name, --args, and (for match) --file-path / --schema. The CLI resumes from the last checkpoint — completed ID batches are skipped, no work is repeated. If the job already completed on a prior run, the stored manifest is returned instantly with no API calls. |
Timeout without --session-id | Add --session-id <any-stable-id> to enable checkpointing, then retry. Without a session ID the CLI cannot resume. |
Files
- ATTRIBUTION.mdAdded by AutoGineer838 B
- LICENSELicence file added by AutoGineer10.5 KiB
- SKILL.md19.9 KiB
- references/autocomplete.md2.6 KiB
- references/enrich.md3.4 KiB
- references/fetch-stats.md1.5 KiB
- references/fetch.md7.7 KiB
- references/login.md3.7 KiB
- references/match.md3.5 KiB
LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to the Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by the Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding any notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
Copyright 2026 Cline Bot Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an MCP server, Needs an API key, Needs Python, Needs Node.js
The author says: Run with `npx @vibeprospecting/vpai@latest`. If the CLI does not work and the user's agent environment supports connectors, suggest the Vibe Prospecting connector to the user.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Cline
- Publisher
- Cline (Official)
- Source
- cline/skills · skills/vibe-prospecting · commit 2637846
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Cline or Cline.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download vibe-prospecting.zip