sdf

Author, validate, and review SDFormat robot models and simulator worlds as XML.

465|41|Updated Aug 4, 2026
One-click install
npx skills add https://github.com/autonomous-ai/openharness --skill sdf-autonomous-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sdf
Source: https://github.com/autonomous-ai/openharness/tree/main/store/agents/text-to-cad/skills/sdf
Command: npx skills add https://github.com/autonomous-ai/openharness --skill sdf-autonomous-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cadgen, and includes references (resource) components.

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.

Frequently Asked Questions about sdf

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate an SDF file before loading it in Gazebo?

Run `cadgen sdf validate path/to/model.sdf` to check document shape, name scopes, pose and frame graphs, joints, geometry, mesh URIs, inertials, sensors, and plugins. Use `--strict` to treat warnings as failures, and add `--gz-check auto` to optionally run `gz sdf --check` when Gazebo tooling is installed.

How do I convert a URDF robot description to SDF?

Derive the SDF mechanically from the URDF: keep the same link and joint names, tree, limits, and inertials, map each URDF joint origin to an SDF joint pose relative to the parent link, and set each child link pose relative to its joint. You can also use `gz sdf -p robot.urdf` as a starting point and record the source URDF in the ledger.

What SDFormat version should I use for Gazebo?

Prefer `version="1.12"` for new SDF outputs unless the target consumer constrains the version. The bundled validator accepts known SDFormat releases from 1.4 through 1.12 and warns on unrecognized versions.

Why does my SDF model behave wrong in the simulator even though validation passed?

Bundled validation is a structural guardrail, not simulator proof; it cannot verify plugin loading, joint-axis semantics, dynamics, or external resource resolution. Run smoke tests such as `gz sdf --check`, a real simulator load, joint motion checks, and sensor/plugin startup checks in the target environment.

Can this skill be used for signed-distance-field geometry modeling?

No. This skill covers SDFormat, the XML simulator description format for models and worlds, not signed-distance-field geometry. It should also not be used for raw geometry generation or planning semantics, which belong to other workflows.