Communitygithub.com

Encontrar Influenciadores do Twitter/X

Encontre influenciadores do Twitter/X para promover um produto ou marca. Use quando for solicitado a encontrar influenciadores, descobrir contas do Twitter para parcerias, identificar criadores em um nicho ou construir uma lista de divulgação para influenciadores.

O que é X?

Esta skill realiza a descoberta, pontuação e enriquecimento de influenciadores do Twitter/X relevantes para uma empresa, produto ou nicho específico. Ela é particularmente útil para equipes de marketing, growth e relações públicas que desejam identificar criadores de conteúdo para campanhas de divulgação ou parcerias. A skill suporta múltiplos runtimes, incluindo clientes sem terminal (usando ferramentas MCP conectadas) e terminais locais (usando comandos proxy do GooseWorks). O fluxo de trabalho começa com a resolução da empresa alvo via Brand.dev para obter contexto, seguido por três estratégias de descoberta executadas em paralelo: busca Exa por listas selecionadas de influenciadores, Exa findSimilar para expandir a partir de boas listas, e Fiber para capturar profissionais ativos no LinkedIn com presença no Twitter. Após a coleta, a skill extrai e desduplica handles, obtém perfis e tweets via Scrape Creators, aplica filtros rigorosos (como seguidores mínimos, relevância do nicho e atividade recente), e pontua os candidatos usando um modelo composto que considera relevância, taxa de engajamento, contagem de seguidores, qualidade do conteúdo e alinhamento de audiência. Finalmente, enriquece os contatos dos melhores candidatos com e-mails e perfis do LinkedIn, entregando uma tabela classificada com métricas de engajamento e justificativas de relevância.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gooseworks-ai/goose-skills/tree/HEAD/skills/social/capabilities/find-twitter-influencers

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Encontre Influenciadores do Twitter

Configuração

Escolha o runtime disponível antes de qualquer configuração de credenciais:

  • Cliente sem terminal: pule os comandos de shell abaixo. Use ferramentas MCP conectadas. Para operações do ScrapeCreators, leia scrapecreators-api e prefira call_data_provider. Para outra etapa de provedor sem uma ferramenta conectada, use um método público-web equivalente quando preservar o fluxo de trabalho, ou reporte claramente a etapa como indisponível.
  • Terminal local: use as credenciais e comandos proxy do GooseWorks abaixo.

Leia suas credenciais de ~/.gooseworks/credentials.json:

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'))")

Se ~/.gooseworks/credentials.json não existir, diga ao usuário para executar: npx gooseworks login

Os endpoints proxy locais usam autenticação Bearer: -H "Authorization: Bearer $GOOSEWORKS_API_KEY". As descrições das operações do ScrapeCreators abaixo permanecem neutras em relação ao ambiente em ambos os runtimes.

Descubra, pontue e enriqueça influenciadores do Twitter/X relevantes para uma empresa, produto ou nicho. Retorna uma lista classificada com métricas de engajamento, justificativa de relevância e informações de contato.

Fluxo de Trabalho

1. Analise a Solicitação

Extraia da consulta do usuário:

  • Nome da empresa ou domínio (obrigatório) — a marca que busca influenciadores
  • Nicho/vertical (opcional) — ex.: "fintech Twitter", "criadores AI/ML", "beleza DTC"
  • Preferência de tamanho (opcional) — médio (10K-100K), macro (100K+), ou misto (padrão: mínimo 10K+)
  • Máximo de resultados (opcional, padrão 20 — ajuste para cima ou para baixo se o usuário solicitar)

2. Resolva a Empresa

Use Brand.dev para obter domínio, setor, descrição, público-alvo e palavras-chave. Este contexto orienta todas as pesquisas subsequentes.

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve-by-name","query":{"name":"Acme","Corp":""}}'

Se um domínio for fornecido diretamente:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"acme.com"}}'

A partir do resultado, construa uma string de contexto da empresa: nome da empresa, domínio, setor, descrição e palavras-chave do público-alvo. Exemplo: "Acme Corp acme.com ferramentas de desenvolvedor API plataforma equipes de engenharia". Use isto em todas as consultas de pesquisa.

