Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/w1ne/kernelcad-web/kernelcad-partsnpx skills add w1ne/kernelCAD-web --skill kernelcad-partsgit clone --depth 1 https://github.com/w1ne/kernelCAD-webWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/w1ne/kernelcad-web/kernelcad-parts)<a href="https://agentmods.dev/skills/w1ne/kernelcad-web/kernelcad-parts"><img src="https://agentmods.dev/badge/skills/w1ne/kernelcad-web/kernelcad-parts.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00048 | $0.03586 |
| Opus 5 | $0.00024 | $0.01793 |
| Sonnet 5 | $0.00010 | $0.00717 |
| Haiku 4.5 | $0.00005 | $0.00359 |
Grade A, and why
kernelcad-parts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 277 lines — stays where its author put it; the contents beside it link to each section on GitHub.
kernelcad-parts
Load this skill when the agent needs an off-the-shelf component (M-series fastener, deep-groove ball bearing, NEMA stepper, pin header, JST-XH housing) and does not already know a STEP file path.
The catalog ships bundled with the npm package — npm install resolves
every bundled id offline. When a query has no bundled match, discovery and
fetch fall through to a built-in public parts catalog by default (see "Remote
tier" below), so kernelCAD can find off-the-shelf parts it does not bundle.
Set KERNELCAD_PARTS_BASE_URL=off to stay offline on the bundled seed only.
Four-tool discovery flow
When the agent does not know which id covers the intent, walk the discovery chain. Each step narrows the search:
inspect({ of: 'part-categories' })→ top-level buckets (e.g.fastener,bearing,motor,connector,shaft).inspect({ of: 'part-families', category })→ families within the bucket (e.g.socket-head-cap-screw,deep-groove-ball-bearing).find_part{ query, family?, standard?, tag?, licenseClass? }→ ranked records that match the fuzzy query plus filters. Tokens AND-combine; cross-facet filters AND-combine.licenseClass('permissive'|'share-alike'|'fetch-only') filters by redistribution license; records with no class are treated aspermissive(the bundled catalog).fetch_part{ id }→ resolves the id to a record, writes the STEP into the cache, returns the cache path + sha256.
For tasks where the id is already known, skip straight to fetch_part or
use the typed lib.standard.* shortcuts.
Fetch-by-URL (parts not in the catalog)
fetch_part { url } pulls geometry on demand from an allowlisted host
(GitHub/GitLab raw + release-asset hosts and the kernelCAD parts host) — it is
cached locally, never re-hosted (redistribution: 'fetch-only'):
- A
.step/.stpURL → inspected, connectors synthesized, returned as a record. - A
.stl/.dae/.objURL → returned as amesh-importhandle (non-BREP,attributes.geometryKind = 'mesh') for blockout/reference. - A vendor configurator URL (igus/MISUMI/Pololu/TraceParts) → NOT fetched;
returns
{ kind: 'link_out', url, instruction }. Download the STEP from the configurator and ingest it locally withfetch_part { file }. - A disallowed host →
{ error: 'url_host_not_allowed' }.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 277 lines · 48 tokens per session scan A 38caf990726a
kernelcad-parts is a skill published in the GitHub repository w1ne/kernelCAD-web (18 stars, last pushed 7d ago), licensed MIT. It adds 48 tokens to every session and 3,586 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
cadquery-modeling
Generate CAD models with CadQuery using an adaptive CAD Compiler workflow: plan-mode skill constraint handoff, focused iteration scopes, fail-first challenge review, compact review packets, real-product reference fidelity, visual/functional audits, source-first repair, and STEP/STL export. Use for CadQuery, CQ, 建模…
opengis-skills
Use when AI coding assistant needs GIS/CAD/C#/AI/IoT/3D domain expertise for 73+ open-source projects. One-stop skill index with tag-based search and on-demand loading for GDAL, GeoServer, QGIS, PostGIS, JTS, CesiumJS, FreeCAD, OpenSCAD, OCCT, NPOI, SqlSugar, Furion, Dify, SuperSplat, Go and more.
cad-skills
Use when doing parametric 3D modeling, 2D drafting, geometric kernel development, BIM/IFC processing, PCB design, or AutoCAD .NET development. Index of 20 skills: FreeCAD, OpenSCAD, OCCT, CadQuery, KiCad, SolveSpace, QCAD, xBIM, Clipper2, TongWen and more.
cadquery-modeling
Create, edit, or debug parametric 3D CAD parts in CadQuery (Python) that export to STEP for SolidWorks. Use when the request involves CadQuery, .step/.stl export, or modelling a physical part — enclosure, bracket, PCB, motor mount, cam, gear. Also use when a STEP will not open in CAD, or geometry looks correct in STL…
srdf
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…
bambu-labs
Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.