forgecad-inspect-model — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited forgecad-inspect-model (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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-inspectfront, 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.jsThe 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.