3. Descubra Candidatos

Execute três estratégias em paralelo para maximizar a cobertura:

Estratégia A — Pesquisa Exa por listas selecionadas de influenciadores (principal, maior sinal):

IMPORTANTE: Perfis x.com e twitter.com NÃO estão no índice de pesquisa do Exa, portanto includeDomains: ["x.com"] retornará zero resultados do Twitter. Em vez disso, pesquise por páginas de listas selecionadas, posts de blog e artigos sobre influenciadores no nicho. Use contents.text para obter o conteúdo da página para que você possa extrair handles do Twitter dele.

Execute 5+ variações de consulta para maximizar a cobertura. Inclua o núcleo do nicho E nichos adjacentes — muitos influenciadores abrangem tópicos relacionados. Cada consulta retorna 10 resultados com conteúdo de texto:

# Consulta 1: Núcleo do nicho — listas selecionadas
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "melhores contas do Twitter {niche} para seguir",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# Consulta 2: Núcleo do nicho — redação diferente
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "principais influenciadores do setor {industry} no X Twitter para seguir",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# Consulta 3: Núcleo do nicho — líderes de pensamento
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "líderes de pensamento criadores {niche} handles do Twitter",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# Consulta 4: Nicho adjacente 1 (ex.: se o nicho for "verificação de identidade", tente "prevenção de fraudes")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "principais influenciadores {adjacent_niche_1} contas do Twitter para seguir",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# Consulta 5: Nicho adjacente 2 (ex.: "cybersegurança", "regtech", "biometria")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "melhores especialistas criadores {adjacent_niche_2} no X Twitter",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

Escolhendo nichos adjacentes: A partir do contexto da empresa (Etapa 2), identifique 2-3 verticais relacionadas. Exemplos:

  • Verificação de identidade → prevenção de fraudes, cybersegurança, regtech, biometria
  • Fintech → bancos, pagamentos, DeFi, regulação financeira
  • AI/ML → ciência de dados, MLOps, ferramentas de desenvolvedor
  • Beleza DTC → cuidados com a pele, bem-estar, estilo de vida, beleza limpa

Essas consultas retornam páginas de listas (ex.: "Top 60 Influenciadores Fintech", "Contas FinTwit para Seguir") cujo conteúdo de texto contém handles do Twitter, biografias e contagens de seguidores. Analise-os na Etapa 4.

Estratégia B — Exa findSimilar (expandir a partir de boas descobertas de listas):

Após a Estratégia A retornar resultados, escolha 1-2 das melhores URLs de listas selecionadas e encontre páginas similares:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/findSimilar"}'
  "url": "https://example.com/top-fintech-twitter-influencers",
  "numResults": 5,
  "contents": {"text": {"maxCharacters": 5000}}
}'

Isso descobre listas selecionadas adicionais que a pesquisa por palavras-chave pode perder. NÃO use URLs de perfil do Twitter/X para findSimilar — eles não estão no índice do Exa e retornarão resultados vazios.

Estratégia C — Fiber pesquisa-por-linguagem-natural (capturar profissionais focados no LinkedIn):

Alguns influenciadores são melhor indexados no LinkedIn, mas possuem contas ativas no Twitter. O Fiber pode descobri-los. Execute 2-3 consultas cobrindo o núcleo do nicho e tópicos adjacentes:

# Núcleo do nicho
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
  "query": "líder de pensamento criador de conteúdo {niche} com presença no Twitter em empresas {industry}",
  "pageSize": 20
}'

# Nicho adjacente — cobertura mais ampla
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
  "query": "influenciador especialista {adjacent_niche} com grande número de seguidores nas redes sociais",
  "pageSize": 20
}'

Faça referência cruzada dos resultados do Fiber com o Twitter na Etapa 5 — mantenha apenas pessoas com contas ativas no Twitter. Extraia também URLs do LinkedIn dos resultados do Fiber — elas são críticas para o enriquecimento de contato na Etapa 7.

