How oldcircle/geo-sleuth works
geo-sleuth is an Agent Skill for geolocating a photo through evidence-led, script-assisted investigation. The main workflow starts with photo intake, develops visual and metadata clues, searches candidate regions and sites, then tests camera position and viewing geometry before producing coordinates, heading, confidence and an evidence image. The README documents additional search and verification capabilities not represented in the sampled source excerpts; those are included at subsystem level, with uncertain internal wiring left out.
Main entry points: SKILL.md Agent workflow · intake.py Intake report · revimg.py Image search · clues.py Reference lookups
Components 26
Photo intake
- Agent workflow
skills/geo-sleuth/SKILL.md - Intake report
skills/geo-sleuth/scripts/intake.py - EXIF reader
skills/geo-sleuth/scripts/exif.py - Image preparation
skills/geo-sleuth/scripts/imgprep.py - Text recognition
skills/geo-sleuth/scripts/ocr.py
Clue analysis
- Image search
skills/geo-sleuth/scripts/revimg.py - Reference lookups
skills/geo-sleuth/scripts/clues.py - Clue tables
skills/geo-sleuth/data - Sun and shadows
skills/geo-sleuth/scripts/sun.py - Candidate evidence board
skills/geo-sleuth/scripts/board.py
Candidate search
- OSM feature search
skills/geo-sleuth/scripts/osm.py - Administrative regions
skills/geo-sleuth/scripts/gazetteer.py - Satellite scan
skills/geo-sleuth/scripts/sat_scan.py - Map imagery
skills/geo-sleuth/scripts/tiles.py
Position verification
- Terrain and skyline
skills/geo-sleuth/scripts/terrain.py - Camera pose fit
skills/geo-sleuth/scripts/pose.py - Scene ranking
skills/geo-sleuth/scripts/match.py - Geometric calculations
skills/geo-sleuth/scripts/geo.py
Evidence and results
- Evidence generation
skills/geo-sleuth/scripts/evidence.py - Location and confidence
Other components
- Photo submitter
- OpenStreetMap services
- Elevation data
- Satellite imagery services
- Street-view services
- Image search engines
Connections 27
- Photo submitter → Agent workflow: provides photo
- Agent workflow → Intake report: runs intake
- Intake report → EXIF reader: reads metadata
- Intake report → Image preparation: prepares variants
- Intake report → Text recognition: extracts text
- Intake report → Image search: searches images
- Image search → Image search engines: queries
- Reference lookups → Clue tables: reads tables
- Agent workflow → Reference lookups: checks clues
- Agent workflow → Sun and shadows: tests shadows
- Agent workflow → Candidate evidence board: tracks candidates
- Agent workflow → OSM feature search: queries features
- Agent workflow → Administrative regions: enumerates regions
- OSM feature search → OpenStreetMap services: queries
- Administrative regions → OpenStreetMap services: queries
- Agent workflow → Satellite scan: ranks target areas
- Satellite scan → Map imagery: requests tiles
- Map imagery → Satellite imagery services: fetches imagery
- Agent workflow → Terrain and skyline: fits skylines
- Terrain and skyline → Elevation data: samples terrain
- Agent workflow → Camera pose fit: fits camera pose
- Agent workflow → Scene ranking: ranks scenes
- Scene ranking → Street-view services: renders candidates
- Agent workflow → Geometric calculations: computes geometry
- Agent workflow → Evidence generation: builds evidence
- Evidence generation → Location and confidence: produces report
- Agent workflow → Location and confidence: returns location