Advanced

How to Build a Prospect Research Agent

How to Build a Prospect Research Agent

Difficulty: Advanced Time to set up: 45 minutes Time per prospect: 3-5 minutes (automated)

Build a Claude Code agent that researches any prospect's website, content, and AI visibility, then generates personalized outreach.


Why This Matters

Cold outreach fails when it is generic. "Hi, I noticed your company does X and I think we could help" gets deleted instantly because it could have been sent to anyone.

Personalized outreach works, but manual research takes 20 to 30 minutes per prospect. At that rate, you can research maybe 10 to 15 prospects per day before your brain turns to mush.

This playbook shows you how to build a research agent that does the 20-minute job in 3 minutes, then writes personalized connection requests and follow-up messages based on what it finds. This is essentially the system that SuperMarketers built internally for their outreach, packaged here as something you can build yourself.

What You Will Build

A multi-skill system with three components: a research protocol, a scoring rubric, and a message writer. Together, they take a prospect's website URL and produce a research brief, a visibility score, and ready-to-send outreach messages.

Tools used: Claude Code (terminal), web search, web fetch, CLAUDE.md, multiple skill files


Step 1: Define the Research Protocol

Create skills/prospect-research.md:

# Prospect Research Agent

## Purpose
Research a prospect's digital presence to identify their AI visibility gaps,
content strategy, and outreach angles. Produce a brief that a salesperson
could read in 2 minutes and feel prepared for a conversation.

## Research Protocol

When given a company name or URL, research in this order:

### 1. Company Overview
- Fetch the homepage and about page
- Identify: what they sell, who they sell to, company size (if visible)
- Note their positioning and key messaging
- Look for recent news or announcements

### 2. Content and Blog Analysis
- Fetch their blog or resources page
- Note: posting frequency, topics covered, content quality
- Check for: thought leadership content, case studies, guides
- Identify their apparent content strategy (or lack of one)

### 3. LinkedIn Presence
- Search for the company's LinkedIn page
- Note: follower count, posting frequency, engagement levels
- Search for the founder/CEO's LinkedIn activity
- Note: are they active? What do they post about?

### 4. AI Visibility Quick Check
- Search Perplexity for "[company name] + [their primary keyword]"
- Check if they appear in AI-generated answers
- Fetch their robots.txt to check AI crawler access
- Look for schema markup on their homepage
- Rate their AI visibility: Strong / Moderate / Weak / None

### 5. Tech Stack Signals
- Check for marketing tools (look at page source for analytics tags,
  chat widgets, email capture forms)
- Note what marketing infrastructure they have in place
- This tells you how sophisticated their marketing operation is

## Output: Research Brief
Format the findings as:

---
**Prospect:** [Company Name]
**URL:** [URL]
**Date:** [Date]

**Company:** [What they do, 1-2 sentences]
**Size:** [If known]
**Industry:** [Specific]

**Content Assessment:**
- Blog active: Yes/No (last post date)
- Content quality: High/Medium/Low
- Topics: [What they write about]
- LinkedIn activity: Active/Sporadic/Dormant

**AI Visibility Score:** [Strong/Moderate/Weak/None]
- Schema markup: Yes/No
- AI crawler access: Allowed/Blocked/Partial
- Cited in AI search: Yes/No
- FAQ content: Yes/No
- Definitional content: Yes/No

**Outreach Angles:**
1. [Specific angle based on findings]
2. [Another angle]
3. [Another angle]

**Conversation Starters:**
- [Something specific you could reference in outreach]
- [A genuine compliment or observation about their content]
- [A gap you noticed that you could help with]
---

Step 2: Build the Scoring Rubric

Create skills/prospect-scoring.md:

# Prospect Scoring Rubric

## Purpose
Score prospects on their AI visibility readiness and potential value.
This helps prioritize outreach — focus on prospects who have
the biggest gaps AND the budget/sophistication to care.

## Scoring Dimensions (each scored 1-5)

### AI Visibility Gap (1 = no gap, 5 = completely invisible)
- 5: No schema, no AI citations, no structured content, AI crawlers blocked
- 4: Missing most elements, no AI citations
- 3: Some schema or structured content, but not cited
- 2: Decent structure, occasionally cited
- 1: Strong AI visibility already (not a great prospect for this service)