4. Extraia e Desduplique Nomes de Usuário

A partir do conteúdo de texto das páginas de lista do Exa, analise handles do Twitter usando múltiplos padrões:

  • Menções @username no texto do artigo
  • URLs correspondentes a x.com/username ou twitter.com/username
  • Remova caminhos de URL finais (ex.: /status/123, /followers) — mantenha apenas nomes de usuário de perfil base
  • Descarte padrões que não sejam de perfil (páginas de pesquisa, páginas de hashtag, x.com/home, x.com/search)
  • Desduplique por nome de usuário (insensível a maiúsculas/minúsculas)
  • Sinalize e remova contas óbvias de marca/empresa (ex.: @stripe, @shopify) — foque em criadores individuais

Dos resultados do Fiber, extraia quaisquer URLs do Twitter/X de perfis sociais. Adicione novos handles ao pool de candidatos.

Extraia também URLs do LinkedIn mencionadas junto com handles do Twitter em páginas de lista — salve-os para enriquecimento de contato na Etapa 7.

Alvo: ~100-150 handles únicos após desduplicação. Páginas de lista selecionadas geralmente mencionam 20-50 handles cada, então 5+ bons resultados de lista entre nichos centrais e adjacentes rendem um grande pool de candidatos.

5. Obtenha Perfis do Twitter + Engajamento

Use Scrape Creators para buscar dados estruturados do Twitter. Este é um processo de duas etapas: busque perfis para TODOS os candidatos (barato, 1 crédito cada), depois busque tweets para os melhores ~2x a contagem de resultados alvo após a filtragem de perfil (ex.: ~40 se almejando 20 resultados).

Etapa 1 — Busque perfis para todos os candidatos:

provider: scrapecreators
method: GET
path: /v1/twitter/profile
query:
  handle: exemplo_handle

Retorna JSON aninhado. Os campos chave estão dentro dos objetos core e legacy:

  • core.screen_name, core.name — handle e nome de exibição
  • legacy.description — texto da biografia
  • legacy.followers_count, legacy.friends_count, legacy.statuses_count — contagens
  • legacy.location, legacy.created_at — localização e idade da conta
  • is_blue_verified — status de verificação

A URL do perfil é https://x.com/{screen_name}.

IMPORTANTE — Paralelize as buscas de perfil: NÃO busque perfis um por um em um loop sequencial. Em vez disso, lance TODAS as chamadas de busca de perfil em paralelo (múltiplas chamadas de ferramenta em uma única mensagem). Isso reduz drasticamente o tempo total de espera de minutos para segundos. Agrupe em lotes de 10-15 chamadas paralelas, se necessário.

Aplique filtros rígidos para reduzir o pool:

  • Menos de 10.000 seguidores (mínimo padrão — ajustável se o usuário especificar um limite diferente)
  • Biografia vazia ou biografia completamente não relacionada ao nicho
  • Contas suspensas ou não encontradas (API retorna erro)
  • Biografia indica que deixaram o X (ex.: "me encontre no Mastodon/Bluesky", "abandonei este site")
  • Contas muito genéricas/amplas — Remova contas cujo conteúdo não é especificamente relevante para o nicho alvo. Por exemplo, uma conta genérica de "evangelista de tecnologia" com 500K+ seguidores que raramente tuita sobre o nicho é menos valiosa que um especialista com 20K seguidores. Se a biografia e tweets recentes de uma conta não mostrarem conexão específica com o nicho alvo ou nichos adjacentes, exclua-a independentemente da contagem de seguidores

Etapa 2 — Busque tweets para os melhores candidatos (após filtragem de perfil — busque ~2x a contagem de resultados alvo para permitir filtragem, ex.: ~40 se almejando 20 resultados):

provider: scrapecreators
method: GET
path: /v1/twitter/user-tweets
query:
  handle: exemplo_handle

