CtrlK
BlogDocsLog inGet started
Tessl Logo

cli-hub-matrix-3d-cad

Capability-based multi-tool matrix for 3D modeling, CAD, point clouds, rendering, GPU debugging, and fabrication. Covers mesh/parametric/photogrammetry and the path from idea to printed part or game-ready asset.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./cli-hub-matrix/3d-cad/SKILL.md
SKILL.md
Quality
Evals
Security

3D & CAD Matrix (S3 — v2 capability-based)

Scenario S3. Strongest technical scenario in the matrix by depth — Blender + FreeCAD + CloudCompare + RenderDoc is rare coverage. Structural gaps: texturing and fabrication slicing.

Schema: docs/cli-matrix/matrix_registry.schema.md. Matrix plan: docs/cli-matrix/cli-matrix-plan.md.

Install

cli-hub matrix install 3d-cad
cli-hub matrix info    3d-cad
cli-hub matrix preflight 3d-cad --json

Provider selection constraints

  1. Use preflight as an availability report, not as a provider selector.
  2. Treat provider order as documentation order only.
  3. Choose from user requirements, output quality bar, offline needs, credential state, install cost, and provider notes.
  4. Escalate to paid or metered APIs only when credentials are already present or the user explicitly consents.

Offline context? Most of this matrix is offline-first; rendering and photogrammetry are the exceptions.


Preflight

Run cli-hub matrix preflight 3d-cad --json first. Use the manual block below for extra probes or older cli-hub versions.

cli-hub list --json
python - <<'PY'
import importlib.util
for m in ("trimesh","pymeshlab","open3d","cadquery","build123d","solid",
          "pygltflib","laspy","pyvista","bpy","rawpy","pycam"):
    print(m, importlib.util.find_spec(m) is not None)
PY
for b in blender freecad meshroom colmap openmvg openmvs prusaslicer slic3r \
         cura CuraEngine apitrace vulkaninfo renderdoc OpenSCAD; do
  command -v "$b" >/dev/null && echo "$b: yes" || echo "$b: no"
done
for e in POLYCAM_API_KEY LUMA_API_KEY ONSHAPE_ACCESS_KEY FUSION360_TOKEN \
         OCTANE_TOKEN; do
  [ -n "${!e}" ] && echo "$e: set" || echo "$e: unset"
done

Suggest-to-user template

To enable <capability> via <provider>, please set <ENV_VAR>.
  Cost: <cost notes>
  Quality: <quality tier>
Reply 'skip' to fall back to <next provider>.

Example: To enable cloud photogrammetry via Luma AI, please set LUMA_API_KEY. Cost: metered per-scan. Quality: sota. Reply 'skip' to fall back to local Meshroom (slower, free).


Capabilities

model.mesh — mesh modeling / editing

ProviderKindRequiresCostQualityOffline
cli-anything-blenderharness-cliBlender installedfreesotayes
trimeshpythonpkgfreehighyes
pymeshlabpythonpkgfreehighyes
open3dpythonpkgfreehighyes
pygalmeshpythonpkg + CGALfreehighyes

model.parametric — parametric CAD

ProviderKindRequiresCostQualityOffline
cli-anything-freecadharness-cliFreeCAD installedfreesotayes
cadquerypythonpkgfreehighyes
build123dpythonpkgfreehighyes
OpenSCADnativebinaryfreehighyes
SolidPythonpythonpkg + OpenSCADfreegoodyes
Onshape APIapiONSHAPE_ACCESS_KEYpaidsotano
Fusion 360 APIapiFUSION360_TOKENpaidsotano

model.sculpt — digital sculpting

ProviderKindRequiresCostQualityOffline
cli-anything-blender (sculpt mode, scripted)harness-cliBlenderfreegoodyes
ZBrush / Nomad—————

Known gap — agent-driven sculpting is impractical beyond Blender scripts.

pointcloud.process — point cloud ingest / clean / register

ProviderKindRequiresCostQualityOffline
cli-anything-cloudcompareharness-cliCloudComparefreesotayes
cli-anything-cloudanalyzerharness-cliharness installedfreehighyes
open3dpythonpkgfreehighyes
laspypythonpkgfreehighyes
pdalnativebinaryfreesotayes
pyvistapythonpkgfreehighyes

photogrammetry.reconstruct — images → 3D mesh