### Marketing Sophistication (1 = none, 5 = very advanced)
- 5: Active blog, email capture, analytics, social presence, paid ads
- 4: Most of the above, some gaps
- 3: Blog exists but irregular, basic analytics
- 2: Minimal content, basic website
- 1: Barely any marketing infrastructure

### Engagement Likelihood (1 = unlikely, 5 = very likely)
- 5: Active on LinkedIn, publishes content, engages with similar topics
- 4: Somewhat active, occasional engagement
- 3: Present but not very active
- 2: Has profiles but rarely posts
- 1: No visible social activity

### Budget Signal (1 = low, 5 = high)
- 5: Funded startup, enterprise company, or visible marketing spend
- 4: Growing company with some marketing investment
- 3: Moderate size, unclear marketing budget
- 2: Small operation, minimal visible spend
- 1: Very early stage, likely no budget

## Overall Score
Add all four dimensions. Max score: 20.

- **16-20: Priority prospect.** High gap + high sophistication = they need this and can pay for it.
- **11-15: Good prospect.** Worth reaching out, might need education on why AI visibility matters.
- **6-10: Low priority.** Either no gap or no budget. Revisit later.
- **1-5: Skip.** Not a fit right now.

## Output Format
Include the score breakdown in the research brief:

**Prospect Score: [Total]/20**
- AI Visibility Gap: [X]/5
- Marketing Sophistication: [X]/5
- Engagement Likelihood: [X]/5
- Budget Signal: [X]/5
- **Priority Level:** [Priority/Good/Low/Skip]

Step 3: Build the Message Writer

Create skills/prospect-outreach.md:

# Prospect Outreach Message Writer

## Purpose
Generate personalized outreach messages based on the research brief.
Every message must reference something specific from the research.
Generic messages are a failure state.

## Message Types

### LinkedIn Connection Request (max 300 characters)
Rules:
- Lead with something specific about THEM, not about you
- One sentence about what you noticed, one about why you are connecting
- No pitch in the connection request
- No "I'd love to pick your brain" or "I came across your profile"

Template structure:
[Specific observation about their content/company] + [Why you are reaching out]

Example:
"Your post about content velocity last week nailed the distribution problem.
Building something in the AI visibility space and your perspective would be valuable."

### Follow-Up DM (after connection accepted, max 500 characters)
Rules:
- Reference the connection request context
- Offer something specific and valuable (audit, insight, resource)
- One clear next step
- Do not pitch your product. Pitch the conversation.

Template structure:
[Callback to connection] + [Specific value offer] + [Easy next step]

Example:
"Thanks for connecting. I ran a quick AI visibility check on [company] —
you have solid content but you are not showing up in Perplexity or ChatGPT
for [keyword]. Happy to share what I found — takes 5 minutes. Worth a look?"

### Cold Email (if email address available)
Rules:
- Subject line: max 6 words, specific to them
- First line: specific observation (proves you did research)
- Body: one paragraph, max 100 words
- The value prop: what you can show them about their own visibility
- CTA: one question, easy to answer yes or no
- No attachments on first email
- No "I hope this email finds you well"

Template:
Subject: [Their company name] + AI visibility
[Specific observation]
[One paragraph connecting their gap to your expertise]
[Simple question CTA]

## Personalization Rules
Every message MUST include at least one of:
- A reference to a specific piece of their content
- A specific finding from the visibility audit
- A genuine observation about their business strategy
- A relevant industry data point connected to their situation

Messages that could be sent to anyone are rejected. Rewrite until specific.

## Batch Mode
When processing multiple prospects, generate all three message types
for each prospect. Format as:

### [Company Name]
**Score:** [X]/20 | **Priority:** [Level]

**Connection Request:**
[message]

**Follow-Up DM:**
[message]

**Cold Email:**
Subject: [subject]
[body]

---

Step 4: Connect Everything in CLAUDE.md

Add all three skills to your CLAUDE.md:

## Skill Files
- `skills/prospect-research.md` — Research protocol for prospect analysis
- `skills/prospect-scoring.md` — Scoring rubric for prospect prioritization
- `skills/prospect-outreach.md` — Personalized message writer

Add a section about your outreach context:

