MCP server + skills to drive HEC-RAS headless (inspect / edit boundaries / run / read HDF results / compare / plot / audit) via natural language
Single tool with adequate schema but weak naming and description. Tool name 'ras_manifest_write' lacks clear action verb (should be 'write_ras_manifest' or 'create_audit_manifest'). Description is 234 chars but reads as implementation detail rather than user intent. Input schema is well-structured with 11 properties, all typed, but many lack descriptions (run, edits, tool_calls have only generic 'description' fields). No output schema documented. No error handling guidance. Tool is write-heavy (WRITE risk) but no confirmation/dry-run pattern. Composition is monolithic, combines manifest generation, file validation, and SHA256 computation without separation.
Write a provenance manifest (JSON) for one modelling step: the project .prj + input + result (.p##.hdf) + figure files each with a sha256, the ras_run QA status, the edits made (ras_plan_set / ras_flow_set_hydrograph returns), the tool calls, and free notes. Call it at the end of a run so the run can be audited or re-compared later. Reports any referenced file that is missing. No HEC-RAS needed.
Tool name violates verb_noun convention. 'ras_manifest_write' is noun-first; should be 'write_ras_manifest' or 'create_audit_manifest' to signal action intent to LLM.
Input parameters 'run', 'edits', 'tool_calls' have only generic type descriptions ('The ras_run return value', 'ras_plan_set / ras_flow_set_hydrograph returns', 'Ordered {tool, args, ok} records'). LLM cannot infer required structure without detailed field documentation.
No output schema documented. Tool returns JSON manifest but LLM has no visibility into response structure (fields, types, nesting). Breaks downstream tool chaining.
Destructive write operation (WRITE risk) lacks confirmation/dry-run pattern. No error guidance for missing files or validation failures. LLM cannot recover from partial failures.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Tool description emphasizes implementation ('Write a provenance manifest (JSON)...') rather than user intent. Should explain WHEN to call it (after ras_run completes) and WHY (audit trail, reproducibility).