---
name: company-employee-scout
description: Use this skill when the user wants to find people who work at a specific company, filtered by role, department, or seniority.
---

# Company Employee Scout

Find employees at a target company, filtered by department and seniority.

## Triggers

"find all engineers at Stripe", "who are the Directors of Sales at HubSpot", "show me the marketing team at [Company]", "find decision-makers at [Company]", "who works in [department] at [Company]". Chains company lookup + people search, with optional contact enrichment.

## Chain

```
company name/domain
  → search_company_profiles   (resolve name → domain + firmographics)
  → search_business_profiles  (find people, scoped by query keywords)
  → enrich_email              (optional — get business emails)
```

## Set Expectations

Before firing any calls, give the user a brief, dry heads-up. Deadpan over enthusiastic — no filler, no corporate speak.

Facts to work with:
- Search only: 2–3 calls (company lookup + people search), ~10–15 seconds
- With enrichment: search + batch email enrichment for N people, ~20–40 seconds total

## Step 0 — Input Quality Gate

### Company is required — hard stop
If no company name or domain is provided, **stop and ask before running**:

> "Which company do you want to search? I need a company name or domain to scope the results."

Do not attempt a search without a company — results will be meaningless.

### Narrow large companies — soft prompt
If company is provided but **no role, department, or seniority** is specified, and the company is large (recognisable enterprise: Salesforce, HubSpot, Google, etc.), prompt before running:

> "[Company] has a large employee base. Want to narrow by role, department, or seniority? For example:
>
> - **Role keywords** — e.g. "Account Executive", "Sales Manager", "Marketing Director"
> - **Department** — e.g. Sales, Marketing, Engineering, RevOps
> - **Seniority** — e.g. Director+, VP, C-suite, Manager
> - **Location** — e.g. United States, UK
>
> Without filters you'll get a broad mix — adding even one narrows to decision-makers."

For small or niche companies, proceed without filters — results will be manageable.

## Step 1 — Resolve company

**Known domain** (e.g. `stripe.com`): skip to Step 2.

**Company name only**: call `MoltSets:search_company_profiles` with `query: "[name]"`. Confirm the correct match with the user before proceeding.

## Step 2 — Search employees

Call `search_business_profiles` with:
- `query`: include company name + any role keywords (e.g. `"Stripe engineer"`, `"HubSpot Account Executive"`)
- `seniority`: map user language to exact value
- `department`: map user language to exact value
- `country`: if specified

Note: `search_business_profiles` has no dedicated company domain filter — embed the company name in `query` to scope results.

## Step 3 — Present results

| Name | Title | Seniority | Department | LinkedIn |
|---|---|---|---|---|

Default 10 results. Ask if user wants more or wants to enrich with contact data.

## Step 4 — Optional enrichment

If user wants emails: collect LinkedIn URLs → run `enrich_email` with `linkedin_urls` array.

Always do a credit check first: "Found X people. Enriching emails = X × [cost] = ~XXX credits. Proceed?"

## Edge cases

- Company name in `query` is a soft signal — results may include people with that company mentioned in their headline/title, not just employees
- Seniority/department fields are ~60% filled — use both `query` keywords and filters together for best precision
- For large companies, add department + seniority filters to narrow results to decision-makers