Retorna um array de objetos de tweet. IMPORTANTE — Os dados estão aninhados dentro de cada objeto de tweet:

  • legacy.full_text — texto do tweet
  • legacy.favorite_count — curtidas (inteiro)
  • legacy.retweet_count — retuítes (inteiro)
  • legacy.reply_count — respostas (inteiro)
  • legacy.created_at — timestamp
  • views.count — contagem de visualizações (pode não estar sempre presente)
  • url — link direto para o tweet (campo de nível superior)

Nota: favorite_count, retweet_count, reply_count estão dentro do objeto legacy, NÃO no nível superior de cada tweet.

IMPORTANTE — Paralelize as buscas de tweets: Assim como nas buscas de perfil, lance TODAS as chamadas de busca de tweets em paralelo (múltiplas chamadas de ferramenta em uma única mensagem). NÃO use loops for sequenciais. Esta é a maior otimização de velocidade individual.

Para cada candidato, identifique os 3 principais tweets por engajamento (curtidas + retuítes + respostas). Salve o melhor com sua URL para inclusão na tabela de resultados finais.

A partir dos dados do tweet, calcule:

  • Média de curtidas por tweet
  • Média de retuítes por tweet
  • Média de respostas por tweet
  • Taxa de engajamento: (média de curtidas + média de retuítes + média de respostas) / seguidores * 100
  • Frequência de postagem: inferida das datas created_at
  • Temas de conteúdo: sobre quais tópicos eles mais tuitam (a partir de full_text)

Filtros rígidos adicionais (aplicados após a busca de tweets):

  • Nenhum tweet nos últimos 30 dias (inativo)
  • Contas protegidas/privadas

Pule contas que apenas respondem (>80% dos tweets são respostas a outros com engajamento mínimo).

6. Pontue e Classifique

Aplique um modelo de pontuação composto:

FatorPesoSinal
Relevância40%Palavras-chave da biografia, temas de conteúdo, sobreposição de audiência com a empresa alvo
Taxa de engajamento25%Quanto maior, melhor; micro-influenciadores frequentemente superam macro aqui
Contagem de seguidores15%Escala logarítmica — retornos decrescentes acima de 100K
Qualidade do conteúdo10%Conteúdo original vs retuítes, profundidade de threads, uso de mídia
Alinhamento de audiência10%Os seguidores deles correspondem ao público-alvo da empresa? Inferido da biografia + temas de conteúdo

Diretrizes de pontuação:

  • Relevância: Compare a biografia e tópicos de tweets recentes com a string de contexto da empresa da Etapa 2. Correspondência exata de nicho = pontuação alta. Nicho adjacente = média. Genérico/não relacionado = baixa.
  • Benchmarks de taxa de engajamento: >3% excelente, 1-3% bom, <1% abaixo da média (varia por nível de seguidores)
  • Qualidade do conteúdo: Penalize contas com >50% de retuítes. Recompense threads originais, insights e posts ricos em mídia.

Classifique todos os candidatos por pontuação composta. Selecione os N principais (padrão 20) para a lista final. 20 é um bom padrão — suficiente para dar ao usuário opções reais sem sobrecarregá-lo. Aumente a escala se o usuário pedir mais, mas sempre inclua pelo menos os 20 principais se essa quantidade se qualificar.

7. Enriqueça Contatos

Para a lista final, encontre endereços de e-mail e perfis do LinkedIn. A percepção chave: descubra URLs do LinkedIn primeiro — eles melhoram dramaticamente ...

[truncado para tradução]

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

gooseworks-ai/goose-skills

Burned-in captions for a finished vertical video, three kinds. transcribe.py gets word timings from the video's own audio through the GooseWorks proxy (fal Whisper, bills the Ads agent, cents); captions.py burns one to three words at a time with Pillow + ffmpeg (no libass needed), either pinned to a split-screen seam (plate 25% above / 75% below) or at a fixed height, in a plate, outline or one-word serif style, with an optional red hook card; plates.py burns per-beat caption blocks (black, one union silhouette, placed in the emptiest band) for formats with no voice. The last caption (the CTA) holds to the final frame. Use as the last step of any video ad.

gooseworks-ai/goose-skills

