Skip to main content
skill CX Codex

company-research · browserbase — Claude Code skill: what it does, how to install

Discovers target B2B companies via Browserbase Search API, evaluates their ICP fit, and outputs a scored research report and CSV.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add browserbase/skills --skill company-research -a claude-code
Open on GitHub

What company-research does

The skill automates prospect discovery and market research using a Plan→Research→Synthesize routine. It first examines your own product offering to define the ideal customer profile (ICP). Next, it runs targeted discovery queries through the Browserbase Search API and evaluates each candidate across three depth modes: quick, deep, or deeper.

Under the hood, custom Node.js helper scripts and the browse CLI parse page titles, meta tags, and sitemaps while preventing hallucinated descriptions. All findings are written directly to a folder on your Desktop (~/Desktop/...), yielding dedicated markdown dossiers alongside compiled HTML and CSV summary tables.

The entire workflow will fail without the browse CLI tool and a valid BROWSERBASE_API_KEY environment variable. It strictly blocks subagents from using fallback web tools outside the Browserbase pipeline.

What it helps with

  • discover target companies matching an ideal customer profile
  • extract product and positioning details from prospect websites
  • score candidate organizations against ICP criteria
  • compile structured research dossiers and lead data into CSV

Example prompts for the agent

  • Find companies to sell to based on our product and score their ICP fit.
  • Research potential B2B customers and export the list to CSV.
  • Discover target companies matching our ICP using deep research mode.

How to install company-research

1Skills CLI (Vercel)

npx skills add browserbase/skills --skill company-research -a claude-code

2Manually: put the files in place

~/.claude/skills/company-research/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/company-research/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about company-research

How to install company-research in Claude Code?

Run npx skills add browserbase/skills --skill company-research -a claude-code. You also need to install the CLI tool via npm install -g browse and configure BROWSERBASE_API_KEY.

What does company-research do?

It discovers relevant prospects via Browserbase Search API, researches their websites, and scores their alignment with your ideal customer profile. Results are exported to your Desktop as markdown files and a CSV sheet.

What prerequisites are required for company-research?

You need the global browse CLI utility, Node.js, and an active BROWSERBASE_API_KEY token. The first run will also prompt you to grant terminal execution permissions.

Source text

SKILL.md · MIT
---
name: company-research
description: |
  Company discovery and deep research skill. Researches a company's product and ICP,
  discovers target companies to sell to using Browserbase Search API, deeply researches
  each using a Plan→Research→Synthesize pattern, and scores ICP fit — compiled into
  a scored research report and CSV. Supports depth modes (quick/deep/deeper) for
  balancing scale vs intelligence.
  Use when the user wants to: (1) find companies to sell to, (2) research potential
  customers, (3) discover companies matching an ICP, (4) build a target company list,
  (5) do market research on prospects. Triggers: "find companies to sell to",
  "company research", "find prospects", "ICP research", "target companies",
  "who should we sell to", "market research", "lead research", "prospect list".
license: MIT
compatibility: Requires browse CLI (`npm install -g browse`) and BROWSERBASE_API_KEY env var
allowed-tools: Bash Agent
metadata:
  author: browserbase
  version: "1.1.0"
---

# Company Research

Discover and deeply research companies to sell to. Uses Browserbase Search API for discovery and a Plan→Research→Synthesize pattern for deep enrichment — outputting a scored research report and CSV.

**Required**: `BROWSERBASE_API_KEY` env var and `browse` CLI installed.

**First-run setup**: On the first run you'll be prompted to approve `browse cloud fetch`, `browse cloud search`, `cat`, `mkdir`, `sed`, etc. Select **"Yes, and don't ask again for: browse cloud fetch:\*"** (or equivalent) for each to auto-approve for the session. To permanently approve, add these to your `~/.claude/settings.json` under `permissions.allow`:
```json
"Bash(browse:*)", "Bash(bunx:*)", "Bash(bun:*)", "Bash(node:*)",
"Bash(cat:*)", "Bash(mkdir:*)", "Bash(sed:*)", "Bash(head:*)", "Bash(tr:*)", "Bash(rm:*)"
```

**Path rules**: Always use the full literal path in all Bash commands — NOT `~` or `$HOME` (both trigger "shell expansion syntax" approval prompts). Resolve the home directory once and use it everywhere. When constructing subagent prompts, replace `{SKILL_DIR}` with the full literal path.

