company-research
browserbase/skills
Ermittelt und analysiert Unternehmen, die einem idealen Kundenprofil entsprechen, unter Verwendung der Browserbase Search API und eines „Planen → Analysieren → Zusammenfassen“-Musters, um bewertete Berichte und CSV-Exporte zu erstellen.
...Alle erweiternUnternehmensrecherche
Entdecken und analysieren Sie Unternehmen, an die Sie verkaufen möchten. Nutzt die Browserbase Search API zur Erkennung und ein Muster aus den Schritten „Planen → Recherchieren → Zusammenfassen“ zur umfassenden Anreicherung der Daten – mit der Ausgabe eines bewerteten Forschungsberichts und einer CSV-Datei.
Erforderlich: BROWSERBASE_API_KEY Umgebungsvariable und browse installierte CLI.
Einrichtung bei der ersten Ausführung: Bei der ersten Ausführung werden Sie aufgefordert, browse cloud fetch, browse cloud search, cat, mkdir, sedusw. Wählen Sie jeweils „Ja, und nicht erneut fragen für: browse cloud fetch:*“ (oder eine entsprechende Option), um die Berechtigungen für diese Sitzung automatisch zu erteilen. Um die Berechtigungen dauerhaft zu erteilen, fügen Sie diese zu Ihrer ~/.claude/settings.json unter permissions.allow:
"Bash(browse:*)", "Bash(bunx:*)", "Bash(bun:*)", "Bash(node:*)",
"Bash(cat:*)", "Bash(mkdir:*)", "Bash(sed:*)", "Bash(head:*)", "Bash(tr:*)", "Bash(rm:*)"
Pfadregeln: Verwenden Sie in allen Bash-Befehlen stets den vollständigen absoluten Pfad – NICHT ~ oder $HOME (beides löst Bestätigungsaufforderungen für die „Shell-Erweiterungssyntax“ aus). Lösen Sie das Home-Verzeichnis einmal auf und verwenden Sie es überall. Ersetzen Sie beim Erstellen von Subagent-Eingabeaufforderungen {SKILL_DIR} durch den vollständigen literalen Pfad.
Ausgabeverzeichnis: Alle Forschungsergebnisse werden in ~/Desktop/{company_slug}_research_{YYYY-MM-DD}/. Dieses Verzeichnis enthält eine .md Datei pro untersuchtem Unternehmen sowie eine abschließende .csv. Der Benutzer erhält sowohl die ausgewertete Tabelle als auch die vollständigen Recherchedateien auf seinem Desktop.
WICHTIG – Einschränkungen des Tools (gilt für den Hauptagenten UND alle Unteragenten):
- Alle Websuchen: Verwenden Sie
browse cloud search. Verwenden Sie NIEMALS WebSearch. - Alle Extraktionen von Seiteninhalten: Verwenden Sie
node {SKILL_DIR}/scripts/extract_page.mjs ". Dieses Skript ruft über" browse cloud fetch --output, analysiert Titel, Meta-Tags und sichtbaren Body-Text und greift automatisch aufbrowse get markdown, wenn das Abrufen fehlschlägt oder nur spärliche, per JavaScript gerenderte Inhalte zurückgibt. Erstelle NIEMALS manuell einebrowse cloud fetch | sedPipeline – sie entfernt Meta-Tags und analysiert die JSON-Hülle der Standardausgabe nicht. Verwende NIEMALS WebFetch. - Alle Forschungsergebnisse: Subagenten schreiben pro Unternehmen eine Markdown-Datei,
{OUTPUT_DIR}/{company-slug}.mdunter Verwendung von Bash-Heredoc. Verwende NIEMALS das Write-Tool oderpython3 -c. Siehereferences/example-research.mdfür das Dateiformat. - Bericht + CSV-Zusammenstellung: Verwenden Sie
node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open— generiert HTML-Bericht und CSV in einem Schritt und öffnet die Übersicht im Browser. - URL-Deduplizierung: Verwenden Sie
node {SKILL_DIR}/scripts/list_urls.mjs /tmpnach der Erkennung. - Unteragenten dürfen AUSSCHLIESSLICH das Bash-Tool verwenden. Andere Tools sind nicht zulässig.
- Der Hauptagent liest NIEMALS rohe JSON-Batch-Dateien aus der Erkennung. Verwenden Sie
list_urls.mjszur Deduplizierung.
KRITISCH – Regeln gegen Fehlinterpretationen (gilt für den Hauptagenten UND alle Unteragenten):
- NIEMALS
product_description,industryodertarget_audienceaus den Schriftarten, dem Framework (Framer/Next.js/React), dem Designsystem oder der Typografie einer Website. Diese sind rein kosmetischer Natur und sagen nichts darüber aus, was das Unternehmen verkauft. - Lassen Sie NIEMALS das eigene ICP des Nutzers in die Beschreibung eines Ziels einfließen. Wenn Sie nicht wissen, was das Ziel tut, schreiben Sie
Unknown– passe es nicht an das ICP an. product_descriptionDU MUSST einen konkreten Ausdruck ausextract_page.mjsAusgabe (TITLE, META_DESCRIPTION, OG_DESCRIPTION, HEADINGS oder BODY) zitieren oder umschreiben. Wenn keines dieser Felder eine erkennbare Produktbeschreibung liefert, schreiben SieUnknown — homepage content not accessible.- Wenn
product_descriptionistUnknown, setzen Sieicp_fit_scoreauf 3 und setzeicp_fit_reasoningaufInsufficient evidence — homepage returned no readable content.
CRITICAL — Berechtigungsabfragen minimieren:
- Subagenten MÜSSEN ALLE Dateischreibvorgänge mithilfe verketteter Heredocs in einem EINZIGEN Bash-Aufruf bündeln. Ein Bash-Aufruf = eine Berechtigungsabfrage.
- Fassen Sie ALLE Suchvorgänge und ALLE Abrufe mithilfe von
&&Verkettung.
Pipeline-Übersicht
Befolgen Sie diese 5 Schritte der Reihe nach. Überspringen Sie keine Schritte und ändern Sie nicht die Reihenfolge.
- Unternehmensrecherche – Verschaffen Sie sich ein tiefgreifendes Verständnis des Unternehmens des Nutzers, seines Produkts und seiner Kunden
- Auswahl des Detailgrads – Wählen Sie den Recherche-Detailgrad je nach der gewünschten Anzahl an Zielunternehmen
- Ermittlung — Finden Sie Zielunternehmen mithilfe verschiedener Suchanfragen
- Eingehende Recherche und Bewertung — Recherchieren Sie jedes Unternehmen und bewerten Sie die Übereinstimmung mit dem ICP
- Bericht & CSV — Präsentieren Sie die Ergebnisse und erstellen Sie eine CSV-Datei mit den Bewertungen
Schritt 0: Ausgabeverzeichnis einrichten
Erstellen Sie vor dem Start das Ausgabeverzeichnis auf dem Desktop des Benutzers:
OUTPUT_DIR=~/Desktop/{company_slug}_research_{YYYY-MM-DD}
mkdir -p "$OUTPUT_DIR"
Ersetzen Sie {company_slug} durch den Firmennamen des Benutzers (Kleinbuchstaben, mit Bindestrich) und {YYYY-MM-DD} durch das heutige Datum. Übergeben Sie {OUTPUT_DIR} (als vollständigen Pfad, nicht mit ~) an alle Subagent-Eingabeaufforderungen, damit diese die Suchdateien dort ablegen.
Bereinigen Sie außerdem die Discovery-Batch-Dateien aus früheren Durchläufen:
rm -f /tmp/company_discovery_batch_*.json
Schritt 1: Eingehende Unternehmensrecherche
Dies ist der wichtigste Schritt. Die Qualität aller nachfolgenden Schritte hängt von einem tiefgreifenden Verständnis des Unternehmens des Nutzers ab.
Fragen Sie den Nutzer nach seinem Firmennamen oder der URL
Prüfen Sie, ob bereits ein Profil vorhanden ist:
- Dateien auflisten in
{SKILL_DIR}/profiles/(ignorierenexample.json) - Wenn ein passendes Profil vorhanden ist → lade es und zeige dem Nutzer an: „Ich habe dein Profil von {researched_at}. Ist es noch korrekt?“ Wenn ja → fahre mit Schritt 2 fort.
- Falls kein Profil vorhanden ist → mit der eingehenden Recherche unten fortfahren.
- Dateien auflisten in
Führen Sie eine umfassende Recherche zum Unternehmen des Benutzers durch, indem Sie das Muster „Planen → Recherchieren → Zusammenfassen“ anwenden. Siehe
references/research-patterns.mdfür Vorlagen für Teilfragen und die Recherchemethodik.Wichtige Recherche-Schritte:
- Suche:
browse cloud search "{company name}" --num-results 10 - Homepage abrufen:
node {SKILL_DIR}/scripts/extract_page.mjs "{company website}" - Seiten der Website über die Sitemap ermitteln (Pfade wie
/aboutoder/customers):browse cloud fetch --allow-redirects "{company website}/sitemap.xml"— die Sitemap ist klein, eine rohebrowse cloud fetchist in Ordnung- Nach URLs mit Schlüsselwörtern suchen:
customer,case-stud,pricing,about,use-case,industry,solution - Optional auch
/llms.txtSeitenbeschreibungen abrufen - Wähle die 3–5 relevantesten URLs aus und extrahiere sie mit
extract_page.mjs(NICHT im Rohformatbrowse cloud fetch)
- Suche nach externem Kontext und Wettbewerbern
- Ergebnisse mit Konfidenzniveaus zusammenfassen
Zu einem Profil zusammenfassen: Unternehmen, Produkt, bestehende Kunden, Wettbewerber, Anwendungsfälle. Fügen Sie KEINE ICPs oder Teilbranchen hinzu – diese Entscheidungen werden pro Durchlauf getroffen.
- Suche:
Legen Sie das Profil dem Nutzer zur Bestätigung vor. Fahren Sie erst nach der Bestätigung fort.
Speichern Sie das bestätigte Profil unter
{SKILL_DIR}/profiles/{company-slug}.jsonStellen Sie klärende Fragen mithilfe
AskUserQuestionmit Auswahlfeldern:- „Welche Segmente sprechen Sie an?“ mit Optionen, die aus der Unternehmensrecherche abgeleitet wurden
- „Unternehmensphase?“ – Start-ups, Mittelstand, Großunternehmen, Alle
- „Wie viele Unternehmen / Tiefe?“ – Schnell (
100), Tiefgehend (50), Tiefer (~25) - Dies ist die EINZIGE Benutzerinteraktion. Danach im Hintergrund ausführen, bis die Ergebnisse vorliegen.
Schritt 2: Auswahl des Detailmodus
| Modus | Recherche pro Unternehmen | Am besten geeignet für |
|---|---|---|
quick |
Startseite + 1–2 Suchanfragen | ~100 Unternehmen, umfassende Analyse |
deep |
2–3 Teilfragen, 5–8 Tool-Abfragen | ~50 Unternehmen, fundierte Recherche |
deeper |
4–5 Teilfragen, 10–15 Tool-Aufrufe | ~25 Unternehmen, umfassende Analyse |
Schritt 3: Erkundung
Formel: ceil(requested_companies / 35) erforderliche Suchanfragen. Etwa das 2- bis 3-Fache an Ergebnissen ermitteln, da durch die Filterung in der Regel 50–70 % aussortiert werden.
Erstellen Sie Suchanfragen nach folgenden Mustern:
- Branche + Unternehmensphase + Region („Fintech-Start-ups Serie A Bay Area“)
- Technologie-Stack + Anwendungsfall („Unternehmen, die Selenium für Web-Scraping nutzen“)
- Nähe zu Wettbewerbern („Alternativen zu {bekanntes Unternehmen im ICP}“)
- Käuferprofil + Problemfeld („Entwicklungsteams, die mit der Browser-Automatisierung zu kämpfen haben“)
Vorgehensweise:
- Starten Sie ALLE Discovery-Subagenten gleichzeitig (bis zu ~6 pro Nachricht). Jeder führt seine Abfragen in einem EINZIGEN Bash-Aufruf aus:
browse cloud search "{query}" --num-results 25 --output /tmp/company_discovery_batch_{N}.json - Nachdem alle Durchläufe abgeschlossen sind, deduplizieren:
node {SKILL_DIR}/scripts/list_urls.mjs /tmp - Die URL-Liste filtern – entfernen:
- Blogbeiträge, Nachrichtenartikel (globenewswire.com, techcrunch.com usw.)
- Verzeichnisse/Aggregatoren (tracxn.com, crunchbase.com, g2.com)
- Die eigenen Wettbewerber und bestehenden Kunden des Nutzers (aus dem Profil) Behalten Sie nur Unternehmenshomepages bei.
Siehe references/workflow.md für Vorlagen für Subagent-Aufforderungen und Wellenmanagement.
Schritt 4: Eingehende Recherche und Bewertung
Starten Sie Subagenten, um Unternehmen parallel zu recherchieren. Siehe references/workflow.md für die Prompt-Vorlage des Subagenten zur Datenanreicherung. Siehe references/research-patterns.md für die vollständige Recherchemethodik.
Ablauf:
Geteilte gefilterte URLs in Gruppen pro Subagent auf (schnell: ~10, gründlich: ~5, sehr gründlich: ~2–3)
Starte ALLE Subagenten zur Datenanreicherung gleichzeitig (bis zu ~6 pro Nachricht)
Jeder Subagent verwendet AUSSCHLIESSLICH Bash – für jedes Unternehmen:
Phase A – Planung (im Schnellmodus überspringen): Aufteilung in 2–5 Teilfragen basierend auf ICP und Anreicherungsfeldern.
Phase B – Recherche-Schleife: Seiten suchen und abrufen, Erkenntnisse extrahieren. Schrittbudget einhalten (schnell: 2–3, tiefgehend: 5–8, noch tiefgehender: 10–15).
Phase C – Zusammenfassung: Bewertung der ICP-Übereinstimmung auf einer Skala von 1–10 anhand von Belegen. Ausfüllen der Anreicherungsfelder anhand der Erkenntnisse.
Subagenten schreiben ALLE Markdown-Dateien in einem EINZIGEN Bash-Aufruf unter Verwendung verketteter Heredocs, um
{OUTPUT_DIR}/Nachdem ALLE Unteragenten fertig sind, fahren Sie mit Schritt 5 fort
Wichtig: Fügen Sie die bestätigte ICP-Beschreibung wörtlich in jede Subagent-Eingabeaufforderung ein. Übergeben Sie den vollständigen literalen {OUTPUT_DIR} Pfad an jeden Subagenten weiter.
Schritt 5: Bericht & CSV
HTML-Bericht + CSV generieren (öffnet automatisch die Übersicht im Browser):
node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --openDadurch wird Folgendes generiert:
{OUTPUT_DIR}/index.html— Übersichtsseite mit bewerteter Tabelle (wird im Browser geöffnet){OUTPUT_DIR}/companies/*.html— einzelne Unternehmensseiten (verlinkt von der Übersicht){OUTPUT_DIR}/results.csv— bewertete Tabelle zum Import in Google Sheets/CRM
Zusammenfassung auch im Chat anzeigen:
## 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
- Zeige die Top-Unternehmen, sortiert nach ICP-Bewertung, in einer Tabelle an:
| Company | Score | Product | Industry | Fit Reasoning |
|---------|-------|---------|----------|---------------|
| Acme | 9 | AI inventory management | E-commerce SaaS | Series A, uses Selenium, expanding to EU |
- Zeige für die 3–5 besten Unternehmen eine kurze Zusammenfassung der Recherche an – wichtigste Erkenntnisse, warum sie gut passen und mit welchem konkreten Ansatz man auf sie zugehen sollte.
Bieten Sie an, bestimmte Unternehmen genauer zu untersuchen, die Bewertungskriterien anzupassen oder die Recherche mit anderen Suchanfragen erneut durchzuführen.
---
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.
Alle Dateien
11 Dateiencompany-research installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/browserbase/skills/tree/main/skills/company-research # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
