選項

company-research

browserbase/skills browserbase/skills

利用 Browserbase Search API 以及「規劃→研究→綜合」的模式,發掘並研究符合理想客戶輪廓的企業,進而產生帶有評分標記的報告並匯出 CSV 檔案。

...展開全部
0
更新時間 2026-09-30

企業研究

發掘並深入研究潛在銷售對象企業。運用 Browserbase Search API 進行發掘,並採用「規劃→研究→整合」的模式進行深度分析——最終產出帶有評分的研究報告及 CSV 檔案。

所需: BROWSERBASE_API_KEY 環境變數及 browse 已安裝 CLI。

首次執行設定:首次執行時,系統會提示您批准 browse cloud fetch, browse cloud search, cat, mkdir, sed等權限。針對每一項,請選擇「是,且不再詢問:browse cloud fetch:*」(或等效選項),以在本次會話中自動批准。若要永久批准,請將這些項目加入您的 ~/.claude/settings.json 下的 permissions.allow:

"Bash(browse:*)", "Bash(bunx:*)", "Bash(bun:*)", "Bash(node:*)",
"Bash(cat:*)", "Bash(mkdir:*)", "Bash(sed:*)", "Bash(head:*)", "Bash(tr:*)", "Bash(rm:*)"

路徑規則:在所有 Bash 指令中,請務必使用完整的字面路徑 — 切勿使用 ~ 或 $HOME (兩者都會觸發「殼層擴展語法」的授權提示)。將主目錄解析一次後,即可在各處使用。在建構子代理程式提示時,請將 {SKILL_DIR} 替換為完整的字面路徑。

輸出目錄:所有研究產出皆存至 ~/Desktop/{company_slug}_research_{YYYY-MM-DD}/。此目錄包含 .md ,並附帶一個最終的 .csv。使用者將在桌面收到已評分的試算表以及完整的研究檔案。

重要 — 工具限制(適用於主代理程式及所有子代理程式):

  • 所有網路搜尋:請使用 browse cloud search。切勿使用 WebSearch。
  • 所有網頁內容擷取:請使用 node {SKILL_DIR}/scripts/extract_page.mjs ""。此腳本透過 browse cloud fetch --output進行擷取,解析標題、元標籤及可見的正文內容,並在 browse get markdown 當擷取失敗或返回由 JavaScript 渲染的簡略內容時。切勿手動編寫 browse cloud fetch | sed 處理流程——它會刪除 meta 標籤,且無法解析標準輸出 (stdout) 的 JSON 封裝。切勿使用 WebFetch。
  • 所有研究成果:子代理會針對每家公司撰寫一個 Markdown 檔案,並 {OUTPUT_DIR}/{company-slug}.md 使用 bash 內嵌文件(heredoc)格式。切勿使用 Write 工具或 python3 -c。關於檔案格式,請參閱 references/example-research.md 以了解檔案格式。
  • 報告 + CSV 彙編:使用 node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open — 可一步生成 HTML 報告與 CSV 檔案,並在瀏覽器中開啟概覽頁面。
  • URL 去重:請於 node {SKILL_DIR}/scripts/list_urls.mjs /tmp 。
  • 子代理程式必須僅使用 Bash 工具。不允許使用其他工具。
  • 主代理絕不讀取原始的探索 JSON 批次檔案。請使用 list_urls.mjs 進行去重。

關鍵 — 防幻覺規則(適用於主代理程式及所有子代理程式):

  • 絕不可推斷 product_description, industry,或 target_audience 從網站的字型、框架(Framer/Next.js/React)、設計系統或排版風格推斷。這些僅屬表面特徵,無法反映該公司銷售的產品。
  • 切勿讓使用者自身的 ICP 滲入目標公司的描述中。若您不清楚目標公司從事何種業務,請寫下 Unknown ——切勿將目標企業套用至你的 ICP 框架中。
  • product_description 必須引用或改寫來自 extract_page.mjs 輸出內容(TITLE、META_DESCRIPTION、OG_DESCRIPTION、標題或正文)中引用或改寫特定短語。若上述欄位均未提供可辨識的產品陳述,請撰寫 Unknown — homepage content not accessible.
  • 若 product_description 是 Unknown,大寫 icp_fit_score 上限為 3,並將 icp_fit_reasoning 為 Insufficient evidence — homepage returned no readable content.

CRITICAL — 盡量減少權限提示:

  • 子代理必須將所有檔案寫入操作,透過鏈式 heredocs 批次整合為單一 Bash 呼叫。一次 Bash 呼叫 = 一次權限提示。
  • 將所有搜尋與所有擷取操作,透過 && 鏈式結構將所有搜尋及所有擷取操作批次處理為單一 Bash 呼叫。

管線概覽

請依序執行以下 5 個步驟。請勿跳過步驟或更改順序。

  1. 公司研究 — 深入了解用戶的公司、產品及其銷售對象
  2. 深度模式選擇 — 根據目標數量選擇研究深度
  3. 探索 — 透過多元的搜尋查詢找出目標公司
  4. 深度研究與評分 — 針對每家公司進行研究,並評估其與理想客戶画像(ICP)的契合度
  5. 報告與 CSV — 呈現研究結果,彙整經評分的 CSV 檔案

步驟 0:設定輸出目錄

開始之前,請在用戶的桌面建立輸出目錄:

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

將 {company_slug} 替換為用戶的公司名稱(小寫,以連字號分隔)並 {YYYY-MM-DD} 替換為當日日期。傳入 {OUTPUT_DIR} (作為完整的字面路徑,而非使用 ~) 傳遞給所有子代理程式提示,以便它們將研究檔案寫入該位置。

同時清理先前執行所產生的探索批次檔案:

rm -f /tmp/company_discovery_batch_*.json

步驟 1:深度公司研究

這是最重要的步驟。後續所有工作的品質,都取決於對使用者所屬公司的深入理解。

  1. 請使用者提供其公司名稱或網址

  2. 檢查是否已有現有檔案:

    • 列出位於 {SKILL_DIR}/profiles/ (忽略 example.json)
    • 若存在匹配的檔案 → 載入該檔案,並向使用者提示:「我從 {researched_at} 取得您的檔案。內容仍正確嗎?」若回答「是」 → 跳至步驟 2。
    • 若無個人檔案 → 繼續進行下方的深度研究。
  3. 使用「計畫→研究→整合」模式,針對用戶的公司進行全面的深度研究。 請參閱 references/research-patterns.md 以查看子問題範本及研究方法論。

    關鍵研究步驟:

    • 搜尋: browse cloud search "{company name}" --num-results 10
    • 擷取首頁: node {SKILL_DIR}/scripts/extract_page.mjs "{company website}"
    • 透過網站地圖發現網站頁面(請勿硬編碼路徑,例如 /about 或 /customers):
      1. browse cloud fetch --allow-redirects "{company website}/sitemap.xml" ——網站地圖規模小,原始 browse cloud fetch 即可
      2. 掃描含有關鍵字的 URL: customer, case-stud, pricing, about, use-case, industry, solution
      3. 若需進一步處理,亦可擷取 /llms.txt 頁面描述
      4. 挑選 3 至 5 個最相關的 URL,並使用 extract_page.mjs (非原始 browse cloud fetch)
    • 搜尋外部背景與競爭對手
    • 彙整研究結果並標註可信度等級

    整合成一份檔案: 公司、產品、現有客戶、競爭對手、應用案例。 請勿包含 ICP 或子垂直領域 — 這些屬於每次執行時的決策。

  4. 將簡介呈交給使用者確認。未經確認前請勿繼續進行。

  5. 將已確認的檔案儲存至 {SKILL_DIR}/profiles/{company-slug}.json

  6. 使用 AskUserQuestion 並搭配核取方塊:

    • 「您鎖定的目標客群是哪些?」,選項源自公司研究
    • 「公司發展階段?」——新創、中型市場、企業級、全部
    • 「公司數量/深度?」—— 快速 (100)、深入 (50)、更深入 (~25)
    • 這是唯一的用戶互動。完成後,系統將在後台靜默執行,直至結果準備就緒。

步驟 2:深度模式選擇

模式 按公司進行研究 最適合
quick 首頁 + 1-2 次搜尋 約 100 家公司,廣泛掃描
deep 2-3 個子問題,5-8 次工具調用 約 50 家企業,紮實研究
deeper 4-5 個子問題,10-15 次工具調用 約 25 家企業,全面情報分析

步驟 3:探索

公式: ceil(requested_companies / 35) 需建立搜尋查詢。建議將探索範圍擴大約 2-3 倍,因為篩選過程通常會淘汰 50-70% 的結果。

根據以下模式生成搜尋查詢:

  • 產業 + 公司發展階段 + 地理位置(「金融科技新創公司 A 輪 灣區」)
  • 技術堆疊 + 應用場景(「使用 Selenium 進行網頁爬取的公司」)
  • 競爭對手相鄰領域(「{目標客戶群(ICP)中的知名公司} 的替代方案」)
  • 買家角色 + 痛點(「在瀏覽器自動化方面遇到困難的工程團隊」)

