Skip to content
geo-sleuth

geo-sleuth Skill

Find where a photo was taken: EXIF, OCR, OpenStreetMap, skyline and satellite matching, with coordinates, error radius and evidence images.

GitHub
Featured Development
Released
MIT
1460 views
468 copies

Install

Install with the skills CLI

One command for Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf and dozens of other agents. Needs Node.js; the skill is fetched straight from Oldcircle/geo-sleuth.

$ npx skills add Oldcircle/geo-sleuth

Run it in a terminal. The CLI finds the agents installed on your machine, asks which ones to add the skill to, and whether to install it into the folder you ran it from or for all your projects. It also lists the skills in the repository so you can pick geo-sleuth.

Other ways to install

  1. Open the skill on GitHub and download the folder that holds its SKILL.md.
  2. Put it at ~/.claude/skills/geo-sleuth/, where Claude Code picks it up in every project.

No scripts or references next to it? Saving the SKILL.md alone as ~/.claude/skills/geo-sleuth/SKILL.md works too.

Using another agent? Its personal skills folder
Codex
~/.agents/skills/
Cursor
~/.cursor/skills/
GitHub Copilot
~/.copilot/skills/
Gemini CLI
~/.gemini/skills/
Windsurf
~/.codeium/windsurf/skills/
OpenCode
~/.config/opencode/skills/

About

  • EXIF, OCR and reverse image search in one intake command
  • Scripted candidate board ranks locations so the model judges only the top few
  • OpenStreetMap geometry, elevation skyline rendering and sun/shadow maths
  • Satellite and street-view matching ranked by CLIP and DINOv2
  • Returns coordinates, error radius, camera heading and evidence image
  • Works in Claude Code, Codex, Cursor, Gemini CLI, OpenCode and Copilot

geo-sleuth turns any coding agent into a photo-geolocation investigator. Instead of guessing from vibes, it runs a structured workflow: a single intake command extracts EXIF, OCR text and reverse-image-search hits, then a scripted candidate board ranks possible locations so the model only has to judge the top few.

It works even when a photo contains no readable text or landmark. Railway pier spacing becomes a distance ruler, shadows give a bearing and a ridge line becomes a fingerprint that elevation data can be matched against. In the author's showcase run, one stripped-EXIF rice-paddy photo was narrowed from 27,335 railway bridge segments to a single camera position within about 2 m.

The skill follows the open Agent Skills format (SKILL.md plus plain Python scripts), so the same folder works in Claude Code, Codex, Cursor, Gemini CLI, OpenCode and GitHub Copilot. Requires Python 3.10+. MIT licensed. Useful for OSINT researchers, journalists verifying imagery and geography-game fans; every answer includes coordinates, an error radius, camera heading, a satellite evidence image and a graded confidence.

Try it

Once installed, ask your agent something like:

Find where this photo was taken.

SKILL.md

The instructions your agent loads, as published by Oldcircle.

SKILL.md

geo-sleuth

An agent skill that geolocates a photograph and shows its work. Give your agent one or more photos and ask "where was this taken?"; it returns coordinates with an error radius, the camera heading, a satellite evidence image and a graded confidence.

How it works
  1. Intake – one script reads EXIF metadata, runs OCR and reverse image search, and logs every clue on a candidate board.
  2. Ranking – scripts, not the model, score and sort candidate locations. Lookup tables (licence plates, phone codes, driving side, territories) turn clues into hypotheses.
  3. Verification – OpenStreetMap (Overpass) geometry, elevation-based skyline rendering, sun and shadow maths, CLIP-ranked satellite scans and street-view matching narrow the field. The model only judges among the top few candidates.
  4. Report – every conclusion must cite the command that ran and the file it produced.
Install
npx skills add Oldcircle/geo-sleuth

The full SKILL.md, scripts, references and data live in skills/geo-sleuth/ of the repository: https://github.com/Oldcircle/geo-sleuth

Install

Skill: Geo OSINT Locator

by Enrico Frumento

Forensic single-image geolocation: builds competing place hypotheses, verifies them across independent evidence, falsifies the runner-up and only names an exact spot after a strict gate.

Skill: GeoInt

by marouane53

Find where any photo, screenshot, video frame or Street View image was taken: a GeoGuessr-style first read, then OSINT proof with OCR, maps, street-level matching and geometry.

Browse all skills →