company-research
Company research using Exa. Finds company info, competitors, news, financials, LinkedIn profiles, builds company lists. Use when researching companies, doing competitor analysis, market research, or building company lists.
Savant verdict: Review advised
Security analysis or source-hub review identified patterns requiring attention.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Security assessment
Risk score
0/100
Recommendation
CAUTION
Severity
LOW
Savant decision
Passed (low risk)
The assessment recommended caution, but its risk score is below 20/100, so Savant's policy passes it. Its findings are still listed for review. Static security analysis completed.
0 patterns found
Structure
- No license declaredConfirm you may reuse this skill before importing it into your repository.
- The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 1 issue)
SKILL.md
---
name: company-research
description: Company research using Exa. Finds company info, competitors, news, financials, LinkedIn profiles, builds company lists. Use when researching companies, doing competitor analysis, market research, or building company lists.
context: fork
---
# Company Research
## Tool Selection (Critical)
Two Exa surfaces, two jobs:
- **Exa Agent** (`agent_run`) — the default for company research. Use it for deep dives, competitor analysis, multi-angle research (product + funding + news + people), and building company lists. One Agent run handles query decomposition, multi-step searching, and synthesis internally — do not orchestrate many manual searches for work an Agent run covers.
- **`web_search_advanced_exa`** — quick, low-latency lookups: a fast `category: "company"` discovery pass, a single news check, or finding a homepage.
Do NOT use other Exa tools.
## Deep Dives and Lists: Exa Agent
Agent runs may stream to completion in one call. If a run outlives the MCP call window, continue waiting with its returned run ID.
1. Call `agent_run` with a natural-language `query` and, when you want repeatable structure, an `outputSchema` (bound arrays with `maxItems`).
2. If it returns `status: "running"` with a `runId`, call `agent_run` again with only that `runId` until `outputReady` is true.
3. Read `output.text` or `output.structured`, plus `output.grounding` citations, from the `agent_run` result.
Useful inputs: `systemPrompt` (source preferences, dedup rules), `input.exclusion` (companies to avoid), `previousRunId` (a new follow-up run based on a completed run), `effort` (`"low"` default; `"auto"` or `"high"` for more depth).
### Example: company deep dive
```
agent_run {
"query": "Research Anthropic: product lines, funding history and valuation, key executives, main competitors, and notable news from the last 6 months.",
"effort": "auto",
"outputSchema": {
"type": "object",
"properties": {
"overview": { "type": "string" },
"funding": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "round": { "type": "string" }, "amount": { "type": "string" }, "date": { "type": "string" } }, "required": ["round"] } },
"competitors": { "type": "array", "maxItems": 10, "items": { "type": "string" } },
"key_people": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" } }, "required": ["name", "title"] } }
},
"required": ["overview", "competitors"]
}
}
```
### Example: build a company list
```
agent_run {
"query": "Find 25 AI infrastructure startups headquartered in San Francisco. For each, include what they build and their latest funding stage.",
"effort": "auto",
"outputSchema": {
"type": "object",
"properties": {
"companies": {
"type": "array",
"maxItems": 25,
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"website": { "type": "string", "format": "uri" },
"description": { "type": "string", "description": "in 12 words or less" },
"funding_stage": { "type": "string" }
},
"required": ["name", "website", "description"]
}
}
},
"required": ["companies"]
}
}
```
## Quick Lookups: Advanced Search
Use `web_search_advanced_exa` when a single fast search answers the question. Tune `numResults` to intent (a few → 10-20; comprehensive → 50-100; specified → match it).
### Categories
- `company` → homepages, rich metadata (headcount, location, funding, revenue)
- `news` → press coverage, announcements
- `people` → public professional profiles
- No category (`type: "auto"`) → general web results, broader context
Default to `type: "auto"`. Prefer `highlights` for content extraction; do not stack text + highlights + summary in one call.
### Category-Specific Filter Restrictions
Unsupported category/filter combinations return 400 errors:
- `category: "company"` does not support published-date or crawl-date filters, `excludeDomains`, or exact-text filters; express constraints like "founded after 2020" in the query instead
- `category: "people"` does not support published-date, crawl-date, domain, or exact-text filters; put all filtering in the natural-language query
- Without a category (or with `news`), domain and date filters work fine
### Examples
Discovery pass:
```
web_search_advanced_exa {
"query": "AI infrastructure startups San Francisco",
"category": "company",
"numResults": 20,
"type": "auto"
}
```
News check:
```
web_search_advanced_exa {
"query": "Anthropic AI safety",
"category": "news",
"numResults": 15,
"startPublishedDate": "2025-01-01"
}
```
Key people:
```
web_search_advanced_exa {
"query": "VP Engineering AI infrastructure",
"category": "people",
"numResults": 20
}
```
## Token Isolation
Never dump raw search results into main context. Spawn Task agents for Advanced Search calls; for Agent runs, go straight from `output.structured` to the final answer.
## Browser Fallback
Fall back to Claude in Chrome only when content is auth-gated or requires JavaScript rendering.
## Output Format
Return:
1) Results (structured list; one company per row)
2) Sources (URLs; 1-line relevance each — use `output.grounding` from Agent runs)
3) Notes (uncertainty/conflicts)
## References
- Exa Agent guide: https://docs.exa.ai/reference/agent-api-guide
- Company Search reference: https://docs.exa.ai/reference/verticals/company-for-coding-agents
- Exa MCP setup: https://docs.exa.ai/reference/exa-mcp
- Full docs for LLMs: https://docs.exa.ai/llms.txt