Claude-skill-registry hecras_plan_execution

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/hecras-plan-execution-gpt-cmdr-ras-commander" ~/.claude/skills/majiayu000-claude-skill-registry-hecras-plan-execution && rm -rf "$T"
manifest: skills/data/hecras-plan-execution-gpt-cmdr-ras-commander/SKILL.md
source content

Planning HEC-RAS Execution

Decision support for selecting optimal HEC-RAS execution strategy. Analyzes Project Inspector output and generates actionable execution plans.

Primary Sources

DO NOT duplicate content from primary sources. This skill is a lightweight navigator.

  • .claude/rules/hec-ras/execution.md
    - Complete execution mode documentation
  • .claude/agents/hecras-project-inspector.md
    - Project Intelligence Report schema
  • .claude/skills/hecras_compute_plans/SKILL.md
    - Mode Selection Guide
  • .claude/skills/hecras_compute_rascontrol/SKILL.md
    - Legacy HEC-RAS (< 6.0)

Mode Selection Decision Tree

1. Is HEC-RAS version < 6.0?
   YES -> Use RasControl (hecras_compute_rascontrol skill)
   NO  -> Continue

2. How many runnable plans?
   ZERO    -> Report blockers, stop
   ONE     -> compute_plan() [+ stream_callback if monitoring needed]
   MULTIPLE -> Continue to step 3

3. Multiple Plan Decision:
   Debugging/diagnosing? -> compute_test_mode()
   Have remote workers?  -> compute_parallel_remote()
   Production/batch?     -> compute_parallel()

Mode Selection Matrix

ContextPlansModeRationale
DebuggingAny
compute_test_mode()
Sequential, single folder
Single plan, monitoring1
compute_plan()
+ callback
Real-time output
Single plan, quick1
compute_plan()
Simplest API
Multiple plans, production2+
compute_parallel()
Fastest throughput
Distributed infrastructure2+
compute_parallel_remote()
Scale-out
HEC-RAS < 6.0Any
RasControl
COM-based required
Resume interrupted2+
compute_parallel(skip_existing=True)
Skips completed

Input: Project Intelligence Report

Expected input from Project Inspector Agent:

## Plans Analysis
| Plan | Title | Status | Geometry | Flow | Issues |
|------|-------|--------|----------|------|--------|
| 01 | Baseline | Runnable | g01 | u01 | None |
| 02 | Future | Missing geom | g03 (MISSING) | u02 | Geometry file not found |

### Execution Readiness
- **Ready to Run**: 01, 03
- **Blocked**: 02 (missing geometry g03)

Output: Execution Plan

Generate structured execution plans in this format:

# Execution Plan

## Recommended Mode
`compute_parallel()` - Multiple runnable plans, production context

## Execution Order
1. Plan 01 (Baseline) - Ready
2. Plan 03 (Modified) - Ready
   [Skip: Plan 02 - blocked by missing geometry g03]

## Parameters
```python
RasCmdr.compute_parallel(
    plans_to_run=["01", "03"],
    max_workers=2,
    num_cores=4,
    force_rerun=False,
    verify=True
)

Prerequisites

  • None for runnable plans

Blockers (Cannot Run)

PlanIssueResolution
02Missing geometry g03Create geometry file or fix reference

Warnings

  • Plan 02 blocked until g03 is created

---

## Parameter Recommendation

### Worker/Core Allocation

| System Cores | Model Type | `max_workers` | `num_cores` |
|--------------|------------|---------------|-------------|
| 4-8 | 1D | 2-4 | 2 |
| 8-16 | 2D | 2-4 | 4 |
| 16+ | Mixed | 4-6 | 4 |

**Formula**: `max_workers = min(num_plans, total_cores // num_cores)`

### Geometry Flags

| Scenario | `clear_geompre` | `force_geompre` |
|----------|-----------------|-----------------|
| Geometry unchanged | `False` | `False` |
| Minor edits (Manning's n) | `True` | `False` |
| Major changes (new mesh) | `False` | `True` |
| Geometry corruption | `False` | `True` |

### Skip/Rerun Flags

| Scenario | `force_rerun` | `skip_existing` |
|----------|---------------|-----------------|
| Normal (smart skip) | `False` | `False` |
| Force fresh results | `True` | `False` |
| Resume interrupted | `False` | `True` |

---

## Dependency Analysis

### Check for Blockers

```python
def get_runnable_plans(plan_df):
    """Identify which plans can execute."""
    runnable, blocked = [], {}

    for _, plan in plan_df.iterrows():
        plan_num = plan['plan_number']
        geom_ok = Path(plan['Geom Path']).exists() if plan.get('Geom Path') else True
        flow_ok = Path(plan['Flow Path']).exists() if plan.get('Flow Path') else True

        if geom_ok and flow_ok:
            runnable.append(plan_num)
        else:
            blocked[plan_num] = "Missing geometry" if not geom_ok else "Missing flow"

    return runnable, blocked

Dependencies to Consider

  1. Shared Geometry - Plans using same geometry can run in parallel
  2. Upstream/Downstream - Cascade models need sequential execution
  3. DSS Dependencies - Plans reading same DSS may conflict

Context-Specific Templates

Debugging Context

RasCmdr.compute_test_mode(
    plans_to_run=["01", "02", "03"],
    dest_folder_suffix="[Debug]",
    num_cores=2,
    verify=True
)

Production Context

RasCmdr.compute_parallel(
    plans_to_run=["01", "02", "03"],
    max_workers=4,
    num_cores=4,
    verify=True
)

Monitoring Context

from ras_commander.callbacks import ConsoleCallback

RasCmdr.compute_plan(
    "01",
    stream_callback=ConsoleCallback(verbose=True),
    verify=True
)

Common Blockers

BlockerResolution
Missing geometry fileCreate geometry or fix .prj reference
Missing flow fileCreate flow file or fix reference
Missing DSS fileDownload/create DSS or update path
Geometry HDF outdatedRun with
force_geompre=True
Results already currentUse
force_rerun=True
if needed
HEC-RAS < 6.0Use RasControl skill instead

Integration

Upstream Skills

  • hecras-project-inspector - Generates intelligence report
  • dss_read_boundary-data - Validates boundary conditions
  • qa_repair_geometry - Fixes geometry blockers

Downstream Skills

  • hecras_compute_plans - Runs the execution plan
  • hecras_compute_remote - Distributed execution
  • hecras_extract_results - Post-execution analysis
  • hecras_parse_compute-messages - Interpret execution results

See Also

  • .claude/rules/hec-ras/execution.md
    - Complete parameter documentation
  • .claude/agents/hecras-project-inspector.md
    - Input format details
  • examples/113_parallel_execution.ipynb
    - Working parallel example