Assemble a cartoon / animated / hand-crafted music-video ad from a config — a sung song carries the whole narrative while N per-bar i2v clips (one recurring animated character, one look pack) are each cut to their BAR window from librosa beat-tracking and hard-concatenated on the bar, VEED-whisper white bold-sans captions in the BOTTOM third (Alignment 2, above the logo bug, no pill) burned from the song's word timings re-spelled against the locked lyrics, a persistent brand logo bug held over the body (suppressed on the end card), and closed on a solid-brand-color PIL end card with the song still playing under it — never AI-rendered text. This is the FREE deterministic assembly stage (cut-to-bar + hard concat + logo bug + captions + end card + song mux); the song, character, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal. Use for the cartoon-music-video format.

gooseworks-ai/goose-skills

Assemble a cinematic live-action-style music-video ad from a config — an original sung anthem carries the whole narrative while N 35mm-film-look i2v clips are each cut to their lyric window and hard-concatenated on the beat as a 3-act arc, the anthem muxed at loudnorm I=-14, cinematic lower-third serif captions built from the song's OWN word timings (never Whisper) with the hook line landing on the chorus drop, and closed on a brand end card composited from the real asset — never AI-rendered text. This is the FREE deterministic assembly stage (cut-to-window + hard concat + anthem mux + captions + end card); the anthem, keyframes, and clips come from create-music-elevenlabs / create-image-gpt-image-fal / create-video-fal. Use for the cinematic-music-video format.

gooseworks-ai/goose-skills

Assemble an editorial-motion podcast-clip ad from a config — a real clipped podcast MP3 carries the narrative while N flat limited-palette editorial-illustration keyframes (one look pack) are animated NOT by generative i2v but by DETERMINISTIC ffmpeg ken-burns (zoompan) + hard cuts (no crossfades, which expose geometric drift), each beat snapped to its spoken line, the real audio muxed, Whisper-driven captions burned only mid-sentence, and closed on a PIL brand end card — never AI-rendered text. This is the FREE deterministic assembly stage (ffmpeg ken-burns + hard concat + audio mux + captions + end card); the real audio is clipped from source and the keyframes come from create-image-fal. Use for the editorial-motion-podcast format.

gooseworks-ai/goose-skills

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

gooseworks-ai/goose-skills

Generate a single 4-15s vertical video clip with ByteDance Seedance 2.0 reference-to-video via fal.ai. Multi-image reference (avatar + product + setting), native lip-synced VO + ambient audio (generate-audio on by default), internal multi-cut handling within one render. Routes through the GooseWorks FAL proxy (bills the Ads agent). The default clip atom for AI-creator UGC ads built on the NB2 + Seedance architecture. Validated on beauty-by-earth/video-01.

gooseworks-ai/goose-skills

Mandatory pre-publish review gate for a UGC video render. Transcribes the finished render's AUDIO with Whisper and word-diffs it against the approved spoken script, then gates set_final_render — blocking a render whose generated audio mis-voices a word (e.g. the approved "human-vetted" spoken as "human witted"), drops an approved phrase, or comes back silent. Runnable, gating counterpart to content-goose's review-transcript-integrity atom. Every ugc-video-formats recipe runs this after render and BEFORE set_final_render.

gooseworks-ai/goose-skills

Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec. Outputs HTML + PNG at the iPhone 16/15 Pro native 1180×2556. Supports paragraphs, images, checklists, dividers, autocorrect underline, smart quotes, and an optional iOS keyboard chrome overlay used by the parent video-ad molecule.

gooseworks-ai/goose-skills

Extract competitor and customer intelligence from any company's landing page HTML. Discovers tech stack, analytics tools, ad pixels, customer logos, SEO metadata, CTAs, hidden elements, and more. No API keys required.

gooseworks-ai/goose-skills

Find speakers, hosts, and guest profiles at conferences and events on Luma. Two modes - free direct scrape for hosts, or Apify-powered search for full guest profiles with LinkedIn/Twitter/bio.

Habilidades Relacionadas