
render
Start or reuse the CAD Explorer viewer, return review links, and create saved snapshots for explicit CAD and robot-description files. Use when rendering or visually reviewing .step, .stp, .glb, .stl, .3mf, .dxf, .urdf, .srdf, or .sdf files, especially when handed off from CAD, URDF, SRDF, or SDF generation skills.
- Installs
- 1.3K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/earthtojake/text-to-cad --skill render- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads render automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Render
Use this skill to open generated or modified CAD and robot-description files in CAD Explorer. The expected input is one or more explicit file paths that already exist or were just generated by another skill.
Supported files: .step, .stp, .glb, .stl, .3mf, .dxf, .urdf, .srdf, .sdf.
Handoff Contract
- Accept explicit file paths from CAD, URDF, SRDF, SDF, SendCutSend, or standard-part workflows.
- Start or reuse CAD Explorer with
dev:ensure; do not assume a fixed port. Treatdev:ensureas the viewer liveness check for returned links. - Treat port reuse as mandatory: if
dev:ensurereports local binding/probing denial such asEPERMorEACCES, rerun the samedev:ensurecommand with the needed local-binding permission/escalation instead of choosing a new port yourself. - Do not use
npm run dev -- --port ..., rawvite dev, or rawvite previewfor normal agent handoffs; those bypass the reuse policy and can leave duplicate localhost Explorer servers running. - Return the printed Explorer URL for each requested file.
- For generation review or visual feedback, prefer the snapshot CLI over opening the viewer manually or using Playwright. Viewer links are still returned for handoff/live review.
- Generate GIFs only for CAD STEP-module parameter animation review. Otherwise use still snapshots, not GIFs.
- If startup fails, report the failure and let the owning skill continue with its non-GUI validation.
Commands
From this skill directory:
npm --prefix scripts/viewer run dev:ensure -- --file path/to/model.step
For saved headless snapshots, use the skill-level snapshot wrapper. It delegates into the viewer package's scripts/viewer/snapshot implementation:
python3 scripts/snapshot --job path/to/render-job.json
python3 scripts/snapshot --job -
Shortcut flags are available for common theme snapshots only:
python3 scripts/snapshot \
--input path/to/model.step \
--output /tmp/model.png \
--mode view \
--theme technical \
--camera iso \
--view-labels
STEP module sidecar parameters can be supplied with --params for stills or animated parameter GIFs:
python3 scripts/snapshot \
--input path/to/model.step \
--output /tmp/model.png \
--params '{"drive":180,"ringVisible":false}'
python3 scripts/snapshot \
--input path/to/model.step \
--output /tmp/model.gif \
--params '{"values":{"ringVisible":true},"animate":{"drive":{"from":0,"to":1260}},"durationSeconds":6,"fps":18,"loop":true}'
The snapshot CLI defaults to --theme technical, a flat, high-contrast theme intended for visual diagnosis rather than presentation. --theme accepts a built-in theme name, an inline JSON theme object, or a path to a JSON theme file; set theme.display.mode to solid or wireframe for surface/wire output. --params targets Explorer .step.js STEP module sidecar parameters, not Python/build123d regeneration parameters. The snapshot CLI chooses default dimensions by request context when width/height are omitted: diagnostic stills 1600x1200, simple unlabeled parts 1200x900, sections/labeled/dimensioned views at least 1600x1200, complex assemblies 1800x1200 or 1920x1440 via render.sizeProfile, presentation renders 2400x1600 or 2800x1800 via render.sizeProfile, STEP-module parameter GIFs 960x640, and contact sheets at least 2400 px wide. Keep transparent snapshots presentation-oriented unless transparency answers a concrete overlap, collision, or internal-relationship question. Use JSON jobs for custom theme settings, selections, sections, orbit settings, robot joint values, STEP module params, DXF thickness/bend options, and multi-output snapshots. Supported render modes are view, orbit, section, and list. Supported inputs are .step, .stp, .glb, .stl, .3mf, .dxf, .urdf, .srdf, and .sdf.
When the workspace root is known, pass it explicitly:
npm --prefix scripts/viewer run dev:ensure -- \
--workspace-root /path/to/workspace \
--file path/to/model.step
Use foreground Vite only for manual Explorer development:
npm --prefix scripts/viewer run dev
dev:ensure probes and checks registered local CAD Explorer servers across its full port range first, reuses one with a matching scan root whenever possible, and only then starts a detached Vite server on the first available port. Use the URL it prints.
MoveIt2 Controls
For SRDF Explorer reviews, start the MoveIt2 server only when the user needs interactive IK or path-planning controls. SRDF generation and plain Explorer links do not require it.
From this skill directory:
scripts/moveit2_server/setup.sh
scripts/moveit2_server/check-moveit2-server.sh
scripts/moveit2_server/run-moveit2-server.sh
The server defaults to ws://127.0.0.1:8765/ws. CAD Explorer connects to that URL in local dev unless EXPLORER_MOVEIT2_WS_URL or the browser ?moveit2Ws= query override is set.
For protocol and reporting details, read references/moveit2-server.md.
Useful Explorer environment variables:
EXPLORER_PORT
EXPLORER_PORT_END
EXPLORER_ROOT_DIR
EXPLORER_DEFAULT_FILE
EXPLORER_WORKSPACE_ROOT
EXPLORER_GITHUB_URL
EXPLORER_MOVEIT2_WS_URL
EXPLORER_ALLOWED_HOSTS
EXPLORER_SERVER_REGISTRY
When exposing CAD Explorer through remotehost/Tailscale Serve, set EXPLORER_ALLOWED_HOSTS to the Serve hostname before starting or restarting dev:ensure:
EXPLORER_ALLOWED_HOSTS=macbook-pro-108.tail3c8ded.ts.net \
npm --prefix scripts/viewer run dev:ensure -- \
--workspace-root /path/to/workspace \
--root-dir models \
--file path/to/model.urdf
Before returning the remote link, verify the host-header path locally:
curl -I -H 'Host: macbook-pro-108.tail3c8ded.ts.net' \
'http://127.0.0.1:PORT/?file=path/to/model.urdf'
The expected response is 200 OK.
If a remote phone loads the page shell but shows a blank/black screen through a Vite dev server, try a production preview before deeper rendering changes. Build with the same scan root and default file, start vite preview with the same EXPLORER_ALLOWED_HOSTS hostname, verify the Host-header path, then repoint remotehost/Tailscale Serve to the preview port:
EXPLORER_WORKSPACE_ROOT=/path/to/workspace \
EXPLORER_ROOT_DIR=models \
EXPLORER_DEFAULT_FILE=robots/elrobot/elrobot-follower.urdf \
npm --prefix scripts/viewer run build
cd scripts/viewer
EXPLORER_WORKSPACE_ROOT=/path/to/workspace \
EXPLORER_ROOT_DIR=models \
EXPLORER_DEFAULT_FILE=robots/elrobot/elrobot-follower.urdf \
EXPLORER_ALLOWED_HOSTS=macbook-pro-108.tail3c8ded.ts.net \
EXPLORER_PORT=4202 \
npm exec vite preview -- --host 127.0.0.1 --port 4202 --strictPort
This removes Vite's dev client and HMR websocket from the phone path while preserving the same ?file= URL.
Keep GUI work lightweight: start the server only when a link/review is needed, prefer dev:ensure for agent workflows, and do not stop an existing Explorer server unless the user asks.
FAQ
What does the render skill do?
Start or reuse the CAD Explorer viewer, return review links, and create saved snapshots for explicit CAD and robot-description files. Use when rendering or visually reviewing .step, .stp, .glb, .stl, .3mf, .dxf, .urdf, .srdf, or .sdf files, especially when handed off from CAD, URDF, SRDF, or SDF generation skills.
How do I install render?
Run npx skills add https://github.com/earthtojake/text-to-cad --skill render in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/render/ (personal) or .claude/skills/render/ (project).
Which AI agents can use render?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is render safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains render?
It is published by earthtojake in earthtojake/text-to-cad. It has 1,347 recorded installs.
More from earthtojake/text-to-cad
cad
earthtojake/text-to-cad
Create/edit parametric CAD models, organize CAD projects, export STEP/STL/3MF/GLB files, resolve prompt references, and measure geometry with cadgen. Open and visually review existing STEP/STP, STL, 3MF and GLB files in CAD Viewer.
step-parts
earthtojake/text-to-cad
Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers, bearings, standoffs, and other catalog components. Use when Codex needs to search the hosted step.parts catalog before creating simplified placeholder geometry, resolve fuzzy part names, standards, aliases, or dimensions, choose a matching part, fetch a canonical .step file, verify checksums, or use the step.parts API/OpenAPI/catalog endpoints for standard part discovery.
sdf
earthtojake/text-to-cad
SDFormat/SDF model and world authoring, validation, and simulator handoff. Use for .sdf files, SDFormat XML, models, worlds, links, joints, poses, frames, inertials, visual/collision geometry, mesh URIs, sensors, lights, physics, plugins, includes, Gazebo, static SDF review, or simulator-specific metadata. Do not use for signed-distance-field geometry. Open and visually review existing SDF files in CAD Viewer.
urdf
earthtojake/text-to-cad
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 skill for STEP/STL/3MF/DXF/GLB outputs. Open and visually review existing URDF files in CAD Viewer.
srdf
earthtojake/text-to-cad
MoveIt2 SRDF authoring, validation, and planning-semantics workflow. Use when creating, editing, inspecting, or validating .srdf files, MoveIt planning groups, virtual joints, passive joints, end effectors, group states, disabled collisions, URDF-paired planning semantics, or SRDF handoff for live review. Use the URDF skill for robot structure and the SDF skill for simulator descriptions. Open and visually review existing SRDF files in CAD Viewer.
sendcutsend
earthtojake/text-to-cad
Review DXF and STEP/STP uploads for SendCutSend.com orders using its ordering guide, catalog, and specs. Use only for SendCutSend.com preflight reports covering upload readiness, selected material/SKU/thickness/service availability, and service-specific checks for laser cutting, CNC routing, bending, tapping, countersinking, hardware insertion, and finishing.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.