AI-native lead intelligence and outreach pipeline. Replaces Apollo, Clay, and ZoomInfo with agent-powered signal scoring, mutual ranking, warm path discovery, and personalized outreach. Use when the user wants to find, qualify, and reach high-value contacts.
From everything-claude-codenpx claudepluginhub usernametron/claude-code-arsenalThis skill uses the workspace's default tool permissions.
agents/enrichment-agent.mdagents/mutual-mapper.mdagents/outreach-drafter.mdagents/signal-scorer.mdProcess documents with Nutrient API: convert formats (PDF, DOCX, XLSX, images), OCR scans (100+ languages), extract text/tables, redact PII, sign, fill forms.
Provides Nuxt 4 patterns for hydration safety, SSR-safe data fetching with useFetch/useAsyncData, route rules for prerender/SWR/ISR, lazy loading, and performance optimization.
Guides Next.js 16+ Turbopack for faster dev via incremental bundling, FS caching, and HMR; covers webpack comparison, bundle analysis, and production builds.
Agent-powered lead intelligence pipeline that finds, scores, and reaches high-value contacts through social graph analysis and warm path discovery.
web_search_exa)X_BEARER_TOKEN, X_ACCESS_TOKEN)┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 1. Signal │────>│ 2. Mutual │────>│ 3. Warm Path │────>│ 4. Enrich │────>│ 5. Outreach │
│ Scoring │ │ Ranking │ │ Discovery │ │ │ │ Draft │
└─────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘ └─────────────────┘
Search for high-signal people in target verticals. Assign a weight to each based on:
| Signal | Weight | Source |
|---|---|---|
| Role/title alignment | 30% | Exa, LinkedIn |
| Industry match | 25% | Exa company search |
| Recent activity on topic | 20% | X API search, Exa |
| Follower count / influence | 10% | X API |
| Location proximity | 10% | Exa, LinkedIn |
| Engagement with your content | 5% | X API interactions |
# Step 1: Define target parameters
target_verticals = ["prediction markets", "AI tooling", "developer tools"]
target_roles = ["founder", "CEO", "CTO", "VP Engineering", "investor", "partner"]
target_locations = ["San Francisco", "New York", "London", "remote"]
# Step 2: Exa deep search for people
for vertical in target_verticals:
results = web_search_exa(
query=f"{vertical} {role} founder CEO",
category="company",
numResults=20
)
# Score each result
# Step 3: X API search for active voices
x_search = search_recent_tweets(
query="prediction markets OR AI tooling OR developer tools",
max_results=100
)
# Extract and score unique authors
For each scored target, analyze the user's social graph to find the warmest path.
| Factor | Weight |
|---|---|
| Number of connections to targets | 40% — highest weight, most connections = highest rank |
| Mutual's current role/company | 20% — decision maker vs individual contributor |
| Mutual's location | 15% — same city = easier intro |
| Industry alignment | 15% — same vertical = natural intro |
| Mutual's X handle / LinkedIn | 10% — identifiability for outreach |
Treat this as the canonical network-ranking stage for lead intelligence. Do not run a separate graph skill when this stage is enough.
Given:
T = target leadsM = your mutuals / existing connectionsd(m, t) = shortest hop distance from mutual m to target tw(t) = target weight from signal scoringCompute the base bridge score for each mutual:
B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1)
Where:
λ is the decay factor, usually 0.5For second-order reach, expand one level into the mutual's own network:
B_ext(m) = B(m) + α · Σ_{m' ∈ N(m) \\ M} Σ_{t ∈ T} w(t) · λ^(d(m',t))
Where:
N(m) \\ M is the set of people the mutual knows that you do notα is the second-order discount, usually 0.3Then rank by response-adjusted bridge value:
R(m) = B_ext(m) · (1 + β · engagement(m))
Where:
engagement(m) is a normalized responsiveness scoreβ is the engagement bonus, usually 0.2Interpretation:
R(m) and direct bridge paths -> warm intro asksR(m) and one-hop bridge paths -> conditional intro asksMUTUAL RANKING REPORT
=====================
#1 @mutual_handle (Score: 92)
Name: Jane Smith
Role: Partner @ Acme Ventures
Location: San Francisco
Connections to targets: 7
Connected to: @target1, @target2, @target3, @target4, @target5, @target6, @target7
Best intro path: Jane invested in Target1's company
#2 @mutual_handle2 (Score: 85)
...
For each target, find the shortest introduction chain:
You ──[follows]──> Mutual A ──[invested in]──> Target Company
You ──[follows]──> Mutual B ──[co-founded with]──> Target Person
You ──[met at]──> Event ──[also attended]──> Target Person
For each qualified lead, pull:
Generate personalized outreach for each lead. Two modes:
hey [mutual name],
quick ask. i see you know [target name] at [company].
i'm building [your product] which [1-line relevance to target].
would you be open to a quick intro? happy to send you a
forwardable blurb.
[your name]
hey [target name],
[specific reference to their recent work/post/announcement].
i'm [your name], building [product]. [1 line on why this is
relevant to them specifically].
[specific low-friction ask].
[your name]
Users should set these environment variables:
# Required
export X_BEARER_TOKEN="..."
export X_ACCESS_TOKEN="..."
export X_ACCESS_TOKEN_SECRET="..."
export X_API_KEY="..."
export X_API_SECRET="..."
export EXA_API_KEY="..."
# Optional
export LINKEDIN_COOKIE="..." # For browser-use LinkedIn access
export APOLLO_API_KEY="..." # For Apollo enrichment
This skill includes specialized agents in the agents/ subdirectory:
User: find me the top 20 people in prediction markets I should reach out to
Agent workflow:
1. signal-scorer searches Exa and X for prediction market leaders
2. mutual-mapper checks user's X graph for shared connections
3. enrichment-agent pulls company data and recent activity
4. outreach-drafter generates personalized messages for top ranked leads
Output: Ranked list with warm paths and draft outreach for each