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 agentmods add skills/zhonghao1995/agentic-mike-plus/mike-plotnpx skills add Zhonghao1995/Agentic-MIKE-Plus --skill mike-plotgit clone --depth 1 https://github.com/Zhonghao1995/Agentic-MIKE-PlusWrote 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-mike-plus/mike-plot)<a href="https://agentmods.dev/skills/zhonghao1995/agentic-mike-plus/mike-plot"><img src="https://agentmods.dev/badge/skills/zhonghao1995/agentic-mike-plus/mike-plot.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00109 | $0.01027 |
| Opus 5 | $0.00055 | $0.00513 |
| Sonnet 5 | $0.00022 | $0.00205 |
| Haiku 4.5 | $0.00011 | $0.00103 |
Grade A, and why
mike-plot 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 4d 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 — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MIKE+ Plot
Renders MIKE+ results in the project house style. No license / no MIKE+ install needed.
House style (do not change without being asked)
Arial 12 · ticks inward (direction='in', both axes) · SI units · no title · inverted hyetograph · dpi 300. Rain #4C78A8, flow #F58518, baseline-in-a-comparison #4D4D4D (dashed). Style lives in mikeplus_mcp/contracts/plot_style.py and is shared with the SWMM figures layer.
Tools
mike_plot_rain_flow—{res1d, element, quantity?='Discharge', rain_dfs0?, out_png}→ stacked two-panel figure: rainfall inverted on top, flow on the bottom, shared time axis.rain_dfs0is optional (a.dfs0); without it only the flow panel is drawn.mike_plot_timeseries—{res1d, quantity, element, out_png}→ single-panel series.mike_plot_network—{res1d, out_png}→ network layout map (reaches as lines, nodes as points, equal aspect). Use for an overview / location figure of the whole model.mike_plot_compare—{res1d_a, res1d_b, quantity?, element, out_png, label_a?, label_b?, rain_dfs0?, skip_hours?}→ overlay of the same series from two runs (baseline dashed grey, scenario solid), optional hyetograph on top. Numbers come frommike_results_compare(seemike-compare).mike_plot_profile—{res1d, reaches?[] | from_node + to_node, out_png, skip_hours?}→ longitudinal profile along a pipe string: bed/invert, pipe crown (invert + height), ground level (interpolated between nodes) and the max water level envelope vs cumulative chainage, node boundaries marked. Give the ordered reach ids, or two node ids and the shortest chain is found (flow direction first). Returnsreaches,length_m,max_water_level(+ chainage, reach),min_freeboard_m,connectivity_problems.
Conventions
- Discover valid
element/quantity/ node ids withmike_results_listfirst; don't guess ids. - Do not claim a figure exists unless the tool returned
{ok:true, png:...}and the file was written. - Keep units SI and the style fixed; expose only data choices (which element/quantity, which rainfall file, which reach chain) to the user.
- Profiles: pass
skip_hoursso the envelope is the storm, not the initial condition; ifconnectivity_problemsis non-empty the chain you gave is not contiguous, say so. - Long chains (> 15 reaches) label only the end nodes; that is by design, not a missing feature.
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.
- 4d ago First seen · 39 lines · 109 tokens per session scan A ff909176210e
mike-plot is a skill published in the GitHub repository Zhonghao1995/Agentic-MIKE-Plus (7 stars, last pushed 19d ago), licensed MIT. It adds 109 tokens to every session and 1,027 once invoked, about $0.0005 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-31.
Other skills, from other repositories
jupyter-notebook
Iterative Python via live Jupyter kernel (hamelnb).
annotating-variants
Annotates VCF variants and normalizes HGVS nomenclature with public, license-free annotators (Ensembl VEP REST, VEP/SnpEff/ANNOVAR offline) and links variants to gnomAD population frequencies and the clinical context OpenMed extracts. Use when the user wants to predict variant consequences, map HGVS to genomic…
batch-processing-clinical-text
Run large-scale batch NER, PII extraction, or de-identification over many clinical notes on-device with OpenMed, with sharding, checkpointing, resumability, and append-only JSONL output. Use when the user needs to process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a…
evaluating-with-leakage-gates
Evaluate an OpenMed de-identification or clinical NER model against the leakage-first release gates G1a through G8, which gate releases on residual PHI leakage rather than on F1. Use when the user wants to run the OpenMed eval harness on a synthetic golden set, decide whether a de-id model is RELEASABLE or…
mapping-loinc
Maps laboratory and clinical observation names extracted by OpenMed to LOINC codes using the public Regenstrief LOINC and FHIR terminology APIs. Use when the user wants to code lab tests, vital signs, or observations to LOINC, resolve a test name plus specimen and method to the correct LOINC part-model code, attach…
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…