🗺️ El sistema en cuatro pasos
La gran lección de este módulo no es «cómo conseguir leads». Es cómo combinar varias skills en un sistema. En vez de una skill gigante que hace todo (y falla por completo), el sistema es un pipeline: cada etapa es una skill autónoma, la salida de una se convierte en la entrada de la siguiente y cada pieza se puede probar y corregir por separado.
🎯 La premisa
Tienes una agencia de IA y quieres clientes. La respuesta: negocios locales que tienen dinero. El sistema los encuentra por ti, comenzando por fuentes donde los negocios ya se han precalificado como establecidos y con presupuesto.
Una skill por etapa.
La salida de una es la entrada de la siguiente.
Corrige una etapa sin tocar el resto.
Del directorio al formulario enviado.
🕸️ Scraping de directorios con Playwright
La calidad de todo lo que viene después depende de la primera etapa. La elección estratégica aquí es la fuente: los directorios de asociaciones comerciales y las redes de networking enumeran negocios que ya están precalificados: establecidos desde hace años, con presupuesto y, a menudo, con sitios web anticuados (justamente el problema que resuelve la agencia).
📚 Tres fuentes de leads precalificados
- • Directorios de cámaras de comercio: negocios de socios, generalmente longevos y establecidos en la región.
- • Directorios de redes de networking (estilo BNI): dueños de negocios activos en grupos de referidos.
- • Revistas locales de estilo de vida: cada anunciante paga caro por el espacio: una señal clara de presupuesto.
Cómo funciona el scraping
La skill usa automatización del navegador (Playwright) para recorrer el directorio: abre cada tarjeta de miembro, lee la información del perfil y organiza todo en una hoja de cálculo. Este es el patrón de "scraping con navegador real" de la Trilha 3 aplicado a un objetivo de negocio.
para cada tarjeta del directorio:
abrir la tarjeta / "learn more"
leer el nombre, negocio, teléfono, dirección
agregar una fila a la hoja de leads
💡 Consejo: la precalificación viene de la fuente
No «precalificas» a los leads después: eliges una fuente donde ya llegan precalificados. Un negocio que paga una cuota anual en una cámara de comercio desde hace años ya demostró longevidad y capacidad de pago. La calidad de la lista nace al elegir el directorio.
Abre cada tarjeta como lo haría una persona.
El directorio ya filtra por estabilidad.
El perfil se convierte en una fila de hoja de cálculo.
El público correcto tiene el problema correcto.
💧 Enriquecimiento en cascada
Un nombre y un negocio no bastan. La etapa de enriquecimiento descubre el sitio y el perfil de LinkedIn de cada contacto. La técnica es la cascada (waterfall): intenta con un proveedor; si no encuentra nada, pasa al siguiente, en orden desde el más barato/rápido hasta el más caro/completo.
La lógica de la cascada
resultado = vazio
para provedor em [barato, médio, caro]:
resultado = provedor.buscar(nome, negócio)
se resultado tem site E linkedin:
parar # achou, não gasta com os próximos
se resultado vazio E quer e-mail:
usar API de e-mail dedicada (a mais cara)
Al encadenar proveedores de búsqueda, el sistema localiza el sitio web y el LinkedIn asociados a un nombre con alta precisión, sin activar la llamada costosa para cada lead.
✓ Cascada bien hecha
- ✓Ordena de menor a mayor costo.
- ✓Detente en cuanto tengas suficientes datos.
- ✓Reserva la API costosa solo para quienes necesitan el correo electrónico.
- ✓Registra qué proveedor encontró (auditoría).
✗ Cascada mal hecha
- ✗Llama a todos los proveedores para cada lead — el costo se dispara.
- ✗Empieza por el proveedor más caro «porque es mejor».
- ✗No se detiene cuando ya encontró algo: puro desperdicio.
- ✗No sabe decir de dónde salió cada dato.
Proveedores en secuencia ordenada.
¿Falló? Prueba con el siguiente.
De barato a caro; se detiene al acertar.
Sitio web + LinkedIn por nombre.
🎁 El sitio como lead magnet
Aquí está el golpe maestro del sistema. En vez de enviar un mensaje pidiendo atención, el pipeline entrega valor antes de pedirte nada: para cada lead, genera una versión mejorada de su sitio: una copia con el encabezado actualizado, un rediseño de estilo moderno o un widget de chat añadido; luego se la envía como regalo para iniciar la conversación.
🎯 Por qué esto cambia las reglas del juego
"Mira, tomé tu sitio e hice una versión mejor" es un enfoque completamente distinto de "hola, ¿puedo ayudarte?". Ya demostraste tu competencia, mostraste el resultado y lo adaptaste a ese negocio en particular. El regalo es el gancho.
Variaciones del regalo (recreación ilustrativa)
solo el encabezado rehecho; «este es tu sitio, modernizado»
diseño moderno con buenas prácticas de diseño
"mira cómo quedaría con un chat en tu sitio actual"
Mockups ilustrativos del concepto de variación del presente: no son pantallas reales.
💡 Consejo: storytelling en el embudo
El regalo no termina en sí mismo. Da paso a un breve storytelling: «este es tu sitio web → mira cómo podría ser → hablemos». El sitio web-regalo es la parte superior del embudo; el objetivo es llevar a una reunión, no cerrar en el primer mensaje.
Un regalo que abre puertas.
Entrega antes de pedir.
A la medida de cada negocio.
Generación automática por lead.
✉️ Contacto mediante formulario
El paso final cierra el ciclo: la automatización del navegador completa y envía el formulario de contacto del propio sitio web del negocio (o del directorio), con el mensaje y el enlace del sitio de regalo. Salir del canal saturado del correo electrónico en frío es una decisión estratégica, y la captura de pantalla del envío exitoso sirve como comprobante de entrega.
Localizar el formulario
La skill encuentra el formulario de contacto (generalmente en el pie de página) del sitio web del lead.
Completar con el mensaje
Inserta automáticamente el mensaje personalizado y el enlace del sitio-regalo en los campos correctos.
Enviar y capturar la prueba
Envía el formulario y toma una captura de pantalla de la confirmación: la evidencia de que el mensaje se envió.
📊 Por qué un formulario y no un cold email
- • Canal menos saturado: la bandeja de entrada está llena; el formulario de contacto llega directamente al dueño.
- • Contexto correcto: la persona lee un mensaje sobre su propio sitio, procedente del propio sitio.
- • Prueba de entrega: la captura de pantalla del envío exitoso confirma que el mensaje se recibió.
⚠️ Atención: automatización responsable
Enviar mensajes automáticos mediante formularios exige respetar el volumen, la relevancia y las reglas de cada sitio. La fuerza del sistema está en la personalización y el valor que aporta, no en el spam. Los mensajes genéricos masivos dañan la reputación y violan los términos de uso. Mantén un enfoque específico y bien recibido.
Formulario > cuadro abarrotado.
Captura de pantalla de la confirmación.
Personalizado, no spam.
Del lead a la conversación iniciada.
🔗 Orquestar las skills del pipeline
Cuatro skills encadenadas solo forman un sistema si hay una orquestación que las conecte y un checkpoint que proteja el progreso. Sin eso, un error en el paso 4 te obliga a repetir los pasos 1 a 3; y en los pipelines largos, eso cuesta horas y dinero de API.
Prompt copiable: SKILL.md de la orquestadora
--- name: local-leads-pipeline description: Orchestrates a local-lead pipeline end to end. Use when the user wants to find local businesses from directories, enrich the contacts, build a gift website per lead, and reach out via their contact form. Triggers include "find local leads", "run the lead pipeline", "enrich and reach these businesses". --- # Local Leads Pipeline (orchestrator) Run four stages in order. Each stage is its own skill. Pass the CSV forward. Save a checkpoint after each lead so the run can resume. 1. scrape-directory → leads.csv (name, business, phone, address) 2. enrich-contacts → +website, +linkedin (waterfall, cheap → costly) 3. build-gift-site → +gift_url (clone / redesign / chat widget) 4. submit-form → +sent_proof (screenshot of the confirmation) ## Rules - A stage only consumes rows where its input columns are filled and its output columns are empty (idempotent — safe to re-run). - Write a checkpoint file after each lead. On restart, skip leads already marked done. - If a stage fails on a lead, log it and continue — do NOT stop the batch. - Keep outreach personalised and respectful of each site's rules.
✓ Orquestación robusta
- ✓Contrato claro de columnas entre etapas.
- ✓Punto de control después de cada lead — retoma desde donde te quedaste.
- ✓Idempotente: volver a ejecutar no duplica el trabajo.
- ✓El fallo de un lead no hace caer todo el lote.
✗ Pipeline frágil
- ✗Una skill gigante que hace los cuatro pasos juntos.
- ✗Sin checkpoint: un error al final hace que todo vuelva a empezar.
- ✗Volver a ejecutar reprocesa los leads que ya estaban listos (pagas el doble).
- ✗Un lead con un error detiene el batch de 600.
💡 Consejo: el CSV es el contrato
La hoja de cálculo que recorre el pipeline es el contrato entre las skills. Cada etapa sabe qué columnas leer y cuáles escribir. Este patrón —"una skill solo toca las filas en las que su entrada está lista y su salida todavía está vacía"— es lo que hace que el sistema sea idempotente y seguro para reanudarlo.
✍️ Ejercicios prácticos
Diseña el contrato. Para cada una de las cuatro etapas, enumera las columnas que lee y las que escribe en el CSV. Cuando dos etapas se conectan, ¿el contrato coincide?
Crea un SKILL.md ejecutable. Guarda la orquestadora de arriba en ~/.claude/skills/local-leads-pipeline/SKILL.md e implementa solo la etapa 1 (scrape) en cualquier directorio público, guardando un CSV. Prueba la activación de la skill.
Diseña la cascada. Elige 3 fuentes de enriquecimiento (gratuitas o pagadas), ordénalas por costo y escribe la regla de "detenerse cuando encuentres el sitio web + LinkedIn".
Prueba la reanudación. Ejecuta la etapa 1 con 10 leads, interrúmpela a mitad y vuelve a ejecutarla. ¿Omite los ya procesados o los procesa todos de nuevo? Corrígelo para que sea idempotente.
📌 Resumen del módulo
Siguiente Módulo:
4.3 — 📊 Lead Scoring con Apify: puntuar cada lead en tres dimensiones para saber a quién contactar primero.