Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
earthtojake avatar

Urdf

  • 5k installs
  • 11k repo stars
  • Updated July 11, 2026
  • earthtojake/text-to-cad

URDF robot description generation from Python sources with frame-correct semantics, unit consistency, geometry/mesh/inertial validation, and generation-time error detection.

About

URDF skill generates and validates robot description files from Python sources, treating URDF work as constrained kinematic modeling rather than simple XML writing. Developers use it when creating or modifying robot links, joints, geometry, inertials, mesh references, and frame conventions - establishing frame ledgers, joint-axis semantics, unit consistency, and spatial transforms before writing or regenerating `.urdf` artifacts. Core workflow: identify target consumers (RViz, robot_state_publisher, Gazebo, MoveIt, simulators), create or read design ledger, edit Python generator sources, regenerate explicit targets with `scripts/urdf`, validate on generation, and hand off results to cad-viewer. Generation-time validation fails fast on XML, graph, joint, geometry, mesh, and inertial problems. Integrates with CAD, SRDF, and cad-viewer skills for complete robot-description pipelines. Python gen_urdf() generator as source of truth; generated .urdf files treated as artifacts, not edited directly

  • Python gen_urdf() generator as source of truth; generated .urdf files treated as artifacts, not edited directly
  • Built-in generation-time validation catches XML, graph, joint, geometry, mesh-reference, and inertial errors without sep
  • Frame semantics enforced: joint origins, link frames, joint axes, visual/collision/inertial origins use different refere
  • Design ledger and assumption tracking before spatial transforms, mesh units, axes, or joint signs to prevent silent drif
  • Multi-target regeneration with SOURCE.py=OUTPUT.urdf pairs; mandatory CAD Viewer handoff for created or updated .urdf fi

Urdf by the numbers

  • 4,999 all-time installs (skills.sh)
  • +626 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #69 of 2,742 Automation & Workflows skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

urdf capabilities & compatibility

