orcaflex-static-debug-basic-static-diagnosis
Sub-skill of orcaflex-static-debug: Basic Static Diagnosis.
Best use case
orcaflex-static-debug-basic-static-diagnosis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of orcaflex-static-debug: Basic Static Diagnosis.
Teams using orcaflex-static-debug-basic-static-diagnosis should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/basic-static-diagnosis/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orcaflex-static-debug-basic-static-diagnosis Compares
| Feature / Agent | orcaflex-static-debug-basic-static-diagnosis | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of orcaflex-static-debug: Basic Static Diagnosis.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Basic Static Diagnosis
## Basic Static Diagnosis
```python
import OrcFxAPI
from pathlib import Path
def diagnose_static_failure(model_path: str) -> dict:
"""
Diagnose why static analysis might be failing.
Args:
model_path: Path to OrcaFlex model file
Returns:
Dictionary with diagnostic results
"""
diagnostics = {
"model_loaded": False,
"issues": [],
"warnings": [],
"recommendations": []
}
try:
model = OrcFxAPI.Model()
model.LoadData(model_path)
diagnostics["model_loaded"] = True
except Exception as e:
diagnostics["issues"].append(f"Failed to load model: {e}")
return diagnostics
# Check environment settings
general = model.general
# Wave should be off or very small for statics
if hasattr(general, 'WaveType'):
if general.WaveType != "None":
diagnostics["warnings"].append(
f"Wave type is '{general.WaveType}' - consider 'None' for statics"
)
# Check objects
for obj in model.objects:
obj_type = obj.typeName
obj_name = obj.name
# Check lines
if obj_type == "Line":
check_line(obj, diagnostics)
# Check vessels
elif obj_type == "Vessel":
check_vessel(obj, diagnostics)
# Check buoys
elif obj_type in ["6D Buoy", "3D Buoy"]:
check_buoy(obj, diagnostics)
# Generate recommendations
generate_recommendations(diagnostics)
return diagnostics
def check_line(line, diagnostics: dict):
"""Check line configuration for common issues."""
name = line.name
# Check length
try:
total_length = sum(line.Length)
if total_length <= 0:
diagnostics["issues"].append(
f"Line '{name}': Total length is {total_length}m (must be > 0)"
)
except:
diagnostics["issues"].append(
f"Line '{name}': Cannot read length - check Sections"
)
# Check connections
try:
end_a = line.EndAConnection
end_b = line.EndBConnection
if end_a == "Free" and end_b == "Free":
diagnostics["issues"].append(
f"Line '{name}': Both ends are Free - must have at least one connection"
)
except:
pass
# Check line type
try:
line_type = line.LineType
if line_type is None or line_type == "":
diagnostics["issues"].append(
f"Line '{name}': No LineType assigned"
)
except:
pass
def check_vessel(vessel, diagnostics: dict):
"""Check vessel configuration."""
name = vessel.name
# Check if vessel data is loaded
try:
displacement = vessel.Displacement
if displacement <= 0:
diagnostics["warnings"].append(
f"Vessel '{name}': Displacement is {displacement} (check units)"
)
except:
diagnostics["warnings"].append(
f"Vessel '{name}': Cannot read displacement"
)
def check_buoy(buoy, diagnostics: dict):
"""Check buoy configuration."""
name = buoy.name
# Check position
try:
z = buoy.InitialZ
# Check if buoy is at reasonable depth
if z > 100: # Suspiciously high
diagnostics["warnings"].append(
f"Buoy '{name}': InitialZ = {z}m - check if this is intended"
)
except:
pass
def generate_recommendations(diagnostics: dict):
"""Generate recommendations based on findings."""
if diagnostics["issues"]:
diagnostics["recommendations"].append(
"Fix all issues before attempting static analysis"
)
if len(diagnostics["warnings"]) > 3:
diagnostics["recommendations"].append(
"Multiple warnings - consider simplifying model first"
)
if not diagnostics["issues"] and not diagnostics["warnings"]:
diagnostics["recommendations"].append(
"Model structure looks OK - try adjusting solver settings"
)
```Related Skills
OrcaFlex Specialist Skill
```yaml
orcaflex-reporting-fixture-proof-pattern
Build and extend fixture-backed OrcaFlex reporting proof paths in digitalmodel using stable metadata baselines, normalized HTML snapshots, and reusable reporting test helpers.
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
orcawave-orcaflex-readiness-audit
Audit the real readiness of digitalmodel OrcaWave/OrcaFlex spec-driven workflows by reconciling workspace-hub issues, source/tests, semantic-equivalence boundaries, and wiki synthesis gaps.
toml-section-scoping-debug
Identify and fix TOML configuration errors caused by misplaced keys inside section headers
toml-section-scoping-config-debug
Diagnose TOML config errors caused by misplaced keys in table sections
test-driven-hook-debugging
Debugging and fixing shell hooks by writing isolated test suites first, then using test failures to pinpoint logic bugs
tax-software-duplicate-adjustment-debugging
Identify and fix duplicate tax adjustments entered through multiple mechanisms in tax software
python-import-path-mismatch-debugging
Diagnose and fix ModuleNotFoundError when a package is installed but imports still fail due to environment/path mismatches
python-import-path-debugging
Diagnose ModuleNotFoundError when a package is installed but still fails to import
multi-repo-sync-diagnosis-repair
Diagnose and repair failed pulls across multi-repo ecosystems with stale locks, submodule conflicts, and untracked files
multi-repo-sync-diagnosis-and-repair
Systematic approach to diagnosing and repairing failures across a multi-repo workspace