Individual skill
swmm-gis
GIS/DEM preprocessing for SWMM experiments using the user's own QGIS/GRASS layers. Use when the user asks to (1) delineate subcatchments through QGIS/GRASS (standard or entropy-guided), (2) preprocess QGIS-derived subcatchment polygons into builder-ready CSV, (3) identify high-entropy hotspot subcatchments, or (4) expose QGIS/GRASS-backed preprocessing as MCP tools for reproducible workflows. For bbox-only inputs WITHOUT real pipe data, use `swmm-anywhere` instead (it synthesises a plausible network from OSM streets + DEM).
skills/swmm-gis/SKILL.md
Source commit a3bf4f23469cf4252955901176c86b9c94578963
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 7, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 31
- Repository last updated
- Oct 28, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agentic-ai Repository topic
- gis Repository topic
- mcp Repository topic
- openclaw Repository topic
- reproducible-research Repository topic
- swmm Repository topic
- codex Repository topic
- agentic-framework Repository topic
- uncertainty-quantification Repository topic
- claude-code Repository topic
- data Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesSKILL.mdcore · 19,439 bytesexamples/qgis_overlay_subcatchments.geojsonasset · 1,275 bytesexamples/subcatchments_dem_assisted.geojsonasset · 832 bytesexamples/subcatchments_dem_stats_demo.jsonasset · 412 bytesexamples/subcatchments_demo.geojsonasset · 1,115 bytesscripts/area_weighted_swmm_params.pyruns · 23,924 bytesscripts/basin_shp_to_subcatchments.pyruns · 7,699 bytesscripts/find_pour_point.pyruns · 4,639 bytesscripts/plot_qgis_standard_layers.pyruns · 4,692 bytesscripts/preprocess_subcatchments.pyruns · 30,357 bytesscripts/qgis_package_final_layers.pyruns · 7,763 bytesscripts/qgis_prepare_swmm_inputs.pyruns · 33,635 bytes
Read excerpt
# SWMM GIS / Preprocess
Part of [Agentic SWMM](https://github.com/Zhonghao1995/agentic-swmm-workflow) — install the project first for the executable toolchain (aiswmm CLI, SWMM solver, MCP servers).
## Before calling any watershed delineation tool — ask the user
When the user triggers watershed delineation (`qgis_raw_to_entropy_partition` or equivalent), **always ask these questions first** before making the tool call:
1. **Delineation mode** — Standard (fast, direct GRASS basins, no entropy) or Entropy-guided (paper WJE/NWJE/WFJS split-lump with sensitivity figures)?
2. **Stream threshold** — How many upslope cells define a stream? Default 100. Smaller = more streams = finer subcatchments.
3. **If entropy mode** — Delta threshold (default 0.015) and WFJS similarity threshold (default 0.95)? Use defaults unless doing sensitivity exploration.
4. **Purpose** — Planning / calibration exploration / sensitivity analysis / paper reproduction? This affects how strictly to apply paper-only splits and whether sensitivity figures are needed.
5. **CRS normalization needed?** — Are all input layers already in the same projected CRS? If uncertain, check first with `qgis_load_layers` + `qgis_validate_crs`.