**Output directory**: All research output goes to `~/Desktop/{company_slug}_research_{YYYY-MM-DD}/`. This directory contains one `.md` file per researched company plus a final `.csv`. The user gets both the scored spreadsheet and the full research files on their Desktop.

**CRITICAL — Tool restrictions (applies to main agent AND all subagents)**:
- All web searches: use `browse cloud search`. NEVER use WebSearch.
- All page content extraction: use `node {SKILL_DIR}/scripts/extract_page.mjs "<url>"`. This script fetches via `browse cloud fetch --output`, parses title + meta tags + visible body text, and automatically falls back to `browse get markdown` when fetch fails or returns thin JS-rendered content. NEVER hand-roll a `browse cloud fetch | sed` pipeline — it strips meta tags and doesn't parse the stdout JSON envelope. NEVER use WebFetch.
- All research output: subagents write **one markdown file per company** to `{OUTPUT_DIR}/{company-slug}.md` using bash heredoc. NEVER use the Write tool or `python3 -c`. See `references/example-research.md` for the file format.
- Report + CSV compilation: use `node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open` — generates HTML report and CSV in one step, opens overview in browser.
- URL deduplication: use `node {SKILL_DIR}/scripts/list_urls.mjs /tmp` after discovery.
- **Subagents must use ONLY the Bash tool. No other tools allowed.**
- **Main agent NEVER reads raw discovery JSON batch files.** Use `list_urls.mjs` for dedup.

**CRITICAL — Anti-hallucination rules (applies to main agent AND all subagents)**:
- NEVER infer `product_description`, `industry`, or `target_audience` from a site's fonts, framework (Framer/Next.js/React), design system, or typography. These are cosmetic and say nothing about what the company sells.
- NEVER let the user's own ICP leak into a target's description. If you don't know what the target does, write `Unknown` — do not pattern-match them onto the ICP.
- `product_description` MUST quote or paraphrase a specific phrase from `extract_page.mjs` output (TITLE, META_DESCRIPTION, OG_DESCRIPTION, HEADINGS, or BODY). If none of those fields yield a recognizable product statement, write `Unknown — homepage content not accessible`.
- If `product_description` is `Unknown`, cap `icp_fit_score` at 3 and set `icp_fit_reasoning` to `Insufficient evidence — homepage returned no readable content`.

**CRITICAL — Minimize permission prompts**:
- Subagents MUST batch ALL file writes into a SINGLE Bash call using chained heredocs. One Bash call = one permission prompt.
- Batch ALL searches and ALL fetches into single Bash calls using `&&` chaining.

## Pipeline Overview

Follow these 5 steps in order. Do not skip steps or reorder.

1. **Company Research** — Deeply understand the user's company, product, and who they sell to
2. **Depth Mode Selection** — Choose research depth based on how many targets they want
3. **Discovery** — Find target companies using diverse search queries
4. **Deep Research & Scoring** — Research each company, score ICP fit
5. **Report & CSV** — Present findings, compile scored CSV

---

## Step 0: Setup Output Directory

Before starting, create the output directory on the user's Desktop:

```bash
OUTPUT_DIR=~/Desktop/{company_slug}_research_{YYYY-MM-DD}
mkdir -p "$OUTPUT_DIR"
```

Replace `{company_slug}` with the user's company name (lowercase, hyphenated) and `{YYYY-MM-DD}` with today's date. Pass `{OUTPUT_DIR}` (as a full literal path, not with `~`) to all subagent prompts so they write research files there.

Also clean up discovery batch files from prior runs:
```bash
rm -f /tmp/company_discovery_batch_*.json
```

## Step 1: Deep Company Research

This is the most important step. The quality of everything downstream depends on deeply understanding the user's company.

1. Ask the user for their company name or URL

2. **Check for an existing profile**:
   - List files in `{SKILL_DIR}/profiles/` (ignore `example.json`)
   - If a matching profile exists → load it, present to user: "I have your profile from {researched_at}. Still accurate?" If yes → skip to Step 2.
   - If no profile exists → proceed with deep research below.

