# Sdf

SDFormat/SDF model and world authoring, validation, and simulator handoff.

- Repository: https://github.com/earthtojake/text-to-cad (24718 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add earthtojake/text-to-cad --skill sdf -g -a claude-code -y`
Codex: `npx skills add earthtojake/text-to-cad --skill sdf -g -a codex -y`
Cursor: `npx skills add earthtojake/text-to-cad --skill sdf -g -a cursor -y`
Gemini CLI: `npx skills add earthtojake/text-to-cad --skill sdf -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add earthtojake/text-to-cad`

## Description

SDFormat/SDF model and world authoring, validation, and simulator handoff. Use for `.sdf` files, SDFormat XML, models, worlds, links, joints, poses, frames, inertials, visual/collision geometry, mesh URIs, sensors, lights, physics, plugins, includes, Gazebo, static SDF review, or simulator-specific metadata. Do not use for signed-distance-field geometry. Open and visually review existing SDF files in CAD Viewer.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# SDF

Provenance: maintained in [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad).
Use the installed local skill files as the runtime source of truth; the
repository link is only for provenance and release review.

Use this skill when the deliverable is an SDFormat document. SDFormat describes simulator and world behavior: models, worlds, frames, poses, links, joints, inertials, visuals, collisions, sensors, lights, physics, plugins, includes, and simulator metadata.

This skill is for **SDFormat**, not signed-distance-field geometry.

The `.sdf` file is the source of truth: author and edit the XML directly.

## Setup

Run cadgen through the `cadgen` command its installation writes, so this skill's commands
share one installation, and its engine server, with the CAD app's:

- `cadgen` below means `cadgen +0.8.4` (`~/.local/bin/cadgen +0.8.4` where `~/.local/bin` is not on your PATH)
- `python` below means `cadgen +0.8.4 run`

For first-time setup or an update, a missing `cadgen` command, a release it says is not
installed, an engine that is not running, or an installation or kernel load error, read
[Setup and troubleshooting](references/setup.md).

## Core rules

The rest: https://github.com/earthtojake/text-to-cad/blob/HEAD/skills/sdf/SKILL.md
