Not in the top 1,000 by GitHub stars
Zhonghao1995/agentic-swmm-workflow
Agentic SWMM is an automated, auditable, and memory-informed framework for reproducible stormwater modelling, integrating QGIS and EPA SWMM through the aiswmm runtime, reusable Skills, and MCP interfaces, with QA verification, provenance tracking, calibration support, and Codex, Hermes, Claude code as well as OpenClaw compatibility
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/skill-author/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-anywhere/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-builder/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-calibration/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-canada/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-climate/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-design-review/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-end-to-end/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-experiment-audit/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-gis/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-network/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-params/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-plot/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-report/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-runner/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-uncertainty/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
skills/swmm-water-quality/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → a3bf4f23469c
No earlier version was observed for comparison.
Heat
1.5- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- skill-author
skills/skill-author - swmm-anywhere
skills/swmm-anywhere - swmm-builder
skills/swmm-builder - swmm-calibration
skills/swmm-calibration - swmm-canada
skills/swmm-canada - swmm-climate
skills/swmm-climate - swmm-design-review
skills/swmm-design-review - swmm-end-to-end
skills/swmm-end-to-end - swmm-experiment-audit
skills/swmm-experiment-audit - swmm-gis
skills/swmm-gis - swmm-network
skills/swmm-network - swmm-params
skills/swmm-params - swmm-plot
skills/swmm-plot - swmm-report
skills/swmm-report - swmm-runner
skills/swmm-runner - swmm-uncertainty
skills/swmm-uncertainty - swmm-water-quality
skills/swmm-water-quality
How it works
skill-author
When your agent uses it
Draft a well-formed new skill (a SKILL.md scaffold, optionally with scripts/references) from a described recurring need, for human review and approval. Use whenever a repeated workflow gap has no existing skill covering it, when someone wants to propose or create a new skill or capability, or when an agentic system detects a recurring problem that warrants a brand-new skill rather than editing an existing one. Domain-general — works for any modeling or workflow domain; SWMM is just one example.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
1,027 tokensWhen the skill is activated
Reference documents
764 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- How to draft a skill
- What makes a good skill
- Output contract
- Safety / boundaries
Scripts executed separately
scripts/validate_skill.pytests/test_validate_skill.py
Files
SKILL.mdcore4,676 bytesSKILL.mdcore4,676 bytesSKILL.mdcore4,676 bytesassets/SKILL.template.mddoc610 bytesreferences/skill-format.mddoc2,693 bytesscripts/validate_skill.pyruns4,358 bytestests/test_validate_skill.pyruns3,132 bytes
Read SKILL.md
# Skill author
Turn a description of a recurring need into a **draft skill** that a human can review and approve. This skill writes proposals; it never installs, activates, or edits skills on its own — a freshly drafted skill is a proposal, not a verified capability.
It is domain-general: nothing here is specific to stormwater or SWMM. The same recipe produces a skill for any modeling or workflow domain.
## When to use
- A recurring problem keeps showing up and **no existing skill covers it** — the gap itself is the trigger to propose a new one.
- Someone asks to "create / propose / draft a new skill" for some capability.
- An agentic system (e.g. a memory or lessons-learned layer) flags a repeated pattern that warrants a new skill rather than a tweak to an existing one.
If an existing skill already covers most of the need, **improve that one instead** — don't create a near-duplicate (see step 2).
View the complete source on GitHubswmm-anywhere
When your agent uses it
Synthesize a plausible SWMM drainage network from public data (OSM streets + DEM) when NO real pipe-network data exists — input is just a bbox. Use ONLY when the user has no pipe shapefile/CAD/GIS data, or to establish a baseline before real data arrives; if real pipe data exists, route to swmm-network or swmm-gis instead.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
3,275 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill does
- Required inputs
- Optional inputs
- Defaults — tuned for fewer, more useful outfalls
- Adjusting the synthesis — orphan nodes, too many / too few pipes
- Skill artifacts produced
- Example invocation
- What to do next
- Constraints and known limits
- Installing — and credit where it's due
Scripts executed separately
scripts/synth_from_bbox.pytests/test_smoke.py../swmm-network/scripts/network_qa.py../swmm-network/scripts/network_qa.py
Files
SKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesSKILL.mdcore12,499 bytesscripts/synth_from_bbox.pyruns8,473 bytestests/test_smoke.pyruns2,323 bytes../swmm-network/scripts/network_qa.pyruns7,728 bytes../swmm-network/scripts/network_qa.pyruns7,728 bytes
Read SKILL.md
# swmm-anywhere
**Synthesize a plausible SWMM drainage network from public data (OSM streets + DEM) when no real pipe-network data exists.**
Use **ONLY** when the user explicitly does not have pipe shapefile / CAD / GIS data, or when establishing a baseline before real data arrives. **Do NOT use if `swmm-gis` or `swmm-network` can run on the user's actual data** — the synthesized network is an *inferred plausibility*, not measured infrastructure.
For bbox-only inputs without real pipe data: this is the right skill.
For inputs that include a `.shp`, `.csv`, or `network.json` of real pipes: route to `swmm-network` or `swmm-gis` instead.
## What this skill does
Given a bounding box (and optional region name), this skill:
1. **Downloads public source data** via SWMManywhere: OpenStreetMap streets, a DEM tile (Planetary Computer by default), building footprints, river lines.View the complete source on GitHubswmm-builder
When your agent uses it
Assemble a runnable SWMM INP deterministically from subcatchment geometry/attributes, merged parameter JSON, network JSON, and climate references. Use when creating auditable INP + manifest artifacts for downstream swmm-runner/calibration.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
1,850 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Contract
- Inputs
- Scripts
- MCP
- Smoke example
- Water quality sections
- Known limitations
Scripts executed separately
scripts/build_swmm_inp.py../swmm-climate/scripts/format_rainfall.py../swmm-climate/scripts/format_rainfall.py../swmm-params/scripts/landuse_to_swmm_params.py../swmm-params/scripts/landuse_to_swmm_params.py../swmm-params/scripts/merge_swmm_params.py../swmm-params/scripts/merge_swmm_params.py../swmm-params/scripts/merge_swmm_params.py../swmm-params/scripts/soil_to_greenampt.py../swmm-params/scripts/soil_to_greenampt.py
Files
SKILL.mdcore6,951 bytesSKILL.mdcore6,951 bytesSKILL.mdcore6,951 bytesSKILL.mdcore6,951 bytesSKILL.mdcore6,951 bytesexamples/options_config.jsonasset605 bytesexamples/subcatchments_input.csvasset143 bytesscripts/build_swmm_inp.pyruns70,271 bytes../swmm-climate/scripts/format_rainfall.pyruns27,463 bytes../swmm-climate/scripts/format_rainfall.pyruns27,463 bytes../swmm-params/scripts/landuse_to_swmm_params.pyruns7,627 bytes../swmm-params/scripts/landuse_to_swmm_params.pyruns7,627 bytes../swmm-params/scripts/merge_swmm_params.pyruns5,320 bytes../swmm-params/scripts/merge_swmm_params.pyruns5,320 bytes../swmm-params/scripts/merge_swmm_params.pyruns5,320 bytes../swmm-params/scripts/soil_to_greenampt.pyruns6,562 bytes../swmm-params/scripts/soil_to_greenampt.pyruns6,562 bytes
Read SKILL.md
# SWMM Builder (INP assembly layer)
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).
## Contract
Build a runnable SWMM `.inp` using explicit file inputs:
- `subcatchments.csv` (shape/area/outlet/routing basics)
- merged params JSON from `swmm-params`
- network JSON from `swmm-network`
- rainfall/time-series references from `swmm-climate`
- optional options config JSON
The builder writes:
- final SWMM INP text (`--out-inp`)View the complete source on GitHubswmm-calibration
When your agent uses it
Calibration and validation scaffold for EPA SWMM. Use when an agent needs to (1) compare simulated vs observed flow, (2) evaluate candidate parameter sets, (3) rank explicit candidates by an objective, (4) run a bounded random / LHS / adaptive search for the best-fitting parameters, (5) run a publication-grade SCE-UA calibration with KGE as the primary objective and (r, alpha, beta) decomposition reported, or (6) run a DREAM-ZS Bayesian calibration producing a posterior over parameters with Gelman-Rubin convergence checks. Dedicated sensitivity-analysis methods (OAT, Morris, Sobol') now live on the `swmm-uncertainty` skill.
What it loads into context
Frontmatter
150 tokensAlways available to the agent
SKILL.md
5,496 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- CLI verb: aiswmm calibrate (real engine)
- What this skill provides
- MCP tools
- Scripts (Python implementations behind the MCP tools)
- Expected workflow
- Relationship to uncertainty analysis
- Known limitations
- Patch-map idea
- Candidate parameter-set JSON idea
- Search-space JSON idea
- CLI examples
- Candidate handover contract (issue #54)
- Recommended near-term extensions
Scripts executed separately
scripts/candidate_writer.pyscripts/dream_zs.pyscripts/inp_patch.pyscripts/metrics.pyscripts/obs_reader.pyscripts/sceua.pyscripts/swmm_calibrate.py
Files
SKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesSKILL.mdcore21,225 bytesscripts/candidate_writer.pyruns17,416 bytesscripts/dream_zs.pyruns25,240 bytesscripts/inp_patch.pyruns2,274 bytesscripts/metrics.pyruns5,956 bytesscripts/obs_reader.pyruns5,232 bytesscripts/sceua.pyruns16,499 bytesscripts/swmm_calibrate.pyruns56,961 bytes
Read SKILL.md
# SWMM Calibration / Validation
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).
## CLI verb: aiswmm calibrate (real engine)
Since ADR-0005 the top-level verb drives this skill's SCE-UA engine directly:
```
aiswmm calibrate --inp model.inp --observed-csv observed.csv \
--patch-map examples/calibration/patch_map.json \
--run-id calib_001 --total-iters 200 \
--param pct_imperv_s1=20,70 --run-dir runs/agent/calib_001 --progressView the complete source on GitHubswmm-canada
When your agent uses it
Fetch a ready-to-run SWMM model for any Canadian area from the SWMMCanada upstream service — real published municipal storm pipes where a supported city covers the AOI, synthesized elsewhere in Canada. Input is a bbox or GeoJSON polygon plus a rainfall date window. Use for Canadian locations; outside Canada route to swmm-anywhere instead. Documentation contract only — the runtime tool is the in-process fetch_swmm_from_canada; there is no script or MCP server in this skill.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
1,487 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill does
- Required inputs
- Optional inputs
- Configuration
- What to do next (the chain)
- Boundaries
Files
SKILL.mdcore5,935 bytes
Read SKILL.md
# swmm-canada
**Fetch a ready-to-run SWMM model for a Canadian area from the SWMMCanada upstream service, then run, audit, calibrate, and force it in one canonical run folder.**
Use for any AOI inside Canada. The service auto-selects the build mode: **real published municipal storm networks** where a supported city covers the AOI (35 cities at the 2026-08 sync, e.g. Victoria, Ottawa, Toronto, Calgary, Vancouver, Regina), **synthesized** anywhere else in the country. Outside Canada, route to `swmm-anywhere` (global, synthesized).
This skill is a documentation contract: the implementation is the in-process typed tool `fetch_swmm_from_canada` (a pure-stdlib HTTP client, ADR-0001). There is no script directory and no MCP server here, and that is deliberate — the service boundary is HTTP, and the tool is already on the runtime's golden path.
## What this skill does
Given an AOI (bbox `[min_lon, min_lat, max_lon, max_lat]` or a GeoJSON Polygon string) and a rainfall date window (`start_date`, `end_date`, ISO dates):
1. **Announces a preview** (best effort): which mode and city the service will use.
2. **Submits the build** to the SWMMCanada tasks API and polls with live progress (network fetch, subcatchments, DEM, landcover/soil, climate, build).View the complete source on GitHubswmm-climate
When your agent uses it
Deterministic rainfall/climate formatting for SWMM. Use when converting timestamped rainfall CSV files into SWMM-ready [TIMESERIES] lines and [RAINGAGES] helper snippets for swmm-builder.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
2,026 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- Input CSV contract
- SWMM `.dat` input contract
- Scripts
- Outputs
- MCP
- Example commands
- Design storms
- Known limitations
Scripts executed separately
scripts/build_raingage_section.pyscripts/design_storm.pyscripts/format_rainfall.py
Files
SKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesSKILL.mdcore7,105 bytesexamples/rainfall_batch_rg1.csvasset134 bytesexamples/rainfall_batch_rg2.csvasset134 bytesexamples/rainfall_event.csvasset218 bytesexamples/rainfall_multi_station.csvasset290 bytesscripts/build_raingage_section.pyruns5,898 bytesscripts/design_storm.pyruns25,492 bytesscripts/format_rainfall.pyruns27,463 bytes
Read SKILL.md
# SWMM Climate (MVP rainfall layer)
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).
## What this skill provides
- Deterministic conversion from simple rainfall CSV to:
- SWMM `[TIMESERIES]` text lines
- structured JSON manifest for audit/provenance
- Deterministic helper generation for SWMM `[RAINGAGES]` section.
- MCP wrapper for agentic use.
## Input CSV contract
`format_rainfall.py` expects a header row and at minimum:
- `timestamp`: date-time string, default format `%Y-%m-%d %H:%M`View the complete source on GitHubswmm-design-review
When your agent uses it
Score a completed SWMM run against a configurable YAML rulebook of design checks — GB50014-style standards for real catchments, or the reference-free physical-plausibility rulebook for synthesized networks. Reads the run's existing manifest.json / model.rpt / model.inp and never re-runs SWMM. Use it post-run for compliance or plausibility review; continuity gating stays with postflight.
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
1,661 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill does
- CLI usage
- Agent tool: `review_run`
- Executed example
- Return-period adequacy workflow
- Metrics available today (PR1)
- Output files
- What the agent MUST say
- What the agent MUST NOT say
- Custom rulebooks
- Part of
Scripts executed separately
scripts/design_review.py
Files
SKILL.mdcore6,512 bytesSKILL.mdcore6,512 bytesSKILL.mdcore6,512 bytesrulebooks/gb50014_template.yamlasset8,108 bytesrulebooks/synth_plausibility.yamlasset7,472 bytesscripts/design_review.pyruns45,661 bytes
Read SKILL.md
# swmm-design-review — Design Review / Code-Compliance Checker
## What this skill does
Evaluates a completed SWMM run against a configurable rulebook of design checks.
Reads the run's existing artifacts (manifest.json + model.rpt + model.inp) — SWMM
is never re-run. Classifies each rule as `pass`, `fail`, `warn`, or `needs-data`
and writes `11_review/design_review.json` + `11_review/design_review.md` into the
run directory (canonical per ADR-0004; the underlying script's own bare default
is the legacy `09_review/` — see *CLI usage* below).
This skill is **decision-support only**. It never certifies regulatory compliance.
---View the complete source on GitHubswmm-end-to-end
When your agent uses it
Top-level orchestration skill for agentic SWMM modelling. Use when an agent needs one entrypoint that decides which module tools to run, in what order, and when to stop, for example to build, run, QA, and optionally calibrate a SWMM case from prepared or partially prepared inputs.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
5,997 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- Routing rule — real-data path vs synth-data path
- When to use this skill
- Recommended public memory preload
- Supported operating modes
- Required decisions before execution
- Input completeness rules
- Execution policy
- Artifact handoff contract
- Preflight
- MCP execution notes
- Agent prompt-level instruction
- QA gates
- Output contract
- Recommended agent behavior
- Known limitations
Scripts executed separately
../../scripts/install_mcp_deps.sh../../scripts/install_mcp_deps.sh../../scripts/install_mcp_deps.sh../../scripts/install_mcp_deps.sh../../scripts/install_mcp_deps.sh../../scripts/migrate_audit_layout.py../../scripts/real_cases/run_todcreek_minimal.pyscripts/mcp_stdio_call.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-experiment-audit/scripts/audit_run.py../swmm-uncertainty/scripts/uncertainty_propagate.py../swmm-uncertainty/scripts/uncertainty_propagate.py
Files
../../scripts/install_mcp_deps.shruns1,829 bytes../../scripts/install_mcp_deps.shruns1,829 bytes../../scripts/install_mcp_deps.shruns1,829 bytes../../scripts/install_mcp_deps.shruns1,829 bytes../../scripts/install_mcp_deps.shruns1,829 bytes../../scripts/migrate_audit_layout.pyruns14,067 bytes../../scripts/real_cases/run_todcreek_minimal.pyruns12,758 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesSKILL.mdcore24,312 bytesscripts/mcp_stdio_call.pyruns5,679 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-experiment-audit/scripts/audit_run.pyruns93,064 bytes../swmm-uncertainty/scripts/uncertainty_propagate.pyruns11,193 bytes../swmm-uncertainty/scripts/uncertainty_propagate.pyruns11,193 bytes
Read SKILL.md
# SWMM End-to-End Orchestration
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).
## What this skill provides
- A top-level orchestration contract for the agent runtime.
- A stable handoff point for Agentic AI project memory in `memory/initial/`.
- A deterministic execution order across the existing module skills:
- `swmm-canada` (entry skill for Canadian AOIs — real municipal pipes where covered, synthesized elsewhere in Canada)
- `swmm-anywhere` (entry skill for data-scarce regions outside Canada — no real pipe data)
- `swmm-gis`
- `swmm-climate`
- `swmm-params`
- `swmm-network`View the complete source on GitHubswmm-experiment-audit
When your agent uses it
Consolidate Agentic SWMM run artifacts into auditable provenance, comparison records, and local Obsidian audit notes. Use after any SWMM build/run/QA attempt, successful or failed, when an agent or CLI workflow needs a traceable record of inputs, commands, artifacts, metrics, QA checks, run-to-run differences, and first-user-friendly Obsidian visualization.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,961 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- When to use this skill
- Output contract
- CLI
- Audit rules
- Relationship to `swmm-end-to-end`
- Obsidian support
Scripts executed separately
scripts/audit_run.pyscripts/init_obsidian_vault.py
Files
SKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesSKILL.mdcore8,116 bytesscripts/audit_run.pyruns93,064 bytesscripts/init_obsidian_vault.pyruns8,128 bytes
Read SKILL.md
# SWMM Experiment Audit
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).
## What this skill provides
- A standard audit layer for Agentic SWMM runs.
- Consolidation of dispersed `manifest.json`, QA JSON, logs, metrics, and artifact paths.
- Machine-readable outputs for reproducibility and review.
- Obsidian-compatible Markdown notes for human research records.
- Default local Obsidian export into a clean English audit vault.
- Automatic update of the Obsidian `Experiment Audit Index`.
- Optional run-to-run comparison for baseline/scenario or before/after parser validation.
View the complete source on GitHubswmm-gis
When your agent uses it
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).
What it loads into context
Frontmatter
134 tokensAlways available to the agent
SKILL.md
4,950 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before calling any watershed delineation tool — ask the user
- Choosing the right delineation mode
- Entropy hotspot ranking
- What this skill provides
- Scripts
- Sibling-skill script location
- Known limitations
- DEM-assisted example
- QGIS data-prep example
- QGIS/GRASS entropy-guided subcatchment example
- Cell-level entropy/similarity aggregation diagnostic
- MCP-facing operations
- Notes
Scripts executed separately
scripts/area_weighted_swmm_params.pyscripts/basin_shp_to_subcatchments.pyscripts/find_pour_point.pyscripts/plot_qgis_standard_layers.pyscripts/preprocess_subcatchments.pyscripts/qgis_package_final_layers.pyscripts/qgis_prepare_swmm_inputs.py
Files
SKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesSKILL.mdcore19,439 bytesexamples/qgis_overlay_subcatchments.geojsonasset1,275 bytesexamples/subcatchments_dem_assisted.geojsonasset832 bytesexamples/subcatchments_dem_stats_demo.jsonasset412 bytesexamples/subcatchments_demo.geojsonasset1,115 bytesscripts/area_weighted_swmm_params.pyruns23,924 bytesscripts/basin_shp_to_subcatchments.pyruns7,699 bytesscripts/find_pour_point.pyruns4,639 bytesscripts/plot_qgis_standard_layers.pyruns4,692 bytesscripts/preprocess_subcatchments.pyruns30,357 bytesscripts/qgis_package_final_layers.pyruns7,763 bytesscripts/qgis_prepare_swmm_inputs.pyruns33,635 bytes
Read SKILL.md
# 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`.
View the complete source on GitHubswmm-network
When your agent uses it
Network QA of an existing INP (disconnected nodes, missing outfalls, adverse or zero slopes) is one call, network_qa, so call it first. Also builds, validates and routes SWMM pipe-network models from raw municipal shapefiles or structured GIS/CAD exports. Use when handling junctions, conduits, outfalls, xsections, network field-mapping configs, or wiring subcatchments to upstream nodes. Requires real pipe data as SHP / GeoJSON / CSV — native CAD (DXF/DWG) is not parsed and must first be exported to one of these. For data-scarce areas where only a bbox is available and no pipe inventory exists, use `swmm-anywhere` instead.
What it loads into context
Frontmatter
157 tokensAlways available to the agent
SKILL.md
2,516 tokensWhen the skill is activated
Reference documents
1,146 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- When to use this skill
- MCP tools
- Recommended orchestration
- Templates and examples
- Scripts (Python implementations behind the MCP tools)
- Conventions
- Known limitations
Scripts executed separately
scripts/_hash_util.pyscripts/assign_subcatchment_outlets.pyscripts/city_network_adapter.pyscripts/infer_outfall.pyscripts/inp_to_network.pyscripts/minimal_stub_network.pyscripts/network_import.pyscripts/network_qa.pyscripts/network_to_inp.pyscripts/prepare_storm_inputs.pyscripts/reorient_pipes.pyscripts/snap_pipe_endpoints.py
Files
SKILL.mdcore10,323 bytesSKILL.mdcore10,323 bytesexamples/basic-network.jsonasset1,555 bytesexamples/city-dual-system/README.mddoc685 bytesexamples/city-dual-system/landuse.csvasset69 bytesexamples/city-dual-system/mapping.jsonasset1,941 bytesexamples/city-dual-system/outfalls.csvasset140 bytesexamples/city-dual-system/pipes.csvasset494 bytesexamples/city-dual-system/soil.csvasset66 bytesexamples/city-dual-system/subcatchments.csvasset145 bytesexamples/import-conduits.geojsonasset712 bytesexamples/import-junctions.geojsonasset465 bytesexamples/import-mapping.jsonasset1,305 bytesexamples/import-outfalls.geojsonasset267 bytesscripts/_hash_util.pyruns826 bytesscripts/assign_subcatchment_outlets.pyruns9,841 bytesscripts/city_network_adapter.pyruns18,003 bytesscripts/infer_outfall.pyruns6,656 bytesscripts/inp_to_network.pyruns3,919 bytesscripts/minimal_stub_network.pyruns4,422 bytesscripts/network_import.pyruns8,489 bytesscripts/network_qa.pyruns7,728 bytesscripts/network_to_inp.pyruns4,202 bytesscripts/prepare_storm_inputs.pyruns5,985 bytesscripts/reorient_pipes.pyruns8,294 bytesscripts/schema/network_model.schema.jsonasset4,640 bytesscripts/snap_pipe_endpoints.pyruns8,012 bytestemplates/README.mddoc3,971 bytestemplates/city_mapping_raw_shapefile.template.jsonasset1,945 bytes
Read SKILL.md
# SWMM Network (pipe-system layer)
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).
## What this skill provides
- A stable JSON schema for SWMM drainage-network structure.
- Two complementary import paths:
- **Raw municipal shapefile path** (`prepare_storm_inputs` → `infer_outfall` → `reorient_pipes` → `import_city_network` → `qa`) for typical city storm-pipe + manhole layers that arrive as bare LineString shapefiles.
- **Structured asset-DB path** (`import_city_network` directly, or `import_network` for a fully field-mapped GeoJSON/CSV) when the source already contains explicit from/to nodes, inverts, and diameters.
- A subcatchment-to-network wiring step (`assign_subcatchment_outlets`) that ensures surface runoff actually enters the pipe network at a real upstream junction rather than dumping straight to the outfall.
- Topology / hydraulic-attribute QA (`qa`).
- Lightweight introspection (`summary`).
- Export from network JSON to core SWMM INP sections (`export_inp`).View the complete source on GitHubswmm-params
When your agent uses it
Deterministic mapping from land use and soil texture to SWMM runoff/subarea and Green-Ampt infiltration parameters. Use when generating first-pass subcatchment parameter tables for swmm-builder.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
1,064 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- Scripts
- Default lookup tables
- Minimal input format
- Outputs
- CLI flags
- MCP
- Known limitations
- Example commands
Scripts executed separately
scripts/landuse_to_swmm_params.pyscripts/merge_swmm_params.pyscripts/soil_to_greenampt.py
Files
SKILL.mdcore4,195 bytesSKILL.mdcore4,195 bytesSKILL.mdcore4,195 bytesSKILL.mdcore4,195 bytesSKILL.mdcore4,195 bytesexamples/landuse_input.csvasset96 bytesexamples/soil_input.csvasset74 bytesreferences/landuse_class_to_subcatch_params.csvasset1,313 bytesreferences/soil_texture_to_greenampt.csvasset363 bytesscripts/landuse_to_swmm_params.pyruns7,627 bytesscripts/merge_swmm_params.pyruns5,320 bytesscripts/soil_to_greenampt.pyruns6,562 bytes
Read SKILL.md
# SWMM Params (MVP mapping layer)
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).
## What this skill provides
- Transparent CSV-to-JSON mapping for:
- land use class -> SWMM `[SUBCATCHMENTS]` + `[SUBAREAS]` defaults
- soil texture/type -> SWMM `[INFILTRATION]` (Green-Ampt) defaults
- Deterministic, auditable outputs with explicit fallback usage and unmatched-key reporting.
- Optional merge step that emits one builder-ready JSON artifact.
## Scripts
- `scripts/landuse_to_swmm_params.py`
- maps `subcatchment_id + landuse_class` to runoff/subarea parametersView the complete source on GitHubswmm-plot
When your agent uses it
Nature-spec figures from a SWMM run: paired rainfall (inverted) + node/link flow hydrograph (plot_run), network layout map (map_run), study-area map. 89/183 mm columns, 5-7 pt sans-serif, ticks out, no gridlines, Wong colour-blind-safe palette, vector PDF + 450 dpi PNG twin, SI units, no title; optional focus-day / HH:MM window crop. Use whenever an agent needs a publication-ready figure from a run's .inp + .out.
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
3,217 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before calling plot: ask the user
- What this skill renders
- Non-negotiables
- Always do
- Never do
- Wong colour-blind-safe palette
- Workflow
- MCP tools
- Known limitations
Scripts executed separately
scripts/plot_network_layout.pyscripts/plot_rain_runoff_si.pyscripts/plot_study_area.pyscripts/plot_style.py
Files
SKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesSKILL.mdcore12,073 bytesassets/nature.mplstyleasset4,262 bytesscripts/plot_network_layout.pyruns26,288 bytesscripts/plot_rain_runoff_si.pyruns24,084 bytesscripts/plot_study_area.pyruns12,154 bytesscripts/plot_style.pyruns6,948 bytes
Read SKILL.md
# SWMM Plot (Nature figure specification)
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).
Every figure this skill renders follows the Nature journal figure specification, the
project's standing figure standard. Source:
<https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/>.
The spec lives in exactly three places here, and the scripts hand-set nothing:
| File | Holds |
|---|---|
| [`assets/nature.mplstyle`](assets/nature.mplstyle) | the stylesheet (fonts, line weights, ticks, palette, TrueType text, constrained layout) |
| [`scripts/plot_style.py`](scripts/plot_style.py) | `apply_style()`, `figsize()`, `map_figsize()`, `save_figure()`, `legend_outside()`, the `WONG` palette |
| this file | the rules a figure must satisfy, and the tool contracts |View the complete source on GitHubswmm-report
When your agent uses it
Generate a client-deliverable Word (.docx) report from an audited SWMM run directory. Reads manifest.json, experiment_provenance.json, model_diagnostics.json, comparison.json, and any PNG figures — SWMM is never re-run. Supports custom YAML/JSON section templates.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
1,671 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- CLI usage
- Agent tool: `generate_report`
- Executed example
- Template override
- Determinism contract
- Scripts
- Templates
- Dependencies
- Part of
Scripts executed separately
scripts/generate_report.py
Files
SKILL.mdcore6,327 bytesSKILL.mdcore6,327 bytesSKILL.mdcore6,327 bytesscripts/generate_report.pyruns46,719 bytestemplates/default.yamlasset7,310 bytes
Read SKILL.md
# SWMM Report Export Skill
## Purpose
Assemble a reproducible, client-deliverable Word (.docx) report from the
artifacts produced by `swmm-experiment-audit` and `swmm-plot`. The script
reads only existing files; it never re-runs SWMM or modifies the run
directory.
**Prerequisite:** the run directory must contain a `09_audit/` subdirectory
with at least `experiment_provenance.json`. Run `aiswmm audit --run-dir
<path>` first if that directory is absent.
---View the complete source on GitHubswmm-runner
When your agent uses it
Run EPA SWMM (swmm5) simulations reproducibly and extract key metrics from the report file. Use when an agent needs to (1) run a .inp via swmm5 CLI, (2) generate a run directory with rpt/out + manifest, (3) extract peak flow/time for a node/outfall, (4) parse SWMM continuity (Runoff Quantity / Flow Routing) errors from .rpt, or (5) compare two .rpt files (e.g. GUI vs CLI) for equivalence.
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
1,101 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill provides
- When to use this skill
- MCP tools
- Recommended orchestration
- Conventions
- Known limitations
Scripts executed separately
scripts/swmm_runner.py
Files
SKILL.mdcore4,087 bytesSKILL.mdcore4,087 bytesSKILL.mdcore4,087 bytesSKILL.mdcore4,087 bytesscripts/swmm_runner.pyruns20,714 bytes
Read SKILL.md
# SWMM Runner (CLI-first)
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).
## What this skill provides
- Deterministic execution wrapper around the `swmm5` binary.
- A standard **run directory** layout: `inp/`, `rpt/`, `out/`, `stdout`, `stderr`, `manifest.json`.
- Metric extraction read directly from SWMM's own `.rpt`:
- peak flow + time-of-peak for any junction or outfall;
- Runoff Quantity and Flow Routing continuity tables + continuity error %;
- cross-run comparison (e.g. GUI vs CLI) on continuity error.
## When to use this skillView the complete source on GitHubswmm-uncertainty
When your agent uses it
Parameter and forcing uncertainty for EPA SWMM. Without observed flow, call propagate_parameter_ranges (global ranges, one SWMM run per sample, peak spread); the Morris/OAT/Sobol tools need an observed series. Use when an agent needs to (1) propagate parameter uncertainty through SWMM (fuzzy alpha-cut or Monte Carlo), (2) quantify hydrograph envelopes or output entropy without treating the run as calibration, (3) screen which parameters matter using OAT / Morris elementary-effects / Sobol' indices, (4) generate a rainfall ensemble (observed-series perturbation or IDF-curve design storms) and aggregate the resulting hydrograph envelope, or (5) build the integrated paper-reviewer-facing uncertainty source decomposition (`uncertainty_source_summary.md` + `uncertainty_source_decomposition.json`) over the raw outputs of the prior steps.
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
5,257 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Agent path without observed data
- What this skill provides
- Scripts
- Sensitivity-analysis sub-modes
- Expected fuzzy workflow
- Expected Monte Carlo / entropy workflow
- Fuzzy Space
- CLI Example
- Outputs
- Known limitations
Scripts executed separately
scripts/fuzzy_membership.pyscripts/parameter_recommender.pyscripts/rainfall_ensemble.pyscripts/sampling.pyscripts/sensitivity.pyscripts/source_decomposition.pyscripts/uncertainty_propagate.pytests/test_fuzzy_membership.pytests/test_sampling.py
Files
SKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesSKILL.mdcore21,512 bytesexamples/fuzzy_space.jsonasset746 bytesexamples/rainfall_idf_config.jsonasset369 bytesexamples/rainfall_perturbation_config.jsonasset249 bytesexamples/uncertainty_config.jsonasset307 bytesscripts/fuzzy_membership.pyruns12,244 bytesscripts/parameter_recommender.pyruns12,236 bytesscripts/rainfall_ensemble.pyruns39,274 bytesscripts/sampling.pyruns6,178 bytesscripts/sensitivity.pyruns19,296 bytesscripts/source_decomposition.pyruns31,175 bytesscripts/uncertainty_propagate.pyruns11,193 bytestests/test_fuzzy_membership.pyruns2,315 bytestests/test_sampling.pyruns1,623 bytes
Read SKILL.md
# SWMM Uncertainty
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).
## Agent path without observed data
The honest split (live findings F-107 and F-109, 2026-09-03): WITH observed
flow, `swmm_sensitivity_oat` / `swmm_sensitivity_morris` / `swmm_sensitivity_sobol`
rank parameters against the data (they need an observed series and a patch
map). WITHOUT observed flow, `propagate_parameter_ranges` is the tool for both
questions: `mode=one_at_a_time` varies each parameter alone in one call and
returns a per-parameter spread and a ranking ("which parameters matter most");
the default `joint` mode samples all ranges together and reports the spread
("how uncertain is the peak"). Never emulate a ranking with one sweep perView the complete source on GitHubswmm-water-quality
When your agent uses it
Complete SWMM engine coverage: pollutant buildup/washoff simulation support and load reporting. Validate water-quality config JSON, build INPs with WQ sections, and extract pollutant load summaries from completed runs.
What it loads into context
Frontmatter
59 tokensAlways available to the agent
SKILL.md
2,043 tokensWhen the skill is activated
Reference documents
1,280 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- Agent tool: `read_wq_loads`
- WQ config JSON schema
- Scripts
- Executed examples
- Validation constraints
Scripts executed separately
scripts/extract_wq_loads.pyscripts/validate_wq_config.pytests/test_wq_builder_sections.py
Files
SKILL.mdcore6,594 bytesSKILL.mdcore6,594 bytesSKILL.mdcore6,594 bytesSKILL.mdcore6,594 bytesdocs/rpt_wq_sections.mddoc5,071 bytesscripts/extract_wq_loads.pyruns12,295 bytesscripts/validate_wq_config.pyruns12,798 bytestests/test_wq_builder_sections.pyruns25,562 bytes
Read SKILL.md
# SWMM Water Quality Skill
## Purpose
Complete SWMM engine coverage for pollutant buildup/washoff simulation
and load reporting. This skill provides:
1. `validate_wq_config.py` — validate a WQ config JSON before passing
it to the builder.
2. `extract_wq_loads.py` — extract WQ load summaries from a SWMM RPT.
The water-quality sections (`[POLLUTANTS]`, `[LANDUSES]`, `[COVERAGES]`,
`[BUILDUP]`, `[WASHOFF]`, `[LOADINGS]`) are emitted by
`skills/swmm-builder/scripts/build_swmm_inp.py` via theView the complete source on GitHubSkills included
- skill-author
- swmm-anywhere
- swmm-builder
- swmm-calibration
- swmm-canada
- swmm-climate
- swmm-design-review
- swmm-end-to-end
- swmm-experiment-audit
- swmm-gis
- swmm-network
- swmm-params
- swmm-plot
- swmm-report
- swmm-runner
- swmm-uncertainty
- swmm-water-quality
Repository facts
- License
- MIT
- Created
- Feb 26, 2026
- Last pushed
- Oct 28, 2026
- Forks
- 15
- Open issues
- 14
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 140 notes
skills/skill-author/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/skill-author/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-anywhere/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-network/scripts/network_qa.py:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-climate/scripts/format_rainfall.py:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-params/scripts/landuse_to_swmm_params.py:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-params/scripts/merge_swmm_params.py:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-params/scripts/merge_swmm_params.py:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/swmm-params/scripts/soil_to_greenampt.py:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 1 dangerous shell commandin 1 file: scripts/install_mcp_deps.sh:22
- 35 network referencesin 18 files: swmm-anywhere/scripts/synth_from_bbox.py:41 swmm-plot/SKILL.md:8 swmm-gis/scripts/qgis_package_final_layers.py:85 and 15 more
- No hidden or obfuscated text
- No instruction overrides
- 99 executable scriptsin 62 files: skills/swmm-experiment-audit/scripts/audit_run.py:1 scripts/install_mcp_deps.sh:1 skills/swmm-params/scripts/merge_swmm_params.py:1 and 59 more
- 6 references to secretsin 4 files: swmm-gis/scripts/qgis_prepare_swmm_inputs.py:41 swmm-runner/scripts/swmm_runner.py:60 swmm-gis/scripts/area_weighted_swmm_params.py:43 and 1 more
- No requests to vote in Hot
Show all 141 signals by file
scripts/install_mcp_deps.sh
- Executable scriptline 1
#!/usr/bin/env bash - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Dangerous shell operationline 22
trap 'rm -f "$LOG"' EXIT
scripts/migrate_audit_layout.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/real_cases/run_todcreek_minimal.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/skill-author/scripts/validate_skill.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/skill-author/tests/test_validate_skill.py
- Executable scriptline 1
Executable file
skills/swmm-anywhere/SKILL.md
- Network accessline 165
This skill leans on **[SWMManywhere](https://github.com/ImperialCollegeLondon/SWMManywhere)**, a project from the Imperial College London team that figures out a plausible urban drainage network from OSM streets and a DEM. The clever part — - Network accessline 175
If you're publishing work that uses or builds on this skill, please **cite SWMManywhere** and check the upstream repository at <https://github.com/ImperialCollegeLondon/SWMManywhere> for their citation guidance and the BSD-3-Clause license
skills/swmm-anywhere/scripts/synth_from_bbox.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 41
"Synthesize a plausible SWMM .inp from a bbox via SWMManywhere " "(© Imperial College London, BSD-3-Clause, " "https://github.com/ImperialCollegeLondon/SWMManywhere). " - Network accessline 42
"(© Imperial College London, BSD-3-Clause, " "https://github.com/ImperialCollegeLondon/SWMManywhere). " "Use only when no real pipe-network data exists for the area." - Network accessline 43
"https://github.com/ImperialCollegeLondon/SWMManywhere). " - Network accessline 178
file=sys.stderr, ) print(" Upstream: https://github.com/ImperialCollegeLondon/SWMManywhere", file=sys.stderr) - Network accessline 179
) print(" Upstream: https://github.com/ImperialCollegeLondon/SWMManywhere", file=sys.stderr) print(" Install with:", file=sys.stderr) - Network accessline 180
print(" Upstream: https://github.com/ImperialCollegeLondon/SWMManywhere", file=sys.stderr)
skills/swmm-anywhere/tests/test_smoke.py
- Executable scriptline 1
Executable file
skills/swmm-builder/SKILL.md
- Network accessline 8
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).
skills/swmm-builder/scripts/build_swmm_inp.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/SKILL.md
- Network accessline 8
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).
skills/swmm-calibration/scripts/candidate_writer.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/dream_zs.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/inp_patch.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/metrics.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/obs_reader.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/sceua.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-calibration/scripts/swmm_calibrate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-canada/SKILL.md
- Network accessline 53
The service URL comes from the `AISWMM_SWMMCANADA_URL` environment variable (a local container at `http://localhost:8000` or a hosted backend). `aiswmm doctor` probes `GET /api/v1/healthz` when the variable is set and reports reachability;
skills/swmm-climate/SKILL.md
- Network accessline 8
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).
skills/swmm-climate/scripts/build_raingage_section.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-climate/scripts/design_storm.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-climate/scripts/format_rainfall.py
skills/swmm-design-review/scripts/design_review.py
- Executable scriptline 1
Executable file
skills/swmm-end-to-end/SKILL.md
- Network accessline 8
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).
skills/swmm-end-to-end/scripts/mcp_stdio_call.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-experiment-audit/SKILL.md
- Network accessline 8
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).
skills/swmm-experiment-audit/scripts/audit_run.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-experiment-audit/scripts/init_obsidian_vault.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-gis/SKILL.md
- Network accessline 8
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).
skills/swmm-gis/scripts/area_weighted_swmm_params.py
skills/swmm-gis/scripts/basin_shp_to_subcatchments.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-gis/scripts/find_pour_point.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-gis/scripts/plot_qgis_standard_layers.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-gis/scripts/preprocess_subcatchments.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-gis/scripts/qgis_package_final_layers.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 85
if dr == 0 and dc == 0: continue nr, nc = r + dr, c + dc - Network accessline 86
continue nr, nc = r + dr, c + dc if (nr, nc) in stream_cells and not acc_arr.mask[nr, nc]: - Network accessline 87
nr, nc = r + dr, c + dc - Network accessline 96
_, nr, nc = max(candidates)
skills/swmm-gis/scripts/qgis_prepare_swmm_inputs.py
skills/swmm-network/SKILL.md
- Network accessline 8
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).
skills/swmm-network/scripts/_hash_util.py
- Executable scriptline 1
Executable file
skills/swmm-network/scripts/assign_subcatchment_outlets.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/city_network_adapter.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/infer_outfall.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/inp_to_network.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/minimal_stub_network.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/network_import.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/network_qa.py
skills/swmm-network/scripts/network_to_inp.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/prepare_storm_inputs.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/reorient_pipes.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-network/scripts/schema/network_model.schema.json
skills/swmm-network/scripts/snap_pipe_endpoints.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-params/SKILL.md
- Network accessline 8
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).
skills/swmm-params/scripts/landuse_to_swmm_params.py
skills/swmm-params/scripts/merge_swmm_params.py
skills/swmm-params/scripts/soil_to_greenampt.py
skills/swmm-plot/SKILL.md
- Network accessline 8
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). - Network accessline 10
Every figure this skill renders follows the Nature journal figure specification, the project's standing figure standard. Source: <https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/>. - Network accessline 11
project's standing figure standard. Source: <https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/>. The spec lives in exactly three places here, and the scripts hand-set nothing: - Network accessline 12
<https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/>. - Network accessline 39
| Rainfall (top, inverted) + node/link flow (bottom) hydrograph | `scripts/plot_rain_runoff_si.py` | `plot_run` tool, `aiswmm plot`, MCP `plot_rain_runoff_si` | `08_plot/fig_<node>_<attr>.png` + `.pdf` | | Network layout map (subcatchments, - Network accessline 41
| Study-area map (DEM hillshade, subcatchments, conduits, outfalls, scale bar, north arrow, cartouche) | `scripts/plot_study_area.py` | SWMMCanada fetch (`aiswmm canada`), or the script directly | `00_raw/study_area.png` + `.pdf` |
skills/swmm-plot/assets/nature.mplstyle
- Network accessline 1
# Nature journal figure style for matplotlib, vendored for the swmm-plot skill. # Spec: https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/ - Network accessline 2
# Spec: https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/
skills/swmm-plot/scripts/plot_network_layout.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-plot/scripts/plot_rain_runoff_si.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-plot/scripts/plot_study_area.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-plot/scripts/plot_style.py
skills/swmm-report/scripts/generate_report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-runner/SKILL.md
- Network accessline 8
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).
skills/swmm-runner/scripts/swmm_runner.py
skills/swmm-uncertainty/SKILL.md
- Network accessline 8
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).
skills/swmm-uncertainty/scripts/fuzzy_membership.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/scripts/parameter_recommender.py
skills/swmm-uncertainty/scripts/rainfall_ensemble.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/scripts/sampling.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/scripts/sensitivity.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/scripts/source_decomposition.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/scripts/uncertainty_propagate.py
skills/swmm-uncertainty/tests/test_fuzzy_membership.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-uncertainty/tests/test_sampling.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-water-quality/scripts/extract_wq_loads.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-water-quality/scripts/validate_wq_config.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/swmm-water-quality/tests/test_wq_builder_sections.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 136 facts
- Executable script in code of a file that runsscripts/install_mcp_deps.sh:1High confidence
- Executable script in code of a file that runsscripts/install_mcp_deps.sh:1High confidence
- Executable script in code of a file that runsscripts/install_mcp_deps.sh:1High confidence
- Executable script in code of a file that runsscripts/install_mcp_deps.sh:1High confidence
- Executable script in code of a file that runsscripts/install_mcp_deps.sh:1High confidence
- Dangerous shell operation in code of a file that runsscripts/install_mcp_deps.sh:22High confidence
- Executable script in code of a file that runsscripts/migrate_audit_layout.py:1High confidence
- Executable script in code of a file that runsscripts/real_cases/run_todcreek_minimal.py:1High confidence
- Executable script in code of a file that runsskill-author/scripts/validate_skill.py:1High confidence
- Executable script in prose of a testskill-author/tests/test_validate_skill.py:1Low confidence
- Network access in prose of the SKILL.mdswmm-anywhere/SKILL.md:165Low confidence
- Network access in prose of the SKILL.mdswmm-anywhere/SKILL.md:175Low confidence
- Executable script in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:1High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:41High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:42High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:43High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:178High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:179High confidence
- Network access in code of a file that runsswmm-anywhere/scripts/synth_from_bbox.py:180High confidence
- Executable script in prose of a testswmm-anywhere/tests/test_smoke.py:1Low confidence
- Network access in prose of the SKILL.mdswmm-builder/SKILL.md:8Low confidence
- Executable script in code of a file that runsswmm-builder/scripts/build_swmm_inp.py:1High confidence
- Network access in prose of the SKILL.mdswmm-calibration/SKILL.md:8Low confidence
- Executable script in code of a file that runsswmm-calibration/scripts/candidate_writer.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/dream_zs.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/inp_patch.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/metrics.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/obs_reader.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/sceua.py:1High confidence
- Executable script in code of a file that runsswmm-calibration/scripts/swmm_calibrate.py:1High confidence
- Network access in prose of the SKILL.mdswmm-canada/SKILL.md:53Low confidence
- Network access in prose of the SKILL.mdswmm-climate/SKILL.md:8Low confidence
- Executable script in code of a file that runsswmm-climate/scripts/build_raingage_section.py:1High confidence
- Executable script in code of a file that runsswmm-climate/scripts/design_storm.py:1High confidence
- Executable script in code of a file that runsskills/swmm-climate/scripts/format_rainfall.py:1High confidence
- Executable script in code of a file that runsskills/swmm-climate/scripts/format_rainfall.py:1High confidence
- Executable script in code of a file that runsswmm-climate/scripts/format_rainfall.py:1High confidence
- Executable script in prose of a file that runsswmm-design-review/scripts/design_review.py:1Low confidence
- Network access in prose of the SKILL.mdswmm-end-to-end/SKILL.md:8Low confidence
- Executable script in code of a file that runsswmm-end-to-end/scripts/mcp_stdio_call.py:1High confidence
- Network access in prose of the SKILL.mdswmm-experiment-audit/SKILL.md:8Low confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
- Executable script in code of a file that runsskills/swmm-experiment-audit/scripts/audit_run.py:1High confidence
and 86 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/skill-author/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.