Tu competencia ya probó por ti. Aprovéchalo.
Cada anuncio que corre en Facebook e Instagram queda guardado en la Biblioteca de anuncios de Meta, a la vista de cualquiera. El problema es leerla: cientos de anuncios por marca, sin resultados y sin orden. /spy hace ese trabajo por ti: lee tu marca, encuentra a tus competidores, baja sus anuncios con imágenes y textos, y te dice qué les funciona, qué apagaron rápido y qué deberías hacer en tu cuenta.
La diferencia con mirar la biblioteca a mano es que primero entiende tu marca: qué vendes, a qué precio, a quién le hablas y cómo. Por eso las conclusiones no son genéricas. Los anuncios que te propone usan tu oferta y tus precios reales, y cada uno cita los anuncios de la competencia que lo inspiraron.
Sirve para cualquier negocio que tenga competidores anunciando en Facebook o Instagram: tiendas online, marcas de producto, cursos, servicios, apps o locales. Funciona en cualquier país que tenga anuncios en la biblioteca y escribe el informe en tu idioma.
Tres usos que tienen sentido
Saber qué le funciona a tu competencia
Qué anuncios llevan meses arriba, cuáles cortaron en días y cuántos prueban por semana.
Salir de la página en blanco
De 4 a 6 anuncios listos, con gancho, texto, título, botón y la idea para la creatividad.
Ordenar tu cuenta publicitaria
Cuántos anuncios nuevos subir por semana, qué formatos mezclar y cuándo apagar uno.
Todo sale de datos públicos. Lee la biblioteca como lo haría cualquier persona desde el navegador. No necesita tu cuenta de Meta, ni una API, ni acceso a nada privado. El código es abierto y está en GitHub.
Tres programas y tu plan de Claude
Se instalan una sola vez. Si ya programas con Claude Code, seguramente tienes casi todo. En la sección siguiente tienes los comandos para instalar cada uno.
Claude Code
En la terminal, en la app de escritorio de Claude o en VS Code, con cualquier plan de pago de Claude: el plan gratis no incluye Claude Code. En el chat web de claude.ai o en la app del teléfono no funciona, porque necesita abrir un navegador en tu computadora.
Node.js 18 o más nuevo
Corre los scripts que leen tu marca y la biblioteca de Meta. Para saber si lo tienes, escribe node --version en la terminal.
Google Chrome o Microsoft Edge
El skill usa el navegador que ya tienes, en modo oculto, sin tocar tus pestañas ni tus sesiones. Si no tienes ninguno, puede bajar uno propio.
Git
Para bajar el skill con un comando. Si no lo quieres instalar, en la pestaña "Sin Git" de la instalación tienes cómo hacerlo con un ZIP: se actualiza solo igual.
Si todavía no tienes Claude Code
Instálalo con el comando de tu sistema y después escribe claude en la terminal para iniciar sesión con tu cuenta. Si prefieres no usar la terminal, descarga la app de escritorio de Claude desde claude.com: trae Claude Code adentro.
# Windows, en PowerShell $ irm https://claude.ai/install.ps1 | iex # Mac y Linux, en la Terminal $ curl -fsSL https://claude.ai/install.sh | bash
Elige tu camino según tu computadora
Las tres primeras formas son con la terminal y llevan un par de minutos. Si nunca abriste una terminal, la de "Desde Claude" es para ti: se lo pides a Claude y lo instala solo. En todos los casos el skill queda en la carpeta .claude/skills/spy de tu usuario.
- Instala lo que falte. Abre PowerShell desde el menú Inicio y pega esto. Si ya tienes alguno, winget lo detecta y como mucho lo actualiza. Si usas Edge, la línea de Chrome es opcional. Si Windows te pide permiso para instalar, acepta.
$ winget install -e --id OpenJS.NodeJS.LTS --accept-source-agreements --accept-package-agreements $ winget install -e --id Git.Git --accept-source-agreements --accept-package-agreements $ winget install -e --id Google.Chrome --accept-source-agreements --accept-package-agreements
- Cierra y vuelve a abrir PowerShell para que reconozca los programas nuevos.
- Baja el skill y prepáralo. El primer comando lo deja en la carpeta de skills de Claude y el segundo instala lo que necesita para leer la biblioteca:
$ git clone https://github.com/paidbyfacu/spy "$env:USERPROFILE\.claude\skills\spy" $ npm.cmd install --prefix "$env:USERPROFILE\.claude\skills\spy\scripts"
✳ Queda en C:\Users\tu-usuario\.claude\skills\spy. Se usa npm.cmd y no npm a secas para evitar el aviso de PowerShell de que la ejecución de scripts está deshabilitada.
- Instala las herramientas de desarrollo, que traen Git. Abre la app Terminal y pega la primera línea. Si ya las tienes, te avisa y no pasa nada. La segunda te dice si tienes Node:
$ xcode-select --install $ node --version
Si node --version no muestra nada o muestra algo menor a v18, instala la versión LTS desde nodejs.org o, si usas Homebrew, con brew install node. Después cierra y vuelve a abrir la Terminal.
- Baja el skill y prepáralo en la carpeta de skills de Claude:
$ git clone https://github.com/paidbyfacu/spy ~/.claude/skills/spy $ npm install --prefix ~/.claude/skills/spy/scripts
✳ Si no tienes Chrome ni Edge, instala Chrome desde google.com/chrome. Safari no sirve para esto.
- Instala Git y Node.js 18 o más nuevo. En Ubuntu o Debian, Git sale con apt. Para Node, usa la versión LTS de nodejs.org o nvm, porque la de apt suele ser vieja:
$ sudo apt install -y git curl $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash $ source ~/.bashrc && nvm install --lts $ node --version
- Baja el skill y prepáralo:
$ git clone https://github.com/paidbyfacu/spy ~/.claude/skills/spy $ npm install --prefix ~/.claude/skills/spy/scripts
- Si no tienes Chrome, baja un navegador solo para el skill. El segundo comando también instala las librerías del sistema que necesita, por eso pide tu contraseña:
$ cd ~/.claude/skills/spy/scripts $ npx playwright-core install --with-deps chromium
- La más fácil: abre Claude Code y pégale este mensaje. Claude baja el skill, lo deja en su lugar e instala lo que falte.
Instala el skill /spy desde https://github.com/paidbyfacu/spy: clónalo en la carpeta de skills de mi usuario, en .claude/skills/spy, y corre npm install dentro de su carpeta scripts. Si me falta Node.js o Git, instálalos primero. Si no tengo Chrome ni Edge, corre npx playwright-core install chromium dentro de esa carpeta scripts.
- Acepta los permisos que te pida para correr comandos. Si instala Node.js o Git, puede pedirte que cierres y vuelvas a abrir Claude Code a mitad de camino.
- Cuando termine, abre un chat nuevo. Si es tu primer skill, el chat donde lo instalaste puede no verlo: en ese caso escribe
/reload-skillso sigue en el chat nuevo.
- Baja el ZIP desde github.com/paidbyfacu/spy: botón verde Code y después Download ZIP.
- Descomprímelo y busca la carpeta
spy-mainque tiene adentro el archivoSKILL.md. Windows a veces la deja dentro de otra carpetaspy-main: usa la de adentro. Cámbiale el nombre aspy. - Muévela a la carpeta de skills:
.claude/skillsdentro de tu carpeta de usuario. En Windows esC:\Users\tu-usuario\.claude\skills, en Mac/Users/tu-usuario/.claude/skillsy en Linux/home/tu-usuario/.claude/skills. Si no existe, créala. Las carpetas que empiezan con punto están ocultas: en Mac se ven con Cmd + Shift + punto. - Instala sus dependencias con el mismo comando de npm de tu sistema: Windows
npm.cmd install --prefix "$env:USERPROFILE\.claude\skills\spy\scripts", Mac o Linuxnpm install --prefix ~/.claude/skills/spy/scripts.
✳ No tienes que repetir estos pasos para tener la versión nueva: instalado desde el ZIP, el skill también se pone al día solo cada vez que lo usas.
Comprueba que quedó
- Abre un chat nuevo de Claude Code y escribe
/. En la lista de comandos tiene que aparecerspy. - Si quieres probar los scripts, corre el de abajo en la terminal: tiene que mostrar la lista de comandos que empieza con "Uso:". Si dice que falta playwright-core, repite el comando de npm.
# Windows $ node "$env:USERPROFILE\.claude\skills\spy\scripts\scrape.mjs" # Mac y Linux $ node ~/.claude/skills/spy/scripts/scrape.mjs
Para un solo proyecto: si quieres que /spy aparezca solo cuando abres Claude Code en una carpeta, clónalo en .claude/skills/spy dentro de esa carpeta en lugar de en tu usuario. Todo lo demás funciona igual.
Un comando con tu marca
Escribe /spy y listo: antes de preguntarte nada busca lo que Claude Code ya sabe de tu marca, y te pregunta solo lo que falta. Si prefieres darle los datos de entrada, sigue con tu Instagram, tu web y lo que vendes, separados por comas:
> /spy instagram.com/tumarca, web: tumarca.com, nicho: lo que vendes
Cómo escribir cada dato
El orden no importa y todo es opcional. Lo que no escribas lo busca en tu proyecto, en tu Instagram y en tu web, y si no lo encuentra te lo pregunta. Si le das solo tu Instagram o solo tu web, busca el otro.
| Dato | Cómo escribirlo | Ejemplo |
|---|---|---|
El link de tu perfil, tu @usuario o ig: adelante | instagram.com/tumarca @tumarca | |
| Web | Tu dominio con web: adelante, o cualquier link de tu sitio | web: tumarca.com |
| Nicho | Lo que vendes, con tus palabras, con nicho: adelante o suelto"Sérum de vitamina C" encuentra mejores competidores que "belleza". | nicho: sérums naturales |
| Competencia | Marcas que ya conoces, separadas por comas: su nombre o el link de su página en la biblioteca | competencia: Marca A, Marca B |
| País | El código de dos letras o el nombre del país donde vendes, o "todos". Si no lo pones, lo deduce de tu web | país: MX país: España |
| Oferta y precio | Lo que quieres vender con los anuncios y cuánto cuesta. Si no lo pones, lo lee en tu web | oferta: plan anual precio: 49 USD |
| Público | A quién le vendes, con tus palabras | público: dueñas de tiendas online |
| Objetivo | Qué quieres que haga la gente con el anuncio: comprar, escribirte o dejar sus datos. Define el botón y el destino de los anuncios que te propone | objetivo: mensajes |
| Presupuesto | Lo que inviertes por mes en anuncios de Meta. Con esto arma el plan de prueba a tu medida | presupuesto: 500 USD por mes |
/spy a secas
Lee lo que Claude Code ya sabe de tu marca y el perfil que guardó si ya hiciste un informe. Si encuentra varias marcas, te pregunta para cuál es. Si no encuentra ni tu Instagram ni tu web, te los pregunta en una tarjeta.
Sin el comando
También se activa si le escribes a Claude cosas como "espía a mi competencia", "qué anuncios corre Marca X" o "analiza los anuncios de Meta de Marca X". Si no sabe cuál es tu marca, te la pregunta antes de empezar.
Lo que ya sabe de tu marca
Antes de preguntarte nada, junta lo que Claude Code tiene a mano sobre tu marca. Usa el primer lugar donde aparece cada dato, en este orden:
| Dónde busca | Qué saca de ahí |
|---|---|
| Lo que escribes | Los datos que pones después de /spy mandan sobre todo lo demás. |
| El chat | Lo que ya le contaste de tu marca en la misma conversación. |
| Tu perfil guardado | El que armó en tu informe anterior, con lo que le respondiste esa vez. |
| Tus CLAUDE.md y tu memoria | Los CLAUDE.md de la carpeta donde lo corres y de tu configuración, y la memoria de Claude Code de ese proyecto. |
| Los archivos de tu proyecto | Busca tu Instagram, tu web, tus precios y líneas como "nicho:" o "público:", y lee los archivos que más hablan de tu marca, como un brief o una página de precios.No abre archivos de claves como .env y no recorre tu carpeta de usuario ni Documentos enteros. |
| Tus informes anteriores | Si ya espió a tu marca, parte de ese informe y lo usa para comparar. |
| Tus conectores | Si tu sesión tiene conectada tu cuenta de Meta Ads, tu tienda o tu analítica, los consulta solo para leer. |
Córrelo desde la carpeta de tu marca. Si tienes un proyecto de Claude Code para tu marca, abre el chat ahí antes de escribir /spy: encuentra más datos y te pregunta menos. Si encuentra datos de otra marca, no los da por hechos: te pregunta cuál es la tuya.
Las preguntas que te hace
Solo te pregunta lo que no encontró, en tarjetas con opciones armadas con lo que leyó de tu marca. La opción más probable va primera y dice de dónde salió, y siempre puedes escribir otra respuesta. Son tres tarjetas como máximo, y muchas veces una sola:
| Pregunta | Cuándo aparece y qué opciones trae |
|---|---|
| Tu Instagram y tu web | Solo si no encontró ninguno de los dos. Te muestra los que vio en tu proyecto, o las opciones "Búscalo en mi web" y "No tiene", y puedes escribir el tuyo.Si no tienes ni Instagram ni web, te pregunta el nombre de tu marca y qué vendes. |
| Para qué marca es | Solo si encontró más de una, por ejemplo si tienes varias marcas guardadas. |
| Qué quieres vender | Hasta 3 productos o planes de tu web, con su precio. Aparece si tienes varios y no sabe cuál anunciar, o si encontró dos precios distintos. |
| País | Solo si no lo pudo deducir de tu web y no lo escribiste. |
| Qué quieres que haga la gente | Comprar en la web, escribirte por WhatsApp o Instagram o dejar sus datos o agendar una llamada. Primero va la que coincide con el botón principal de tu web, y si es clara no pregunta. |
| Presupuesto | Todavía nada y tres rangos en tu moneda. Nadie lo ve desde afuera, así que lo pregunta si no lo encontró en tu proyecto. Con esto reparte el plan de prueba. |
| Público | Solo si hay dos lecturas posibles de a quién le vendes. |
| Formato del informe | Siempre. Artifact, la recomendada: se publica privado en tu cuenta de claude.ai. Archivo HTML: un archivo que abres con doble clic y mandas por WhatsApp o mail.Si tu Claude Code no puede publicar Artifacts, no te pregunta esto y te entrega el archivo. |
| Competidores | Siempre. Buscar 5 automáticamente, la recomendada. Solo los que nombré, si pusiste competencia:. Buscar 8 automáticamente, para un informe más grande que tarda más.Con "Otro" puedes escribir lo que quieras, como "busca 3 y suma a Marca X". |
Tus respuestas quedan en el perfil de tu marca y no te las vuelve a preguntar. Lo que dedujo sin que lo confirmes aparece en la pestaña Tu marca del informe, en una línea de supuestos, para que veas de dónde salió cada cosa.
Así se ve una corrida
Cuánto inviertes por mes: Todavía nada · Menos de 500 € · 500 a 2.000 € · Más de 2.000 €
Formato del informe: Artifact · Archivo HTML
Competidores: Buscar 5 automáticamente · Buscar 8
✳ Recreación de una corrida real, con el nombre de la marca cambiado. Los mensajes exactos varían según tu marca.
La segunda vez es más corta. El skill guarda el perfil de tu marca con tus respuestas, así que el mes que viene basta con escribir /spy para repetir el informe con los anuncios nuevos. Solo vuelve a preguntarte si algo cambió en tu web, como un precio. Cada informe queda en una carpeta con su fecha, así puedes comparar.
Siete pasos, de tu marca al plan
Claude dirige y unos scripts hacen el trabajo pesado con el navegador. Todo queda guardado en tu computadora, en la carpeta Documentos/spy, con una carpeta por marca y por fecha.
Junta lo que ya sabe
Si hay una versión nueva del skill, primero la baja. Después lee tus CLAUDE.md, la memoria del proyecto, los archivos de la carpeta donde lo corres, el perfil que guardó y tus informes anteriores. Tarda menos de un segundo y no abre archivos de claves.
Lee tu marca
Tu Instagram público con bio, seguidores y últimas publicaciones. Tu web con la portada, los precios, los botones, hasta 3 páginas internas y los píxeles que tiene instalados. Si aparece un aviso de cookies, lo acepta para ver la web como un cliente. Si solo conoce uno de los dos, busca el otro en los links de tu web, en tu bio o en tus anuncios. Y busca si ya anuncias en Meta.
Te pregunta lo que falta
En tarjetas, solo lo que no encontró, más el formato del informe y cuántos competidores. Con eso ya no vuelve a interrumpirte.
Encuentra a tu competencia
Busca en la biblioteca con palabras de lo que vendes y ordena a los anunciantes por cuántos anuncios tienen y qué tan arriba aparecen. Descarta marketplaces, cadenas, revendedores y páginas personales.
Lee sus anuncios
Por cada competidor: hasta 120 anuncios activos con más impresiones, 60 nuevos, 60 apagados hace poco y los hechos con creadores, con su imagen y su texto completo. Tarda cerca de un minuto por marca.
Analiza
Mira las creatividades de verdad: si muestran cara o producto, texto sobre la imagen, oferta o testimonios. Compara los ganadores con los que se apagaron rápido y cruza todo con tu marca, tu objetivo y tu presupuesto.
Arma el informe
Una página con cinco pestañas, publicada como Artifact en tu cuenta de Claude o como archivo HTML para abrir y mandar.
Cinco pestañas, una pregunta cada una
Fondo blanco, los azules de Meta y todo con botones: saltas de una pestaña a otra, filtras anuncios y tocas cualquier miniatura para verla en grande. Se lee bien en el teléfono y en la computadora. Toca cada pestaña para ver cómo queda:
La conclusión más importante en una frase, los números clave y los hallazgos, cada uno con los anuncios que lo prueban.
Lo que se ve de tu marca desde afuera: tu Instagram, tu web, tu oferta y tus anuncios activos, más tu objetivo y tu presupuesto si se los diste. Debajo, una línea dice qué dedujo sin que se lo confirmes. Si algo está mal entendido, se lo dices a Claude y lo corrige.
Una ficha por competidor: cuántos anuncios tiene activos, cuántos subió en la semana, cuánto le duran, a dónde manda el tráfico, qué le funciona y qué probó y apagó.
Todos los anuncios en tarjetas grandes como en el feed, con el texto completo y, arriba, una nota de por qué importa cada uno. Filtras por marca y por tipo, y los ordenas como quieras.
Qué cambiar en tu cuenta publicitaria, los anuncios listos para lanzar y un plan de prueba en orden. Cada punto muestra los anuncios reales en los que se basa.
Los anuncios que te propone
Es la parte más útil. Cada anuncio se ve como quedaría en el feed, con tu nombre, tu texto y la idea para la creatividad. Al lado tienes por qué conviene, los anuncios reales que lo inspiraron y un botón para copiar el texto y pegarlo directo en el Administrador de anuncios.
Artifact
Se publica privado en tu cuenta de claude.ai: lo ves entrando con tu cuenta, desde cualquier dispositivo. Si tocas Compartir, lo ve cualquiera con el link. Si repites el informe de la misma marca en el mismo chat, actualiza el mismo link.
Archivo HTML
Un solo archivo con todo adentro, imágenes incluidas, en la carpeta del informe. Lo abres con doble clic en el navegador y lo mandas por WhatsApp o por mail. No necesita internet para verse.
Meta no muestra resultados. Pero deja pistas.
La biblioteca no dice cuánto vendió un anuncio ni cuánto gastó. Lo que sí muestra es el orden por impresiones, desde cuándo corre y si sigue activo. Con eso el informe marca cada anuncio así:
Ganador
Muchas impresiones y muchos días activo. Si una marca deja correr un anuncio durante meses, le está dando resultados.
Nuevo
Subido en los últimos 7 días. Te dice qué está probando ahora y cuántas creatividades sube por semana.
Apagado rápido
Cortado en 7 días o menos. Comparado con sus ganadores, muestra qué gancho, formato u oferta no le funcionó.
Copias
Cuántos anuncios distintos subió la marca con el mismo gancho. Muchas copias de una idea quieren decir que la está escalando.
Versiones
Cuántas variantes agrupa Meta dentro de un mismo anuncio, como distintos textos o imágenes que el algoritmo combina solo.
Con creador
Anuncios de colaboración, publicados desde la cuenta de un creador o influencer con la marca como socia.
Prompts listos para copiar
Cambia lo resaltado por tu caso. Los primeros arman un informe. Los segundos se usan en el mismo chat después de que el informe está listo, porque Claude ya tiene todos los anuncios leídos.
Para armar el informe
/spy instagram.com/tumarca, web: tumarca.com, nicho: lo que vendes
/spy @tumarca, web: tumarca.com, nicho: lo que vendes, competencia: Marca A, Marca B
/spy @tumarca, web: tumarca.com, competencia: Marca A
/spy tumarca.com, nicho: lo que vendes, competencia: https://www.facebook.com/ads/library/?view_all_page_id=123456789
/spy tumarca.com, nicho: lo que vendes, país: MX
/spy tumarca.com, nicho: lo que vendes, país: todos
/spy @tumarca, nicho: lo que vendes
/spy
✳ Para "Un solo competidor a fondo", elige "Solo los que nombré" en la tarjeta. El link de la biblioteca sirve cuando el nombre de la marca se confunde con otra: búscala en la biblioteca, entra a su página y copia la dirección.
Con el informe listo
Del informe que hiciste, escríbeme 3 variantes más del anuncio 2 con otros ganchos, para probarlas la semana que viene.
Convierte el anuncio 1 del informe en un guion de Reel de 20 segundos: qué se ve y qué se dice en cada parte, con el gancho en los primeros 2 segundos.
¿Por qué crees que el anuncio ganador de competidor lleva tantos días activo? Compáralo con los que apagó rápido y dime qué cambió.
Arma un brief para mi diseñador con los 3 anuncios del informe que más te convencen: formato, medidas, texto sobre la imagen y las referencias de la competencia.
Pasa los anuncios para lanzar a una tabla con columnas para nombre, texto principal, título, descripción, botón y creatividad, lista para cargarlos en el Administrador de anuncios.
Con el informe, arma un plan de 4 semanas para mi cuenta con un presupuesto de 500 USD: qué lanzar cada semana, qué mirar para decidir y cuándo apagar.
Entendiste mal mi marca: mi oferta principal es esto y cuesta tanto. Corrígelo en mi perfil de spy y rehaz la pestaña Qué hacer con eso.
Compara este informe con el anterior de mi marca en Documentos/spy: qué anuncios nuevos subió cada competidor, cuáles siguen y cuáles apagó.
Para los que quieren ver el motor
No necesitas nada de esta sección para usar /spy: Claude corre estos comandos por ti. Sirve si quieres repetir un solo paso, automatizarlo o entender qué archivo es cada cosa.
Una corrida a mano, paso a paso
Se corre desde la carpeta scripts del skill. En Windows, cambia ~ por $env:USERPROFILE y pon las rutas entre comillas.
$ cd ~/.claude/skills/spy/scripts # 1. Leer tu marca $ node scrape.mjs marca --ig tumarca --web tumarca.com --nicho "lo que vendes" --out ~/Documents/spy/tumarca # 2. Encontrar a tu competencia $ node scrape.mjs descubrir --q "palabra 1" --q "palabra 2" --pais AR --out ~/Documents/spy/tumarca # 3. Leer sus anuncios, con tu página como --propia si ya anuncias $ node scrape.mjs paginas --pagina "Marca A" --pagina 123456789 --propia 987654321 --pais AR --out ~/Documents/spy/tumarca # 4. Claude escribe analisis.json con sus conclusiones # 5. Bajar las imágenes que falten y armar el informe $ node scrape.mjs imagenes --out ~/Documents/spy/tumarca $ node render.mjs ~/Documents/spy/tumarca --modo html
✳ El paso 4 no tiene comando: analisis.json lo escribe Claude siguiendo plantilla-analisis.json. Sin ese archivo, render.mjs avisa que falta y no arma el informe.
Comandos
| Comando | Qué hace | Qué escribe |
|---|---|---|
actualizar.mjs | Compara el skill con GitHub y, si hay una versión nueva, la baja. Claude lo corre al empezar cada /spy. | Los archivos del skill que cambiaron |
contexto.mjs | Junta lo que Claude Code ya sabe de tu marca en la carpeta donde lo corres, sin abrir el navegador. Con --dir le indicas otra carpeta. | Nada: lo muestra en pantalla |
scrape.mjs marca | Lee tu Instagram, tu web y busca si ya anuncias. Menos de un minuto. | marca.json, img/hoja-marca.jpg, img/marca-web.jpg |
scrape.mjs descubrir | Busca anunciantes con tus palabras clave y los ordena por peso: cuántos anuncios tienen y qué tan arriba aparecen. | descubrir.json |
scrape.mjs paginas | Baja los anuncios de cada página: ganadores, nuevos, apagados y con creadores, con imágenes. Cerca de un minuto por página. | paginas/<id>.json, img/, resumen.json |
scrape.mjs imagenes | Baja las imágenes de los anuncios citados en analisis.json que todavía no estaban. | img/ |
scrape.mjs resumen | Rehace el resumen y las hojas de imágenes sin volver a bajar anuncios. | resumen.json, img/hoja-*.jpg |
render.mjs --modo html | Arma el informe en un solo archivo, con las imágenes adentro. | informe.html |
render.mjs --modo artifact | Arma la versión que se publica como Artifact. | artifact/informe.html |
Opciones
| Opción | Por defecto | Para qué |
|---|---|---|
--ig | Ninguno | Tu usuario o link de Instagram, en marca. |
--web | Ninguno | Tu dominio o cualquier link de tu web, en marca. |
--nicho | Ninguno | Lo que vendes, en marca. |
--q | Ninguno | Una palabra clave para descubrir. Se repite: --q "uno" --q "dos". |
--pagina | Ninguno | Un competidor para paginas: su ID, su nombre o el link de la biblioteca. Se repite. |
--propia | Ninguno | La página de tu marca, para compararla con la competencia. |
--pais | ALL | País de la biblioteca en código de dos letras: AR, MX, CO, CL, PE, ES, US y cualquier otro. ALL busca en todos. |
--out | Documentos/spy/spy-fecha | La carpeta de trabajo. Usa la misma en todos los pasos. |
--max-ganadores | 120 | Anuncios activos con más impresiones por página. |
--max-nuevos | 60 | Anuncios subidos en los últimos días por página. |
--max-apagados | 60 | Anuncios apagados hace poco por página. |
--max-descubrir | 150 | Anuncios que lee por cada palabra clave en descubrir. |
--ver | Apagado | Abre el navegador a la vista, por si Meta bloquea el modo oculto. |
Qué queda en tu computadora
Cada informe tiene su carpeta en Documentos/spy, con el nombre de tu marca y la fecha:
marca.json lo que leyó de tu Instagram y tu web descubrir.json anunciantes encontrados y su peso paginas/ un archivo por competidor con todos sus anuncios img/ imágenes de los anuncios y hojas de contacto resumen.json lo que lee Claude para analizar analisis.json las conclusiones de Claude informe.html el informe para abrir o mandar artifact/ la versión que se publica como Artifact
Aparte, el perfil de cada marca queda en .claude/skills/spy/marcas/tumarca.json: nombre, Instagram, web, página de Facebook, rubro, oferta, precio, público, país, objetivo, presupuesto, palabras clave, competidores y qué datos le confirmaste. Es lo que permite que la próxima vez no te pregunte lo mismo. Si cambia tu oferta, díselo a Claude y lo actualiza; si quieres que olvide una marca, borra ese archivo.
Siempre al día, sin perder tus marcas
No tienes que hacer nada: cada vez que escribes /spy, el skill revisa su repositorio de GitHub y, si hay una versión nueva, se pone al día solo antes de empezar, sin interrumpirte. Meta cambia la biblioteca de vez en cuando, y así siempre corres la versión que le sigue el paso. Funciona igual con Git o con el ZIP, nunca borra los perfiles de tus marcas ni tus informes, y si no hay internet sigue con la versión que tienes.
Si clonaste el repo y le hiciste cambios propios, no los pisa: no se actualiza hasta que los guardes o los descartes.
Apagar la actualización automática
Crea un archivo vacío llamado .sin-actualizar en la carpeta del skill. Para volver a prenderla, bórralo.
# Windows, en PowerShell $ New-Item "$env:USERPROFILE\.claude\skills\spy\.sin-actualizar" # Mac y Linux, en la Terminal $ touch ~/.claude/skills/spy/.sin-actualizar
Actualizar a mano
Con la automática apagada, si instalaste con Git:
# Windows, en PowerShell $ git -C "$env:USERPROFILE\.claude\skills\spy" pull $ npm.cmd install --prefix "$env:USERPROFILE\.claude\skills\spy\scripts" # Mac y Linux, en la Terminal $ git -C ~/.claude/skills/spy pull $ npm install --prefix ~/.claude/skills/spy/scripts
Actualiza el skill spy: haz git pull en la carpeta .claude/skills/spy de mi usuario y después npm install dentro de su carpeta scripts.
Desinstalar
Borra la carpeta del skill. Los informes de Documentos/spy quedan hasta que los borres tú.
# Windows, en PowerShell $ Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\skills\spy" # Mac y Linux, en la Terminal $ rm -rf ~/.claude/skills/spy
Lo que hace y lo que no
Conviene saberlo antes de sacar conclusiones o de mandarle el informe a un cliente.
Datos públicos, todo en tu computadora
- 1Lee los anuncios públicos de la biblioteca, igual que tú desde el navegador.
- 2Lee tu Instagram público y tu web sin iniciar sesión.
- 3Te propone anuncios inspirados en otros y adaptados a tu marca.
- 4Guarda los datos, las imágenes y el informe en tu carpeta de Documentos.
Ni resultados ajenos ni tu cuenta
- 1No ve ventas, gasto ni resultados de nadie: Meta no los publica.
- 2No toca tu cuenta publicitaria ni publica nada por ti.
- 3No copia anuncios: los usa para entender por qué funcionan.
- 4No entra a cuentas privadas ni a nada que pida login.
Problemas comunes y cómo salir
/spy no aparece +
node, npm o git no se reconocen +
PowerShell dice que la ejecución de scripts está deshabilitada +
Dice que falta playwright-core +
Dice que no encuentra Chrome, Edge ni Chromium +
Meta pide iniciar sesión o no trae anuncios +
Los competidores que encontró no son de mi rubro +
Detectó mal mi país o vendo en varios +
Todavía no anuncio en Meta +
No pudo leer mi Instagram o mi web +
Tomó datos de otra marca o de otro proyecto +
Se cortó a mitad de camino +
Algunas miniaturas salen vacías +
El informe pesa demasiado o no se publica +
No me ofrece la opción Artifact +
No veo el Artifact o mi cliente no puede abrirlo +
Los links que necesitas
/spy es un skill de paidbyfacu. Las capturas son de un informe de ejemplo hecho con una marca española de cosmética natural; los anuncios que aparecen son públicos y salen de la Biblioteca de anuncios de Meta.