ProviderKindRequiresCostQualityOffline
Meshroomnativebinaryfreehighyes
colmapnativebinaryfreehighyes
OpenMVG + OpenMVSnativebinariesfreehighyes
RealityCapturenativecommercial licensepaidsotayes
Polycam APIapiPOLYCAM_API_KEYmeteredsotano
Luma AIapiLUMA_API_KEYmeteredsotano

material.texture — PBR texturing

ProviderKindRequiresCostQualityOffline
cli-anything-blender (shader nodes, scripted)harness-cliBlenderfreegoodyes
bpy PBR synthesispythonpkgfreegoodyes
Pillow procedural mapspythonpkgfreebasicyes
Substance 3D / Polycam Materials / Adobe Sampler—————

Known gap — no agent-native path approaches Substance quality.

render.preview — fast viewport renders

ProviderKindRequiresCostQualityOffline
cli-anything-blender (Eevee)harness-cliBlenderfreehighyes
cli-anything-godot (viewport screenshot)harness-cliGodotfreegoodyes

render.offline — path-traced / final renders

ProviderKindRequiresCostQualityOffline
cli-anything-blender (Cycles)harness-cliBlender + GPUfreesotayes
bpy + Cyclespythonpkg + GPUfreesotayes
Octane CloudapiOCTANE_TOKENpaidsotano
RenderMan on offline farm—license + farmpaidsotadepends

gpu.debug — capture / inspect GPU frames

ProviderKindRequiresCostQualityOffline
cli-anything-renderdocharness-cliRenderDoc installedfreesotayes
apitracenativebinaryfreehighyes
vulkan-toolsnativebinaryfreegoodyes

fabricate.slice — 3D print slicer (mesh → gcode)

ProviderKindRequiresCostQualityOffline
PrusaSlicer CLInativebinaryfreesotayes
CuraEnginenativebinaryfreehighyes
slic3rnativebinaryfreegoodyes
Bambu Studio / OrcaSlicer (API-driven)—————

Known gap — no agent-native harness, though the natives are scriptable.

fabricate.cam — CAM / CNC toolpaths

ProviderKindRequiresCostQualityOffline
cli-anything-freecad (Path workbench, scripted)harness-cliFreeCADfreegoodyes
pycampythonpkgfreegoodyes
kiri:motonativebinaryfreegoodyes
Fusion 360 CAM / Onshape CAMapitokenspaidsotano

export.engine — handoff to game / viz engine

ProviderKindRequiresCostQualityOffline
cli-anything-godotharness-cliGodotfreehighyes
cli-anything-blender (glTF/FBX export)harness-cliBlenderfreesotayes
pygltflibpythonpkgfreehighyes
trimesh glTF writerpythonpkgfreegoodyes
Unity Asset Pipeline / Unreal Datasmith—————

Recipes

  • printable-part — parametric CAD → mesh → slice → gcode. Uses: model.parametric, model.mesh, fabricate.slice.

  • game-asset — model → texture → export to engine. Uses: model.mesh, material.texture, export.engine, (optional render.preview).

  • reality-scan — photos → photogrammetry → clean mesh → export. Uses: photogrammetry.reconstruct, pointcloud.process, model.mesh, export.engine.

  • cnc-part — parametric part → CAM toolpath → gcode. Uses: model.parametric, fabricate.cam.

  • product-viz-still — CAD → import → scene → offline render. Uses: model.parametric, model.mesh, material.texture, render.offline.

  • gpu-bug-repro — capture frame → analyze → patch shader. Uses: gpu.debug, render.preview.


Known gaps

  • material.texture — no open equivalent to Substance; Blender shader nodes are the current ceiling.
  • fabricate.slice — PrusaSlicer/Cura natives work but want a harness-level wrapper.
  • model.sculpt — impractical for agents today.
  • Unity / Unreal export — only Godot covered on the harness side.

Agent guidance

  • Parametric first, mesh later. Start in model.parametric when the object has dimensions; model.mesh when it's organic.
  • Always bake before export. When handing off to export.engine, apply modifiers and bake materials — runtime engines don't read Blender shader graphs.
  • Check manifold before slicing. fabricate.slice fails silently on non-manifold meshes; use trimesh.Trimesh.is_volume or pymeshlab's manifold check first.
  • Offline-capable baseline. This matrix is highly offline-capable — API escalation is rarely needed except for photogrammetry-at-scale.
  • Workspace discipline. Keep .FCStd / .blend / .ply / .stl / .gcode in one project folder so the chain of transformations is reproducible.
Repository
HKUDS/CLI-Anything
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.