Capabilities
python gen_urdf() execution with multi target ou · generation time urdf validation (xml, graph, joi · design ledger creation and frame semantic enforc · custom output path mapping (source.py=output.urd · mesh reference validation and unit consistency c
Use cases
debugging
Platforms
macOS · Windows · Linux
Runs
Runs locally
Pricing
Free
From the docs

What urdf says it does

Joint origins, link frames, joint axes, and visual/collision/inertial origins use different reference frames.
URDF.md - Core Rules #5
npx skills add https://github.com/earthtojake/text-to-cad --skill urdf

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs5k
repo stars11k
Security audit3 / 3 scanners passed
Last updatedJuly 11, 2026
Repositoryearthtojake/text-to-cad

What it does

Generate, edit, validate, and debug URDF robot descriptions with frame-correct kinematic modeling and generation-time validation.

Who is it for?

Roboticists and robotics software engineers building or modifying robot kinematic models in URDF format; teams integrating multiple simulation or planning tools (RViz, Gazebo, MoveIt, real robot drivers).

Skip if: Static XML editing without validation; visual CAD design (use CAD skill); MoveIt semantic planning groups or IK semantics (use SRDF skill); local 3D visualization controls (use cad-viewer skill).

When should I use this skill?

Creating, editing, regenerating, or debugging .urdf files; fixing joint-axis, frame-origin, mesh-reference, or inertial errors; establishing robot kinematic structure before simulation or planning.

What you get

Generated .urdf files with correct frame conventions, validated geometry and mesh references, consistent units, auditable inertials, and downstream consumer smoke-test readiness.

  • Generated .urdf files with validation passing
  • Design ledger documenting frames, joints, units, assumptions
  • Smoke-test results (RViz display, robot_state_publisher tree, Gazebo load, or MoveIt model load)

By the numbers

  • Generation-time validation covers XML, graph, joint, geometry, mesh, and inertial correctness in single run
  • Multi-target regeneration supported: SOURCE.py=OUTPUT.urdf pair syntax for batch processing
  • Frame semantics enforce 4 distinct reference frames: joint origin, link frame, joint axis, visual/collision/inertial ori

Files

SKILL.mdMarkdownGitHub ↗

URDF

Provenance: maintained in 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 for URDF robot-description outputs. Treat URDF work as constrained kinematic modeling, not just XML writing. The main correctness risks are frame placement, joint-axis semantics, unit consistency, mesh scale, inertial data, and generated-artifact drift.

Core Rules

1. Treat the Python source that defines gen_urdf() as the source of truth. Treat configured .urdf files as generated artifacts. 2. Generate only explicit URDF targets. Do not regenerate unrelated CAD, mesh, render, SRDF, SDF, or simulator artifacts from this skill. 3. The scripts/urdf generator validates generated URDFs by default. Do not use or document a separate validate command. 4. Before writing or changing URDF XML, establish the robot's frame, joint, geometry, unit, and assumption ledger. See references/design-ledger.md. 5. Use URDF frame semantics exactly. Joint origins, link frames, joint axes, and visual/collision/inertial origins use different reference frames. See references/frame-semantics.md. 6. Do not infer spatial transforms, mesh units, handedness, axes, or joint signs from vague prose. Use CAD transforms, dimensioned drawings, measured values, existing source data, or explicit documented assumptions. 7. Prefer simple, auditable generator code over clever XML construction. Keep constants named by physical meaning, not by arbitrary numbers. 8. For physical links, model inertial, visual, and collision separately when the target consumer needs them. Frame-only links may intentionally omit mass and geometry.

CAD Viewer Handoff

After completing URDF work that creates or modifies a .urdf, you must ALWAYS hand the explicit file path to $cad-viewer when that skill is installed. $cad-viewer must start CAD Viewer if it is not already running and return link(s) to the relevant created or updated file(s); if $cad-viewer is unavailable or startup fails, report that instead of silently omitting the handoff.

Workflow

1. Identify the gen_urdf() Python source and target .urdf output. 2. Identify target consumers: RViz, robot_state_publisher, Gazebo/Ignition, MoveIt, a real robot driver, or another simulator. 3. Read or create the design ledger before editing frames, origins, axes, mesh scale, limits, or inertials. 4. Edit the generator source, not generated URDF XML. 5. Regenerate only explicit targets with scripts/urdf. 6. Let generation-time validation fail fast on XML, graph, joint, geometry, mesh-reference, and inertial problems. 7. When geometry or mesh references depend on changed CAD or exported mesh outputs, regenerate those explicit artifacts with the owning CAD or mesh workflow, then regenerate the affected URDF target. 8. When available, run a consumer smoke test appropriate to the target: RViz display, robot_state_publisher tree, Gazebo/Ignition loading, or MoveIt model loading. 9. Report remaining assumptions, unchecked spatial data, and validation/smoke-test gaps.

Commands

Run with the Python environment for the project or workspace. Treat python in examples as an interpreter placeholder; if bare python is unavailable, substitute python3, a project virtualenv interpreter, or the configured interpreter path. The URDF generator and lightweight validator use only the Python standard library; downstream consumers such as RViz, Gazebo, or MoveIt may need their own runtime packages.

From this skill directory, the launcher shape is:

python scripts/urdf path/to/source.py
python scripts/urdf path/to/source.py -o path/to/robot.urdf
python scripts/urdf path/to/a.py=out/a.urdf path/to/b.py=out/b.urdf

Plain Python targets write a sibling .urdf beside the source. -o/--output is valid only with one plain target. Use SOURCE.py=OUTPUT.urdf pairs for custom multi-target destinations.

Relative source targets and CLI output overrides are resolved from the current working directory. When running from outside this skill directory, prefix the launcher path so target files still resolve from the intended workspace.

The launcher executes only gen_urdf() and validates the generated URDF output. It does not provide a separate validation-only command.

References

  • Design ledger: references/design-ledger.md
  • Frame semantics: references/frame-semantics.md
  • URDF generator contract: references/generator-contract.md
  • URDF generation command: references/gen-urdf.md
  • URDF edit workflow: references/urdf-workflow.md
  • Generation-time validation expectations: references/validation.md

Related skills

How it compares

Choose urdf for ROS and Gazebo URDF pipelines; use the sibling sdf skill when the simulator expects SDFormat instead.

FAQ

Do I edit .urdf XML files directly or the Python generator?

Edit the Python gen_urdf() source; treat generated .urdf files as artifacts. The generator is source of truth; manual XML changes will be overwritten on regeneration.

What validation does URDF skill perform?

Generation-time validation runs automatically via scripts/urdf launcher. It checks XML syntax, kinematic graph closure, joint axis semantics, geometry mesh references, inertial data correctness, and frame convention consistency. No separate validate command needed.

How do I handle mesh units and spatial transforms?

Establish a design ledger before editing frames, origins, or mesh scale. Do not infer transforms from vague prose; use CAD exports, dimensioned drawings, measured values, or explicit documented assumptions. Frame semantics differ for joint origins, link frames, joint axes, and vi

Is Urdf safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.