/forgecad-inspect-model
Select, run, and interpret ForgeCAD inspection evidence for collisions, sections, wall thickness, components, masks, depth, normals, surface continuity, and fit.
$ npx -y skills add kostard/forgecad-public-kit --skill forgecad-inspect-model --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/forgecad-inspect-model
Context preview
The summary Claude sees to decide when to auto-load this skill.
Select, run, and interpret ForgeCAD inspection evidence for collisions, sections, wall thickness, components, masks, depth, normals, surface continuity, and fit.
SKILL.md
forgecad-inspect-model.SKILL.mdname: forgecad-inspect-model
description: Select, run, and interpret ForgeCAD inspection evidence for collisions, sections, wall thickness, components, masks, depth, normals, surface continuity, and fit.
forgecad-public: true
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`.
Workflow
1. **Identify the failure question.** What would make the model wrong: overlap, thin walls, hidden cavity failure, disconnected or accidentally fused bodies, floating parts, orientation artifacts, identity confusion? 2. **Confirm the model executes.** If in doubt, run `forgecad run model.forge.js` first; add `--debug-imports` for suspect imports. 3. **Pick ONE targeted evidence command** from the table below. `forgecad inspect evidence` lists everything available. 4. **Summarize the manifest first**, then use `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
5. **Inspect the PNGs, not only the JSON.** View identity/context images first, then the risk evidence's view, then orthogonal cameras (`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. 6. **Isolate intentional overlaps** with `--focus "A,B"` or `--hide "C"` so the remaining report stays meaningful. 7. **Treat findings as model bugs**: unexpected collisions, critical thin regions, high unresolved thickness area, wrong component counts, floating bodies, or surprising gaps mean fix the model and reinspect. 8. **Report honestly.** Include the exact command, bundle path, manifest highlights, and the PNG views actually inspected. Never claim geometry is verified if you only ran `forgecad run`.
Evidence Selection
| 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` |
Section Probe + Replay
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`.
Misread Traps
- Face-touching is not a collision; collision findings are positive-volume overlaps.
- Gray/unresolved thickness area means the evidence is incomplete, not that the model is safe.
- Distance/gap figures are bbox-gap metrics between components, not closest-surface distances.
- Depth, normals, and zebra are visual aids (heatmap, camera-view normals, stripe shader), not exact measurements or curvature proofs.
- Resolve mask colors through the manifest's object list, never by object order.
Reference
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`.
Read more
name: forgecad-inspect-model description: Select, run, and interpret ForgeCAD inspection evidence for collisions, sections, wall thickness, components, masks, depth, normals, surface continuity, and fit. forgecad-public: true
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`.
Workflow
1. **Identify the failure question.** What would make the model wrong: overlap, thin walls, hidden cavity failure, disconnected or accidentally fused bodies, floating parts, orientation artifacts, identity confusion? 2. **Confirm the model executes.** If in doubt, run `forgecad run model.forge.js` first; add `--debug-imports` for suspect imports. 3. **Pick ONE targeted evidence command** from the table below. `forgecad inspect evidence` lists everything available. 4. **Summarize the manifest first**, then use `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
5. **Inspect the PNGs, not only the JSON.** View identity/context images first, then the risk evidence's view, then orthogonal cameras (`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. 6. **Isolate intentional overlaps** with `--focus "A,B"` or `--hide "C"` so the remaining report stays meaningful. 7. **Treat findings as model bugs**: unexpected collisions, critical thin regions, high unresolved thickness area, wrong component counts, floating bodies, or surprising gaps mean fix the model and reinspect. 8. **Report honestly.** Include the exact command, bundle path, manifest highlights, and the PNG views actually inspected. Never claim geometry is verified if you only ran `forgecad run`.
Evidence Selection
| 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` |
Section Probe + Replay
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`.
Misread Traps
- Face-touching is not a collision; collision findings are positive-volume overlaps.
- Gray/unresolved thickness area means the evidence is incomplete, not that the model is safe.
- Distance/gap figures are bbox-gap metrics between components, not closest-surface distances.
- Depth, normals, and zebra are visual aids (heatmap, camera-view normals, stripe shader), not exact measurements or curvature proofs.
- Resolve mask colors through the manifest's object list, never by object order.
Reference
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`.
Public examples, agent skills, docs links, and issue tracking for ForgeCAD. ForgeCAD is code-first parametric CAD for JavaScript/TypeScript: a normal .forge.js file becomes a live model with parameters, assemblies, validation, renders, inspections, and
Repo: kostard/forgecad-public-kit
Other skills on forgecad-public-kit.
- /forgecad-build-model
Build or edit a manufacture-realistic `.forge.js` model in a project, then validate it with run, render, inspect, and export evidence.
Open skill - /forgecad-design-spec
Create a ForgeCAD design brief, HLD, or LLD before coding by walking through use, assembly, interfaces, decisions, and verification.
Open skill - /forgecad-grade-model
Grade a ForgeCAD or CAD-as-code model against a requirement, brief, prompt, reference, or acceptance criteria with evidence and a 0-10 score.
Open skill - /forgecad-image-prompt
Write builder-honest AI image prompts from a concrete ForgeCAD model, build brief, HLD, or LLD without hiding how the artifact is built.
Open skill - /forgecad-project-sync
Manage hosted ForgeCAD project sync from the CLI: init, clone, pull, push, file operations, members, publishing, and shares.
Open skill - /forgecad-reconstruct-cad-file
Reconstruct a readable parametric ForgeCAD model from an existing CAD or mesh file such as STL, OBJ, 3MF, STEP, or STP.
Open skill

