Dev & Engineering

text-to-cad SDF Skill

Lets your agent author, validate, and visually review SDFormat robot models and worlds, handing them off cleanly to simulators like Gazebo.

55/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 19k
Last updated
1d ago
License
MIT
sdformatsdfgazeborobotics
+3simulationcadgenurdf-interop

What does this skill do, and when should you use it?

The sdf skill from the text-to-cad repository focuses on authoring, validating, and handing off SDFormat (SDF) documents — models, worlds, links, joints, poses, sensors, lights, and plugins in .sdf XML. It drives the cadgen CLI through uv, ships a document-level validator, can run gz sdf --check for Gazebo-target validation, and renders PNG snapshots via a headless browser for human review. Note that it handles SDFormat, not signed-distance-field geometry, and does not replace real simulator load testing. It ships under MIT as part of the text-to-cad collection (13 skills) and installs into Claude Code, Codex, Cursor, Gemini, Grok Build, and other skills-compatible agents.

  • Reads and writes .sdf XML directly, maintaining a design-ledger comment block with explicit relative_to / expressed_in frame semantics
  • Validates document shape, joints, mesh URIs, inertials, sensors, and plugins with cadgen sdf validate (--strict / -- supported)
  • Runs gz sdf --check automatically when gz is on PATH (--gz-check auto/required/never)
  • Renders robot PNG snapshots with cadgen sdf snapshot, posing joints via --joint-values
  • Launches the CAD Viewer (cadgen viewer --detach) for visual review of placement, resources, and joints
  • Derives SDF from an existing URDF per its interoperability guidance instead of re-authoring geometry
Good fit
  • A robotics engineer exporting a URDF-described robot as a reusable SDF model for Gazebo
  • A simulation engineer building world files with sensors, lights, and plugins who needs correct frame semantics and SI units
  • A team receiving third-party .sdf files that need static review and structural validation before merge
  • A developer adding link meshes, inertia tensors, and joint axes to a robot model without hand-computing values
Not a fit
  • Tasks needing signed-distance-field geometry modeling — explicitly out of scope
  • Raw geometry generation or MoveIt planning semantics (covered by sibling URDF/SRDF skills)
  • Proving simulator dynamics — the validator and snapshots do not execute plugins, so real simulator load tests remain necessary

How do you install this skill?

Before you use it
  • Telemetry is on by default and reported via PostHog; run `uvx cadgen telemetry off` or set DO_NOT_TRACK=1 before first use if this matters to you.
  • On Windows 11 with Smart App Control enabled, cadgen fails due to the unsigned OCP native module; disable it or use WSL.
  • Bundled validation is not simulator proof: plugin loading, dynamics, and sensor behavior must be verified in the target simulator environment.
  • Core runtime depends on uvx/PyPI downloads of cadgen and a headless browser from overseas infrastructure; mainland-China network reachability is unstated and may be limited, with no mirror or offline fallback documented.
  • The CAD Viewer binds only to loopback and serves unauthenticated; never expose it beyond localhost.
  • Publisher is not verified by the FollowSkills registry; treat identity as unknown.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • uv
  • cadgen 0.7.20 (Python 3.13 via uvx)
  • optional: gz (Gazebo CLI) for gz sdf --check
  • headless browser for snapshots

The recommended route is asking your agent to install the whole text-to-cad collection:

Any agent

Install text-to-cad from https://github.com/earthtojake/text-to-cad

Claude Code

claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-to-cad@earthtojake

Codex

codex plugin marketplace add earthtojake/text-to-cad --ref latest
codex plugin add text-to-cad@earthtojake

Cursor

git clone --depth 1 --branch latest https://github.com/earthtojake/text-to-cad ~/.cursor/plugins/local/text-to-cad

Gemini

gemini extensions install https://github.com/earthtojake/text-to-cad --ref latest --consent --auto-update

Grok Build

grok plugin install earthtojake/text-to-cad@latest --trust
grok plugin enable text-to-cad

Other agents (skills only)

npx skills add earthtojake/text-to-cad#latest

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Convert my robot.urdf into a Gazebo-ready SDF model file and validate the poses and joints
  • Write an SDF world for this quadruped with camera and lidar sensors, with explicit relative_to frames
  • Validate model.sdf and give me a snapshot; check that all mesh URIs resolve
  • Review this third-party .sdf file, run cadgen sdf validate --strict, then list all assumptions and risks

