forgecad/forgecad-inspect-model
Select, run, and interpret ForgeCAD inspection evidence for collisions, sections, wall thickness, components, masks, depth, normals, surface continuity, and fit.
npx skills add https://github.com/ForgeCAD/forgecad-public-kit --skill forgecad-inspect-model
Use forgecad inspect ... when a shaded render is too ambiguous and you need structured evidence: a bundle directory with evidence PNGs plus a root manifest.json (or, for inspect section, a probe directory with result.json, section.svg, section.png). Inspection is not a substitute artifact: look inside with sections, masks, --focus/--hide, and transparency — never edit the model into a cutaway or exploded default to make inspecting easier. Output dirs: let inspect allocate its timestamped directory by default (repeated probes never collide); use /tmp/<model>-inspect for throwaway bundles, a project directory only for persistent artifacts.
Routing: authoring/API questions → forgecad skill; creating a new model → forgecad-build-model.
forgecad run model.forge.js first; add --debug-imports for suspect imports.forgecad inspect evidence lists everything available.jq against manifest.json for targeted follow-up. The helper ships beside this SKILL.md — invoke it skill-dir-relative; it accepts the bundle directory or a manifest.json path: python <this-skill-dir>/summarize_manifest.py /tmp/model-inspect
front, right, top) when iso hides the issue, sections only when internals matter. In automation, resolve file paths through the manifest — custom cameras break canonical filenames.--focus "A,B" or --hide "C" so the remaining report stays meaningful.forgecad run.| Question | Evidence command |
|----------|------------------|
| Quick visual sanity | inspect visual image |
| Kinematic rig, joints, axes, and links | inspect visual rig |
| Object naming and identity | inspect visual objects |
| Exact local section measurement, bore widths, rib thickness through a chosen line | inspect section --ray ... |
| Hidden internals, cavities, pockets, screw paths, captured components | inspect sections at\|stack\|sample |
| Multi-part interference, fit checks, ghost parts, moving clearances | inspect fit interference |
| Printability, shell walls, ribs, bosses, snaps, slots | inspect manufacture thickness plus inspect sections at\|stack\|sample when internals matter |
| Parts without a mesh-contact path to the ground | inspect physical floating |
| Accidental fusion, connected solids | inspect physical components |
| Air gaps between physical components | inspect physical gaps |
| Surface orientation, occlusion, faceting, strange protrusions | inspect visual depth or inspect visual normals |
| Loft, fillet, skin, and sweep surface continuity | inspect surface zebra or inspect visual normals |
| Reference-vs-candidate reconstruction comparison | inspect compare overlay --with reference.3mf |
The agent-native measure-then-recheck loop:
forgecad inspect section model.forge.js --plane yz --ray bore:-20,0:20,0
forgecad inspect replay outputs/inspect/<probe>/result.json --source candidate.forge.js
The probe's result.json field contract (frames, rulers, gaps, replaySpec) is documented in the forgecad skill's docs/guides/inspection-bundles.md.
Bundle/manifest contract, evidence semantics, and current limits: the forgecad skill's docs/guides/inspection-bundles.md. CLI flags and command tree: its docs/CLI.md.
Take forgecad/forgecad-inspect-model from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.