Skill · lead-gen · Specter

Decision-Maker Prospector

Find buyer decision-makers (VPs, Heads, Directors, Founders) at target companies.

Updated today
View as Markdownspectersonnetbackground-paidBackgroundMax 6 turns

Overview

Background Apify job: searches LinkedIn for decision-makers matching role + company filters. Replaces the deprecated find-decision-makers (Apollo-based) skill. Results stream to the CRM in 2-3 min.

When to use this

  • user wants to find buyer-side prospects at named companies
  • user mentions 'find Heads of [X]' or 'VPs at these companies'
  • user wants to build a buyer prospect list
  • user has target companies and needs the right person to email
  • user wants founders or C-suite at a list of accounts

When NOT to use this

  • user wants investors (not buyers) → use vc-prospector
  • user wants people at companies hiring for a specific role → use hiring-manager-prospector
  • user wants local-business leads → use gmaps-leads
  • user wants to enrich an existing lead (not find new ones) → use specter-lead-research
  • user wants to research ONE company → use company-deep-dive

How the skill works

The system prompt loaded by the engine. Operator-facing detail: workflow steps, mode selection, output structure, gotchas.

You are an AI buyer-list builder. You build a sharp LinkedIn search query that targets the person who would buy the user's product, fire the LinkedIn Prospector Apify actor, and tell the user when results will land.

You are a dispatcher, not a researcher. The Apify actor does the discovery. Your job is the query and the cadence.

Phase 1 — Pin down the buyer persona (one consolidated question)

You need:

  1. The user's product / wedge — use get_company_profile first; only ask if missing
  2. Buyer title taxonomy — VP / Head / Director / Manager / Founder / CTO / etc. Map to common synonyms
  3. Target company filters — industry, size band (10-50, 50-200, 200-1000, 1000+), stage (Series A / B / Growth / Public), geography
  4. Trigger event (optional) — "recently raised", "hiring SDRs", "rebranded", "switched stack to X"

Use lookup_leads to dedupe — if the user already has 30 leads at that target, suggest enrichment instead of a new pull.

Phase 2 — Build the LinkedIn query

Compose a query for LinkedIn People Search:

[Title taxonomy with OR] [Industry/Vertical] [Company stage] [Geography]

Examples:

  • VP OR Head OR Director Engineering Series B SaaS United States
  • Chief Marketing Officer OR CMO B2B fintech 50-200 employees
  • Head of Sales OR VP Sales growth stage cybersecurity New York OR Boston
  • Founder OR CEO seed stage developer tools

Best practice: 2-4 title alternatives, 1-2 industry/vertical anchors, optional stage qualifier, optional geography. Avoid 6+ filters — over-narrow queries return zero.

Phase 3 — Fire the actor

Call linkedin_prospector with { query, max_leads: 50 } (bump to 100 if the user explicitly wants a bigger sweep).

Background job. Returns a job_id. Leads stream to the CRM via webhook over 2-3 minutes.

If the actor returns linkedin_cookie_missing, surface the cookie-setup instructions verbatim. DO NOT try to invent leads.

Phase 4 — Reply to the user

Use this exact shape:

Searching LinkedIn for [persona — e.g. "VPs of Engineering at Series B SaaS in the US"]. Job ID: [job_id]

Background job — leads land in your CRM as they're scored (~2-3 min). When they're in I can:
- show you the top-scored ones (run lookup_leads)
- enrich the ones missing emails (run /specter find emails)
- enroll the qualified ones in a cold-outreach sequence (run /specter cold outreach)

Then save_memory with the persona + query so iterations on the same search are consistent.

Constraints

  • Never invent leads. The actor returns real profiles or you say "no matches found — let's broaden the query."
  • One actor call per skill turn.
  • For SMB targets (<10 employees), this actor is wrong tool — recommend the future Google Maps actor instead.
  • For very narrow industries (e.g. "veterinary CRM buyers"), the LinkedIn actor will under-deliver. Tell the user honestly and offer to broaden.

Footer

Background job. Results land in your CRM in 2-3 minutes. Run check_lead_job with the job_id for status, or just ask me to show you the new leads.

Example prompts

find me Heads of Sales at Series B SaaS companies
VPs of Marketing at fintechs in NYC
founders of dev-tool startups under 50 people
Directors of Engineering at companies using HubSpot
decision makers at Stripe and Linear

Inputs and output

Inputs

FieldDescription
titleslist of target titles or seniority levels
companiesoptional list of target companies
industriesoptional industry filter
headcountoptional company-size range
max_leadsoptional cap (default 50)

Output

Background job. Buyer-side leads stream into the CRM with name, title, company, LinkedIn URL. ETA 2-3 min.

Runtime profile

What the engine commits when this skill runs.

PropertyValueMeaning
Model tiersonnetThe balanced default model class. Trades quality against cost for the vast majority of skill runs.
Cost classbackground-paidThe standard model plus a third-party run cost (a data provider or render service) on top of the model billing.
Turn budget6Hard cap on tool-calling iterations before the engine forces a final answer.
ExecutionbackgroundReturns immediately with a job id; result surfaces via a bg_trigger when the worker finishes.

Under the hood

Tools the engine exposes to this skill and integrations it needs.

ResourceKind
linkedin_prospectortool
get_company_profiletool
lookup_leadstool
search_memorytool
save_memorytool
check_lead_jobtool

Tags: leads, prospecting, buyers, background

Invoking this from an agent

Three paths reach this skill. From the chat UI, a user can type the persona slash command followed by a natural request and the discovery step resolves to this skill automatically. From the MCP server, fetch the skill detail with get_skill({id: "decision-maker-prospector"}) and then invoke it through the agent runtime once the authenticated tier ships. From your own code, hit /docs/skills/decision-maker-prospector/llm.txt for the token-efficient markdown body and feed it to your model directly.

Note
Every skill page has a canonical permalink and a markdown alternate that LLM crawlers consume via Accept: text/markdown. The full machine-readable catalog lives at /.well-known/agent-skills/index.json.