## Outreach Context
**My role:** [Your title and company]
**What I offer:** [The service/product you are reaching out about]
**Ideal prospect:** [Company type, size, industry]
**My LinkedIn:** [URL]
**My credibility signal:** [e.g., "We helped X company achieve Y result"]

Step 5: Run It on a Single Prospect

Start with one prospect to test the system:

Research this prospect and generate outreach:
https://example-saas.com

Use the prospect research, scoring, and outreach skills.

Claude Code will:

  1. Fetch and analyze the website
  2. Check their AI visibility
  3. Research their LinkedIn presence
  4. Score them on the rubric
  5. Generate personalized connection request, DM, and email

Review the output carefully on your first few runs. Look for:

  • Is the research accurate? Did it get the company description right?
  • Is the scoring reasonable? Would you agree with the priority level?
  • Are the messages genuinely personalized? Could they only be sent to this prospect?

Step 6: Run on a Batch

Once you are confident in the system, run it on multiple prospects:

Research and generate outreach for these 5 prospects:
1. company-a.com
2. company-b.com
3. company-c.com
4. company-d.com
5. company-e.com

Sort the results by prospect score, highest first.
Only generate outreach messages for prospects scoring 11 or above.

For larger batches, you can create a simple text file with your prospect list:

# prospects.txt
company-a.com
company-b.com
company-c.com
company-d.com
company-e.com

Then:

Read prospects.txt and research each company.
Generate a summary table first, then detailed briefs for the top scorers.

Output Example

Here is what the combined output looks like for one prospect:

## Prospect: ExampleSaaS

**URL:** examplesaas.com
**What they do:** Project management tool for remote engineering teams
**Size:** ~50 employees (based on LinkedIn)
**Industry:** B2B SaaS, DevTools

**Content Assessment:**
- Blog: Active, 2-3 posts/month, last post Feb 20
- Content quality: Medium (informative but generic)
- Topics: Remote work, engineering productivity, team management
- LinkedIn: Company page active, CEO posts weekly

**AI Visibility Score: Weak**
- Schema markup: No
- AI crawler access: Allowed (no blocks in robots.txt)
- Cited in AI search: No (tested 3 queries in Perplexity)
- FAQ content: No
- Definitional content: No "What is" pages

**Prospect Score: 16/20**
- AI Visibility Gap: 5/5
- Marketing Sophistication: 4/5
- Engagement Likelihood: 4/5
- Budget Signal: 3/5
- **Priority Level: Priority**

**Outreach Angles:**
1. They blog regularly but get zero AI citations — easy win with schema + FAQ
2. CEO is active on LinkedIn — warm approach through content engagement
3. Their competitors likely have the same gaps — position as industry insight

---

**Connection Request:**
"Your recent post on async standups for distributed teams was sharp —
especially the bit about meeting fatigue metrics. Working on AI visibility
for DevTools companies and would love to connect."

**Follow-Up DM:**
"Thanks for connecting. I checked ExampleSaaS's visibility in Perplexity
and ChatGPT — you are not showing up for 'remote project management tools'
despite having solid blog content. Found 3 quick fixes. Worth 5 min
to walk through?"

**Cold Email:**
Subject: ExampleSaaS AI visibility
Your blog on async standups was one of the better takes I have read
on remote engineering management.

Quick finding: ExampleSaaS is not showing up in AI search results for
your core keywords, even though you have the content to rank. Three
specific fixes (schema, FAQ sections, definitional pages) would likely
change that within 30 days.

Worth a 10-minute call to walk through what I found?

Refining the System

After running 10 to 20 prospects through the system, you will notice patterns:

  • Some research steps consistently produce thin results. Cut or modify them.
  • Some outreach angles land better than others. Weight those in your skill file.
  • Your scoring rubric might need calibration. If everyone scores 14-16, your scale is too narrow.

Update your skill files based on real results. Track which messages get responses. Feed winning messages back as examples in your outreach skill.

File Structure

marketing-system/
  CLAUDE.md
  prospects.txt
  skills/
    prospect-research.md
    prospect-scoring.md
    prospect-outreach.md
  research/
    examplesaas-2026-02-27.md
    company-b-2026-02-27.md

Tools used in this playbook: Claude Code CLI, web search, web fetch, CLAUDE.md, skill files, markdown

Tools

The best AI marketing tools, reviewed and rated by marketers who actually use them.

No items found.