What problem does it solve? Writing SDFormat (SDF) files for simulators like Gazebo is error-prone: implicit frame defaults, guessed inertials, and invented plugin parameters pass casual review but fail at simulator load time. This Skill enforces a disciplined authoring workflow with explicit frame semantics, a design ledger, and bundled validation so SDF documents are auditable before they reach a simulator. ## Core Features & Use Cases - Direct XML authoring with guardrails: Write model-level, world-level, or model-in-world SDF with explicit relative_to/expressed_in frames, computed inertials, and a design ledger comment block recording every assumption. - Bundled validation and optional Gazebo checks: Run cadgen sdf validate with --strict, --json, and optional gz sdf --check integration to catch structural, pose, joint, geometry, inertial, sensor, and plugin errors. - Snapshot rendering and viewer handoff: Render .sdf files to PNG stills with cadgen sdf snapshot and hand modified files to $cad-viewer for live visual review. - Use Case: Convert an existing URDF robot description into a derived SDF model for Gazebo Harmonic, validate it, snapshot the result, and report which simulator smoke tests were run or skipped. ## Quick Start Use the sdf skill to author and validate a Gazebo-compatible SDFormat model for my robot, then hand the resulting .sdf file to the CAD viewer.