The skill triggers when the agent encounters .sdf / SDFormat tasks, or when you name an .sdf file in your prompt. The workflow: locate the target file and its consumer, establish the design ledger, read the frame-semantics reference, author the XML directly, validate with cadgen, optionally run target-simulator smoke tests, show the result in the CAD Viewer, then report checks run, skipped, and assumptions. Key commands:

cadgen sdf validate path/to/model.sdf
cadgen sdf validate path/to/model.sdf --strict --
cadgen sdf snapshot path/to/model.sdf review.png
cadgen viewer --host 127.0.0.1 -- --detach
cadgen doctor <skill-dir>

Snapshots accept --joint-values (a {joint: degrees} JSON object) and --display render for the photographic scene; link meshes must be present (run git lfs checkout first) or the snapshot fails.

What are this skill's strengths and limitations?

Pros
  • Built-in validator covers pose/frame graphs, joints, inertials, sensors, and plugins, and calls gz sdf --check automatically when available
  • Enforces explicit frame semantics (relative_to/expressed_in), guarding against SDF's most common implicit-frame failure mode
  • Supports deriving SDF from URDF, avoiding duplicated modeling work
  • MIT licensed, runs locally; validation itself needs only the Python standard library
Limitations
  • Depends on uv and a pinned cadgen 0.7.20 install; first run downloads the runtime plus a headless-browser snapshot
  • Windows 11 Smart App Control blocks the unsigned OCP native module, breaking every cadgen command (must disable it or use WSL)
  • Telemetry is on by default; disable with uvx cadgen telemetry off
  • Validation and snapshots do not execute simulator plugins, so dynamic behavior still needs real simulator verification

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
text-to-cad SDF Skill this page 55 · Use with care ★ 19k 1d ago MIT
SRDF Skill: MoveIt Planning Semantics 62 · Recommended ★ 19k 1d ago MIT
URDF Robot Description Skill 57 · Use with care ★ 19k 1d ago MIT
Isaac for Healthcare Dataset Replay ✓ NVIDIA · Official 48 · Use with care ★ 3.5k 3d ago Apache-2.0
i4h Agentic Workflow Guide ✓ NVIDIA · Official 46 · Use with care ★ 3.5k 3d ago Apache-2.0

Within the same repository, the URDF skill handles robot structure files (links, joints, limits) while the SDF skill covers simulator-side models and worlds; when a URDF already exists, this skill explicitly requires deriving SDF from it rather than re-authoring. They are complementary, not competing.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
55/ 100 5-point scale 2.8 / 5
1Trust16 / 25 · 3.2/5

Evidence shows the skill operates mostly locally: SDF authored as direct XML, validator runs locally by default, CAD Viewer binds to 127.0.0.1, and SECURITY.md explicitly discloses the unauthenticated loopback trust boundary. Telemetry is on by default but extensively disclosed at repository level with opt-out mechanisms (telemetry off / DO_NOT_TRACK), satisfying data-flow transparency. Dependencies are pinned via uvx to cadgen==0.7.20. Deductions: no explicit user-confirmation or rollback conventions, default-on telemetry with third-party PostHog/update-check endpoints, and unverified publisher identity prevent full marks.

2Reliability9 / 20 · 2.3/5

Docs are highly self-consistent: command syntax, --gz-check behavior, failure feedback (report checks run/skipped), and explicit errors like unhydrated Git LFS pointers are documented, with controlled, diagnosable failure modes. However, a static read cannot execute key paths; no committed test evidence covers the sdf validator itself, and snapshot/browser runtime behavior is unverifiable. Calibration caps this at 10; 1 point deducted because validator coverage on abnormal input rests on prose assertions only.

3Adaptability9 / 15 · 3.0/5

Trigger precision is strong: explicit keyword list for .sdf/SDFormat plus explicit exclusion of signed-distance-field confusion; scope and non-fit boundaries (no planning semantics, never papering over wrong upstream data) are clear; multi-agent environment fit is documented. Deductions: the core runtime depends on uvx/PyPI downloads of cadgen and a headless browser, with docs site and update endpoint all overseas services and no mainland-China reachability statement; no Chinese-language support declared, so not 15.

4Convention11 / 15 · 3.7/5

Information architecture is well layered: SKILL.md uses progressive disclosure, references/ cover workflow, guardrails, frame semantics, worked examples, and smoke tests; known limitations (Windows Smart App Control, LFS pointers, plugin non-execution) are disclosed; MIT license and provenance link are clear. Deductions: no per-skill changelog/version history in the skill directory; version governance leans on the repository as a whole; maintenance responsibility is a personal repo attribution; external reference links are not localized.

5Effectiveness6 / 15 · 2.0/5