3. **Run a full deep research on the user's company** using the Plan→Research→Synthesize pattern.
   See `references/research-patterns.md` for sub-question templates and research methodology.

   **Key research steps:**
   - Search: `browse cloud search "{company name}" --num-results 10`
   - Fetch homepage: `node {SKILL_DIR}/scripts/extract_page.mjs "{company website}"`
   - **Discover site pages via sitemap** (do NOT hardcode paths like `/about` or `/customers`):
     1. `browse cloud fetch --allow-redirects "{company website}/sitemap.xml"` — sitemap is small, raw `browse cloud fetch` is fine
     2. Scan for URLs with keywords: `customer`, `case-stud`, `pricing`, `about`, `use-case`, `industry`, `solution`
     3. Optionally also fetch `/llms.txt` for page descriptions
     4. Pick 3-5 most relevant URLs and extract with `extract_page.mjs` (NOT raw `browse cloud fetch`)
   - Search for external context and competitors
   - Accumulate findings with confidence levels

   **Synthesize into a profile**:
   Company, Product, Existing Customers, Competitors, Use Cases.
   Do NOT include ICP or sub-verticals — those are per-run decisions.

4. Present the profile to the user for confirmation. Do not proceed until confirmed.

5. **Save the confirmed profile** to `{SKILL_DIR}/profiles/{company-slug}.json`

6. **Ask clarifying questions** using `AskUserQuestion` with checkboxes:
   - "Which segments are you targeting?" with options derived from the company research
   - "Company stage?" — Startups, Mid-market, Enterprise, All
   - "How many companies / depth?" — Quick (~100), Deep (~50), Deeper (~25)
   - This is the ONLY user interaction. After this, execute silently until results are ready.

## Step 2: Depth Mode Selection

| Mode | Research per company | Best for |
|------|---------------------|----------|
| `quick` | Homepage + 1-2 searches | ~100 companies, broad scan |
| `deep` | 2-3 sub-questions, 5-8 tool calls | ~50 companies, solid research |
| `deeper` | 4-5 sub-questions, 10-15 tool calls | ~25 companies, full intelligence |

## Step 3: Discovery

**Formula**: `ceil(requested_companies / 35)` search queries needed. Over-discover by ~2-3x because filtering typically drops 50-70%.

Generate search queries with these patterns:
- Industry + company stage + geography ("fintech startups series A Bay Area")
- Technology stack + use case ("companies using Selenium for web scraping")
- Competitor adjacency ("alternatives to {known company in ICP}")
- Buyer persona + pain point ("engineering teams struggling with browser automation")

**Process**:
1. Launch ALL discovery subagents at once (up to ~6 per message). Each runs its queries in a SINGLE Bash call:
   ```bash
   browse cloud search "{query}" --num-results 25 --output /tmp/company_discovery_batch_{N}.json
   ```
2. After all waves complete, deduplicate: `node {SKILL_DIR}/scripts/list_urls.mjs /tmp`
3. **Filter the URL list** — remove:
   - Blog posts, news articles (globenewswire.com, techcrunch.com, etc.)
   - Directories/aggregators (tracxn.com, crunchbase.com, g2.com)
   - The user's own competitors and existing customers (from profile)
   Keep only company homepages.

See `references/workflow.md` for subagent prompt templates and wave management.

## Step 4: Deep Research & Scoring

Launch subagents to research companies in parallel. See `references/workflow.md` for the enrichment subagent prompt template. See `references/research-patterns.md` for the full research methodology.

**Process**:
1. Split filtered URLs into groups per subagent (quick: ~10, deep: ~5, deeper: ~2-3)
2. Launch ALL enrichment subagents at once (up to ~6 per message)
3. Each subagent uses ONLY Bash — for each company:

   **Phase A — Plan** (skip in quick mode):
   Decompose into 2-5 sub-questions based on ICP and enrichment fields.

   **Phase B — Research Loop**:
   Search and fetch pages, extract findings. Respect step budget (quick: 2-3, deep: 5-8, deeper: 10-15).

   **Phase C — Synthesize**:
   Score ICP fit 1-10 with evidence. Fill enrichment fields from findings.

4. Subagents write ALL markdown files in a SINGLE Bash call using chained heredocs to `{OUTPUT_DIR}/`
5. After ALL subagents complete, proceed to Step 5

**Critical**: Include the confirmed ICP description verbatim in every subagent prompt. Pass the full literal `{OUTPUT_DIR}` path to every subagent.

## Step 5: Report & CSV

