orcaflex-yaml-gotchas-safe-yaml-builder-pattern
Sub-skill of orcaflex-yaml-gotchas: Safe YAML Builder Pattern (+1).
Best use case
orcaflex-yaml-gotchas-safe-yaml-builder-pattern is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of orcaflex-yaml-gotchas: Safe YAML Builder Pattern (+1).
Teams using orcaflex-yaml-gotchas-safe-yaml-builder-pattern 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/safe-yaml-builder-pattern/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orcaflex-yaml-gotchas-safe-yaml-builder-pattern Compares
| Feature / Agent | orcaflex-yaml-gotchas-safe-yaml-builder-pattern | 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-yaml-gotchas: Safe YAML Builder Pattern (+1).
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
# Safe YAML Builder Pattern (+1)
## Safe YAML Builder Pattern
When generating OrcaFlex YAML programmatically, use this pattern to avoid dormant property traps:
```python
def build_environment_section(spec):
"""Build environment YAML with safe defaults first, then overlay."""
# Start with safe defaults that won't trigger dormant property errors
env = {
"SeabedModel": "Elastic",
"MultipleCurrentDataCanBeDefined": False,
"CurrentModel": "Variation scheme",
"WindType": "Constant",
"WaveType": "None",
}
# Overlay specific values from spec
if spec.waves:
env["WaveType"] = spec.waves.type
if spec.waves.type in ("JONSWAP", "Pierson-Moskowitz"):
env["WaveHs"] = spec.waves.Hs
env["WaveTp"] = spec.waves.Tp
if spec.waves.type == "JONSWAP":
env["WaveGamma"] = spec.waves.gamma
return {"Environment": env}
```
## Section Ordering Template
```python
# Emit sections in this order to avoid reference errors
_SECTION_ORDER = [
"General", "VariableData", "ExpansionTables",
"RayleighDampingCoefficients", "FrictionCoefficients", "LineContactData",
"LineTypes", "VesselTypes", "ClumpTypes", "StiffenerTypes", "SupportTypes",
"Vessels", "Lines", "Shapes", "6DBuoys", "3DBuoys",
"Constraints", "Links", "Winches", "FlexJoints",
"MultibodyGroups", "BrowserGroups", "Groups",
]
def order_sections(model_dict):
"""Reorder model dict to match OrcaFlex dependency order."""
ordered = {}
for key in _SECTION_ORDER:
if key in model_dict:
ordered[key] = model_dict[key]
# Append any unknown sections at the end
for key in model_dict:
if key not in ordered:
ordered[key] = model_dict[key]
return ordered
```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.
marine-safety-incidents
Collect, analyze, and report marine safety incident data from 7 global maritime authorities. Use for incident scraping, safety trend analysis, risk assessment, geographic hotspot identification, and marine safety reporting.
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.
taxact-browser-automation-patterns
Patterns for automating TaxAct Business online (Ionic SPA) via Chrome browser MCP tools — field interaction, navigation, shadow DOM handling
portable-pattern-verification-workflow
Multi-package implementation with verification strategy for cross-platform configuration hardening
portable-config-baseline-pattern
Extract machine-agnostic settings into portable template files while keeping machine-specific hooks and plugins separate
portable-baseline-pattern-implementation
Implement portable configuration baselines by separating machine-agnostic settings from machine-specific hooks and plugins
portable-baseline-pattern-extraction
Extract and separate portable baseline config from machine-specific overrides in multi-environment projects
portable-baseline-configuration-pattern
Separate portable/universal config from machine-specific settings to enable safe template reuse across environments
portable-baseline-config-pattern
Separate machine-portable baseline config from environment-specific hooks and plugins