Help us improve
Share bugs, ideas, or general feedback.
From cad
Opens CAD, robot-description, DXF, and G-code files in a viewer and returns review links. Use when visually inspecting .step, .stl, .urdf, .gcode, or similar files.
npx claudepluginhub earthtojake/text-to-cad --plugin cadHow this skill is triggered — by the user, by Claude, or both
Slash command
/cad:cad-viewerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to open existing or newly generated CAD, robot-description, DXF, or plain FDM G-code files in CAD Viewer and hand back live review links. The expected input is one or more explicit file paths.
LICENSEagents/openai.yamlreferences/development.mdreferences/moveit2-server.mdreferences/viewer-features.mdrequirements.txtscripts/viewer/backend/server.mjsscripts/viewer/dist/assets/BufferGeometryUtils-xu92ooFc.jsscripts/viewer/dist/assets/BufferGeometryUtils-xu92ooFc.js.mapscripts/viewer/dist/assets/GLTFLoader-B3ztFMBW.jsscripts/viewer/dist/assets/GLTFLoader-B3ztFMBW.js.mapscripts/viewer/dist/assets/STLLoader-C7hGonJR.jsscripts/viewer/dist/assets/STLLoader-C7hGonJR.js.mapscripts/viewer/dist/assets/favicon-DLqji3p4.icoscripts/viewer/dist/assets/glbMeshWorker-iyKraBym.jsscripts/viewer/dist/assets/glbMeshWorker-iyKraBym.js.mapscripts/viewer/dist/assets/index-ClRs8z4T.cssscripts/viewer/dist/assets/index-D9jXqEqp.jsscripts/viewer/dist/assets/parseSdf-g6h1GaGS.jsscripts/viewer/dist/assets/parseSdf-g6h1GaGS.js.mapCAD modeling with build123d Python library. Use when creating 3D models, exporting to GLB/STEP/STL, or doing boolean operations (union, difference, intersection). Triggers on: CAD, 3D modeling, sphere, box, cylinder, mesh export, GLB, STEP, STL, solid modeling, parametric design, threads, fasteners, bolts, nuts, screws, gears, pipes, flanges, bearings, bd_warehouse, spur gear, helical gear, bevel gear, planetary gear, ring gear, cycloid gear, rack and pinion, gggears, herringbone, gear mesh, gear train.
Render GLB 3D models to PNG images for visual verification. Use when you need to SEE your generated 3D model, verify geometry, check visual correctness, or show results to users. Triggers on: render GLB, preview model, visualize 3D, see my model, check geometry, visual verification, screenshot model, model preview.
Share bugs, ideas, or general feedback.
Use this skill to open existing or newly generated CAD, robot-description, DXF, or plain FDM G-code files in CAD Viewer and hand back live review links. The expected input is one or more explicit file paths.
Always start CAD Viewer with the root directory that owns the model files (.step, .glb, .stl, .urdf, etc).
Always pass --root-dir /path/to/root; the flag is required. This flag is
the full Viewer root directory; do not treat it as a subdirectory inside another
repo root.
Port reuse depends on passing the same resolved root directory every time.
serve:ensure probes the Viewer port range, asks each live server what root
directory it serves, and reuses a port only when that server's root directory
matches the current --root-dir and the requested file is available in its
catalog. Passing a model subfolder, a different checkout path, or relying on a
different current directory changes the resolved root and can cause
serve:ensure to start a new port. Always pass the same project root directory
with --root-dir for handoffs from the same project.
New Viewer servers started by serve:ensure shut down automatically after 12
hours. Use the default unless the user explicitly asks for a different
lifetime; then pass --shutdown-after <duration> with an ms, s, m, or
h suffix. This flag only applies when a new server starts; reusing an existing
matching port does not change that server's existing shutdown timer.
If the user has a Viewer URL open, treat that port as the first reuse candidate.
Return a URL on that same port whenever it already serves the same root
directory, changing only the ?file= query. Do not start a separate Viewer with
a different root directory just to make a file appear faster; wait for the
existing server/catalog, rerun serve:ensure with the same project root
directory, or report the startup/catalog failure.
Run from this skill directory with the project root directory explicitly set:
npm --prefix scripts/viewer run serve:ensure -- \
--root-dir /path/to/root \
--file path/to/model.step
Use only the URL printed by serve:ensure; do not assume a fixed port. By
default, serve:ensure starts probing at port 4178 and scans the configured
port range for a reusable server before binding a new port. It reuses a matching
root directory when possible, and otherwise starts the packaged production
server at the requested root directory. Pass --port <number> to start probing
at a known port, or --port-end <number> to widen or cap the scan. In sandboxed
agent environments, local
binding/probing failures such as EPERM or EACCES can be expected; rerun the
same command with the needed permission/escalation instead of choosing an
arbitrary port or changing the root directory.
Pass exactly one --file per serve:ensure invocation. For multiple requested files, run the command once per file and return each printed URL.
If serve:ensure cannot be used, the packaged backend also accepts direct CLI
flags. CLI flags take priority over matching environment variables:
npm --prefix scripts/viewer run serve -- \
--root-dir /path/to/root \
--port 4190
?file= query only when that points at the requested file.?file=<root-relative-path>; URL-encode each path segment while preserving / separators.references/development.md when the user asks to modify, debug, or
iterate on CAD Viewer source.references/viewer-features.md when you need supported file types, Viewer controls, or file-specific feature details.references/moveit2-server.md only when the user specifically needs optional SRDF MoveIt2 IK or path-planning controls.