流程:

  1. 一次啟動所有探索子代理(每則訊息最多約 6 個)。每個子代理皆透過單一 Bash 指令執行查詢:
    browse cloud search "{query}" --num-results 25 --output /tmp/company_discovery_batch_{N}.json
    
  2. 所有波次完成後,進行去重: node {SKILL_DIR}/scripts/list_urls.mjs /tmp
  3. 過濾 URL 清單 — 移除:
    • 部落格文章、新聞報導(globenewswire.com、techcrunch.com 等)
    • 目錄網站/彙整平台(tracxn.com、crunchbase.com、g2.com)
    • 用戶自身的競爭對手及現有客戶(取自個人檔案) 僅保留公司首頁。

請參閱 references/workflow.md 以了解子代理提示模板及波段管理。

步驟 4:深度研究與評分

啟動子代理程式以並行研究公司。請參閱 references/workflow.md 以查看資料豐富化子代理的提示範本。請參閱 references/research-patterns.md 以了解完整的研究方法論。

流程:

  1. 將篩選後的 URL 依子代理程式分為不同組別(快速型:約 10 個、深入型:約 5 個、更深入型:約 2-3 個)

  2. 一次啟動所有資料豐富化子代理程式(每則訊息最多約 6 個)

  3. 每個子代理僅使用 Bash — 針對每家公司:

    A 階段 — 規劃(快速模式下跳過): 根據 ICP 和資料豐富化欄位,將任務分解為 2 至 5 個子問題。

    B 階段 — 研究迴圈: 搜尋並擷取網頁,提取研究結果。遵守步驟預算(快速模式:2-3,深度模式:5-8,更深度模式:10-15)。

    階段 C — 綜合分析: 根據證據,為 ICP 契合度評分 1 至 10。並根據研究結果填寫豐富化欄位。

  4. 子代理程式應透過鏈式 heredocs,在單一 Bash 呼叫中寫入所有 Markdown 檔案,以 {OUTPUT_DIR}/

  5. 待所有子代理完成後,進入第 5 步驟

關鍵:在每個子代理的提示字串中,逐字包含已確認的 ICP 描述。將完整的字面 {OUTPUT_DIR} 路徑傳遞給每個子代理。

步驟 5:報告與 CSV

  1. 產生 HTML 報告 + CSV(會自動在瀏覽器中開啟概覽):

    node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open
    

    這將產生:

    • {OUTPUT_DIR}/index.html — 包含評分表格的概覽頁面(於瀏覽器中開啟)
    • {OUTPUT_DIR}/companies/*.html — 各公司專屬頁面(從概覽頁面連結)
    • {OUTPUT_DIR}/results.csv — 可匯入試算表/CRM 的評分試算表
  2. 亦可在聊天室中顯示摘要:

## 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
  1. 以表格形式顯示按 ICP 分數排序的前幾名公司:
| Company | Score | Product | Industry | Fit Reasoning |
|---------|-------|---------|----------|---------------|
| Acme | 9 | AI inventory management | E-commerce SaaS | Series A, uses Selenium, expanding to EU |
  1. 針對前 3 至 5 家企業,顯示簡要的研究摘要——關鍵發現、為何適合合作,以及應從何種具體角度與其接洽。

可提供進一步深入分析特定企業、調整評分標準,或使用不同查詢條件重新執行探索分析的服務。

在 GitHub 上查看
---
name: company-research
description: Discovers and researches companies matching an ideal customer profile, using Browserbase Search API and a Plan→Research→Synthesize pattern to produce scored reports and CSV exports.
license: MIT
---

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

安裝 company-research

請下載並將技能檔案解壓縮至您的 .claude/skills/ 目錄中。

下載 ZIP

複製儲存庫並將技能檔案複製到您的專案中。

git clone https://github.com/browserbase/skills/tree/main/skills/company-research # Copy SKILL.md to your .claude/skills/ directory

複製 複製
快速設定: 將技能資料夾複製到 .claude/skills/ Claude 會自動偵測並使用該技能
儲存庫 browserbase/skills

相關技能

airtable-automation
更新時間 2026-06-29
notion-automation
更新時間 2026-06-29
seo-programmatic
更新時間 2026-06-29
fairdb-backup-manager
更新時間 2026-06-29
OR