swmm-anywhere
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…
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
$ npx -y skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-authorContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: skill-author description: 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.
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.
If an existing skill already covers most of the need, **improve that one instead** — don't create a near-duplicate (see step 2).
1. **Capture intent.** Pin down three things before writing: (a) what should this skill let the agent *do*? (b) *when* should it trigger — what phrases or contexts? (c) what does it *produce* (output format)? Pull answers from the conversation or the evidence you were handed; only ask the human for what's genuinely missing.
2. **Check for overlap first.** List the existing skills and check whether one already does most of this. If so, propose refining that skill instead of adding a new one — avoiding skill sprawl keeps the library discoverable.
3. **Fill the template.** Copy `assets/SKILL.template.md` and fill it in. The two fields that matter most:
Keep the body lean and **explain the why** behind each instruction — a capable model follows reasoning better than rigid ALL-CAPS rules. See `references/skill-format.md` for the full recipe (anatomy, progressive disclosure, writing patterns).
4. **Validate.** Run the checker and fix anything it flags:
python3 scripts/validate_skill.py path/to/draft-skill
It confirms the SKILL.md has a name and a real description, the name matches the folder, and the body isn't empty.
5. **Present for approval.** Show the human the drafted skill plus the need/evidence that motivated it, and let them accept or reject. **Nothing is installed until they say yes.** Keep their part to a single yes/no — do the drafting work for them.
Read `references/skill-format.md` before writing the body. It condenses the skill anatomy (SKILL.md + optional `scripts/` `references/` `assets/`), progressive disclosure (keep SKILL.md lean, push detail to `references/`), how to write a `description` that actually triggers, and the writing patterns that make instructions work.
A draft skill folder:
<skill-name>/ ├── SKILL.md (required: name + description frontmatter, lean body) ├── references/ (optional: detailed docs loaded on demand) ├── assets/ (optional: templates / files used in output) └── scripts/ (optional: deterministic helpers)
Place the draft in a staging / proposals area for review — do **not** drop it into a live skills directory until the human approves.
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
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]…
Score a completed SWMM run against a configurable YAML rulebook of design checks — GB50014-style standards for real catchments, or the reference-free…