Skip to content
Automation
Skill

/event-prospecting

Event prospecting skill. Takes a conference / event speakers URL, extracts the people, filters their companies against the user's ICP, then deep-researches only the speakers at ICP-fit companies. Outputs a person-first HTML report where each card answers "why should the AE talk

From plugin
browserbase-skills
3.7k16 skills
Install
$ npx -y skills add browserbase/skills --skill event-prospecting --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/event-prospecting

Context preview

The summary Claude sees to decide when to auto-load this skill.

Event prospecting skill. Takes a conference / event speakers URL, extracts the people, filters their companies against the user's ICP, then deep-researches only the speakers at ICP-fit companies. Outputs a person-first HTML report where each card answers "why should the AE talk

SKILL.md

event-prospecting.SKILL.md
name: event-prospecting
description: |
  Event prospecting skill. Takes a conference / event speakers URL,
  extracts the people, filters their companies against the user's
  ICP, then deep-researches only the speakers at ICP-fit companies.
  Outputs a person-first HTML report where each card answers "why
  should the AE talk to this person?" with all public links and a
  one-click DM opener.
  Use when the user wants to: (1) find leads at a specific
  conference, (2) prep for an event, (3) research event speakers,
  (4) build a target list from a sponsor/exhibitor page,
  (5) scrape conference speakers and rank by ICP fit.
  Triggers: "find leads at {event}", "research speakers at",
  "prospect this conference", "stripe sessions leads",
  "ai engineer summit prospects", "event prospecting",
  "scrape conference speakers", "who should I meet at".
license: MIT
compatibility: Requires browse CLI (`npm install -g browse`) and BROWSERBASE_API_KEY env var. The same `browse` binary covers both API commands and JS-rendered page fallback.
allowed-tools: Bash Agent AskUserQuestion
metadata:
  author: browserbase
  version: "0.1.0"

Event Prospecting

Take a conference URL → get a ranked list of people the AE should talk to, with a "why reach out" rationale per person.

**Required**: `BROWSERBASE_API_KEY` env var and the `browse` CLI installed (`npm install -g browse`). Use `browse cloud ...` for API calls and `browse open` / `browse get markdown` for JS-heavy speaker pages.

**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 (typically `/Users/jay/skills/skills/event-prospecting`).

**Output directory**: All event prospecting output goes to `~/Desktop/{event_slug}_prospects_{YYYY-MM-DD-HHMM}/`. Final deliverable is `index.html` (people grouped by company, ranked by company ICP), with `companies.html` and `people.html` (filterable) as alternate views, plus `results.csv` for cold-outbound import.

**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. NEVER use WebFetch.
  • All research output: subagents write **one markdown file per company OR per person** to `{OUTPUT_DIR}/companies/{slug}.md` or `{OUTPUT_DIR}/people/{slug}.md` using bash heredoc. NEVER use the Write tool or `python3 -c`. See `references/example-research.md` for both file formats.
  • Report compilation: use `node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open`.
  • **Subagents must use ONLY the Bash tool. No other tools allowed.**
  • **HARD TOOL-CALL CAPS**: ICP triage = 1 call/company; deep research = 5 calls/company; person enrichment = 4 calls/person. See `references/workflow.md` for enforcement detail.

**CRITICAL — Anti-hallucination rules (applies to main agent AND all subagents)**:

  • NEVER infer `product_description`, `industry`, or a person's `role_reason` from a site's fonts, framework, design system, or typography. These are cosmetic and say nothing about what the company sells or what the person does.
  • 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. If none of TITLE/META/OG/HEADINGS/BODY yield a recognizable product statement, write `Unknown — homepage content not accessible` and cap `icp_fit_score` at 3.
  • A person's `hook` MUST quote or paraphrase a specific finding from a `browse cloud search` result (podcast title, blog headline, GitHub repo, talk abstract). If no public signal exists in the last 6 months, fall back to event-context (their talk title at this event).

**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 10 steps in order. Do not skip steps or reorder.

0. **Setup** — output dir + clean slate 1. **Load profile** — read `profiles/{user_slug}.json` 2. **Recon** — detect event platform 3. **Extract people** — `people.jsonl` 4. **Group by company** — `seed_companies.txt` 5. **ICP triage** — fast company-level scoring (1 call/company) 6. **Filter** — companies with `icp_fit_score >= --icp-threshold` 7. **Deep research** — full Plan→Research→Synthesize on ICP fits 8. **Enrich speakers** — ask user: ICP-fit only (default) or all speakers 9. **Compile report** — HTML + CSV, open in browser

The user invokes the skill with a URL like `/event-prospecting <URL>`. Parse `EVENT_URL` from that invocation message. Defaults: `DEPTH=deep`, `ICP_THRESHOLD=6`. The `USER_SLUG` (ICP profile) is auto-resolved in Step 1 from whatever profile files exist locally — there is no built-in default profile. Do NOT ask the user to confirm the URL — they already gave you it.

---

Step 0: Setup Output Directory

Derive the output directory from the URL the user gave you. Do NOT hardcode any event name.

# EVENT_URL came from the invocation message (whatever the user typed after `/event-prospecting`)
EVENT_SLUG=$(node -e 'const h = new URL(process.argv[1]).hostname.replace(/^www\./,""); console.log(h.split(".")[0])' "$EVENT_URL")
TIMESTAMP=$(date +%Y-%m-%d-%H%M)
OUTPUT_DIR=/Users/jay/Desktop/${EVENT_SL
Read more
Ships withbrowserbase-skills

A set of skills for enabling Claude Code to work with Browserbase through browser automation and the official browse CLI.

Get the whole plugin
Stats
3,683
Stars
235
Forks
Active
Maintenance
JavaScript
Language
4d ago
Last commit
10mo ago
Created

Repo: browserbase/skills

Other skills on browserbase-skills.