论文安装
- 作者仓库星标 3,486
- 作者更新于 实时读取
- 作者仓库 skills
- 领域
- 通用
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @browserbase · 未声明 license
- Token 消耗评级
- 较高消耗
- 接入复杂程度
- 需手动接入
- 是否需要外部 API Key
- 需要 · Vendor-specific
- 兼容的系统
- macOS · Linux · Windows
- 底层运行要求
- Node.js · Bun
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 读取环境变量
- 网络行为
- 允许外网请求
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: company-research
description: | Discover and deeply research companies to sell to. Uses Browserbase Search API for discovery a…
category: 通用
runtime: Node.js / Bun
---
# company-research 输出预览
## PART A: 任务判断
- 适用问题:通用任务拆解、检查和交付。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“Pipeline Overview / Step 0: Setup Output Directory / Step 1: Deep Company Research”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于通用任务拆解、检查和交付,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“Pipeline Overview / Step 0: Setup Output Directory / Step 1: Deep Company Research”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、执行终端命令、读取环境变量、会按任务需要访问外部网络、需要准备 Vendor-specific API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件、执行终端命令、读取环境变量;会按任务需要访问外部网络;需要准备 Vendor-specific API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文出现了 `/tmp`、`/about`、`/customers`、`/llms` 这类斜杠命令;如果你的 Agent 支持命令触发,优先用命令开场,再补充目标和边界。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件、执行终端命令、读取环境变量。
先用一个小任务确认它会围绕“Pipeline Overview / Step 0: Setup Output Directory / Step 1: Deep Company Research”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: company-research
description: | Discover and deeply research companies to sell to. Uses Browserbase Search API for discovery a…
category: 通用
source: browserbase/skills
---
# company-research
## 什么时候使用
- 把通用方向的常用动作沉淀成 Agent 可调用的技能 适合处理通用任务拆解、检查、交付和复盘,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答。 把任务拆成可执行、可检查、可继续迭代的步骤;使用前要准备…
- 面向通用任务拆解、检查和交付,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「Pipeline Overview / Step 0: Setup Output Directory / Step 1: Deep Company Research」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件、执行终端命令、读取环境变量;会按任务需要访问外部网络;需要准备 Vendor-specific API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "company-research" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> Pipeline Overview / Step 0: Setup Output Directory / Step 1: Deep Company Research
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> Node.js / Bun | 读取文件、写入/修改文件、执行终端命令、读取环境变量 | 会按任务需要访问外部网络
安全层 -> 需要准备 Vendor-specific API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} 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:
"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 viabrowse cloud fetch --output, parses title + meta tags + visible body text, and automatically falls back tobrowse get markdownwhen fetch fails or returns thin JS-rendered content. NEVER hand-roll abrowse cloud fetch | sedpipeline — 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}.mdusing bash heredoc. NEVER use the Write tool orpython3 -c. Seereferences/example-research.mdfor 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 /tmpafter discovery. - Subagents must use ONLY the Bash tool. No other tools allowed.
- Main agent NEVER reads raw discovery JSON batch files. Use
list_urls.mjsfor dedup.
CRITICAL — Anti-hallucination rules (applies to main agent AND all subagents):
- NEVER infer
product_description,industry, ortarget_audiencefrom 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_descriptionMUST quote or paraphrase a specific phrase fromextract_page.mjsoutput (TITLE, META_DESCRIPTION, OG_DESCRIPTION, HEADINGS, or BODY). If none of those fields yield a recognizable product statement, writeUnknown — homepage content not accessible.- If
product_descriptionisUnknown, capicp_fit_scoreat 3 and seticp_fit_reasoningtoInsufficient 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.
- Company Research — Deeply understand the user's company, product, and who they sell to
- Depth Mode Selection — Choose research depth based on how many targets they want
- Discovery — Find target companies using diverse search queries
- Deep Research & Scoring — Research each company, score ICP fit
- Report & CSV — Present findings, compile scored CSV
Step 0: Setup Output Directory
Before starting, create the output directory on the user's Desktop:
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:
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.
Ask the user for their company name or URL
Check for an existing profile:
- List files in
{SKILL_DIR}/profiles/(ignoreexample.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.
- List files in
Run a full deep research on the user's company using the Plan→Research→Synthesize pattern. See
references/research-patterns.mdfor 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
/aboutor/customers):browse cloud fetch --allow-redirects "{company website}/sitemap.xml"— sitemap is small, rawbrowse cloud fetchis fine- Scan for URLs with keywords:
customer,case-stud,pricing,about,use-case,industry,solution - Optionally also fetch
/llms.txtfor page descriptions - Pick 3-5 most relevant URLs and extract with
extract_page.mjs(NOT rawbrowse 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.
- Search:
Present the profile to the user for confirmation. Do not proceed until confirmed.
Save the confirmed profile to
{SKILL_DIR}/profiles/{company-slug}.jsonAsk clarifying questions using
AskUserQuestionwith 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:
- Launch ALL discovery subagents at once (up to ~6 per message). Each runs its queries in a SINGLE Bash call:
browse cloud search "{query}" --num-results 25 --output /tmp/company_discovery_batch_{N}.json - After all waves complete, deduplicate:
node {SKILL_DIR}/scripts/list_urls.mjs /tmp - 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:
Split filtered URLs into groups per subagent (quick: ~10, deep: ~5, deeper: ~2-3)
Launch ALL enrichment subagents at once (up to ~6 per message)
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.
Subagents write ALL markdown files in a SINGLE Bash call using chained heredocs to
{OUTPUT_DIR}/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
Generate HTML report + CSV (opens overview in browser automatically):
node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --openThis 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
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
- 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 |
- 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.
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核