urdf
Skill1 starsChanged 3 months agoMITView on GitHub
URDF robot description authoring and validation. Use when creating, editing, inspecting, validating, or debugging `.urdf` files, robot links, joints, limits, inertials, visual/collision geometry, mesh references, frame conventions, or robot-description artifacts. Use the SRDF skill for MoveIt2 semantic groups and IK/path-planning semantics; use the cad-viewer skill for local MoveIt2 server controls; use the CAD skill for STEP/STL/3MF/DXF/GLB outputs.
2 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- cedrickchee/text-to-cadtheir own version, first seen Oct 15, 2026
- tlinedeep/claude-skillsedited, first seen Jun 3, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- tlinedeep/claude-skills★ 038% same
Wrote their own version · 1
- cedrickchee/text-to-cad★ 35same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- advertising-imagery-agentSkill
- agent-watchSkill
- aria-intelligenceSkill
- bambu-labsSkill
- cadSkill
- cad-viewerSkill
- dataset-engineeringSkill
- design-business-agentSkill
- design-loopSkill
- dxfSkill
- elite-engineeringSkill
- emil-deign-skillSkill
- env-harnessSkill
- gcodeSkill
- human-writingSkill
- implicit-cadSkill
- inference-engineeringSkill
- kernel-engineeringSkill
- lamp-method-first-principles-thinkingSkill
- marketing-and-advertising-agentSkill
- model-evalSkill
- new-project-architectureSkill
- opportunity-hunterSkill
- rlmSkill
- rlSkill
- sdfSkill
- sendcutsendSkill
- sftSkill
- srdfSkill
- step-partsSkill
- synthesys-bug-triageSkill
- taste-maxSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 4 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Use the installed local skill files as the runtime source of truth.
- Distinctive: line 12
Use this skill for URDF robot-description outputs.
- Very specific: line 17
Before writing or changing URDF XML, establish the robot's frame, joint, geometry, unit, and assumption ledger and embed it as a comment …
- Very specific: line 18
Use URDF frame semantics exactly.
- Distinctive: line 19
Do not infer spatial transforms, mesh units, handedness, axes, or joint signs from vague prose.
- Distinctive: line 20
Never freehand numeric values that are the result of computation — inertia tensors, centers of mass, unit conversions across many links, …
- Very specific: line 32
Read or create the design ledger before editing frames, origins, axes, mesh scale, limits, or inertials.
- Very specific: line 37
Run the verification recipe in references/validation.md: external tools when available (check_urdf), then a viewer review sweeping every …
- Very specific: line 42
Run with the Python environment for the project or workspace.
- Very specific: line 82
Use python scripts/snapshot --help for the complete current command interface.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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, and inertial data.
Core Rules
- The
.urdffile is the source of truth. Author and edit URDF XML directly; do not build a Python generation pipeline for it. There is nogen_urdf()contract. - Before writing or changing URDF XML, establish the robot's frame, joint, geometry, unit, and assumption ledger and embed it as a comment block at the top of the
.urdffile. Seereferences/design-ledger.md. - 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. - 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.
- Never freehand numeric values that are the result of computation — inertia tensors, centers of mass, unit conversions across many links, mirrored transforms. Compute them: closed-form formulas for primitives, or a throwaway helper script for mesh-derived values. See
references/inertials.md. - For physical links, model
inertial,visual, andcollisionseparately when the target consumer needs them. Frame-only links may intentionally omit mass and geometry. - Validate every created or modified
.urdfwithscripts/validatebefore reporting completion. Seereferences/validation.md. - Helper scripts are allowed and encouraged for computation, but they are scaffolding, not the artifact's source of truth. For complex or genuinely parametric models it is reasonable to keep a model-local helper script on disk next to related source code (for example STEP generator sources) and note it in the ledger; this is optional, and the checked-in
.urdfremains canonical.
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
- Identify the target
.urdffile and its consumers: RViz, robot_state_publisher, Gazebo/Ignition, MoveIt, a real robot driver, or another simulator. - Read or create the design ledger before editing frames, origins, axes, mesh scale, limits, or inertials. Keep the ledger as a comment block in the
.urdfitself. - Prepare mesh assets first when links reference meshes: one mesh per link, exported in that link's frame by the owning CAD/mesh workflow. See
references/meshes.md. - Author or edit the URDF XML directly, following
references/authoring-contract.mdfor structure, ordering, and naming. - Compute — never guess — inertials and other derived numbers. See
references/inertials.md. - Validate with
scripts/validate; fix findings and re-validate until clean. - Run the verification recipe in
references/validation.md: external tools when available (check_urdf), then a viewer review sweeping every joint. - Report remaining assumptions, unchecked spatial data, and validation 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 validator uses only the Python standard library.
From this skill directory, the validator shape is:
python scripts/validate path/to/robot.urdf
python scripts/validate path/to/a.urdf path/to/b.urdf
python scripts/validate path/to/robot.urdf --strict
python scripts/validate path/to/robot.urdf --format json
python scripts/validate path/to/robot.urdf --package robot_description=/path/to/pkgThe validator collects all findings in one pass (severity, code, XML path) across XML structure, tree topology, joint semantics (limits, mimic, dynamics), geometry, mesh references, materials, inertial physics, and misspelled elements, and prints a per-file summary. --strict treats warnings as failures; --format json emits a machine-readable findings document; --package NAME=PATH resolves package:// mesh URIs. It exits nonzero if any target fails. Relative targets resolve 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.
Validation is a guardrail, not spatial proof: a URDF can pass every structural check while placing a joint in the wrong spot. The ledger and viewer sweep exist for that reason.
Snapshot Tool
scripts/snapshot renders the robot to a PNG still or an orbit GIF, using the same shared
CLI and headless browser runtime every rendering skill uses — so a snapshot matches what
the CAD Viewer shows.
python scripts/snapshot --input path/to/robot.urdf --output review.png
python scripts/snapshot --input path/to/robot.urdf --output turntable.gif --mode orbitIt accepts .urdf only. Pose the robot with the job field "jointValues" (joint name to
degrees, defaulting to the rest pose) rather than --params, which is STEP-only; robots
are authored in metres and are framed on the robot scene scale automatically.
Theme settings live under one --theme, mirroring the viewer's Theme tab. The default
theme is snapshot — Workbench Light with the ground grid, origin axis and shadows
removed, because in a still image those read as geometry. There is no --display: display
settings (mode, clip, exploded, edges) are CAD topology settings, and a robot carries none.
Link meshes are resolved relative to the description, so they must be present: an
unhydrated Git LFS pointer fails as "No link mesh loaded for robot". Run
git lfs checkout <mesh dir> first.
Use python scripts/snapshot --help for the complete current command interface.
References
- Authoring contract (structure, ordering, golden skeleton):
references/authoring-contract.md - Design ledger:
references/design-ledger.md - Frame semantics:
references/frame-semantics.md - Mesh preparation and references:
references/meshes.md - Inertials (formulas, scripts, sanity gates):
references/inertials.md - URDF edit workflow:
references/urdf-workflow.md - Validation and verification recipe:
references/validation.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

