# Diffraction Analysis Canonical Specyml Format Diffractionspec

> Sub-skill of diffraction-analysis: Canonical spec.yml Format (DiffractionSpec).

- Skill: `vamseeachanta/diffraction-analysis-canonical-specyml-format-diffractionspe` (Agent Skill)
- Install (CLI): `npx skillmds@latest add vamseeachanta/diffraction-analysis-canonical-specyml-format-diffractionspe`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vamseeachanta/diffraction-analysis-canonical-specyml-format-diffractionspe/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: vamseeachanta (https://skillmd.com/u/vamseeachanta)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vamseeachanta/diffraction-analysis-canonical-specyml-format-diffractionspe

---


# Canonical spec.yml Format (DiffractionSpec)

## Canonical spec.yml Format (DiffractionSpec)


All diffraction analyses should be driven by a `spec.yml` conforming to `DiffractionSpec` (`input_schemas.py`). This is the solver-agnostic input that both OrcaWave and AQWA backends consume.

**Template structure:** `version`, `analysis_type`, `vessel` (name/type/geometry/inertia), `environment`, `frequencies`, `wave_headings`, `solver_options`, `outputs`, `metadata`.

**Live examples:**
- `docs/modules/orcawave/L02_barge_benchmark/spec.yml` -- standard diffraction
- `docs/modules/orcawave/L03_ship_benchmark/spec.yml` -- full QTF + external roll damping
- `docs/modules/orcawave/L04_spar_benchmark/spec.yml` -- rad/s frequency input

**Critical unit rule:** Spec uses pure SI (kg, m, s). Backends convert. But `external_damping`/`external_stiffness` matrices pass through without conversion -- see `orcawave-analysis` skill for details.

