research

ICP Identification

Research a company or idea, define the Ideal Customer Profile, and route to the right next step — either mapping the TAM or finding leads/prospects directly. The entry point for any "find me leads", "map my market", or "who should I sell to" request. Auto-loads when a user provides a company URL or idea and asks for leads or market mapping.

Gooseby Athina AI
Install
Terminal
npx gooseworks install --all

# then, in Claude Code, Cursor, or Codex:
/gooseworks use the icp-identification skill
About This Skill

ICP Identification

Research a company or idea, define the Ideal Customer Profile, and route to the right next step. This is the entry point for any "find me leads" or "map my market" request — it sits upstream of all lead-finding and TAM-building skills and ensures we understand the business, define the target, and pick the right approach before executing.

When to Auto-Load

  • User says "find me leads", "help me find prospects", "who should I sell to", or similar
  • User provides a company URL and asks for leads/prospects
  • User describes an idea/product and wants to find customers
  • User asks "who is my ICP?" or "help me define my target market"
  • User asks to "map my TAM", "size my market", or "build a target account list"

Phase 0: Gather Context

When triggered, collect these inputs from the user:

  1. Company URL or describe your idea/product
  2. What does the product/service do? (skip if URL provided — we'll research)
  3. Who are your current customers? (if any — ask for specific company names, titles of buyers/champions, and how they found the product. These examples calibrate search filters far better than abstract descriptions.)
  4. What's your price point / deal size? (helps determine buyer seniority)
  5. Who is NOT a fit? — Ask about industries, company types, company sizes, or roles that are explicitly wrong for this product. Prompt with examples: "Are there industries that definitely don't work? Company sizes too small or too large? Titles that look right but never buy?" Even rough exclusions prevent noisy search results downstream.

If the user provides a company URL, research it using web tools before asking follow-up questions. Don't ask questions you can answer from the website.

Intake principle: Every answer here should help you populate a search filter (title, industry, headcount range, region) or an exclusion filter (titles to skip, industries to ignore, company types to avoid). If a user's answer is too vague to become a filter value, probe deeper. Don't ask generic strategy questions — ask questions that sharpen the search.

Phase 1: Research

Using web search and the company URL, investigate:

  1. Company research — What do they sell? Who do they sell to? Value proposition. Pricing model.
  2. Market analysis — What category/space? Market size signals. Growth stage.
  3. Competitor identification — Who are the top 3-5 competitors? How are they positioned?
  4. Buyer signals — Who buys this kind of product? What titles? What triggers a purchase?

Output: Synthesize findings into a brief (5-10 bullet points) and present to the user for validation. Example:

Research Summary:

  • Company sells X to Y
  • Main competitors: A, B, C
  • Typical buyer: VP/Director level at mid-market companies
  • Purchase triggers: scaling team, switching from legacy tool, new budget cycle
  • Pricing suggests mid-market / enterprise buyer

Ask the user: "Does this match your understanding? Anything to correct or add?"

Phase 2: Define ICP

Based on research + user input, propose a structured ICP:

DimensionRecommendationReasoning
Job Titlese.g., VP Sales, Head of Revenue OpsDirect buyers of sales tools
Senioritye.g., VP, DirectorBudget authority at this deal size
Company Sizee.g., 51-200 employeesSweet spot for this product
Industrye.g., SaaS, FinTechHighest product-market fit
Regione.g., US, SF Bay AreaCurrent market focus
Signalse.g., recently hired, posted about painTiming indicators

Present as a table. Ask user to confirm, adjust, or refine. Iterate until they approve.

Exclusion Criteria (Equally Important)

Define what to filter OUT. These map directly to "not in" / exclusion parameters in search tools:

DimensionExcludeReasoning
Titles to excludee.g., Intern, Coordinator, Assistant, StudentNo budget authority or decision power
Industries to excludee.g., Government, Education, Non-profitProduct doesn't serve these verticals
Company types to excludee.g., Agencies, consultancies, sole proprietorsNot a fit for the product model
Company size to excludee.g., 1-10 employees, 10,000+Too small to need it / too large to buy it
Specific companies to excludee.g., existing customers, competitors, partnersAlready in pipeline or not appropriate

Present exclusions alongside the inclusion table. Ask user to confirm both.

Important: The ICP definition becomes the input context for all downstream skills. Be specific — vague ICPs produce vague leads.

Search precision warning: Downstream tools (Apollo and similar databases) match on the exact title strings, industry tags, and keywords you pass them. Overly broad or stuffed filters (e.g., 15 keyword tags) return noisy results. Each filter value should be specific and intentional. When in doubt, use fewer, more precise values and let exclusions do the narrowing.

Phase 3: Choose Path — TAM or Leads?

Once ICP is locked, ask the user:

"Now that we have the ICP defined, would you like to:

  1. Map your TAM — Build a scored Total Addressable Market: discover all companies matching your ICP, score and tier them, and build a persona watchlist for the best-fit accounts. This is the strategic, market-first approach.
  2. Find leads/prospects now — Go straight to finding individual people to contact. This is the tactical, results-now approach.

TAM mapping is best when you want a full picture of your market, ongoing signal monitoring, and a systematic account-based approach. Lead finding is best when you need contacts to reach out to immediately."

Path A: Map the TAM

If the user chooses TAM mapping, hand off to the TAM builder skill with the ICP definition. The TAM builder will:

  1. Search for companies matching the ICP filters
  2. Score and tier them by fit
  3. Build a persona watchlist for best-fit accounts

When to recommend TAM path:

  • User wants a systematic, account-based approach
  • Market is well-defined but user doesn't know which companies are in it
  • User plans to run ongoing outbound (not a one-shot campaign)
  • User wants to prioritize accounts by fit before reaching out
  • User asks about "market sizing", "target account list", or "account-based"

Path B: Find Leads/Prospects → Lead-Finding Skills

If the user chooses lead finding, present ranked strategies based on what's available in the skill graph:

#StrategySkill UsedBest ForEffort
1Database search — Search people DB by title, industry, region, company sizeapollo-lead-finderHigh volume, broad ICPLow
2Pain language — Find people posting about problems your product solvespain-language-engagersWarm leads with expressed needMedium
3Competitor audiences — Find people engaging with competitor contentcompetitor-post-engagersLeads already in-marketMedium
4KOL audiences — Find leads from industry influencer audienceskol-discoverykol-engager-icpNiche, high-quality leadsMedium
5Hiring signals — Find companies hiring roles your product replaces/supportsjob-posting-intentCompanies with budget & urgencyMedium
6Event attendees — Find leads from industry eventsget-qualified-leads-from-lumaEngaged, in-market leadsLow
7Apollo database search — Search Apollo's 210M+ contact database (free search, paid enrichment)apollo-lead-finderBroadest coverage, cost-controlled enrichmentLow

Recommendation logic:

  • Early-stage / broad ICP → Start with database search (volume) + pain language (warmth)
  • Established with known competitors → Competitor audiences + database search
  • Niche market → KOL audiences + event attendees
  • High urgency / budget signals matter → Hiring signals + database search

Recommend 1-2 strategies based on the ICP and company stage. Ask user to pick which to execute.

Phase 4: Hand Off

Once user selects their path and strategy(ies):

  1. Load the corresponding skill's SKILL.md
  2. Pass the ICP definition as context — titles, industries, regions, company size, signals
  3. Begin that skill's Phase 0 (intake) with ICP already populated — don't re-ask questions the ICP already answers
  4. If multiple strategies selected, execute sequentially — complete one before starting the next

Handoff format

When transitioning to a downstream skill, carry forward:

ICP Context (from icp-identification):
 
Include:
- Titles: [list]
- Seniority: [list]
- Company size: [range]
- Industries: [list]
- Region: [list]
- Signals: [list]
- Product: [what the user sells]
- Competitors: [identified competitors]
 
Exclude:
- Titles to exclude: [list]
- Industries to exclude: [list]
- Company types to exclude: [list]
- Company size to exclude: [ranges]
- Companies to exclude: [specific names, if any]

This ensures downstream skills skip redundant intake questions and start executing immediately. Both inclusion and exclusion criteria must be passed — exclusions are what prevent noisy search results.

What's included

·
User says "find me leads", "help me find prospects", "who should I sell to", or similar
·
User provides a company URL and asks for leads/prospects
·
User describes an idea/product and wants to find customers
·
User asks "who is my ICP?" or "help me define my target market"
·
User asks to "map my TAM", "size my market", or "build a target account list"
You Might Also Like

Render Model Comparison Grid

Render a 'model comparison grid' video from a config — a fal-style "same prompt, N contenders" showcase — a dark real-DOM stage where per beat a monospace prompt fades in centered, docks to a small top strip, then a labeled 2-4 panel grid (static images OR muted video clips, mixable per cell) staggers in and holds for comparison, plus a minimal end card — frame-stepped via Playwright (video cells are frame-seeked deterministically) and encoded with FFmpeg. Deterministic assembly, FREE (cell media comes from create-image-fal / create-video-fal, music from create-music-elevenlabs), text stays pixel-crisp. Use for the model-comparison-grid format.

Render Offer Ad

Render a punchy ~12s vertical (9:16) music-only direct-response OFFER ad as a 4-beat kinetic-typography film — HEADLINE slam → real PRODUCT drop → CLAIM/proof → CTA pill — from one config of copy slots, a real product photo, a brand palette, fonts, bpm, and beat split. DETERMINISTIC + FREE (a bundled Remotion project; springs + interpolate, no AI-gen for visuals). Backgrounds are engine gradient divs off the palette, props are inline SVG, the ONLY composited bitmap is the REAL product photo (objectFit:contain, never stretched), and ALL headline/claim/CTA/URL/wordmark text is typeset in the engine — never AI-rendered (the format's credibility guard). A driver binds the config to Remotion input props, renders the 9:16 master, and derives a 1:1 center-crop with ffmpeg. Two gating checks run before render (claim verbs must match the product's physical format; the claim beat needs an edge-entry mechanism prop). Use for the motion-graphics-offer-ad format.

Render Myth Vs Fact

Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike MYTH cards that flip to teal-check FACT cards (per-line strikethrough that crosses EVERY wrapped line), a "what actually works" turn, an optional proof reveal, a punch line, and a static end card. DETERMINISTIC assembly with ZERO AI-gen visuals — HTML hyperframes rendered frame-exact via Playwright (`window.renderAt(t)`, animation a pure function of beat-local time), Whisper beat-snap to VO word onsets, concat at a uniform fps, karaoke `.ass` captions burned last (suppressed on the proof + end-card beats), and a VO + optional music mix (music −20 dB, `amix normalize=0`, tail fade). FREE (Python + Playwright + ffmpeg); the recipe supplies the copy / palette / end-card / VO and gates the paid VO / music / Whisper calls to their own capabilities. Use for the myth-vs-fact format.

Newsletter

Learn to build Growth systems with AI

2-3 compounding systems per week using Claude Code, OpenClaw, and more.