Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Find and qualify B2B prospects instantly. Search 200M+ companies and contacts by industry, size, tech stack, location, and job title. Get verified emails and...
Find and qualify B2B prospects instantly. Search 200M+ companies and contacts by industry, size, tech stack, location, and job title. Get verified emails and...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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.
Before starting any workflow: 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. 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).
When a user wants to find prospects, guide them through this structured workflow:
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
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?
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)
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
At the start of every workflow, generate a plan ID: PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())") QUERY="<user's original request>"
RESULT=$(python3 "$CLI" autocomplete \ --entity-type businesses \ --field linkedin_category \ --query "software" \ --semantic \ --plan-id "$PLAN_ID" \ --call-reasoning "$QUERY") cat "$RESULT"
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"
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"
This step is mandatory โ never skip it. Show the user: Total results found Credit cost estimate Sample rows as a markdown table 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)"
FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type prospects \ --filters '<confirmed filters>' \ --limit 500) cat "$FETCH_RESULT"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$FETCH_RESULT" \ --enrichments "contacts_information,profiles") cat "$ENRICH_RESULT"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$FETCH_RESULT" \ --enrichments "firmographics,technographics") cat "$ENRICH_RESULT"
CSV_RESULT=$(python3 "$CLI" to-csv \ --input-file "$FETCH_RESULT" \ --output ~/Downloads/prospects_list.csv) cat "$CSV_RESULT"
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" 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/$/\"/')]}}")
Autocomplete intent topics: RESULT=$(python3 "$CLI" autocomplete \ --entity-type businesses \ --field business_intent_topics \ --query "CRM software" \ --semantic) cat "$RESULT" Use intent as a filter combined with other ICP criteria Fetch matching companies, then find contacts at those companies
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)
When a user has an existing prospect or company list: Convert CSV to JSON: python3 "$CLI" from-csv --input ~/Downloads/my_list.csv Read metadata (columns + 5 sample rows) โ never cat the full file Match with deduced column map Enrich matched results with contact info
error_codeActionAUTH_MISSING / AUTH_FAILED (401)Ask user to set EXPLORIUM_API_KEYFORBIDDEN (403)Credit or permission issueBAD_REQUEST (400) / VALIDATION_ERROR (422)Fix filters, run autocompleteRATE_LIMIT (429)Wait 10s and retry onceSERVER_ERROR (5xx)Wait 5s and retry onceNETWORK_ERRORAsk user to check connectivity
CapabilityDescriptionICP-Based SearchFind companies matching your ideal customer profile by industry, size, location, tech stackContact DiscoveryFind decision-makers by title, seniority, department at target companiesVerified Contact InfoGet verified professional emails, direct phone numbers, LinkedIn profilesBuying Intent SignalsIdentify companies actively researching products/services like yoursGrowth SignalsFilter by recent funding, hiring activity, new product launchesBulk List BuildingBuild lists of up to 1,000+ prospects with full contact detailsCSV ExportExport results to CSV for import into your CRM or outreach toolCompany MatchingMatch specific companies by name/domain to find contacts within themMarket SizingGet total addressable market counts before spending credits
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.