1. **Generate HTML report + CSV** (opens overview in browser automatically):
   ```bash
   node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open
   ```
   This generates:
   - `{OUTPUT_DIR}/index.html` — overview page with scored table (opens in browser)
   - `{OUTPUT_DIR}/companies/*.html` — individual company pages (linked from overview)
   - `{OUTPUT_DIR}/results.csv` — scored spreadsheet for import into sheets/CRM

2. **Present a summary in chat** too:

```
## Company Research Complete

- **Total companies researched**: {count}
- **Depth mode**: {mode}
- **Score distribution**:
  - Strong fit (8-10): {count}
  - Partial fit (5-7): {count}
  - Weak fit (1-4): {count}
- **Report opened in browser**: ~/Desktop/{company_slug}_research_{date}/index.html
```

3. Show the **top companies** sorted by ICP score in a table:

```
| Company | Score | Product | Industry | Fit Reasoning |
|---------|-------|---------|----------|---------------|
| Acme | 9 | AI inventory management | E-commerce SaaS | Series A, uses Selenium, expanding to EU |
```

4. For the top 3-5 companies, show a brief research summary — key findings, why they're a good fit, and what specific angle to approach them with.

Offer to dig deeper into specific companies, adjust scoring criteria, or re-run discovery with different queries.

© browserbase · MIT · browserbase/skills

Similar skills

All skills for Browser and scraping →

company-research by other authors comes first.

company-research deanpeters Builds a company brief from public sources: quotes from leaders, product strategy, how the org works. Useful before an interview, a partner meeting or a competitor review. CX Codex +1 3,400installs company-research claude-office-skills Research a company’s business model, market position, competitors and management. Use it for investment decisions, partnership reviews or competitive research. CX Codex +1 5,100installs company-research exa-labs Researches companies, competitors, financials, and news via Exa search. Gathers structured market data directly in the coding agent session. CX Codex +1 933installs firecrawl-market-research firecrawl Goes to the web through Firecrawl for market size, growth and company financials, then writes a cited report instead of reciting numbers from training data. CX Codex +1 32,400installs reddit-leads lignertys Finds Reddit posts with buying intent, scores each one from 0 to 100 and sorts them by lead type. CX Codex +1 11,900installs firecrawl-company-directories firecrawl Extracts company directories into CSV, JSON, or research tables. Use it for portfolios, marketplaces, member lists, and sponsor pages. CX Codex +1 31,400installs lead-generation-and-demand manojbajaj95 A B2B demand generation playbook: ICP, funnel stages, channel picks, lead scoring and CAC math. Useful when you are building a pipeline from scratch. CX Codex +1 333installs cargo-gtm getcargo Coordinates B2B account research, contact enrichment, and draft generation for your outbound sequencer via Cargo. CX Codex +1 9,900installs predictable-revenue wondelai A skill for building a scalable outbound B2B sales machine with role specialization (SDR, AE, CSM). Generates qualified pipeline through Cold Calling 2.0 and standardizes handoff between prospecting and closing. CX Codex +1 5,300installs

From the same set16

autobrowse A skill that iterates on a browsing task, reads the trace and rewrites its own navigation instructions until the task passes reliably. CX Codex +1 2,800installs search The skill runs web searches through Browserbase's Search API and returns links with titles, authors and publish dates, without opening a browser session. CX Codex +1 2,800installs functions Deploys serverless browser automation as cloud functions using Browserbase. It handles scheduled cron runs and webhook-triggered browser tasks. CX Codex +1 2,800installs cookie-sync Syncs cookies from local Chrome into a Browserbase persistent context. This lets the browse CLI run cloud sessions on authenticated websites. CX Codex +1 2,600installs event-prospecting Takes a conference speakers page URL, extracts people, filters companies by ICP, and outputs an HTML report with person cards explaining why the AE should reach out. CX Codex +1 2,100installs browser-to-api Reads a browser-trace capture and turns it into an OpenAPI 3.1 spec, a fetch client and a coverage report. Useful when the site you are integrating with has no published API docs. CX Codex +1 1,900installs safe-browser The skill builds a local browser agent whose only tool is safe_browser. Requests to hosts outside the allowlist fail at the CDP layer. CX Codex +1 1,700installs agent-experience Tests how AI agents onboard with a product, SDK, documentation site, or SKILL.md using short prompts and real tools. Use it to expose onboarding friction. CX Codex +1 862installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor