QGIS
Use this skill for deterministic, file-based GIS processing through qgis_process.
Core Rules
- Confirm source files, destination files, and target CRS before running commands.
- Prefer writing to a new output path; do not overwrite source data unless user explicitly asks.
- Discover algorithm parameters from
qgis_process help <algorithm-id>before execution. - If output format is not specified, default to
GPKGfor vector andGeoTIFFfor raster. - For batch operations, run one representative file first, then scale to the full set.
Standard Workflow
- Validate tool and inspect capabilities:
qgis_process --version
qgis_process list
- Find and inspect a specific algorithm:
qgis_process list | rg -i "clip|buffer|reproject|merge|warp|dissolve"
qgis_process help native:clip
- Execute with explicit parameters:
qgis_process run <algorithm-id> -- \
INPUT=<input-path> \
OUTPUT=<output-path>
- Verify output exists and report summary (path, layer count/bands, CRS, extent).
Common Patterns
# Reproject vector layer
qgis_process run native:reprojectlayer -- \
INPUT=./data/input.gpkg \
TARGET_CRS=EPSG:4326 \
OUTPUT=./out/reprojected.gpkg
# Clip vector layer by overlay
qgis_process run native:clip -- \
INPUT=./data/roads.gpkg \
OVERLAY=./data/boundary.gpkg \
OUTPUT=./out/roads_clipped.gpkg
# Buffer vector features
qgis_process run native:buffer -- \
INPUT=./data/points.gpkg \
DISTANCE=100 \
SEGMENTS=8 \
DISSOLVE=false \
OUTPUT=./out/points_buffer_100m.gpkg
Safety Boundaries
- Do not guess units; confirm whether distance/area is in degrees or projected units.
- If CRS is missing/invalid, stop and ask for the intended CRS before processing.
- Avoid lossy conversion unless requested (for example dropping attributes or precision).
- For long batch runs, provide dry-run plan first: algorithm, inputs, outputs, and overwrite policy.
OpenClaw + ClawHub Notes
- Keep commands shell-safe and reproducible in OpenClaw terminal sessions.
- Keep this skill portable: no hardcoded machine paths, credentials, or private endpoints.
- For clawhub.ai publication, keep versioning/changelog semver-driven and update examples only with generic sample data.