swmm-anywhere
Synthesize a plausible SWMM drainage network from public data (OSM streets + DEM) when NO real pipe-network data exists — input…
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
Claude Code
$ npx -y skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author --agent claude-code
Codex
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a codex -y
Cursor
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a cursor -y
Gemini CLI
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a gemini-cli -y
GitHub Copilot
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a github-copilot -y
OpenCode
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a opencode -y
Windsurf
$ npx skills add Zhonghao1995/agentic-swmm-workflow --skill skill-author -a windsurf -y
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.
Synthesize a plausible SWMM drainage network from public data (OSM streets + DEM) when NO real pipe-network data exists — input…
Assemble a runnable SWMM INP deterministically from subcatchment geometry/attributes, merged parameter JSON, network JSON, and…
Calibration and validation scaffold for EPA SWMM. Use when an agent needs to (1) compare simulated vs observed flow, (2) evaluate…
Fetch a ready-to-run SWMM model for any Canadian area from the SWMMCanada upstream service — real published municipal storm pipes…
Deterministic rainfall/climate formatting for SWMM. Use when converting timestamped rainfall CSV files into SWMM-ready…
Score a completed SWMM run against a configurable YAML rulebook of design checks — GB50014-style standards for real catchments,…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…