Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Zhonghao1995/agentic-swmm-workflow --skill swmm-calibrationgit clone --depth 1 https://github.com/Zhonghao1995/agentic-swmm-workflowWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zhonghao1995/agentic-swmm-workflow/swmm-calibration)<a href="https://agentmods.dev/skills/zhonghao1995/agentic-swmm-workflow/swmm-calibration"><img src="https://agentmods.dev/badge/skills/zhonghao1995/agentic-swmm-workflow/swmm-calibration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zhonghao1995/agentic-swmm-workflow/swmm-calibration"><img src="https://agentmods.dev/badge/skills/zhonghao1995/agentic-swmm-workflow/swmm-calibration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00146 | $0.05496 |
| Opus 5 | $0.00073 | $0.02748 |
| Sonnet 5 | $0.00029 | $0.01099 |
| Haiku 4.5 | $0.00015 | $0.00550 |
Grade A, and why
swmm-calibration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 414 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SWMM Calibration / Validation
Part of Agentic SWMM — 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 --progress
Contract highlights:
- Units: observed values MUST be in the same units as the SWMM output
attribute selected by
--node/--attr. There is no conversion layer; a greater-than-100x median magnitude mismatch between the best trial and the observed series triggers a loudUNITS MISMATCHwarning (stderr + summary) to catch L/s vs m3/s style errors. - Parameters:
--param name=low,highsupplies search bounds only; every name must exist in the--patch-mapfile (the sole parameter-definition contract). Unknown names fail fast and list what IS available. - Experiment layout:
progress.json(live checkpoint),convergence.csv,calibration_summary.json(engine: sceua-spotpy,is_stub: false),best_params.json,09_audit/candidate artifacts,trials/sceua_NNNN/working evaluations. Trials are engine working area; only the candidate in09_audit/is audit-grade and feedsaiswmm calibration accept. - The historical synthetic walker remains available behind
--engine synthetic(still stampedis_stub: true) for dry runs. --algorithm dream-zsis not wired into the verb yet: use thecalibrate_dream_zsagent tool or this skill's script directly.
What this skill provides
- A practical calibration scaffold around the existing SWMM runner workflow.
- A strict calibration boundary: calibration and validation require observed data. Without observed flow, depth, soil-moisture, or volume data, use
swmm-uncertaintyfor prior uncertainty propagation instead of calling the run calibrated. - Observed-flow ingestion from delimited text files (
.csv,.tsv,.dat, whitespace-separated text). - Metric calculation for simulated vs observed hydrographs:
- KGE (Kling-Gupta Efficiency) + (r, alpha, beta) decomposition — primary metric for publication-grade calibration.
- NSE
- RMSE
- Bias / PBIAS%
- Peak flow error
- Peak timing error
- Simple INP text patching using an explicit mapping from parameter names to line selectors.
- Batch evaluation of candidate parameter sets for:
sensitivitycalibratevalidate
- Bounded internal search for calibration candidate generation:
search --strategy random— uniform random sampling (fast prototyping).search --strategy lhs— Latin Hypercube Sampling (fast prototyping).search --strategy adaptive— multi-round LHS refinement around elite trials (fast prototyping).search --strategy sceua— Shuffled Complex Evolution (SCE-UA); recommended for publication-grade point-estimate calibration. Minimises(1 - KGE)viaspotpy.algorithms.sceuaand emits acalibration_summary.jsonwith KGE decomposition + secondary metrics.search --strategy dream-zs— DREAM-ZS Bayesian calibration with a KGE-based likelihoodexp(-0.5 * (1 - KGE) / sigma^2). Produces a posterior over parameters viaspotpy.algorithms.dream, writes 5 audit artefacts (posterior_samples.csv,best_params.json,chain_convergence.json,posterior_<param>.png,posterior_correlation.png) plus a Slice 1 -compatiblecalibration_summary.jsonwith aposterior_summaryblock (Gelman-Rubin Rhat per parameter + per-parameter quantiles).
- Dedicated sensitivity-analysis methods (OAT, Morris elementary-effects, Sobol' indices) have moved to the swmm-uncertainty skill — see
skills/swmm-uncertainty/scripts/sensitivity.pyand theswmm_sensitivity_oat/swmm_sensitivity_morris/swmm_sensitivity_sobolMCP tools. - MCP wrapper so the agent runtime can call the workflow as tools.
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 414 lines · 146 tokens per session scan A 5db89c55949f
swmm-calibration is a skill published in the GitHub repository Zhonghao1995/agentic-swmm-workflow (27 stars, last pushed 4d ago), licensed MIT. It adds 146 tokens to every session and 5,496 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
arxiv-summarizer-orchestrator
End-to-end orchestration skill for periodic arXiv collection and reporting using three sub-skills: arxiv-search-collector, arxiv-paper-processor, and arxiv-batch-reporter. Supports manual language control across all markdown outputs and Stage-B processing strategy (subagentparallel default max 5, or serial).
academic-literature-search
A multi-database search tool for academic papers and other scholarly publications. It searches sources such as Semantic Scholar, Crossref, arXiv, and PubMed, which cover research across fields including computing, physics, and medicine.
cuopt-numerical-optimization-formulation
LP, MILP, QP — concepts, problem-text parsing, and formulation patterns (parameters, constraints, decisions, objective). Concepts only; no API.
nemo-mbridge-perf-expert-parallel-overlap
Validate and use MoE expert-parallel communication overlap in Megatron-Bridge, including overlapmoeexpertparallelcomm, delaywgradcompute, and flex dispatcher backends such as DeepEP and HybridEP.
earth2studio-create-datasource
Create and validate Earth2Studio data source wrappers (DataSource, ForecastSource, DataFrameSource, ForecastFrameSource) from remote stores. Do NOT use for fetching data with existing sources, model inference, or installation tasks.
earth2studio-data-fetch
Fetch weather/climate data via Earth2Studio data sources for specific variables and times. Do NOT use for inference pipelines, model discovery, or installation.