skill-author
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…
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
$ npx -y skills add Zhonghao1995/agentic-swmm-workflow --skill swmm-experiment-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/swmm-experiment-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: swmm-experiment-audit description: 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.
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).
This skill records what happened. It does not run SWMM, build models, invent missing artifacts, or replace module-level validation.
Use this skill after any of these events:
Do not use this skill as a substitute for `swmm-runner`, `swmm-builder`, or calibration tools. Run the model first, then audit the run directory.
For every audited run, write these files into the run's `09_audit/` directory unless explicit output paths are provided:
`experiment_provenance.json` is the machine-readable source for:
`comparison.json` records differences against another run when `--compare-to` is provided. If no comparison target is provided, it still records that no comparison was requested.
`experiment_note.md` is Obsidian-compatible Markdown with YAML frontmatter. It should stay readable in GitHub as plain Markdown.
The direct script (`audit_run.py`) writes a copy of the audit note to the Obsidian vault by default; pass `--no-obsidian` to suppress it. The canonical CLI (`aiswmm audit`) does **not** export to Obsidian by default; pass `--obsidian` to enable it.
When Obsidian export is active, the note is written into:
~/Documents/Agentic-SWMM-Obsidian-Vault/20_Audit_Layer/Experiment_Audits
and the index is updated at:
~/Documents/Agentic-SWMM-Obsidian-Vault/20_Audit_Layer/Experiment Audit Index.md
The canonical CLI is `aiswmm audit`. It wraps the underlying script with backup of prior audit files, MOC regeneration (`runs/INDEX.md`), and the M2 audit → memory auto-trigger. The direct script path is also supported and is the primary option for MCP / Mode-0 calls.
Obsidian export is **opt-in** with `aiswmm audit` — pass `--obsidian` to copy the note to the default vault. Without `--obsidian` the note is written only into `09_audit/` inside the run directory.
aiswmm audit --run-dir runs/acceptance/latest
With comparison:
aiswmm audit --run-dir runs/acceptance/codex-check-peakfix \ --compare-to runs/acceptance/codex-check
With explicit metadata and Obsidian export:
aiswmm audit --run-dir runs/real-todcreek-minimal \ --case-name "Tod Creek minimal" \ --workflow-mode "minimal real-data fallback" \ --objective "Verify real-data SWMM execution and preserve provenance." \ --obsidian
Skip the M2 memory auto-trigger (useful for acceptance / benchmark runs):
aiswmm audit --run-dir runs/acceptance/latest --no-memory
Run-to-run comparison with the standalone verb:
aiswmm compare --run-a runs/baseline --run-b runs/scenario
Use when calling from MCP or when the full `aiswmm` install is unavailable. Obsidian export is **on by default** in the script; disable with `--no-obsidian`.
Initialize a first-user Obsidian vault:
python3 skills/swmm-experiment-audit/scripts/init_obsidian_vault.py
python3 skills/swmm-experiment-audit/scripts/audit_run.py \ --run-dir runs/acceptance/latest \ --no-obsidian
With comparison:
python3 skills/swmm-experiment-audit/scripts/audit_run.py \ --run-dir runs/acceptance/codex-check-peakfix \ --compare-to runs/acceptance/codex-check \ --no-obsidian
With explicit metadata including `--case-id` (records the case slug in `experiment_provenance.json` for cross-session memory recall):
python3 skills/swmm-experiment-audit/scripts/audit_run.py \ --run-dir runs/real-todcreek-minimal \ --case-id tod-creek \ --case-name "Tod Creek minimal" \ --workflow-mode "minimal real-data fallback" \ --objective "Verify real-data SWMM execution and preserve provenance." \ --no-obsidian
With an Obsidian vault folder:
python3 skills/swmm-experiment-audit/scripts/audit_run.py \ --run-dir runs/acceptance/latest \ --obsidian-dir "/path/to/Obsidian/Agentic SWMM/04_Experiments"
Pre-1.0 · stable v0.9.4 · pip install aiswmm==0.9.4 · CHANGELOG Headaches from tedious model setup? Try our another project SWMMCanada, our automated model-building project: draw an area anywhere in Canada and get a ready-to-run SWMM model. Up and running now.
Repo: Zhonghao1995/agentic-swmm-workflow
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…
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…
Assemble a runnable SWMM INP deterministically from subcatchment geometry/attributes, merged parameter JSON, network JSON, and climate references. Use when…
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)…
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…
Deterministic rainfall/climate formatting for SWMM. Use when converting timestamped rainfall CSV files into SWMM-ready [TIMESERIES] lines and [RAINGAGES]…