lead-intelligence
affaan-m/ECC
Identifica, avalia e alcança contatos de alto valor por meio da análise do gráfico social e da descoberta de caminhos promissores, gerando rascunhos personalizados de contato para e-mail, LinkedIn e X.
...Expandir tudoInteligência de Leads
Funil de inteligência de leads impulsionado por agentes que identifica, classifica e alcança contatos de alto valor por meio da análise de grafos sociais e da descoberta de caminhos de contato já estabelecidos.
Quando ativar
- O usuário deseja encontrar leads ou clientes potenciais em um setor específico
- Criação de uma lista de contatos para parcerias, vendas ou captação de recursos
- Pesquisar quem contatar e o melhor caminho para chegar até essas pessoas
- O usuário diz “encontrar leads”, “lista de contatos”, “com quem devo entrar em contato”, “apresentações em contatos já estabelecidos”
- Precisa pontuar ou classificar uma lista de contatos por relevância
- Deseja mapear conexões mútuas para encontrar caminhos de apresentações favoráveis
Requisitos da ferramenta
Obrigatórios
- Exa MCP — Pesquisa na deep web por pessoas, empresas e sinais (
web_search_exa) - X API — Gráfico de seguidores/seguidos, análise de conexões mútuas, atividades recentes (
X_BEARER_TOKEN, além de credenciais de contexto de gravação, comoX_CONSUMER_KEY,X_CONSUMER_SECRET,X_ACCESS_TOKEN,X_ACCESS_TOKEN_SECRET)
Opcional (para aprimorar os resultados)
- LinkedIn — API direta, se disponível; caso contrário, controle do navegador para pesquisa, inspeção de perfil e elaboração de rascunhos
- API do Apollo/Clay — Para enriquecimento e referência cruzada, caso o usuário tenha acesso
- GitHub MCP — Para qualificação de leads com foco em desenvolvedores
- Apple Mail / Mail.app — Elabore rascunhos de e-mails “a frio” ou “a quente” sem enviá-los automaticamente
- Controle do navegador — Para o LinkedIn e o X quando a cobertura da API estiver ausente ou limitada
Visão geral do funil
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 1. Signal │────>│ 2. Mutual │────>│ 3. Warm Path │────>│ 4. Enrich │────>│ 5. Outreach │
│ Scoring │ │ Ranking │ │ Discovery │ │ │ │ Draft │
└─────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘ └─────────────────┘
Comunicação por voz antes do contato
Não redija mensagens de saída com base em modelos genéricos de vendas.
Execute brand-voice primeiro sempre que a voz do usuário for importante. Reutilize-a VOICE PROFILE em vez de criar um estilo ad hoc dentro desta skill.
Se houver acesso ao X em tempo real, recupere as postagens originais recentes antes de redigir. Caso contrário, use os exemplos fornecidos ou o melhor material disponível no repositório/site.
Etapa 1: Pontuação de sinais
Procure pessoas com alto sinal nos setores-alvo. Atribua um peso a cada uma com base em:
| Sinal | Ponderação | Fonte |
|---|---|---|
| Alinhamento de função/cargo | 30% | Exa, LinkedIn |
| Correspondência com o setor | 25% | Pesquisa de empresas no Exa |
| Atividade recente sobre o tema | 20% | Pesquisa na API X, Exa |
| Número de seguidores / influência | 10% | API X |
| Proximidade geográfica | 10% | Exa, LinkedIn |
| Engajamento com seu conteúdo | 5% | X Interações com a API |
Abordagem de pesquisa por sinais
# 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
Etapa 2: Classificação mútua
Para cada alvo pontuado, analise o gráfico social do usuário para encontrar o caminho mais promissor.
Modelo de classificação
- Recupere a lista de seguidores do usuário no X e suas conexões no LinkedIn
- Para cada alvo de alto sinal, verifique se há conexões em comum
- Aplique o
social-graph-rankermodelo para pontuar o valor de ponte - Classifique os contatos mútuos por:
| Fator | Peso |
|---|---|
| Número de conexões com os alvos | 40% — maior peso: quanto mais conexões, maior a classificação |
| Função atual/empresa do contato | 20% — tomador de decisão x colaborador individual |
| Localização do contato | 15% — mesma cidade = apresentação mais fácil |
| Alinhamento setorial | 15% — mesmo setor = apresentação natural |
| Nome de usuário no X / LinkedIn da pessoa em questão | 10% — facilidade de identificação para contato |
Regra canônica:
Use social-graph-ranker when the user wants the graph math itself,
the bridge ranking as a standalone report, or explicit decay-model tuning.
Dentro desta habilidade, use o mesmo modelo de ponte ponderada:
B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1)
R(m) = B_ext(m) · (1 + β · engagement(m))
Interpretação:
- Nível 1: alta
R(m)e caminhos diretos de ponte -> solicitações de apresentação por contato prévio - Nível 2: médio
R(m)e caminhos de ponte de um salto -> solicitações de contato condicionais - Nível 3: sem ponte viável -> contato direto a frio usando o mesmo registro de lead
Formato de saída
If the user explicitly wants the ranking engine broken out, the math visualized, or the network scored outside the full lead workflow, run `social-graph-ranker` as a standalone pass first and feed the result back into this pipeline.
MUTUAL 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)
...
Etapa 3: Descoberta de caminhos “quentes”
Para cada alvo, encontre a cadeia de introdução mais curta:
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
Tipos de caminhos (ordenados por grau de proximidade)
- Mútuo direto — Vocês dois seguem/conhecem a mesma pessoa
- Conexão de portfólio — Ambos investiram ou prestam consultoria à empresa do alvo
- Colega de trabalho/ex-aluno — Ambos trabalharam na mesma empresa ou estudaram na mesma instituição
- Sobreposição de eventos — Ambos participaram da mesma conferência/programa
- Engajamento com conteúdo — O alvo interagiu com o conteúdo do contato em comum ou vice-versa
Etapa 4: Enriquecimento
Para cada lead qualificado, obtenha:
- Nome completo, cargo atual, empresa
- Tamanho da empresa, estágio de financiamento, notícias recentes
- Últimas X publicações (últimos 30 dias) — tópicos, tom, interesses
- Interesses em comum com o usuário (seguidores compartilhados, conteúdo semelhante)
- Eventos recentes da empresa (lançamento de produto, rodada de financiamento, contratações)
Fontes de enriquecimento
- Ex.: dados da empresa, notícias, publicações no blog
- API do X: tweets recentes, biografia, seguidores
- GitHub: contribuições em código aberto (para leads voltados para desenvolvedores)
- LinkedIn (via navegador): perfil completo, experiência profissional, formação acadêmica
Etapa 5: Rascunho da abordagem
Crie uma abordagem personalizada para cada lead. O rascunho deve corresponder ao perfil de tom de voz derivado da fonte e ao canal de destino.
Regras do canal
- Utilize para abordagens frias de maior valor, apresentações em ambiente familiar, contato com investidores e solicitações de parceria
- Por padrão, redija no Apple Mail / Mail.app quando o controle local do desktop estiver disponível
- Crie rascunhos primeiro; não envie automaticamente, a menos que o usuário solicite explicitamente
- O assunto deve ser simples e específico, sem tentativas de ser engraçado
- Use quando o destinatário estiver ativo na plataforma, quando o contexto de conexões mútuas for mais forte no LinkedIn ou quando a confiança no e-mail for baixa
- Prefira o acesso à API, se disponível
- Caso contrário, use o controle do navegador para inspecionar perfis, atividades recentes e redigir a mensagem
- Mantenha a mensagem mais curta do que um e-mail e evite demonstrar cordialidade profissional forçada
X
- Use para abordagens de operadores, desenvolvedores ou investidores em contextos complexos, onde o comportamento nas publicações públicas é relevante
- Dê preferência ao acesso à API para análises de pesquisa, linha do tempo e engajamento
- Recorra ao controle do navegador quando necessário
- Mensagens diretas e respostas públicas devem ser bem mais concisas do que e-mails e devem fazer referência a algo real da linha do tempo do destinatário
Heurística de seleção de canal
Escolha um canal principal nesta ordem:
- apresentação informal por e-mail
- e-mail direto
- mensagem direta no LinkedIn
- Mensagem direta no X ou resposta
Use o abordagem multicanal somente quando houver um motivo forte e a frequência não pareça spam.
Solicitação de apresentação amigável (a um contato em comum)
Objetivo:
- um pedido claro
- um motivo concreto pelo qual essa apresentação faz sentido
- texto curto e fácil de encaminhar, se necessário
Evite:
- explicar demais sobre sua empresa
- acumular provas sociais
- parecer um modelo de campanha de arrecadação de fundos
Abordagem direta a clientes em potencial (para o público-alvo)
Objetivo:
- começar com algo específico e recente
- explicar por que a combinação é real
- fazer um pedido sem pressão
Evite:
- admiração genérica
- enumerar características
- pedidos genéricos como “adoraria entrar em contato”
- perguntas retóricas forçadas
Padrão de execução
Para cada alvo, produza:
- o canal recomendado
- o motivo pelo qual esse canal é o melhor
- o rascunho da mensagem
- rascunho opcional de acompanhamento
- se o e-mail for o canal escolhido e o Apple Mail estiver disponível, crie um rascunho em vez de apenas enviar o texto
Se o controle do navegador estiver disponível:
- LinkedIn: analise o perfil de destino, as atividades recentes e o contexto mútuo; em seguida, redija ou prepare a mensagem
- X: analise as postagens ou respostas recentes e, em seguida, elabore um rascunho para uma mensagem direta ou uma resposta pública
Se a automação no desktop estiver disponível:
- Apple Mail: crie um rascunho de e-mail com assunto, corpo e destinatário
Não envie mensagens automaticamente sem a aprovação explícita do usuário.
Antipadrões
- modelos genéricos sem personalização
- parágrafos longos explicando toda a sua empresa
- vários pedidos em uma única mensagem
- falsa familiaridade sem detalhes
- mensagens enviadas em massa com campos de fusão visíveis
- texto idêntico reutilizado em e-mail, LinkedIn e X
- texto genérico, moldado pela plataforma, em vez da voz autêntica do autor
Configuração
Os usuários devem definir estas variáveis de ambiente:
# Required
export X_BEARER_TOKEN="..."
export X_ACCESS_TOKEN="..."
export X_ACCESS_TOKEN_SECRET="..."
export X_CONSUMER_KEY="..."
export X_CONSUMER_SECRET="..."
export EXA_API_KEY="..."
# Optional
export LINKEDIN_COOKIE="..." # For browser-use LinkedIn access
export APOLLO_API_KEY="..." # For Apollo enrichment
Agentes
Esta skill inclui agentes especializados no agents/ subdiretório:
- signal-scorer — Pesquisa e classifica clientes potenciais com base em sinais de relevância
- mutual-mapper — Mapeia conexões no grafo social e identifica caminhos promissores
- enrichment-agent — Obtém dados detalhados de perfis e empresas
- outreach-drafter — Gera mensagens personalizadas
Exemplo de uso
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, voice profile summary, and channel-specific outreach drafts or drafts-in-app
Habilidades relacionadas
brand-voicepara captura canônica de vozconnections-optimizerpara poda e expansão da rede com foco na revisão antes da abordagem
---
name: lead-intelligence
description: Finds, scores, and reaches high-value contacts through social graph analysis and warm path discovery, generating personalized outreach drafts for email, LinkedIn, and X.
---
# Lead Intelligence
Agent-powered lead intelligence pipeline that finds, scores, and reaches high-value contacts through social graph analysis and warm path discovery.
## When to Activate
- User wants to find leads or prospects in a specific industry
- Building an outreach list for partnerships, sales, or fundraising
- Researching who to reach out to and the best path to reach them
- User says "find leads", "outreach list", "who should I reach out to", "warm intros"
- Needs to score or rank a list of contacts by relevance
- Wants to map mutual connections to find warm introduction paths
## Tool Requirements
### Required
- **Exa MCP** — Deep web search for people, companies, and signals (`web_search_exa`)
- **X API** — Follower/following graph, mutual analysis, recent activity (`X_BEARER_TOKEN`, plus write-context credentials such as `X_CONSUMER_KEY`, `X_CONSUMER_SECRET`, `X_ACCESS_TOKEN`, `X_ACCESS_TOKEN_SECRET`)
### Optional (enhance results)
- **LinkedIn** — Direct API if available, otherwise browser control for search, profile inspection, and drafting
- **Apollo/Clay API** — For enrichment cross-reference if user has access
- **GitHub MCP** — For developer-centric lead qualification
- **Apple Mail / Mail.app** — Draft cold or warm email without sending automatically
- **Browser control** — For LinkedIn and X when API coverage is missing or constrained
## Pipeline Overview
```
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 1. Signal │────>│ 2. Mutual │────>│ 3. Warm Path │────>│ 4. Enrich │────>│ 5. Outreach │
│ Scoring │ │ Ranking │ │ Discovery │ │ │ │ Draft │
└─────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘ └─────────────────┘
```
## Voice Before Outreach
Do not draft outbound from generic sales copy.
Run `brand-voice` first whenever the user's voice matters. Reuse its `VOICE PROFILE` instead of re-deriving style ad hoc inside this skill.
If live X access is available, pull recent original posts before drafting. If not, use supplied examples or the best repo/site material available.
## Stage 1: Signal Scoring
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 |
### Signal Search Approach
```python
# 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
```
## Stage 2: Mutual Ranking
For each scored target, analyze the user's social graph to find the warmest path.
### Ranking Model
1. Pull user's X following list and LinkedIn connections
2. For each high-signal target, check for shared connections
3. Apply the `social-graph-ranker` model to score bridge value
4. Rank mutuals by:
| 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 |
Canonical rule:
```text
Use social-graph-ranker when the user wants the graph math itself,
the bridge ranking as a standalone report, or explicit decay-model tuning.
```
Inside this skill, use the same weighted bridge model:
```text
B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1)
R(m) = B_ext(m) · (1 + β · engagement(m))
```
Interpretation:
- Tier 1: high `R(m)` and direct bridge paths -> warm intro asks
- Tier 2: medium `R(m)` and one-hop bridge paths -> conditional intro asks
- Tier 3: no viable bridge -> direct cold outreach using the same lead record
### Output Format
```
If the user explicitly wants the ranking engine broken out, the math visualized, or the network scored outside the full lead workflow, run `social-graph-ranker` as a standalone pass first and feed the result back into this pipeline.
MUTUAL 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)
...
```
## Stage 3: Warm Path Discovery
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
```
### Path Types (ordered by warmth)
1. **Direct mutual** — You both follow/know the same person
2. **Portfolio connection** — Mutual invested in or advises target's company
3. **Co-worker/alumni** — Mutual worked at same company or attended same school
4. **Event overlap** — Both attended same conference/program
5. **Content engagement** — Target engaged with mutual's content or vice versa
## Stage 4: Enrichment
For each qualified lead, pull:
- Full name, current title, company
- Company size, funding stage, recent news
- Recent X posts (last 30 days) — topics, tone, interests
- Mutual interests with user (shared follows, similar content)
- Recent company events (product launch, funding round, hiring)
### Enrichment Sources
- Exa: company data, news, blog posts
- X API: recent tweets, bio, followers
- GitHub: open source contributions (for developer-centric leads)
- LinkedIn (via browser-use): full profile, experience, education
## Stage 5: Outreach Draft
Generate personalized outreach for each lead. The draft should match the source-derived voice profile and the target channel.
### Channel Rules
#### Email
- Use for the highest-value cold outreach, warm intros, investor outreach, and partnership asks
- Default to drafting in Apple Mail / Mail.app when local desktop control is available
- Create drafts first, do not send automatically unless the user explicitly asks
- Subject line should be plain and specific, not clever
#### LinkedIn
- Use when the target is active there, when mutual graph context is stronger on LinkedIn, or when email confidence is low
- Prefer API access if available
- Otherwise use browser control to inspect profiles, recent activity, and draft the message
- Keep it shorter than email and avoid fake professional warmth
#### X
- Use for high-context operator, builder, or investor outreach where public posting behavior matters
- Prefer API access for search, timeline, and engagement analysis
- Fall back to browser control when needed
- DMs and public replies should be much tighter than email and should reference something real from the target's timeline
#### Channel Selection Heuristic
Pick one primary channel in this order:
1. warm intro by email
2. direct email
3. LinkedIn DM
4. X DM or reply
Use multi-channel only when there is a strong reason and the cadence will not feel spammy.
### Warm Intro Request (to mutual)
Goal:
- one clear ask
- one concrete reason this intro makes sense
- easy-to-forward blurb if needed
Avoid:
- overexplaining your company
- social-proof stacking
- sounding like a fundraiser template
### Direct Cold Outreach (to target)
Goal:
- open from something specific and recent
- explain why the fit is real
- make one low-friction ask
Avoid:
- generic admiration
- feature dumping
- broad asks like "would love to connect"
- forced rhetorical questions
### Execution Pattern
For each target, produce:
1. the recommended channel
2. the reason that channel is best
3. the message draft
4. optional follow-up draft
5. if email is the chosen channel and Apple Mail is available, create a draft instead of only returning text
If browser control is available:
- LinkedIn: inspect target profile, recent activity, and mutual context, then draft or prepare the message
- X: inspect recent posts or replies, then draft DM or public reply language
If desktop automation is available:
- Apple Mail: create draft email with subject, body, and recipient
Do not send messages automatically without explicit user approval.
### Anti-Patterns
- generic templates with no personalization
- long paragraphs explaining your whole company
- multiple asks in one message
- fake familiarity without specifics
- bulk-sent messages with visible merge fields
- identical copy reused for email, LinkedIn, and X
- platform-shaped slop instead of the author's actual voice
## Configuration
Users should set these environment variables:
```bash
# Required
export X_BEARER_TOKEN="..."
export X_ACCESS_TOKEN="..."
export X_ACCESS_TOKEN_SECRET="..."
export X_CONSUMER_KEY="..."
export X_CONSUMER_SECRET="..."
export EXA_API_KEY="..."
# Optional
export LINKEDIN_COOKIE="..." # For browser-use LinkedIn access
export APOLLO_API_KEY="..." # For Apollo enrichment
```
## Agents
This skill includes specialized agents in the `agents/` subdirectory:
- **signal-scorer** — Searches and ranks prospects by relevance signals
- **mutual-mapper** — Maps social graph connections and finds warm paths
- **enrichment-agent** — Pulls detailed profile and company data
- **outreach-drafter** — Generates personalized messages
## Example Usage
```
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, voice profile summary, and channel-specific outreach drafts or drafts-in-app
```
## Related Skills
- `brand-voice` for canonical voice capture
- `connections-optimizer` for review-first network pruning and expansion before outreach
Todos os arquivos
5 arquivosInstalar lead-intelligence
Baixe e extraia os arquivos de habilidades para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/affaan-m/ECC/tree/main/skills/lead-intelligence # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
