Install
$ agentstack add skill-tiangong-ai-agent-skills-river-outfall-status-visualizer ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
River Outfall Status Visualizer
Core Goal
- Convert one Excel workbook into:
- A scenario-aware river outfall status summary.
- A standalone HTML chart suitable for briefing and review.
- A reusable mock workbook that follows the same template.
- Keep the chart vertically truthful.
Yvalues must always use real elevation. - Allow horizontal zoom without resizing outfall symbols. Only the outfall anchor positions move with the river layout.
- Distinguish left-bank and right-bank outfalls with side-specific offset, connector direction, label placement, and legend.
Required Inputs
- Start from a
.xlsxworkbook. - Prefer the mixed single-sheet format documented in [references/data-schema.md](references/data-schema.md):
- Outfall rows carry code, size, base elevation, mileage, bank side, and scenario water levels.
- Control-node rows carry reach or gate names, mileage, scenario water levels, and optionally
河底高程/堤顶高程. - If
当前水位is missing, ask for it or state clearly that the output only supports the available scenarios. - If the workbook lacks riverbed or channel-bottom data, describe the output as a river outfall status chart, not a true riverbed longitudinal profile.
Quick Start
- Generate a directly usable input template:
python3 scripts/generate_input_template_excel.py \
--output assets/templates/river-outfall-input-template.xlsx
- Generate or inspect a mock workbook:
python3 scripts/generate_mock_example_excel.py \
--output assets/examples/example-river-sample.xlsx
- Compute scenario summaries:
python3 scripts/calc_submergence.py \
--input assets/examples/example-river-sample.xlsx \
--pretty
- Render a standalone HTML report:
python3 scripts/render_status_report.py \
--input assets/examples/example-river-sample.xlsx \
--output assets/examples/example-river-sample-report.html
Workflow
- Read [references/data-schema.md](references/data-schema.md) before touching the workbook schema.
- Read [references/status-rules.md](references/status-rules.md) before changing status logic.
- Read [references/visual-spec.md](references/visual-spec.md) before changing the chart layout or legend.
- Use
scripts/calc_submergence.pyfirst when the request is analytical. - Use
scripts/render_status_report.pywhen the request needs a deliverable chart. - Use
scripts/generate_mock_example_excel.pyto create a regression fixture or explain the expected workbook shape. - Use
scripts/generate_input_template_excel.pywhen the user needs a blank workbook they can fill directly in Excel. - Report validation warnings explicitly. Do not silently coerce missing elevations, missing sizes, or ambiguous bank-side values.
Visual Rules
- Keep
Ycoordinates in true elevation. Do not vertically exaggerate. - Use mileage for ordering and anchor positioning.
- Keep the page free of browser-level horizontal scrolling. Use wheel zoom in the chart plus the timeline overview for navigation.
- Allow horizontal zoom or compression for layout, but keep outfall symbol widths fixed during zoom.
- Anchor each outfall at its true mileage and base elevation.
- When
河底高程is present, draw a brown riverbed step profile and fill the active scenario water body above it with blue. - When
堤顶高程is present, draw the levee crest as a separate contextual step profile. - Draw the outfall crown from true geometry height when size data is available.
- Use shape to distinguish geometry type:
- Rectangle for box culverts or rectangular outfalls.
- Circle for circular pipes. Do not flatten circular pipes into ellipses.
- Use bank-side offset to distinguish left-bank and right-bank outfalls:
- Left-bank outfalls offset to the left of the river axis.
- Right-bank outfalls offset to the right of the river axis.
- Reinforce bank side with connector direction, label placement, and legend text.
- Use status as the dominant semantic encoding:
未受淹部分受淹完全淹没- Make the selected scenario visually dominant and keep non-selected scenarios visible but weaker.
- Prefer code plus size on the chart. Keep full outfall names in the detail table when the chart is dense enough that names would harm readability.
Scripts
scripts/generate_mock_example_excel.py- Create an anonymized example workbook with mixed outfall and control-node rows.
scripts/generate_input_template_excel.py- Create a multi-sheet Excel template whose first sheet can be filled directly and whose second sheet explains the fields.
scripts/calc_submergence.py- Read a workbook, normalize the rows, compute scenario statuses, and print or export a summary.
scripts/render_status_report.py- Generate a standalone HTML report with scenario switching and horizontal zoom.
scripts/river_outfall_status_lib.py- Shared parser, validator, geometry, summary, and
.xlsxread/write helpers.
References
- [references/data-schema.md](references/data-schema.md)
- Workbook shape, column aliases, and row classification rules.
- [references/status-rules.md](references/status-rules.md)
- Water-level interpretation, crown inference, and tri-state status logic.
- [references/visual-spec.md](references/visual-spec.md)
- Chart semantics, left/right bank encoding, and layout constraints.
Output Checklist
- State which scenarios were actually present in the source workbook.
- Report total outfall count and counts by status for the highlighted scenario.
- List fully submerged outfall codes explicitly.
- Call out left-bank and right-bank counts when they matter to the request.
- Mention whether
河底高程/堤顶高程were present, because that determines whether the chart includes channel background context or only water lines plus outfalls.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tiangong-ai
- Source: tiangong-ai/agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.