Deep-research a business or person. Drop names, domains, emails, or LinkedIn URLs and get a full dossier: matched Explorium ID, enriched firmographics/contacts, and recent trigger events.
Turn raw identifiers into a full intelligence dossier using match → enrich → events. The user provides one or more targets via "$ARGUMENTS".
/vibeprospecting-plugin:research Salesforce/vibeprospecting-plugin:research stripe.com, notion.so, figma.com/vibeprospecting-plugin:research John Smith at Acme Corp/vibeprospecting-plugin:research [email protected]/vibeprospecting-plugin:research https://www.linkedin.com/in/jeffweiner08/vibeprospecting-plugin:research leads.csv (CSV file with company names/domains or prospect names/emails)Call the get-auth-token tool on the explorium-mcp MCP server. Extract api_key from the JSON response and export it:
export VP_API_KEY="<api_key>"
CLI="skills/vibe-prospecting/scripts/vibep.js"
From "$ARGUMENTS", determine entity type and extract identifiers:
Business targets — when input looks like company names, domains, or URLs:
name (company name) and/or domain (domain or full URL stripped to domain)[{"name": "Salesforce", "domain": "salesforce.com"}, ...]Prospect targets — when input looks like people (name + company, email, LinkedIn URL, phone):
full_name, company_name, email, phone_number, linkedin[{"full_name": "John Smith", "company_name": "Acme"}, ...]CSV/JSON file input — when the argument is a file path, pass it directly to --from-file. Ask the user for the column mapping if it isn't obvious.
If the entity type is ambiguous, ask the user one clarifying question before continuing.
Write the identifiers to a temp file and run match:
MATCH_OUT=$(mktemp /tmp/vibep-match.XXXXXX.json)
# For businesses (inline JSON)
node "$CLI" businesses match \
--businesses '[{"name":"Salesforce","domain":"salesforce.com"}]' \
--call-reasoning "$QUERY" > "$MATCH_OUT"
# For businesses (from file)
node "$CLI" businesses match \
--from-file leads.csv \
--column-map '{"Company":"name","Website":"domain"}' \
--to-file "$MATCH_OUT" \
--call-reasoning "$QUERY"
# For prospects (inline JSON)
node "$CLI" prospects match \
--prospects '[{"full_name":"John Smith","company_name":"Acme","email":"[email protected]"}]' \
--call-reasoning "$QUERY" > "$MATCH_OUT"
# For prospects (from file)
node "$CLI" prospects match \
--from-file leads.csv \
--column-map '{"Name":"full_name","Company":"company_name","Email":"email","LinkedIn":"linkedin"}' \
--to-file "$MATCH_OUT" \
--call-reasoning "$QUERY"
Inspect match results and surface any unmatched rows to the user now. Only proceed with matched rows (those containing business_id or prospect_id).
Run enrich on the matched output, selecting enrichments appropriate to the entity type:
ENRICH_OUT=$(mktemp /tmp/vibep-enrich.XXXXXX.json)
# Businesses — firmographics + funding + tech stack + intent signals
node "$CLI" businesses enrich \
--input "@$MATCH_OUT" \
--enrichments firmographics,technographics,funding_and_acquisition,website_traffic,bombora_intent \
--call-reasoning "$QUERY" > "$ENRICH_OUT"
# Prospects — contact info + social profiles
node "$CLI" prospects enrich \
--input "@$MATCH_OUT" \
--enrichments contacts_information,profiles \
--call-reasoning "$QUERY" > "$ENRICH_OUT"
If the matched set contains both businesses and prospects, run enrich for each entity type separately and merge for presentation.
Fetch recent events for each matched entity (last 90 days by default):
EVENTS_OUT=$(mktemp /tmp/vibep-events.XXXXXX.json)
SINCE=$(date -v-90d +%Y-%m-%d 2>/dev/null || date -d '90 days ago' +%Y-%m-%d)
# Businesses
node "$CLI" businesses events \
--input "@$MATCH_OUT" \
--event-types new_funding_round,new_partnership,new_product,hiring_in_engineering_department,hiring_in_sales_department,increase_in_all_departments,merger_and_acquisitions \
--since "$SINCE" \
--call-reasoning "$QUERY" > "$EVENTS_OUT"
# Prospects
node "$CLI" prospects events \
--input "@$MATCH_OUT" \
--event-types prospect_changed_role,prospect_changed_company,prospect_job_start_anniversary \
--since "$SINCE" \
--call-reasoning "$QUERY" > "$EVENTS_OUT"
For each successfully matched target, present one card:
[Title] · [Company] · [Industry] · [Employee range] employees
| Field | Detail |
|---|---|
| Explorium ID | business_id or prospect_id |
| Domain / LinkedIn | ... |
| Revenue | ... |
| Funding | Total raised, last round |
| Tech Stack | Top tools |
| Bombora Intent | Topics + score |
| Website Traffic | Monthly visits + trend |
| Work Email | ... |
| Direct Phone | ... |
Recent trigger events (last 90 days):
| Date | Event | Detail |
|---|
For unmatched rows, show a brief "No Explorium record found" note.
Ask the user which action to take:
/vibeprospecting-plugin:generate-list using this research as ICP contextworkforce_trends, competitive_landscape, linkedin_posts)--to-file enriched.csv to produce a downloadable file