A set of 24 open-source agent skills that steer Claude Code, Codex, Cursor and opencode toward less generic, more deliberately designed UI output.
Oldcircle/geo-sleuth
An agent skill that estimates where a photo was taken using OpenStreetMap geometry, elevation skylines, satellite imagery and street view, and reports its reasoning.
- Stars
- 6,422
- Forks
- 790
- Open issues
- 20
- Last commit
- 3 days ago
What is it?
geo-sleuth is a photo geolocation skill for AI coding agents. Given a photo, the agent runs a set of Python scripts that read EXIF data and visible text, search OpenStreetMap for candidate locations, and compare the ridge line in the photo against elevation-based skylines computed at each candidate. Satellite tiles and street view images are ranked with CLIP, DINOv2 and SIFT matching, and the result is a camera position with an error radius, a heading and an evidence image.
The skill is built for photos with no obvious landmarks, such as scenes with only bridges, power lines, mountains or street trees. Its scripts rank candidates and the model only chooses among the top few. Every conclusion must point to a command that ran and the file it produced. Benchmarks and blind re-runs are listed in the repository for two case photos.
It installs as a standard Agent Skill, a folder with SKILL.md and scripts, and works with Claude Code, Codex, Cursor, Gemini CLI, OpenCode and GitHub Copilot. It requires Python 3.10+, uv and a Chrome or Playwright Chromium install for reverse image search.
Key features
- 01Scans OpenStreetMap features such as railway bridges and power lines to produce candidate sites.
- 02Matches ridge lines in the photo against elevation-based skylines and solves small camera roll angles.
- 03Estimates shadows and sun direction to infer heading and latitude band.
- 04Ranks satellite tiles and street view images with CLIP, DINOv2 and SIFT matching.
- 05Outputs camera coordinates with an error radius, heading and an evidence image.
- 06Runs as a standard Agent Skill across six major coding agents.
Use cases
- Locating a photo with no GPS data and no readable signs for OSINT research.
- Practicing geolocation skills for GeoGuessr-style puzzles with transparent reasoning.
- Checking where a landscape or infrastructure photo was taken, with permission to analyze it.
- Studying how terrain, satellite imagery and map data can be combined for image geolocation.
Quick start
- 1
Install the skill with npx and pick your agents
npx skills add Oldcircle/geo-sleuth - 2
On first use, have the agent run doctor.py from the skill's scripts folder and fix any failed checks
- 3
Give your agent a photo and ask it to find where the photo was taken
Things to know
- Requires Python 3.10 or newer and a setup check on first use.
- A full run can be slow; one documented case took about 72 minutes end to end.
In collections
Topics
FAQ
- What is geo-sleuth?
- An agent skill that estimates where a photo was taken using OpenStreetMap geometry, elevation skylines, satellite imagery and street view, and reports its reasoning. geo-sleuth is a photo geolocation skill for AI coding agents. Given a photo, the agent runs a set of Python scripts that read EXIF data and visible text, search OpenStreetMap for candidate locations, and compare the ridge line in the photo against elevation-based skylines computed at each candidate. Satellite tiles and street view images are ranked with CLIP, DINOv2 and SIFT matching, and the result is a camera position with an error radius, a heading and an evidence image.
- Is geo-sleuth free to use? What license does it have?
- geo-sleuth is open source under the MIT license. Check the license terms before using it in commercial products.
- Is geo-sleuth still maintained?
- Actively maintained. The last commit to geo-sleuth was on Nov 5, 2026.
- What can I use geo-sleuth for?
- Locating a photo with no GPS data and no readable signs for OSINT research. Practicing geolocation skills for GeoGuessr-style puzzles with transparent reasoning. Checking where a landscape or infrastructure photo was taken, with permission to analyze it. Studying how terrain, satellite imagery and map data can be combined for image geolocation.
- How do I install geo-sleuth?
- Install the skill with npx and pick your agents: npx skills add Oldcircle/geo-sleuth On first use, have the agent run doctor.py from the skill's scripts folder and fix any failed checks Give your agent a photo and ask it to find where the photo was taken
- Where can I get geo-sleuth?
- The source code and installation instructions are on GitHub: https://github.com/Oldcircle/geo-sleuth
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A CLI and TUI for installing, curating and sharing a library of skills for AI coding agents, with the author's own bundled picks.
An Obsidian plugin for browsing, creating, and editing AI agent skills, commands, and agents across 17 coding tools like Claude Code and Cursor.
Installs a spec-driven development workflow as Agent Skills for AI coding agents like Claude Code, Codex, and Cursor, covering requirements, design, tasks, and autonomous implementation.
An Agent Skill that rewrites AI-generated Japanese into more natural, readable Japanese for technical articles, specs, and PR descriptions.
An agent skill that lets coding agents outline, mask and count objects in photos with Meta's SAM 3 on a local NVIDIA GPU.