Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Deep-dive company research in seconds. Get comprehensive profiles with firmographics, technographics, funding history, executive team, competitors, workforce...
Deep-dive company research in seconds. Get comprehensive profiles with firmographics, technographics, funding history, executive team, competitors, workforce...
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 users perform deep company research using the AgentSource API. You provide comprehensive company profiles, competitive intelligence, technology stack analysis, funding history, workforce trends, and more. Ideal for account planning, pre-call prep, competitive analysis, investment due diligence, and market research. 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. Results are written to temp files โ you run the CLI, read the temp file, and present structured insights to the user.
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 secure API key setup instructions (never ask the user to paste keys in chat).
When a user wants to research a company, guide them through this workflow:
Ask: "Which company would you like to research?" Gather: Company name โ the primary identifier Website/domain โ for disambiguation (e.g., if "Mercury" could be fintech or automotive) Then match the company: PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())") QUERY="<user's original request>" MATCH_RESULT=$(python3 "$CLI" match-business \ --businesses '[{"name":"<company>","domain":"<domain>"}]' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$MATCH_RESULT" If multiple matches, present them and ask the user to confirm.
Ask: "What aspects are you most interested in?" Offer these research modes: Quick Overview โ firmographics only (size, revenue, industry, location) Full Company Profile โ firmographics + technographics + funding + workforce Competitive Landscape โ competitors, market positioning (public companies via SEC) Technology Stack Analysis โ complete tech stack with categories Funding & Financial History โ rounds, investors, valuations, financial metrics Executive Team & Key Contacts โ leadership team with profiles Growth & Activity Signals โ recent events, hiring trends, news
Ask: "What's the purpose of this research?" (helps prioritize data) Common contexts: Pre-call preparation โ focus on firmographics, recent news, key contacts Competitive analysis โ focus on tech stack, market positioning, workforce trends Investment due diligence โ focus on funding, financials, growth signals Partnership evaluation โ focus on tech stack compatibility, company culture, strategic initiatives Market mapping โ focus on industry classification, company size distribution Account planning โ focus on all available data for comprehensive understanding
Based on the chosen depth, call appropriate enrichments. Consult references/enrichments.md.
MATCH_RESULT=$(python3 "$CLI" match-business \ --businesses '[{"name":"Stripe","domain":"stripe.com"}]' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$MATCH_RESULT"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics" \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$ENRICH_RESULT" Present a structured company profile: Company Name | Website | Industry Headquarters | Founded | Employee Count Revenue Range | Public/Private | Description
# Call 1: Core data (max 3 enrichments per call) ENRICH_1=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics,technographics,funding-and-acquisitions") cat "$ENRICH_1" # Call 2: Signals and trends ENRICH_2=$(python3 "$CLI" enrich \ --input-file "$ENRICH_1" \ --enrichments "workforce-trends,linkedin-posts") cat "$ENRICH_2"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "technographics,webstack") cat "$ENRICH_RESULT" Present organized by category: Development: React, Node.js, Python... Cloud/Infrastructure: AWS, Docker, Kubernetes... Marketing: HubSpot, Google Analytics... Business: Salesforce, Slack, Jira...
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics,funding-and-acquisitions") cat "$ENRICH_RESULT" For public companies, add financial metrics: ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "financial-metrics" \ --date "2025-12-31") cat "$ENRICH_RESULT"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "competitive-landscape,strategic-insights,challenges") cat "$ENRICH_RESULT"
# First match the company, then search for executives BID=$(python3 -c "import json; print(json.load(open('$MATCH_RESULT'))['data'][0]['business_id'])") FETCH_RESULT=$(python3 "$CLI" fetch \ --entity-type prospects \ --filters "{\"business_id\":{\"values\":[\"$BID\"]},\"job_level\":{\"values\":[\"c-suite\",\"vice president\",\"director\"]}}" \ --limit 20) cat "$FETCH_RESULT" # Enrich with profiles ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$FETCH_RESULT" \ --enrichments "profiles") cat "$ENRICH_RESULT"
EVENTS_RESULT=$(python3 "$CLI" events \ --input-file "$MATCH_RESULT" \ --event-types "new_funding_round,new_product,new_partnership,new_office,hiring_in_engineering_department,increase_in_all_departments" \ --since "2025-06-01") cat "$EVENTS_RESULT"
When users want to compare multiple companies:
MATCH_RESULT=$(python3 "$CLI" match-business \ --businesses '[ {"name":"Stripe","domain":"stripe.com"}, {"name":"Square","domain":"squareup.com"}, {"name":"Adyen","domain":"adyen.com"} ]') ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics,technographics,funding-and-acquisitions") cat "$ENRICH_RESULT" Present as a comparison table: DimensionCompany ACompany BCompany CEmployees.........Revenue.........Tech Stack.........Total Funding.........
Find companies in a specific segment: RESULT=$(python3 "$CLI" statistics \ --entity-type businesses \ --filters '{"linkedin_category":{"values":["Financial Services"]},"company_country_code":{"values":["US"]},"company_size":{"values":["51-200","201-500"]}}') cat "$RESULT"
ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "company-hierarchies") cat "$ENRICH_RESULT"
Always present research in a structured, easy-to-scan format:
After presenting research: Export to CSV โ for CRM import or further analysis Research additional companies โ compare or expand scope Dive deeper โ add more enrichment types Find contacts โ pivot to finding specific people at the company CSV_RESULT=$(python3 "$CLI" to-csv \ --input-file "$ENRICH_RESULT" \ --output ~/Downloads/company_research.csv) cat "$CSV_RESULT"
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
CapabilityDescriptionCompany ProfilesComprehensive firmographics: size, revenue, industry, location, descriptionTechnology AnalysisFull tech stack with categories โ development, cloud, marketing, business toolsFunding IntelligenceComplete funding history with rounds, investors, valuationsFinancial MetricsRevenue, margins, market cap for public companiesCompetitive IntelCompetitors, market positioning, strategic insights from SEC filingsWorkforce TrendsDepartment breakdown, hiring velocity, growth signalsEvent MonitoringRecent funding, hiring, partnerships, product launches, M&A activityExecutive DiscoveryFind and profile C-suite and senior leadership at any companyMulti-Company CompareSide-by-side comparison of multiple companiesCorporate HierarchyParent companies, subsidiaries, organizational structureWebsite IntelligenceWebsite tech stack, content changes, keyword monitoringLinkedIn ActivityRecent company posts and engagement metrics
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.