detect-objects
Run pre-trained AI models on geospatial imagery. Detect buildings, cars, ships, solar panels, agriculture fields, or use text-prompted segmentation with…
Download Overture Maps data (buildings, places, roads, land use, water, etc.) for a bounding box. Returns a GeoDataFrame saved as GeoJSON or GeoPackage.
$ npx -y skills add opengeos/geoai-skills --skill overture-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/overture-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Download Overture Maps data (buildings, places, roads, land use, water, etc.) for a bounding box. Returns a GeoDataFrame saved as GeoJSON or GeoPackage.
name: overture-data description: > Download Overture Maps data (buildings, places, roads, land use, water, etc.) for a bounding box. Returns a GeoDataFrame saved as GeoJSON or GeoPackage. argument-hint: <data_type> --bbox <minx,miny,maxx,maxy> [--output FILE] allowed-tools: Bash
You are helping the user download Overture Maps data using geoai.
Input: `$@`
Follow these steps in order.
Extract:
Valid Overture data types: `address`, `building`, `building_part`, `division`, `division_area`, `division_boundary`, `place`, `segment`, `connector`, `infrastructure`, `land`, `land_cover`, `land_use`, `water`
If the data type is not recognized, print the list of valid types and ask the user to pick one.
If the user provided natural language (e.g. "get buildings in downtown Nashville"), extract the data type and either infer or ask for the bounding box.
Confirm the bounding box has 4 numeric values:
If validation fails, report the issue and ask for corrected coordinates.
python3 -c "
import geoai
gdf = geoai.download_overture_buildings(
bbox=(MINX, MINY, MAXX, MAXY),
output='OUTPUT_PATH',
)
print(f'Features: {len(gdf)}')
print(f'Columns: {list(gdf.columns)}')
print(f'CRS: {gdf.crs}')
print(f'Bounds: {gdf.total_bounds.tolist()}')
print('---')
print('Sample (first 5 rows):')
print(gdf.head().to_string())
"python3 -c "
import geoai
gdf = geoai.get_overture_data(
overture_type='DATA_TYPE',
bbox=(MINX, MINY, MAXX, MAXY),
output='OUTPUT_PATH',
)
print(f'Features: {len(gdf)}')
print(f'Columns: {list(gdf.columns)}')
print(f'CRS: {gdf.crs}')
print(f'Bounds: {gdf.total_bounds.tolist()}')
print('---')
print('Sample (first 5 rows):')
print(gdf.head().to_string())
"Replace `DATA_TYPE`, `MINX`, `MINY`, `MAXX`, `MAXY`, and `OUTPUT_PATH` with actual values.
If a state directory exists, update it:
STATE_DIR="" test -f .geoai-skills/state.json && STATE_DIR=".geoai-skills" PROJECT_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")" PROJECT_ID="$(echo "$PROJECT_ROOT" | tr '/' '-')" test -f "$HOME/.geoai-skills/$PROJECT_ID/state.json" && STATE_DIR="$HOME/.geoai-skills/$PROJECT_ID"
If `STATE_DIR` is set:
python3 -c "
import json, os
state_file = 'STATE_DIR/state.json'
state = {}
if os.path.exists(state_file):
with open(state_file) as f:
state = json.load(f)
state.setdefault('downloaded_files', [])
state['downloaded_files'].append('OUTPUT_PATH')
with open(state_file, 'w') as f:
json.dump(state, f, indent=2)
"Summarize:
Then suggest: *"Use `/geoai-skills:inspect-geo` to examine the downloaded data in detail."*
A Claude Code plugin that adds GeoAI-powered skills for geospatial data exploration, satellite imagery download, AI-based object detection, and session memory. Built on the GeoAI Python library.
Run pre-trained AI models on geospatial imagery. Detect buildings, cars, ships, solar panels, agriculture fields, or use text-prompted segmentation with…
Download NAIP aerial imagery for a bounding box. Specify coordinates as minx,miny,maxx,maxy in WGS84 and optionally a year.
Inspect any raster or vector geospatial file. Returns CRS, bounds, bands, resolution, dtype, attribute summaries, and band statistics. Supports GeoTIFF,…
Verify that the geoai Python package is installed and functional. If not, provide installation instructions. Optionally check extra dependencies for deep…
Process raster data: clip by bounding box, stack multiple bands, mosaic GeoTIFFs, or convert between raster and vector formats.
Search past Claude Code session logs to recover context from previous conversations. Finds past decisions, data paths, CRS info, model configurations, and…