xiaohongshu
xiaohongshu
investigating-hms-internals
Investigates HEC-HMS internals through decompiled Java classes. Provides JythonHms API reference, CLI options, version-specific differences (3.x vs 4.x), and guides on-demand decompilation for new discoveries. Use when debugging HMS behavior, discovering undocumented features, understanding versi...
Full skill instructions
Purpose: Understand HEC-HMS internal implementation through decompiled Java classes to support hms-commander development and debugging.
Q: "Does HMS support SetTimeWindow()?"
A: See hms_agents/hms_decompiler/knowledge/JYTHON_HMS_API.md
Q: "Does HMS 3.3 support Jython?"
A: See hms_agents/hms_decompiler/knowledge/HMS_3x_SUPPORT.md
→ YES! Discovered via decompilation
cd hms_agents/hms_decompiler/tools
decompile.bat "C:\...\hms.jar" "hms.model.ClassName" output
Location: hms_agents/hms_decompiler/
Quick access:
QUICK_START.md - 5-minute guideAGENT.md - Comprehensive documentationknowledge/ - Curated API referencesreference/ - Key decompiled classestools/ - Decompilation utilities (cfr.jar)examples/ - Usage workflowsThis agent is self-contained with all necessary reference data and tools.
Checking API Existence
Version Compatibility
Understanding Behavior
Discovering Features
Validating Automation
Official Documentation Query
hms-commander API Questions
Project File Parsing
Location: hms_agents/hms_decompiler/knowledge/JYTHON_HMS_API.md
Contains:
Example lookup:
Q: "What parameters does SetLossRateValue accept?"
A: SetLossRateValue(elementName, parameterName, value)
- elementName (String): Subbasin name
- parameterName (String): e.g., "Curve Number"
- value (double): Parameter value
Location: hms_agents/hms_decompiler/knowledge/HMS_3x_SUPPORT.md
Contains:
Key finding:
HMS 3.3+ supports Jython scripting (undocumented)!
Requires Python 2 syntax: print "text" (not print("text"))
Use Compute() instead of ComputeRun()
Location: hms_agents/hms_decompiler/knowledge/HMS_CLI_OPTIONS.md
Contains:
-script, -lite, -debug, -info, CommandServerExample:
Q: "How do I run HMS without GUI?"
A: HEC-HMS.cmd -lite -script path/to/script.py
Location: hms_agents/hms_decompiler/reference/
HMS_3.3/hms/Hms.java - Entry point, CLI parsingHMS_3.3/hms/model/JythonHms.java - Scripting API (3.x)HMS_3.3/hec/map/hms/*.java - GIS supportHMS_4.13/hms/Hms.java - Entry point, CLI parsingHMS_4.13/hms/model/JythonHms.java - Scripting API (4.x)HMS_4.13/hms/command/HmsCommandServerImpl.java - RMI serverUse: Review implementation details for specific methods
Location: hms_agents/hms_decompiler/tools/cfr.jar
Usage:
cd hms_agents/hms_decompiler/tools
java -jar cfr.jar "C:\Program Files\HEC\HEC-HMS\4.13\java\hms.jar" --classfilter "hms.model.ClassName" --outputdir output
Options:
--classfilter <pattern> - Filter classes to decompile--outputdir <dir> - Output directory for decompiled classesExample: Check if SetTimeWindow() exists
Steps:
knowledge/JYTHON_HMS_API.mdSee: examples/query_jython_api.md
Example: Verify HMS 3.3 supports Jython
Steps:
knowledge/HMS_3x_SUPPORT.mdSee: examples/version_compatibility.md
Example: Investigate how optimization works
Steps:
See: examples/decompile_new_class.md
HmsJython.py implementation:
HmsCmdr.py execution:
Error handling:
The agent provides tools for decompiling any HMS class as needed:
Included:
For New Classes:
This agent contains all necessary tools for HMS internal investigation.
Demonstrates: Checking if JythonHms method exists and understanding parameters
Workflow:
Demonstrates: Understanding HMS 3.x vs 4.x differences
Key findings:
Demonstrates: Complete workflow from question to decompilation to documentation
Steps:
User Question
↓
Check Agent Knowledge
├─ JYTHON_HMS_API.md → Found? → Answer
├─ HMS_3x_SUPPORT.md → Found? → Answer
└─ HMS_CLI_OPTIONS.md → Found? → Answer
↓ (Not Found)
Check Library INDEX.md
├─ Class listed? → Read decompiled source → Answer
└─ Not listed? → Decompile on-demand → Document → Answer
Decompile Class (tools/cfr.jar)
↓
Analyze Source
↓
High-Value Finding?
├─ YES → Add to agent reference/
└─ NO → Keep in local output/
↓
Update AGENT.md if commonly needed
↓
Document in knowledge/ if API-relevant
Purpose: Search official HMS documentation
Complementary use:
Purpose: Migrate HMS projects from 3.x to 4.x
Uses: HMS_3x_SUPPORT.md for version differences
Purpose: Detect and work with multiple HMS versions
Uses: Version detection patterns from decompilation
Before answering user questions:
knowledge/ files firstreference/ classesCommon questions → Files:
| Question | File |
|---|---|
| "What JythonHms methods exist?" | knowledge/JYTHON_HMS_API.md |
| "Does HMS 3.x support Jython?" | knowledge/HMS_3x_SUPPORT.md |
| "What CLI options are available?" | knowledge/HMS_CLI_OPTIONS.md |
| "How do I decompile a class?" | Use tools/cfr.jar directly |
| "What classes are available?" | reference/ directory + on-demand decompilation |
Status: Production skill Version: 1.0 Created: 2025-12-12 Agent: hms_decompiler
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience