geo-sleuth, la skill que deduce dónde se hizo una foto

Un desarrollador que firma como Oldcircle ha publicado en GitHub geo-sleuth, una skill de código abierto para agentes de IA como Claude Code, Codex, Cursor, Gemini CLI, OpenCode y GitHub Copilot que intenta deducir dónde se hizo una fotografía aunque no tenga datos de GPS, carteles ni texto legible. El proyecto se ha hecho viral en X a raíz de su caso de demostración: una foto de un arrozal con un viaducto y una montaña al fondo que, según su autor, la herramienta situó con un margen de error de unos 2 metros.

Las claves de geo-sleuth en 20 segundos

  • Qué es: una skill gratuita, con licencia MIT, formada por un archivo SKILL.md y unos veinte scripts en Python que el agente ejecuta.
  • Cómo trabaja: combina OpenStreetMap, datos de elevación, imágenes de satélite, vistas a pie de calle, sombras y búsqueda inversa de imágenes.
  • Qué devuelve: coordenadas con un radio de error, la orientación de la cámara, una imagen de evidencia sobre satélite y un nivel de confianza.
  • El matiz: el famoso error de 2 metros sale de un único caso con la solución conocida; todavía no hay una prueba a ciegas con fotos nuevas.

Una foto, una frase y 72 minutos

La propuesta de geo-sleuth es que el usuario no tenga que hacer nada más que entregar una imagen a su agente y pedirle que averigüe dónde se tomó. A partir de ahí, el agente lee las instrucciones de la skill, lanza los scripts y vuelve con una posición, la dirección en la que miraba la cámara y una imagen de satélite que justifica la respuesta. Se instala como cualquier otra skill estándar, con el gestor de skills de Vercel o copiando la carpeta, y necesita Python 3.10 o superior y la herramienta uv.

El caso que ha circulado por redes está explicado paso a paso en el repositorio. Es una foto de móvil sin metadatos: un horno blanco junto a un arrozal ya cosechado, un viaducto largo a lo lejos y una montaña empinada a la derecha, sin un solo carácter legible. El agente dedujo por los postes que el viaducto era de un ferrocarril electrificado, usó la separación entre pilares como regla para estimar distancias, suponiendo vanos de 32 metros, y apostó por el sur de China por el estado del arroz y la vegetación.

Después descargó de OpenStreetMap todos los puentes ferroviarios de la región, 27.335 tramos, y calculó el horizonte visible desde un punto cada 400 metros con datos de elevación. Eso dejó 171 lugares candidatos. Probó 14.372 posiciones de cámara comparando la silueta de las montañas con la de la foto, se quedó con 22, revisó visualmente las tres mejores y, contando los 17 pilares visibles como líneas de visión hacia la vía, fijó un único punto con unos 2 metros de margen. El propio autor indica que el proceso duró unos 72 minutos, la mitad esperando cálculos.

Los scripts deciden, el modelo solo elige

Lo más interesante del diseño no es la cifra, sino el reparto de tareas. geo-sleuth divide el trabajo en tres capas. Los scripts deciden qué candidatos se mantienen, cómo puntuar cada pista y dónde buscar después, mediante un tablero de candidatos con probabilidades. Otros scripts perciben: leen texto con OCR, consultan tablas de matrículas o prefijos telefónicos, puntúan cuadrículas de satélite con el modelo CLIP y comparan vistas de calle con DINOv2 y SIFT. El modelo de lenguaje solo interpreta la imagen, propone hipótesis y elige entre las pocas opciones que los scripts ya han ordenado.

La skill impone además una regla de trazabilidad: cada conclusión tiene que señalar el comando que se ejecutó en la sesión y el archivo que produjo, y la fama o la población de un lugar no cuentan como prueba. Es un enfoque que encaja con la tendencia de convertir conocimiento experto en skills reutilizables para agentes: según el autor, el método sale de analizar 14 vídeos de creadores especializados en geolocalización, 22 acertijos y varias ejecuciones reales, y de convertir lo que funcionaba en reglas y código.

Lo que la publicación viral no cuenta

La publicación de X que ha disparado su difusión habla de una herramienta capaz de localizar cualquier foto, y el repositorio no dice eso. Las pruebas que publica son limitadas y casi todas en China. El caso estrella es una repetición acotada sobre una foto cuya ubicación real ya se conocía, y el resto de mediciones evalúa piezas sueltas: la comparación de vistas de calle se probó en ocho casos en Shenzhen, con la ubicación correcta siempre entre las seis primeras, y el rastreo de satélite encontró 17 de 40 pistas de atletismo entre sus 20 primeros resultados en una zona de la misma ciudad. La hoja de ruta del proyecto incluye todavía crear un conjunto público de fotos inéditas para dar una cifra de precisión de extremo a extremo.

También conviene saber que parte de las herramientas están orientadas a ese país, como las panorámicas de Baidu o las tablas de divisiones administrativas chinas, aunque el diseño admite paquetes regionales que la comunidad puede aportar para otros países. Un proyecto derivado, GeoInt, ya ha reutilizado buena parte del código para ampliar las pistas a escala mundial. Y la búsqueda inversa de imágenes, uno de sus primeros pasos, se apoya en servicios externos como Baidu y Yandex, lo que implica que la imagen sale del equipo del usuario.

Una herramienta de doble filo

La geolocalización de imágenes es una técnica clásica de la investigación en fuentes abiertas, la OSINT que usan periodistas y verificadores para confirmar dónde se grabó un vídeo de un conflicto o desmontar un bulo. Lo que cambia con geo-sleuth es que un agente puede encadenar en una hora un trabajo de análisis de terreno que antes requería práctica y mucho tiempo.

El mismo avance tiene un lado preocupante: facilita averiguar dónde vive o por dónde se mueve alguien a partir de las fotos que publica. El autor lo reconoce en el propio repositorio, donde pide usarla solo con fotos propias o con permiso, y nunca para encontrar a personas que no han aceptado ser localizadas. Es una petición, no un control técnico. Para cualquiera que comparta imágenes, la lección es clara: quitar los metadatos de una foto ya no basta si el fondo muestra un horizonte, una infraestructura o un paisaje reconocible.

geo-sleuth se suma a una oleada de skills de código abierto que están ganando visibilidad en GitHub, como las que recogíamos en los repositorios de agentes de IA que más crecen.

Preguntas frecuentes

¿Qué es geo-sleuth?

Es una skill de código abierto, con licencia MIT, que permite a agentes de IA como Claude Code, Codex, Cursor, Gemini CLI, OpenCode o GitHub Copilot intentar localizar dónde se tomó una foto a partir de pistas visuales, mapas y datos de elevación.

¿De verdad localiza fotos con 2 metros de error?

En su caso de demostración, sí, según el autor. Pero es una sola foto cuya ubicación ya se conocía, y el proyecto aún no ha publicado una prueba a ciegas con imágenes nuevas que mida su precisión general.

¿Funciona con fotos de cualquier país?

Está diseñada para usarse en cualquier lugar gracias a OpenStreetMap, el satélite y los datos de elevación, pero varias herramientas y casi todas las pruebas publicadas están centradas en China. Admite paquetes regionales para añadir pistas de otros países.

¿Es legal usarla con fotos de otras personas?

El autor pide usarla solo con fotos propias o con permiso, y nunca para localizar a personas que no lo han consentido. Usarla para seguir o identificar el domicilio de alguien puede vulnerar su intimidad y la normativa de protección de datos.

Fuente: repositorio de geo-sleuth en GitHub (Oldcircle)

Scroll al inicio