/geomaster
Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains. Supports satellite imagery processing (Sentinel, Landsat, MODIS, SAR, hyperspectral), vector and raster data operations,
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill geomaster --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/geomaster
Context preview
The summary Claude sees to decide when to auto-load this skill.
Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains. Supports satellite imagery processing (Sentinel, Landsat, MODIS, SAR, hyperspectral), vector and raster data operations,
SKILL.md
geomaster.SKILL.mdname: geomaster
description: Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains. Supports satellite imagery processing (Sentinel, Landsat, MODIS, SAR, hyperspectral), vector and raster data operations, spatial statistics, point cloud processing, network analysis, and 7 programming languages (Python, R, Julia, JavaScript, C++, Java, Go) with 500+ code examples. Use for remote sensing workflows, GIS analysis, spatial ML, Earth observation data processing, terrain analysis, hydrological modeling, marine spatial analysis, atmospheric science, and any geospatial computation task.
license: MIT License
metadata:
skill-author: K-Dense Inc.GeoMaster
GeoMaster is a comprehensive geospatial science skill covering the full spectrum of geographic information systems, remote sensing, spatial analysis, and machine learning for Earth observation. This skill provides expert knowledge across 70+ topics with 500+ code examples in 7 programming languages.
Installation
Core Python Geospatial Stack
# Install via conda (recommended for geospatial dependencies)
conda install -c conda-forge gdal rasterio fiona shapely pyproj geopandas
# Or via uv
uv pip install geopandas rasterio fiona shapely pyproj
Remote Sensing & Image Processing
# Core remote sensing libraries
uv pip install rsgislib torchgeo eo-learn
# For Google Earth Engine
uv pip install earthengine-api
# For SNAP integration
# Download from: https://step.esa.int/main/download/
GIS Software Integration
# QGIS Python bindings (usually installed with QGIS)
# ArcPy requires ArcGIS Pro installation
# GRASS GIS
conda install -c conda-forge grassgrass
# SAGA GIS
conda install -c conda-forge saga-gis
Machine Learning for Geospatial
# Deep learning for remote sensing
uv pip install torch-geometric tensorflow-caney
# Spatial machine learning
uv pip install libpysal esda mgwr
uv pip install scikit-learn xgboost lightgbm
Point Cloud & 3D
# LiDAR processing
uv pip install laspy pylas
# Point cloud manipulation
uv pip install open3d pdal
# Photogrammetry
uv pip install opendm
Network & Routing
# Street network analysis
uv pip install osmnx networkx
# Routing engines
uv pip install osrm pyrouting
Visualization
# Static mapping
uv pip install cartopy contextily mapclassify
# Interactive web maps
uv pip install folium ipyleaflet keplergl
# 3D visualization
uv pip install pydeck pythreejs
Big Data & Cloud
# Distributed geospatial processing
uv pip install dask-geopandas
# Xarray for multidimensional arrays
uv pip install xarray rioxarray
# Planetary Computer
uv pip install pystac-client planetary-computer
Database Support
# PostGIS
conda install -c conda-forge postgis
# SpatiaLite
conda install -c conda-forge spatialite
# GeoAlchemy2 for SQLAlchemy
uv pip install geoalchemy2
Additional Programming Languages
# R geospatial packages
# install.packages(c("sf", "terra", "raster", "terra", "stars"))
# Julia geospatial packages
# import Pkg; Pkg.add(["ArchGDAL", "GeoInterface", "GeoStats.jl"])
# JavaScript (Node.js)
# npm install @turf/turf terraformer-arcgis-parser
# Java
# Maven: org.geotools:gt-mainQuick Start
Reading Satellite Imagery and Calculating NDVI
import rasterio
import numpy as np
# Open Sentinel-2 imagery
with rasterio.open('sentinel2.tif') as src:
# Read red (B04) and NIR (B08) bands
red = src.read(4)
nir = src.read(8)
# Calculate NDVI
ndvi = (nir.astype(float) - red.astype(float)) / (nir + red)
ndvi = np.nan_to_num(ndvi, nan=0)
# Save result
profile = src.profile
profile.update(count=1, dtype=rasterio.float32)
with rasterio.open('ndvi.tif', 'w', **profile) as dst:
dst.write(ndvi.astype(rasterio.float32), 1)
print(f"NDVI range: {ndvi.min():.3f} to {ndvi.max():.3f}")Spatial Analysis with GeoPandas
import geopandas as gpd
# Load spatial data
zones = gpd.read_file('zones.geojson')
points = gpd.read_file('points.geojson')
# Ensure same CRS
if zones.crs != points.crs:
points = points.to_crs(zones.crs)
# Spatial join (points within zones)
joined = gpd.sjoin(points, zones, how='inner', predicate='within')
# Calculate statistics per zone
stats = joined.groupby('zone_id').agg({
'value': ['count', 'mean', 'std', 'min', 'max']
}).round(2)
print(stats)Google Earth Engine Time Series
import ee
import pandas as pd
# Initialize Earth Engine
ee.Initialize(project='your-project-id')
# Define region of interest
roi = ee.Geometry.Point([-122.4, 37.7]).buffer(10000)
# Get Sentinel-2 collection
s2 = (ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(roi)
.filterDate('2020-01-01', '2023-12-31')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)))
# Add NDVI band
def add_ndvi(image):
ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI')
return image.addBands(ndvi)
s2_ndvi = s2.map(add_ndvi)
# Extract time series
def extract_series(image):
stats = image.reduceRegion(
reducer=ee.Reducer.mean(),
geometry=roi.centroid(),
scale=10,
maxPixels=1e9
)
return ee.Feature(None, {
'date': image.date().format('YYYY-MM-dd'),
'ndvi': stats.get('NDVI')
})
series = s2_ndvi.map(extract_series).getInfo()
df = pd.DataFrame([f['properties'] for f in series['features']])
df['date'] = pd.to_datetime(df['date'])
print(df.head())Core Concepts
Coordinate Reference Systems (CRS)
Understanding CRS is fundamental to geospatial work:
- **Geographic CRS**: EPSG:4326 (WGS 84) - uses lat/lon degrees
- **Projected CRS**: EPSG:3857 (Web Mercator) - uses meters
- **UTM Zones**: EPSG:326xx (North), EPSG:327xx (South) - minimizes distortion
See
Read more
name: geomaster
description: Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains. Supports satellite imagery processing (Sentinel, Landsat, MODIS, SAR, hyperspectral), vector and raster data operations, spatial statistics, point cloud processing, network analysis, and 7 programming languages (Python, R, Julia, JavaScript, C++, Java, Go) with 500+ code examples. Use for remote sensing workflows, GIS analysis, spatial ML, Earth observation data processing, terrain analysis, hydrological modeling, marine spatial analysis, atmospheric science, and any geospatial computation task.
license: MIT License
metadata:
skill-author: K-Dense Inc.GeoMaster
GeoMaster is a comprehensive geospatial science skill covering the full spectrum of geographic information systems, remote sensing, spatial analysis, and machine learning for Earth observation. This skill provides expert knowledge across 70+ topics with 500+ code examples in 7 programming languages.
Installation
Core Python Geospatial Stack
# Install via conda (recommended for geospatial dependencies) conda install -c conda-forge gdal rasterio fiona shapely pyproj geopandas # Or via uv uv pip install geopandas rasterio fiona shapely pyproj
Remote Sensing & Image Processing
# Core remote sensing libraries uv pip install rsgislib torchgeo eo-learn # For Google Earth Engine uv pip install earthengine-api # For SNAP integration # Download from: https://step.esa.int/main/download/
GIS Software Integration
# QGIS Python bindings (usually installed with QGIS) # ArcPy requires ArcGIS Pro installation # GRASS GIS conda install -c conda-forge grassgrass # SAGA GIS conda install -c conda-forge saga-gis
Machine Learning for Geospatial
# Deep learning for remote sensing uv pip install torch-geometric tensorflow-caney # Spatial machine learning uv pip install libpysal esda mgwr uv pip install scikit-learn xgboost lightgbm
Point Cloud & 3D
# LiDAR processing uv pip install laspy pylas # Point cloud manipulation uv pip install open3d pdal # Photogrammetry uv pip install opendm
Network & Routing
# Street network analysis uv pip install osmnx networkx # Routing engines uv pip install osrm pyrouting
Visualization
# Static mapping uv pip install cartopy contextily mapclassify # Interactive web maps uv pip install folium ipyleaflet keplergl # 3D visualization uv pip install pydeck pythreejs
Big Data & Cloud
# Distributed geospatial processing uv pip install dask-geopandas # Xarray for multidimensional arrays uv pip install xarray rioxarray # Planetary Computer uv pip install pystac-client planetary-computer
Database Support
# PostGIS conda install -c conda-forge postgis # SpatiaLite conda install -c conda-forge spatialite # GeoAlchemy2 for SQLAlchemy uv pip install geoalchemy2
Additional Programming Languages
# R geospatial packages
# install.packages(c("sf", "terra", "raster", "terra", "stars"))
# Julia geospatial packages
# import Pkg; Pkg.add(["ArchGDAL", "GeoInterface", "GeoStats.jl"])
# JavaScript (Node.js)
# npm install @turf/turf terraformer-arcgis-parser
# Java
# Maven: org.geotools:gt-mainQuick Start
Reading Satellite Imagery and Calculating NDVI
import rasterio
import numpy as np
# Open Sentinel-2 imagery
with rasterio.open('sentinel2.tif') as src:
# Read red (B04) and NIR (B08) bands
red = src.read(4)
nir = src.read(8)
# Calculate NDVI
ndvi = (nir.astype(float) - red.astype(float)) / (nir + red)
ndvi = np.nan_to_num(ndvi, nan=0)
# Save result
profile = src.profile
profile.update(count=1, dtype=rasterio.float32)
with rasterio.open('ndvi.tif', 'w', **profile) as dst:
dst.write(ndvi.astype(rasterio.float32), 1)
print(f"NDVI range: {ndvi.min():.3f} to {ndvi.max():.3f}")Spatial Analysis with GeoPandas
import geopandas as gpd
# Load spatial data
zones = gpd.read_file('zones.geojson')
points = gpd.read_file('points.geojson')
# Ensure same CRS
if zones.crs != points.crs:
points = points.to_crs(zones.crs)
# Spatial join (points within zones)
joined = gpd.sjoin(points, zones, how='inner', predicate='within')
# Calculate statistics per zone
stats = joined.groupby('zone_id').agg({
'value': ['count', 'mean', 'std', 'min', 'max']
}).round(2)
print(stats)Google Earth Engine Time Series
import ee
import pandas as pd
# Initialize Earth Engine
ee.Initialize(project='your-project-id')
# Define region of interest
roi = ee.Geometry.Point([-122.4, 37.7]).buffer(10000)
# Get Sentinel-2 collection
s2 = (ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(roi)
.filterDate('2020-01-01', '2023-12-31')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)))
# Add NDVI band
def add_ndvi(image):
ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI')
return image.addBands(ndvi)
s2_ndvi = s2.map(add_ndvi)
# Extract time series
def extract_series(image):
stats = image.reduceRegion(
reducer=ee.Reducer.mean(),
geometry=roi.centroid(),
scale=10,
maxPixels=1e9
)
return ee.Feature(None, {
'date': image.date().format('YYYY-MM-dd'),
'ndvi': stats.get('NDVI')
})
series = s2_ndvi.map(extract_series).getInfo()
df = pd.DataFrame([f['properties'] for f in series['features']])
df['date'] = pd.to_datetime(df['date'])
print(df.head())Core Concepts
Coordinate Reference Systems (CRS)
Understanding CRS is fundamental to geospatial work:
- **Geographic CRS**: EPSG:4326 (WGS 84) - uses lat/lon degrees
- **Projected CRS**: EPSG:3857 (Web Mercator) - uses meters
- **UTM Zones**: EPSG:326xx (North), EPSG:327xx (South) - minimizes distortion
See
VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.
Repo: foryourhealth111-pixel/Vibe-Skills
Other skills on vibe-skills.
- /LQF_Machine_Learning_Expert_Guide
LQF Machine Learning Expert Guide - Routed skill for ML/Statistical Modeling with Critical Discussion Mode. Triggers on: machine learning, modeling, prediction, training, classification, regression, clustering, deep learning, neural network, model evaluation, feature
Open skill - /adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use
Open skill - /aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations
Open skill - /algorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing
Open skill - /alpha-vantage
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash
Open skill - /architecture-patterns
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.
Open skill
