
Urdf
Generate and validate URDF robot models from Python sources and hand results to a CAD viewer skill when available.
Install
npx skills add https://github.com/earthtojake/text-to-cad --skill urdfWhat is this skill?
- Generate and update URDF robot descriptions from Python sources
- Validate URDF against the design ledger spatial model before edits
- Default prompt chains to cad-viewer for visualization when available
- URDF Design Ledger reference to prevent frame and axis mistakes
- MIT-licensed text-to-cad skill package interface with display_name URDF
Adoption & trust: 1.7k installs on skills.sh; 5.8k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Agent Browservercel-labs/agent-browser
Lark Imlarksuite/cli
Lark Calendarlarksuite/cli
Lark Sheetslarksuite/cli
Lark Vclarksuite/cli
Lark Contactlarksuite/cli
Journey fit
Common Questions / FAQ
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.
SKILL.md
READMESKILL.md - Urdf
interface: display_name: "URDF" short_description: "Generate and validate URDF robot descriptions." default_prompt: "Use $urdf to generate, update, and validate URDF robot descriptions from Python sources, handing generated URDFs to $cad-viewer when available." MIT License Copyright (c) 2026 earthtojake Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # URDF Design Ledger Use this reference before creating or editing a URDF generator. The ledger is the written spatial model that prevents silent frame, axis, unit, and mesh-scale mistakes. The ledger may live in the generator source comments, adjacent project documentation, a README, or a task note. It must be specific enough that another engineer can audit the generated URDF without reverse-engineering the XML. ## Required Sections ### Robot Metadata Record: - robot name - target consumers: RViz, robot_state_publisher, Gazebo/Ignition, MoveIt, real robot driver, or other - unit convention: meters, kilograms, seconds, radians unless the project explicitly states otherwise - frame convention: REP-103-style body convention when applicable, or a documented exception - mesh unit convention: meters, millimeters, inches, or other - source of dimensions: CAD, drawing, measured data, vendor documentation, existing URDF, or assumption ### Link Ledger For every link, record: | Field | Meaning | |---|---| | link name | Exact URDF `<link name="...">` value. | | role | Physical link, frame-only link, sensor frame, tool frame, base frame, or other. | | frame definition | Where the link frame is located and how its axes point. | | parent joint | Joint that creates this child link frame, or `none` for root. | | visual geometry | Primitive or mesh source, with origin relative to the link frame. | | collision geometry | Primitive or mesh source, with origin relative to the link frame. | | inertial source | CAD mass properties, vendor data, approximation, or intentionally omitted. | Frame-only links such as `base_footprint`, optical frames, and `tool0` may omit inertial, visual, and collision blocks. Mark them explicitly as frame-only rather than leaving intent ambiguous. ### Joint Ledger For every joint, record: | Field | Meaning | |---|---| | joint name | Exact URDF `<joint name="...">` value. | | type | `fixed`, `revolute`, `continuous`, or `prismatic` for the current `scripts/urdf` validator; record `floating` or `planar` only if the project has a different supported validation path. | | parent link | Link whose frame expresses the joint origin. | | child link | Link whose frame is created at the joint frame. | | origin xyz/rpy | Parent-link-frame transform from parent link to joint frame. | | axis | Axis vector expressed in the joint frame, for movable joints. | | limits | Radians for revolute, meters for prismatic, no finite lower/upper limits for continuous. | | positive motion | What positive joint motion physically does. | | source | CAD, drawing, measured data, existing model, or documented assumption. | Do