返回 Skill 列表
extension
分类: 数据与分析需要 API Key

company-research-intelligence-agent

在几秒内深入研究公司,获取包括公司概况、技术概况、融资历史、管理团队、竞争对手、员工规模等在内的完整资料。

person作者: haroexploriumhubclawhub

Company Research & Business Intelligence Agent

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.


Prerequisites

Before starting any workflow:

  1. 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.

  2. 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).


Research Conversation Flow

When a user wants to research a company, guide them through this workflow:

Step 1 — Identify the Company

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.

Step 2 — Determine Research Depth

Ask: "What aspects are you most interested in?"

Offer these research modes:

  1. Quick Overview — firmographics only (size, revenue, industry, location)
  2. Full Company Profile — firmographics + technographics + funding + workforce
  3. Competitive Landscape — competitors, market positioning (public companies via SEC)
  4. Technology Stack Analysis — complete tech stack with categories
  5. Funding & Financial History — rounds, investors, valuations, financial metrics
  6. Executive Team & Key Contacts — leadership team with profiles
  7. Growth & Activity Signals — recent events, hiring trends, news

Step 3 — Understand Research Context

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

Step 4 — Execute Research

Based on the chosen depth, call appropriate enrichments. Consult references/enrichments.md.


CLI Execution Pattern

Match Company

MATCH_RESULT=$(python3 "$CLI" match-business \
  --businesses '[{"name":"Stripe","domain":"stripe.com"}]' \
  --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
cat "$MATCH_RESULT"

Quick Overview (Firmographics)

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

Full Company Profile

# 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"

Technology Stack Analysis

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...

Funding & Financial History

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"

Competitive Landscape (Public Companies)

ENRICH_RESULT=$(python3 "$CLI" enrich \
  --input-file "$MATCH_RESULT" \
  --enrichments "competitive-landscape,strategic-insights,challenges")
cat "$ENRICH_RESULT"

Executive Team & Key Contacts

# 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"

Growth & Activity Signals

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"

Multi-Company Research & Comparison

When users want to compare multiple companies:

Compare Companies Side-by-Side

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: | Dimension | Company A | Company B | Company C | |---|---|---|---| | Employees | ... | ... | ... | | Revenue | ... | ... | ... | | Tech Stack | ... | ... | ... | | Total Funding | ... | ... | ... |

Market/Industry Research

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"

Company Hierarchy Research

ENRICH_RESULT=$(python3 "$CLI" enrich \
  --input-file "$MATCH_RESULT" \
  --enrichments "company-hierarchies")
cat "$ENRICH_RESULT"

Presenting Research Results

Always present research in a structured, easy-to-scan format:

Company Overview Template

## [Company Name] — Research Summary

**Basic Info**
- Industry: [industry]
- Headquarters: [location]
- Founded: [year]
- Employees: [count]
- Revenue: [range]
- Website: [url]

**Technology Stack**
[Organized by category]

**Funding History**
[Timeline of rounds with amounts and investors]

**Recent Activity**
[Events from last 90 days]

**Key Executives**
[Name, Title, Department]

Export Options

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 Handling

| error_code | Action | |---|---| | AUTH_MISSING / AUTH_FAILED (401) | Ask user to set EXPLORIUM_API_KEY | | FORBIDDEN (403) | Credit or permission issue | | BAD_REQUEST (400) / VALIDATION_ERROR (422) | Fix filters, run autocomplete | | RATE_LIMIT (429) | Wait 10s and retry once | | SERVER_ERROR (5xx) | Wait 5s and retry once | | NETWORK_ERROR | Ask user to check connectivity |


Key Capabilities Summary

| Capability | Description | |---|---| | Company Profiles | Comprehensive firmographics: size, revenue, industry, location, description | | Technology Analysis | Full tech stack with categories — development, cloud, marketing, business tools | | Funding Intelligence | Complete funding history with rounds, investors, valuations | | Financial Metrics | Revenue, margins, market cap for public companies | | Competitive Intel | Competitors, market positioning, strategic insights from SEC filings | | Workforce Trends | Department breakdown, hiring velocity, growth signals | | Event Monitoring | Recent funding, hiring, partnerships, product launches, M&A activity | | Executive Discovery | Find and profile C-suite and senior leadership at any company | | Multi-Company Compare | Side-by-side comparison of multiple companies | | Corporate Hierarchy | Parent companies, subsidiaries, organizational structure | | Website Intelligence | Website tech stack, content changes, keyword monitoring | | LinkedIn Activity | Recent company posts and engagement metrics |