Agent skill

targeted-prospecting

Build a prospect list of companies with decision makers, verified contact info, and hiring/intent signals. Use when asked to find leads by industry, build an account list with specific titles, prospect companies that are actively hiring, or create a targeted outreach list filtered by company size, location, and hiring activity.

gooseworks-aigithub.com/gooseworks-aiGitHub ↗
claude-codecodexcursorMIT
Install
npx skills add gooseworks-ai/goose-skills --skill targeted-prospecting --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 29 KB
Bundled scripts: none
Path: skills/lead-generation/capabilities/targeted-prospecting/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,091
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Build a prioritized prospect list for an industry, identifying decision makers by title, enriching with verified contact info, and layering hiring/intent signals to prioritize buyers. It supports optional filters for location, company size, and hiring signal roles, with a default of 15 results.

How it works

  1. Parse the request for: industry, decision maker titles, location (default US), company size, hiring signal roles, max results (default 15), and optional company/product details.
  2. Find target companies using 2-3 search strategies in parallel:
    • Strategy A (scrapegraph) to obtain top {industry} companies in {location} with name, website, employee count, and headquarters.
    • Strategy B (fiber NL) to obtain structured data including employee counts, domains, LinkedIn URLs, and descriptions; apply filters by industry keywords and fields.
    • Strategy C (nyne) to start a search and poll for completion; may return 400 errors; proceed if it fails.
  3. Extract and deduplicate: company name, domain/website, employee count, location, LinkedIn URL (if present), description/industry tags; deduplicate by domain then normalized name; apply size filters using employee count as a proxy when revenue isn’t available.
  4. Enrich top companies with Brand.dev for industry context.
  5. Find decision makers using a tiered approach:
    • Primary: Apollo people search (preferred for cost).
    • Fallback: Fiber NL profiles for broad queries; per-company Fiber NL profiles if needed.
    • Last resort: Nyne person search (expensive, async).
    • Fallback: Scrapegraph leadership page scraping when needed.
  6. Enrich contacts with emails and phones via multiple providers (Sixtyfour primary for emails, with Hunter, Tomba as supplements; LinkedIn-derived data where available) and perform triple email verification via Hunter, Tomba, and Fiber.
  7. Hiring/intent signals (optional): Use Scrapegraph to identify hiring signals in {location} for {signal_role}, supplemented by Tavily and job-board scraping; cross-reference with the established list to raise High Priority prospects and growth signals.
  8. Competitive intel (optional): If user provides product/company details, research what the user sells and identify competitors among prospects.

When to use it

Use when asked to find leads by industry, build an account list with specific titles, prospect companies that are actively hiring, or create a targeted outreach list filtered by company size, location, and hiring activity.

What it can touch

Uses endpoints via Bearer auth to:

  • Scrapegraph, Fiber, Nyne, Apollo, Brand.dev, Sixtyfour, Hunter, Tomba, and others to gather company data, profiles, and enrichment data.
  • Specific curl commands are shown in the workflow for performing searches, enrichment, and verification.

Caveats

  • Fiber NL results can be noisy for niche industries; filtering guidance is provided within steps.
  • Nyne searches are async and may return 400 errors; not blocking if failed.
  • Some per-company or kitchen-sink enrichment steps can return 400 errors; proceed with other sources if they fail.
  • Pricing notes (e.g., 25 results from Apollo, $0.02 per Fiber NL profile, etc.) are listed as part of the workflow; use as guidance for prioritization.
  • Outputs depend on external data quality; deduplication strategy prioritizes domain-based matching.
From the SKILL.md

# Targeted Prospecting — Industry + Decision Makers + Hiring Signals ## Setup Read your credentials from ~/.gooseworks/credentials.json: ```bash export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") ``` If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` Build a prioritized prospect list for any industry. Finds companies matching your ICP, identifies decision makers by title, enriches with verified contact info, and layers on hiring/intent signals to prioritize who's ready to buy now. ## Workflow ### 1. Parse the Request Extract from the user's query: - **Industry/vertical** (required) — e.g., staffing, fintech, healthcare IT, construction - **Decision maker titles** (required) — e.g., COO, VP Engineering, Head of Marketing - **Location** (optional, default: US) — country, state, city, or region - **Company size** (optional) — employ

What's inside
Steps it walks through
  1. Setup
  2. Workflow
  3. 1. Parse the Request
  4. 2. Find Target Companies
  5. 3. Extract & Deduplicate
  6. 4. Find Decision Makers
  7. 5. Enrich Contacts
  8. 6. Hiring / Intent Signals
  9. 7. Competitive Intel (Optional)
  10. 8. Present Results
  11. APIs Used
  12. Examples
  13. Error Handling
  14. Tips
Ships with 1 file
  • skill.meta.json
Commands it runs
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
Step 1: POST to start search
Step 2: Poll with GET using request_id
Parallel searches for different sub-regions
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/apollo/mixed_people/search \
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/fiber/v1/natural-language-search/profiles \
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/pdl/person/search \
Sixtyfour AI email finder (PRIMARY — found 9/12 emails in testing)
More from goose-skills
All skills →
About this skill
What does the targeted-prospecting skill do?

Build a prospect list of companies with decision makers, verified contact info, and hiring/intent signals. Use when asked to find leads by industry, build an account list with specific titles, prospect companies that are actively hiring, or create a targeted outreach list filtered by company size, location, and hiring activity.

How do I install it?

Run `npx skills add gooseworks-ai/goose-skills --skill targeted-prospecting --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going