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…
Read historical Agentic SWMM experiment audit artifacts and summarize repeated assumptions, QA issues, failures, missing evidence, run-to-run differences, lessons learned, and controlled skill update proposals. Use downstream of swmm-experiment-audit when multiple audited runs
$ npx -y skills add Zhonghao1995/agentic-swmm-workflow --skill swmm-modeling-memory --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/swmm-modeling-memoryContext preview
The summary Claude sees to decide when to auto-load this skill.
Read historical Agentic SWMM experiment audit artifacts and summarize repeated assumptions, QA issues, failures, missing evidence, run-to-run differences, lessons learned, and controlled skill update proposals. Use downstream of swmm-experiment-audit when multiple audited runs
name: swmm-modeling-memory description: Read historical Agentic SWMM experiment audit artifacts and summarize repeated assumptions, QA issues, failures, missing evidence, run-to-run differences, lessons learned, and controlled skill update proposals. Use downstream of swmm-experiment-audit when multiple audited runs exist or when a user asks for modeling memory, failure-pattern extraction, lessons learned, or human-reviewed skill refinement proposals.
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 does not run SWMM, build SWMM models, modify existing skills, or claim autonomous self-improvement.
Agentic SWMM is not only an automation workflow. It is a memory-informed, verification-first modeling system that can learn from audited modeling history through controlled skill refinement.
Use this skill after `swmm-experiment-audit` has produced run-level artifacts such as:
Use it when:
The proposals may point to relevant workflow skills such as end-to-end orchestration, audit reporting, QA verification, model building, or result parsing. They are not accepted changes.
The script writes these files to the selected modeling-memory output directory:
The script also writes `memory_summary.json` beside each audited run by default. The JSON index and run summaries are the machine-readable source. The Markdown files are human-readable and can be copied to Obsidian with `--obsidian-dir`.
python3 skills/swmm-modeling-memory/scripts/summarize_memory.py \ --runs-dir runs \ --out-dir memory/modeling-memory
To refresh only the aggregate output without writing run-level cards (only available via direct script invocation — `aiswmm memory` does not expose this flag):
python3 skills/swmm-modeling-memory/scripts/summarize_memory.py \ --runs-dir runs \ --out-dir memory/modeling-memory \ --no-run-summaries
With optional Obsidian export:
python3 skills/swmm-modeling-memory/scripts/summarize_memory.py \ --runs-dir runs \ --out-dir memory/modeling-memory \ --obsidian-dir "/path/to/Obsidian/Agentic SWMM/05_Modeling_Memory"
`aiswmm audit` fires an auto-trigger after every successful audit that calls `summarize_memory.py` in the background to refresh `lessons_learned.md` and (unless `--no-rag` is given) rebuild the RAG corpus. This means `lessons_learned.md` can be written by two paths:
1. **Automatic** — `agentic_swmm/memory/audit_hook.py` via the M2 hook after `aiswmm audit` succeeds. 2. **Manual** — `aiswmm memory --runs-dir runs` or direct `python3 skills/swmm-modeling-memory/scripts/summarize_memory.py`.
Set `AISWMM_SKIP_MEMORY=1` in the environment to suppress the auto-trigger (useful for CI or benchmark runs where memory mutation is unwanted). Pass `--no-memory` to `aiswmm audit` for the same effect on a single run.
The auto-trigger uses `add_negative_lesson` / `NegativeLessonMd.update` from `agentic_swmm/memory/negative_lessons_markdown.py`, which increments `evidence_count` and updates `last_seen_utc` on duplicate lesson names rather than clobbering the existing entry. Manual `summarize_memory.py` runs use the same merge logic.
`swmm-experiment-audit` records evidence for one run.
`swmm-modeling-memory` reads many audited runs and turns repeated evidence patterns into reusable project memory.
The intended controlled loop is:
1. Run SWMM or attempt a workflow. 2. Audit the run (`aiswmm audit`); the M2 hook refreshes `lessons_learned.md` automatically. 3. Preserve an Obsidian-compatible experiment note. 4. Summarize modeling memory across audited runs (manual `aiswmm memory` call when a full refresh is needed). 5. Extract recurring failure patterns. 6. Generate a skill update proposal. 7. Review the proposal as a human. 8. Verify with existing benchmarks before accepting any skill change.
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]…