The deliverable is directly usable .sdf files plus a structured validation report; the workflow mandates validation, smoke tests, and assumption disclosure, giving clear marginal value (reducing common SDF frame-semantics errors). But static review cannot confirm direct usability: bundled validation is only a preflight, and simulator/plugin behavior must be verified in the user's environment; the repo-level test badge is not evidence covering this skill's key paths, so capped at 7 with 1 deducted for limited direct-usability evidence.

6Verifiability4 / 10 · 2.0/5

Repository-level CI (test.yml) and example fixture models exist, with README badges pointing to real workflows — limited primary material. But no committed test coverage evidence for the sdf skill's key paths (validate/snapshot); claims are largely self-descriptive with no independent third-party reproduction, capping at 5 statically, 1 deducted for single thin evidence type.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Oct 10, 2026 Reviewed revision b48ff49e0096 Review evidence[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Is this related to signed-distance fields?
No. This skill handles SDFormat only (simulator model/world XML); the SKILL.md explicitly excludes signed-distance-field geometry.
Does passing validation mean it will run in Gazebo?
No. gz sdf --check is target-consumer validation, but plugin execution and dynamics require real simulator load tests; the skill requires reporting any checks skipped.
Any privacy concerns?
Usage stats are sent by default (never file names, paths, contents, or prompts). Disable with uvx cadgen telemetry off or DO_NOT_TRACK=1.
Why does snapshot rendering fail?
The usual cause is a missing link mesh, especially an unhydrated Git LFS pointer, which fails with 'No link mesh loaded for robot'. Run git lfs checkout on the mesh directory first.

More skills from this repository

All from earthtojake/text-to-cad

Dev & Engineering

SRDF Skill: MoveIt Planning Semantics

Author and validate MoveIt SRDF planning semantics on top of an existing URDF, so agents stop handing MoveIt wrong planning groups and unsafe collision rules.

★ 19k FS 62 Recommended 1d ago
Dev & Engineering

URDF Robot Description Skill

Give your agent disciplined authoring and validation for URDF robot description files — frames, joints and inertials computed, never guessed.

★ 19k FS 57 Use with care 1d ago
Design & Frontend

DfAM Check — 3D Printability Analysis

Measure mesh files against Design for Additive Manufacturing rules per process (FDM, SLS, SLA/DLP, metal PBF, MJF) and report evidence-backed printability findings before slicing or printing.

★ 19k FS 67 Recommended 1d ago
Dev & Engineering

DFM Review Skill

Gives your AI agent a process-specific design-for-manufacturing review for sheet metal, CNC machining or injection molding, with measured evidence and cited rules behind every finding.

★ 19k FS 61 Recommended 1d ago
Dev & Engineering

Bambu Labs Print Handoff Skill

Hand sliced G-code or unsliced models to Bambu Lab printers safely via the official Bambu Connect app or Bambu Studio — the agent never controls the printer.

★ 19k FS 60 Recommended 1d ago
Dev & Engineering

G-code Slicing Skill (text-to-cad)

Give your agent the power to slice STL, 3MF and OBJ models into printer-ready G-code with OrcaSlicer, using your own printer presets.

★ 19k FS 60 Recommended 1d ago
Dev & Engineering

Engineering Drawing (Text-to-CAD)

Turn a 3D part into a dimensioned engineering-drawing PDF — orthographic views, hidden lines, hole callouts and a title block, all projected from the geometry so the drawing follows the model.

★ 19k FS 59 Recommended 1d ago
Dev & Engineering

DXF Generation & Validation Skill

Generate, regenerate, and validate 2D DXF drawings from Python build123d sources or CAD geometry, ready for laser, plasma, and waterjet cutting.

★ 19k FS 57 Use with care 1d ago
Dev & Engineering

SendCutSend Upload Preflight

Reviews DXF and STEP files against SendCutSend's official ordering guide and catalog before upload, so an agent can catch manufacturability problems before you pay for a prototype.

★ 19k FS 57 Use with care 1d ago
Design & Frontend

CAD (text-to-cad's CAD skill)

Give your AI agent the ability to create and edit parametric CAD models from plain language or images, exporting STEP/STL/3MF/GLB files.

★ 19k FS 55 Use with care 1d ago
Dev & Engineering

step.parts Catalog Skill

Give your agent the ability to search the step.parts hosted catalog and download real off-the-shelf STEP parts — screws, bearings, motors, servos — instead of sketching crude placeholder geometry.

★ 19k FS 55 Use with care 1d ago

Related skills