{
  "schema": "cad-agent-catalog/2",
  "origin": "https://cad-agent.valpatel.com",
  "repo": "https://github.com/Valpatel/cad-agent",
  "revision": "f766bf2694e3e66e1ac84c901be1091bdb9863da",
  "built": "2026-11-01T10:10:42-08:00",
  "tagline": "Your one stop shop for agentic CAD",
  "description": "Mapping the best free resources, demonstrating their capabilities, and filling the gaps. Made for AI and people.",
  "index": "https://cad-agent.valpatel.com/catalog/index.json",
  "page": "https://cad-agent.valpatel.com/catalog",
  "fields": {
    "schema_1": "Kept from cad-agent-catalog/1 with the same values: type (upstream, tool, doc, lesson, research, skill, agent, library, benchmark; new: demo), status, name, url (tools: the toolkit page, as before), summary (outside entries: our notes first, as before), how (tools: the call), policy, license (null when not recorded), stars, last_push, markdown (the Markdown twin), source (the file on GitHub). A field schema 1 left out is still left out, with three additions: tools have markdown, benchmarks have stars where recorded, and our own entries (tools, guides, lessons, research, skills and agents; demos too) have license \"MIT\". A null is still null.",
    "id": "stable slug, unique: tool-<command>, project-<owner-repo>, library-…, benchmark-…, guide-…, lesson-…, research-…, skill-…, agent-…, demo-…",
    "kind": "demo, tool, project, library, benchmark, guide, lesson, research, skill or agent (the page's tabs)",
    "areas": "slugs from docs/areas.yaml (areas or domains; cross-cutting for pages about the whole project; unplaced for an outside entry without areas yet)",
    "maturity": "the most mature of its areas: idea, surveyed, tooling, validated or proven (index.json maturity says what each means)",
    "what": "one plain line saying what it is",
    "notes": "our assessment (outside entries), or null",
    "doc": "tools: the page that documents the command, with its anchor (markdown is that page's twin)",
    "cover": "our own picture: a figure from docs/img, or one the build draws from this entry's data; never an outside image",
    "cover_animated": "demos and figures that move: the moving version (cover is its still frame)",
    "demo": "where to try or watch it, if anywhere",
    "mode": "demos: interactive, animated or render",
    "related": "ids of up to six entries that share an area (another kind first), else the domain",
    "licence_family": "permissive, copyleft or other (other: none recorded, non-commercial, source-available or custom)",
    "updated": "the last change: last push (outside entries) or last commit (ours), as YYYY-MM-DD, or null"
  },
  "items": [
    {
      "type": "demo",
      "status": "ours",
      "name": "Snap-arm explorer",
      "url": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-snap-arm-explorer",
      "summary": "Size a cantilever snap arm and watch it bend, coloured by strain, with pass or fail for the print direction.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/compliant.md",
      "id": "demo-snap-arm-explorer",
      "kind": "demo",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "Size a cantilever snap arm and watch it bend, coloured by strain, with pass or fail for the print direction.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/compliant/cantilever-explorer.svg",
      "demo": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-snap-arm-explorer",
      "related": [
        "tool-snapfit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms",
        "guide-compliant",
        "research-compliant-mechanisms",
        "demo-torsion-snap-explorer"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Four-bar linkage animator",
      "url": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "summary": "Set four link lengths and watch the crank turn or lock, both assemblies and the transmission angle against 40°.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "id": "demo-fourbar-animator",
      "kind": "demo",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Set four link lengths and watch the crank turn or lock, both assemblies and the transmission angle against 40°.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/formulas/fourbar-animator.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "related": [
        "tool-motion-trace",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works",
        "guide-linkages",
        "guide-rendered-motion",
        "skill-cad-motion-validation"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Five-bar leg sweep",
      "url": "https://cad-agent.valpatel.com/docs/linkages#sweeping-a-closed-loop-four-bars-and-five-bars",
      "summary": "A five-bar leg's foot driven round a stride, on its map of crank angles with the lock a symmetric sweep runs into.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "id": "demo-fivebar-sweep",
      "kind": "demo",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A five-bar leg's foot driven round a stride, on its map of crank angles with the lock a symmetric sweep runs into.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/linkages-fivebar.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#sweeping-a-closed-loop-four-bars-and-five-bars",
      "related": [
        "tool-motion-trace",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works",
        "guide-linkages",
        "guide-rendered-motion",
        "skill-cad-motion-validation"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/linkages/fivebar.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Fan-curve explorer",
      "url": "https://cad-agent.valpatel.com/docs/fans#try-it-the-fan-curve-explorer",
      "summary": "A real fan's datasheet curve against your enclosure's system curve, one to four fans, and where it stalls.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/fans.md",
      "id": "demo-fan-curve-explorer",
      "kind": "demo",
      "areas": [
        "airflow-and-fans"
      ],
      "maturity": "tooling",
      "what": "A real fan's datasheet curve against your enclosure's system curve, one to four fans, and where it stalls.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/thermal/fan-curve-explorer.svg",
      "demo": "https://cad-agent.valpatel.com/docs/fans#try-it-the-fan-curve-explorer",
      "related": [
        "project-openfoam-opencfd-v2512",
        "guide-fans"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Torsion-snap explorer",
      "url": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-torsion-snap-explorer",
      "summary": "Twist a printed bar with a lever and see its shear strain against the filament's allowable, and the force.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/compliant.md",
      "id": "demo-torsion-snap-explorer",
      "kind": "demo",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "Twist a printed bar with a lever and see its shear strain against the filament's allowable, and the force.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/compliant/torsion-snap-explorer.svg",
      "demo": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-torsion-snap-explorer",
      "related": [
        "tool-snapfit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms",
        "guide-compliant",
        "research-compliant-mechanisms",
        "demo-snap-arm-explorer"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Screw-boss explorer",
      "url": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "summary": "A thread-forming screw in a printed boss, its clamp, where the thread strips, and the torque window.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/screw-bosses.md",
      "id": "demo-screw-boss-explorer",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A thread-forming screw in a printed boss, its clamp, where the thread strips, and the torque window.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fasteners/screw-boss-explorer.svg",
      "demo": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "related": [
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works",
        "project-heartland-eng-bd-hardware",
        "library-partcad-partcad",
        "library-gumyr-bd-warehouse"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "FEA of a ribbed lid",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#stiffness-and-strength-cadagentsimulationfea",
      "summary": "A 300 N press on an enclosure lid, coloured by stress as a fraction of the material's strength.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-fea-lid",
      "kind": "demo",
      "areas": [
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "A 300 N press on an enclosure lid, coloured by stress as a fraction of the material's strength.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fea.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#stiffness-and-strength-cadagentsimulationfea",
      "related": [
        "project-neka-nat-freecad-mcp",
        "project-v0v1kkk-freecad-engineering",
        "project-novasolver-novasolver-studio",
        "project-wifilast-freecad-mcp",
        "library-calculix-2-23-conda-forge",
        "benchmark-feabench"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Cantilever snap fit",
      "url": "https://cad-agent.valpatel.com/docs/compliant",
      "summary": "The hook rides up the catch's lead-in, drops in behind it and holds when pulled back, computed from the outlines.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/compliant.md",
      "id": "demo-snap-fit",
      "kind": "demo",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "The hook rides up the catch's lead-in, drops in behind it and holds when pulled back, computed from the outlines.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/snap-fit.svg",
      "demo": "https://cad-agent.valpatel.com/docs/compliant",
      "related": [
        "tool-snapfit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms",
        "guide-compliant",
        "research-compliant-mechanisms",
        "demo-snap-arm-explorer"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/catalog/covers/snap-fit.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Topology-optimised floor",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#topology-optimisation-cadagentsimulationtopopt",
      "summary": "Topology optimisation of an enclosure floor keeps only the material that carries load.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-topology-floor",
      "kind": "demo",
      "areas": [
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "Topology optimisation of an enclosure floor keeps only the material that carries load.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/topology.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#topology-optimisation-cadagentsimulationtopopt",
      "related": [
        "project-aatmdelissen-pymoto",
        "project-wifilast-freecad-mcp",
        "demo-fea-lid",
        "demo-search-front",
        "tool-optimise",
        "tool-compare"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Hinge sweep and collision onset",
      "url": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "summary": "A gate arm swept through its range; the first pose that hits the frame is bisected to a hundredth of a degree.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/gates.md",
      "id": "demo-hinge-sweep",
      "kind": "demo",
      "areas": [
        "mechanisms",
        "design-process"
      ],
      "maturity": "tooling",
      "what": "A gate arm swept through its range; the first pose that hits the frame is bisected to a hundredth of a degree.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-hinge-sweep.svg",
      "demo": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "related": [
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all",
        "tool-motion-trace"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/hinge-sweep.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "3D viewer and review site",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "summary": "Every part in place, with explode and section, and one top bar that links every report.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-review-viewer",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Every part in place, with explode and section, and one top bar that links every report.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/viewer.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "related": [
        "tool-site",
        "tool-view",
        "tool-package",
        "tool-release",
        "tool-serve",
        "tool-webkit"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Design search front",
      "url": "https://cad-agent.valpatel.com/docs/explore#search",
      "summary": "Seeded trials arrive one by one and the cost and mass front is redrawn as they join it.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "id": "demo-search-front",
      "kind": "demo",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Seeded trials arrive one by one and the cost and mass front is redrawn as they join it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-search-front.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "related": [
        "tool-optimise",
        "tool-compare",
        "tool-catalogue",
        "project-optuna-optuna",
        "guide-explore",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/search-front.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Rib in a counterbore",
      "url": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "summary": "Why every hole is cut last; a rib added after the holes refills the counterbore, and the hole check finds it.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/common-issues.md",
      "id": "demo-rib-in-counterbore",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware",
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Why every hole is cut last; a rib added after the holes refills the counterbore, and the hole check finds it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-rib-in-counterbore.svg",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "related": [
        "tool-holes",
        "tool-mcmaster",
        "project-pzfreo-specify-core",
        "project-ballerabdude-agent-cad-works",
        "project-heartland-eng-bd-hardware",
        "library-partcad-partcad"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/rib-in-counterbore.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Module insertion",
      "url": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "summary": "A preassembled module checked on its bench, then inserted into its parent as one body and withdrawn.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/subassembly-insertion.md",
      "id": "demo-module-insertion",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A preassembled module checked on its bench, then inserted into its parent as one body and withdrawn.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-module-insertion.svg",
      "demo": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "related": [
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works",
        "project-heartland-eng-bd-hardware",
        "library-partcad-partcad",
        "library-gumyr-bd-warehouse"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/module-insertion.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Connector window",
      "url": "https://cad-agent.valpatel.com/docs/common-issues#bought-parts-sources-and-assumptions",
      "summary": "A panel window sized from the mated plug, with the latch swept along its mating axis.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/common-issues.md",
      "id": "demo-connector-window",
      "kind": "demo",
      "areas": [
        "housings-and-enclosures"
      ],
      "maturity": "tooling",
      "what": "A panel window sized from the mated plug, with the latch swept along its mating axis.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-connector-window.svg",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#bought-parts-sources-and-assumptions",
      "related": [
        "project-amagine-ai-amagine3d",
        "project-punkfab-circuit-skills",
        "project-dwragon-fusion360snapfitgenerator",
        "library-easyw-kicadstepupmod",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/connector-window.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Gyropup leg",
      "url": "https://cad-agent.valpatel.com/README#cad-agent",
      "summary": "Gyropup's five-bar leg drawn from its real CAD, assembled, then checked for fit, strength and motion by cad-agent",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/README.md",
      "id": "demo-gyropup-leg",
      "kind": "demo",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "Gyropup's five-bar leg drawn from its real CAD, assembled, then checked for fit, strength and motion by cad-agent",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/hero-gyropup-leg.svg",
      "demo": "https://cad-agent.valpatel.com/README#cad-agent",
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/hero/gyropup-leg.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Mesh convergence",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures#a-recorded-fea-study",
      "summary": "An L-bracket's inside corner refined step by step: sharp, the peak stress keeps rising and converge() never passes it; with an R1.5 fillet it settles and converge() passes it",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "id": "demo-mesh-convergence",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "An L-bracket's inside corner refined step by step: sharp, the peak stress keeps rising and converge() never passes it; with an R1.5 fillet it settles and converge() passes it",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/fea-mesh-convergence.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#a-recorded-fea-study",
      "related": [
        "tool-site",
        "tool-view",
        "tool-package",
        "tool-release",
        "tool-serve",
        "tool-webkit"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/fea/mesh-convergence.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Snap engagement",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures#a-snap-fit-engaging",
      "summary": "A printed snap arm bends as a mating part's edge rides its hook's lead.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "id": "demo-snap-engagement",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "A printed snap arm bends as a mating part's edge rides its hook's lead.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/compliant-snap-engagement.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#a-snap-fit-engaging",
      "related": [
        "tool-site",
        "tool-view",
        "tool-package",
        "tool-release",
        "tool-serve",
        "tool-webkit"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/compliant/snap-engagement.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent holes",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Check every hole of every part (exports/<part>.step) is clear of material: ribs or bosses added after the holes",
      "how": "cad-agent holes --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#holes-clear",
      "id": "tool-holes",
      "kind": "tool",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Check every hole of every part (exports/<part>.step) is clear of material: ribs or bosses added after the holes",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-rib-in-counterbore-at-80.svg",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "project-ballerabdude-agent-cad-works",
        "project-heartland-eng-bd-hardware",
        "library-partcad-partcad"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/rib-in-counterbore.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent snapfit",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Size and check snap fits declared in a YAML/JSON file (docs/compliant.md)",
      "how": "cad-agent snapfit --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/compliant.md",
      "doc": "https://cad-agent.valpatel.com/docs/compliant",
      "id": "tool-snapfit",
      "kind": "tool",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "Size and check snap fits declared in a YAML/JSON file (docs/compliant.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/compliant/example-1.svg",
      "demo": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-snap-arm-explorer",
      "related": [
        "demo-snap-arm-explorer",
        "demo-torsion-snap-explorer",
        "demo-snap-fit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms",
        "guide-compliant"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent optimise",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Search slots and parameters for the best trade-offs (cad: explore: search:)",
      "how": "cad-agent optimise --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-optimise",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Search slots and parameters for the best trade-offs (cad: explore: search:)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-search-front-at-90.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "related": [
        "demo-search-front",
        "project-optuna-optuna",
        "guide-explore",
        "tool-compare",
        "tool-catalogue",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/search-front.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent gates",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Run the integrity gates on the dossier geometry: exports/gates/<gate>.json + .md",
      "how": "cad-agent gates --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/gates.md",
      "doc": "https://cad-agent.valpatel.com/docs/gates",
      "id": "tool-gates",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Run the integrity gates on the dossier geometry: exports/gates/<gate>.json + .md",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-module-insertion-at-85.svg",
      "demo": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/module-insertion.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent compare",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Evaluate the designs and rank them: comparison JSON, HTML page, site design cards",
      "how": "cad-agent compare --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-compare",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Evaluate the designs and rank them: comparison JSON, HTML page, site design cards",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-compare.svg",
      "demo": null,
      "related": [
        "demo-search-front",
        "project-optuna-optuna",
        "guide-explore",
        "tool-optimise",
        "tool-catalogue",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent site",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Build the project site (progress, designs, decisions, docs)",
      "how": "cad-agent site --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-site",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Build the project site (progress, designs, decisions, docs)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-site.svg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent view",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Export every part in assembly position for the 3D viewer",
      "how": "cad-agent view --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "id": "tool-view",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Export every part in assembly position for the 3D viewer",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-view.svg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent build",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Run the configured build steps in order",
      "how": "cad-agent build --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-build",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Run the configured build steps in order",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-build.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent export-3mf",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Write a bed-centred 3MF per part STL, and every part on build plates in one Bambu Studio project 3MF; verify both",
      "how": "cad-agent export-3mf --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-export-3mf",
      "kind": "tool",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Write a bed-centred 3MF per part STL, and every part on build plates in one Bambu Studio project 3MF; verify both",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-export-3mf.svg",
      "demo": null,
      "related": [
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio",
        "project-pan-chera-multi-agent-cad",
        "project-flowful-ai-cad-skill"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent check",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Collect check results; exit 1 if any fail",
      "how": "cad-agent check --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-check",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Collect check results; exit 1 if any fail",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-check.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent report",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Write results JSON + standalone HTML report",
      "how": "cad-agent report --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-report",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Write results JSON + standalone HTML report",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-report.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent package",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Zip the review package with a sha256 manifest",
      "how": "cad-agent package --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-package",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Zip the review package with a sha256 manifest",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-package.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent release",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Write the print release: a browsable page of the parts (thumbnails, print settings) with CAD files and source, and a zip",
      "how": "cad-agent release --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#the-print-release-cad-agent-release",
      "id": "tool-release",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Write the print release: a browsable page of the parts (thumbnails, print settings) with CAD files and source, and a zip",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-release.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent serve",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Serve the project over http (Bambu Studio links)",
      "how": "cad-agent serve --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-serve",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Serve the project over http (Bambu Studio links)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-serve.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent slice",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Slice each part's 3MF (Bambu Studio CLI): grams and print time",
      "how": "cad-agent slice --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#real-grams-cadagentmanufacturingslicer-cad-agent-slice",
      "id": "tool-slice",
      "kind": "tool",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Slice each part's 3MF (Bambu Studio CLI): grams and print time",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-slice.svg",
      "demo": null,
      "related": [
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio",
        "project-pan-chera-multi-agent-cad",
        "project-flowful-ai-cad-skill"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent webkit",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Copy the web kit (3D stage, viewer, HUD) into the project",
      "how": "cad-agent webkit --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-webkit",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Copy the web kit (3D stage, viewer, HUD) into the project",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-webkit.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "project-naman113-designstudio",
        "guide-file-viewer",
        "guide-web-parts"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent pcb-check",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Bind KiCad ERC/DRC evidence to current PCB sources",
      "how": "cad-agent pcb-check --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/pcb.md",
      "doc": "https://cad-agent.valpatel.com/docs/pcb",
      "id": "tool-pcb-check",
      "kind": "tool",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Bind KiCad ERC/DRC evidence to current PCB sources",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-pcb-check.svg",
      "demo": null,
      "related": [
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead",
        "project-lamaalrajih-kicad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent all",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "build, export-3mf, holes, gates and the dossier lint (when configured), check + report, package",
      "how": "cad-agent all --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-all",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "build, export-3mf, holes, gates and the dossier lint (when configured), check + report, package",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-all.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent motion-trace",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Validate rendered joint pivots against independent CAD landmarks",
      "how": "cad-agent motion-trace --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/rendered-motion.md",
      "doc": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "id": "tool-motion-trace",
      "kind": "tool",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Validate rendered joint pivots against independent CAD landmarks",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-motion-trace.svg",
      "demo": null,
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-hinge-sweep",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works",
        "guide-linkages"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent agents",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Install the agent workflow kit (skills and subagents) for Claude Code and Codex, or list what is installed (docs/agent-workflow.md)",
      "how": "cad-agent agents --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/agent-workflow.md",
      "doc": "https://cad-agent.valpatel.com/docs/agent-workflow",
      "id": "tool-agents",
      "kind": "tool",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Install the agent workflow kit (skills and subagents) for Claude Code and Codex, or list what is installed (docs/agent-workflow.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-agents.svg",
      "demo": null,
      "related": [
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process",
        "lesson-process-verify-from-source"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent mcmaster",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Download McMaster-Carr STEP + product data per part number and normalise it (one page at a time; skills/mcmaster-parts/SKILL.md)",
      "how": "cad-agent mcmaster --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL.md",
      "doc": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL",
      "id": "tool-mcmaster",
      "kind": "tool",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Download McMaster-Carr STEP + product data per part number and normalise it (one page at a time; skills/mcmaster-parts/SKILL.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-mcmaster.svg",
      "demo": null,
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "project-ballerabdude-agent-cad-works",
        "project-heartland-eng-bd-hardware",
        "library-partcad-partcad"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent catalogue",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Check the part catalogue and the designs against it (cad: explore:, docs/explore.md)",
      "how": "cad-agent catalogue --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-catalogue",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Check the part catalogue and the designs against it (cad: explore:, docs/explore.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-catalogue.svg",
      "demo": null,
      "related": [
        "demo-search-front",
        "project-optuna-optuna",
        "guide-explore",
        "tool-optimise",
        "tool-compare",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent dossier",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Lint the design dossier and write each item's status (exports/dossier-status.json)",
      "how": "cad-agent dossier --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/dossier.md",
      "doc": "https://cad-agent.valpatel.com/docs/dossier",
      "id": "tool-dossier",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Lint the design dossier and write each item's status (exports/dossier-status.json)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-dossier.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent review-packet",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Render each dossier section's review packet: exports/review/<section>/ + manifest.json",
      "how": "cad-agent review-packet --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/review-packet.md",
      "doc": "https://cad-agent.valpatel.com/docs/review-packet",
      "id": "tool-review-packet",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Render each dossier section's review packet: exports/review/<section>/ + manifest.json",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-review-packet.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent review-section",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "Reviewer pass: write a section's reviewer bundle, or --submit a reviewer record",
      "how": "cad-agent review-section --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/review-packet.md",
      "doc": "https://cad-agent.valpatel.com/docs/review-packet",
      "id": "tool-review-section",
      "kind": "tool",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Reviewer pass: write a section's reviewer bundle, or --submit a reviewer record",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-review-section.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "project-pzfreo-specify-core",
        "library-partcad-partcad",
        "guide-design-process-plan",
        "guide-gates",
        "guide-dossier"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "upstream",
      "status": "trial",
      "name": "earthtojake/text-to-cad",
      "url": "https://github.com/earthtojake/text-to-cad",
      "summary": "v0.7.26 2026-10-20; telemetry on by default; viewer loopback unauthenticated; PCB in open PR #518; v0.8.0 (2026-10-27) replaces the 0.7 pipeline with no compatibility layer (v0.8.4 on 10-30): pin 0.7.26 or 0.8.4 deliberately; telemetry still on by default; PR #518 closed unmerged",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 22951,
      "last_push": "2026-10-25",
      "id": "project-earthtojake-text-to-cad",
      "kind": "project",
      "areas": [
        "3d-printing",
        "sheet-metal",
        "cnc-machining"
      ],
      "maturity": "tooling",
      "what": "Agent plugin that writes build123d models, exports STEP, STL and 3MF, runs DFM checks and makes drawings",
      "notes": "v0.7.26 2026-10-20; telemetry on by default; viewer loopback unauthenticated; PCB in open PR #518; v0.8.0 (2026-10-27) replaces the 0.7 pipeline with no compatibility layer (v0.8.4 on 10-30): pin 0.7.26 or 0.8.4 deliberately; telemetry still on by default; PR #518 closed unmerged",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-earthtojake-text-to-cad.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "research-fea-and-process-tools",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "trial",
      "name": "aklofas/kicad-happy",
      "url": "https://github.com/aklofas/kicad-happy",
      "summary": "plugin.json has no hooks",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 1499,
      "last_push": "2026-10-25",
      "id": "project-aklofas-kicad-happy",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Agent skills that review KiCad schematics, layouts and Gerbers: power tree, subcircuits, SPICE, EMC, BOM",
      "notes": "plugin.json has no hooks",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-aklofas-kicad-happy.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "ahujasid/mcp-for-blender",
      "url": "https://github.com/ahujasid/mcp-for-blender",
      "summary": "execute_blender_code; telemetry with disable tool",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 32261,
      "last_push": "2026-10-24",
      "id": "project-ahujasid-mcp-for-blender",
      "kind": "project",
      "areas": [
        "results-and-visuals"
      ],
      "maturity": "tooling",
      "what": "MCP server and Blender add-on that let an AI build, texture and render scenes and run Blender Python",
      "notes": "execute_blender_code; telemetry with disable tool",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-ahujasid-mcp-for-blender.svg",
      "demo": null,
      "related": [
        "project-pyvista-pyvista",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front",
        "tool-optimise",
        "tool-compare"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "OrcaSlicer/OrcaSlicer",
      "url": "https://github.com/OrcaSlicer/OrcaSlicer",
      "summary": "2.5 beta: experimental Design (CAD) tab, off by default, with an MCP control socket for that tab (Unix, ORCA_CAD_MCP set, GUI running); a general MCP server, slicing included, is in development on the feature/mcp branch (no release yet)",
      "policy": "external program only (AGPL-3.0); the 2.5.0 beta (2026-10-27) has an experimental, off-by-default MCP control socket for its Design tab, and a general MCP server, slicing included, is in development on its feature/mcp branch: revisit as an external process once a release ships it",
      "license": "AGPL-3.0",
      "stars": 16253,
      "last_push": "2026-10-31",
      "id": "project-orcaslicer-orcaslicer",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Open-source FDM slicer for many printer brands; the 2.5 beta adds an experimental Design (CAD) tab, off by default",
      "notes": "2.5 beta: experimental Design (CAD) tab, off by default, with an MCP control socket for that tab (Unix, ORCA_CAD_MCP set, GUI running); a general MCP server, slicing included, is in development on the feature/mcp branch (no release yet)",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-orcaslicer-orcaslicer.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio",
        "project-pan-chera-multi-agent-cad"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "trial",
      "name": "oaslananka/kicad-mcp-pro",
      "url": "https://github.com/oaslananka/kicad-mcp-pro",
      "summary": "387 tools; default profile 24 read-only; telemetry off by default; shipped .mcp.json unpinned",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 149,
      "last_push": "2026-10-25",
      "id": "project-oaslananka-kicad-mcp-pro",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "MCP server for KiCad schematic, PCB, ERC/DRC, DFM and manufacturing-export work, read-only by default",
      "notes": "387 tools; default profile 24 read-only; telemetry off by default; shipped .mcp.json unpinned",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-oaslananka-kicad-mcp-pro.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "amagine-ai/Amagine3D",
      "url": "https://github.com/amagine-ai/Amagine3D",
      "summary": "enclosure around internal components from requirements; does not read KiCad",
      "policy": "may incorporate with attribution",
      "license": "Apache-2.0",
      "stars": 6259,
      "last_push": "2026-10-22",
      "id": "project-amagine-ai-amagine3d",
      "kind": "project",
      "areas": [
        "housings-and-enclosures",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Agent app that designs enclosures around internal components from a brief and images, as editable build123d",
      "notes": "enclosure around internal components from requirements; does not read KiCad",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-amagine-ai-amagine3d.svg",
      "demo": null,
      "related": [
        "demo-connector-window",
        "tool-export-3mf",
        "tool-slice",
        "library-easyw-kicadstepupmod",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-22"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "Adam-CAD/CADAM",
      "url": "https://github.com/Adam-CAD/CADAM",
      "summary": "GPL: external use only",
      "policy": "external program only (GPL-3.0)",
      "license": "GPL-3.0",
      "stars": 5328,
      "last_push": "2026-10-15",
      "id": "project-adam-cad-cadam",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Browser text-to-CAD app that turns a prompt or image into an OpenSCAD model with parameter sliders",
      "notes": "GPL: external use only",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-adam-cad-cadam.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-neka-nat-freecad-mcp",
        "project-kittycad-modeling-app"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-15"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "neka-nat/freecad-mcp",
      "url": "https://github.com/neka-nat/freecad-mcp",
      "summary": "executes code inside FreeCAD",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 3040,
      "last_push": "2026-10-25",
      "id": "project-neka-nat-freecad-mcp",
      "kind": "project",
      "areas": [
        "cad-modelling",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "FreeCAD add-on and MCP server: an agent creates and edits models, runs Python and runs FEM analyses",
      "notes": "executes code inside FreeCAD",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-neka-nat-freecad-mcp.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "library-calculix-2-23-conda-forge",
        "benchmark-feabench",
        "guide-toolkit"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "mixelpixx/KiCAD-MCP-Server",
      "url": "https://github.com/mixelpixx/KiCAD-MCP-Server",
      "summary": "244 tools registered; runtime dep pymupdf (AGPL); still maintained under MIT after Konnect was archived",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 2933,
      "last_push": "2026-10-26",
      "id": "project-mixelpixx-kicad-mcp-server",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "MCP server for KiCad: edit schematics and boards, route with Freerouting, run DRC and look up JLCPCB parts",
      "notes": "244 tools registered; runtime dep pymupdf (AGPL); still maintained under MIT after Konnect was archived",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-mixelpixx-kicad-mcp-server.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-26"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "OpenFOAM (OpenCFD v2512)",
      "url": "https://develop.openfoam.com/Development/openfoam",
      "summary": "Open-source CFD toolbox: solvers for fluid flow and heat transfer, with meshing and post-processing",
      "policy": "external program only (GPL-3.0); run in the opencfd/openfoam-default Docker image; cad-agent writes conjugate heat-transfer cases for it from CAD",
      "license": "GPL-3.0",
      "last_push": "2026-01-23",
      "id": "project-openfoam-opencfd-v2512",
      "kind": "project",
      "areas": [
        "cfd",
        "airflow-and-fans"
      ],
      "maturity": "tooling",
      "what": "Open-source CFD toolbox: solvers for fluid flow and heat transfer, with meshing and post-processing",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-openfoam-opencfd-v2512.svg",
      "demo": null,
      "related": [
        "demo-fan-curve-explorer",
        "guide-fans",
        "project-novasolver-novasolver-studio",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front"
      ],
      "licence_family": "copyleft",
      "updated": "2026-01-23"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "aatmdelissen/pyMOTO",
      "url": "https://github.com/aatmdelissen/pyMOTO",
      "summary": "Modular Python framework for topology optimisation, with semi-automatic sensitivities and an MMA optimiser",
      "policy": "may incorporate with attribution (imported as a dependency); cad-agent topopt runs SIMP with MMA on it",
      "license": "MIT",
      "last_push": "2026-05-01",
      "id": "project-aatmdelissen-pymoto",
      "kind": "project",
      "areas": [
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "Modular Python framework for topology optimisation, with semi-automatic sensitivities and an MMA optimiser",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-aatmdelissen-pymoto.svg",
      "demo": null,
      "related": [
        "demo-topology-floor",
        "project-wifilast-freecad-mcp",
        "demo-fea-lid",
        "demo-search-front",
        "tool-optimise",
        "tool-compare"
      ],
      "licence_family": "permissive",
      "updated": "2026-05-01"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "pyvista/pyvista",
      "url": "https://github.com/pyvista/pyvista",
      "summary": "3D plotting and mesh analysis through a streamlined interface to VTK",
      "policy": "may incorporate with attribution (imported as a dependency); cad-agent renders stress and flow pictures and animations with it",
      "license": "MIT",
      "id": "project-pyvista-pyvista",
      "kind": "project",
      "areas": [
        "results-and-visuals"
      ],
      "maturity": "tooling",
      "what": "3D plotting and mesh analysis through a streamlined interface to VTK",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pyvista-pyvista.svg",
      "demo": null,
      "related": [
        "project-ahujasid-mcp-for-blender",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front",
        "tool-optimise",
        "tool-compare"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "bambulab/BambuStudio",
      "url": "https://github.com/bambulab/BambuStudio",
      "summary": "Open-source slicer for Bambu Lab and other printers, with a command-line mode for slicing without the GUI",
      "policy": "external program only (AGPL-3.0); cad-agent runs its command line for real filament grams and print times",
      "license": "AGPL-3.0",
      "id": "project-bambulab-bambustudio",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Open-source slicer for Bambu Lab and other printers, with a command-line mode for slicing without the GUI",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-bambulab-bambustudio.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-pan-chera-multi-agent-cad"
      ],
      "licence_family": "copyleft",
      "updated": null
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "optuna/optuna",
      "url": "https://github.com/optuna/optuna",
      "summary": "Hyperparameter optimisation framework with define-by-run search spaces and samplers such as TPE and NSGA-II",
      "policy": "optional dependency (the explore extra, optuna>=3.4); runs the NSGA-II and TPE samplers of cad-agent optimise",
      "license": "MIT",
      "id": "project-optuna-optuna",
      "kind": "project",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Hyperparameter optimisation framework with define-by-run search spaces and samplers such as TPE and NSGA-II",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-optuna-optuna.svg",
      "demo": null,
      "related": [
        "demo-search-front",
        "tool-optimise",
        "tool-compare",
        "tool-catalogue",
        "guide-explore",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "KittyCAD/modeling-app",
      "url": "https://github.com/KittyCAD/modeling-app",
      "summary": "text-to-CAD is a paid cloud API",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 1321,
      "last_push": "2026-10-25",
      "id": "project-kittycad-modeling-app",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Zoo Design Studio: a CAD app where every part is KCL code, edited by clicking or typing, on a cloud engine",
      "notes": "text-to-CAD is a paid cloud API",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-kittycad-modeling-app.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "Pan-Chera/Multi-Agent-CAD",
      "url": "https://github.com/Pan-Chera/Multi-Agent-CAD",
      "summary": "assembly generation is a technology preview",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 1048,
      "last_push": "2026-10-17",
      "id": "project-pan-chera-multi-agent-cad",
      "kind": "project",
      "areas": [
        "mechanisms",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Multi-agent text-to-CAD in build123d for single parts and, as a preview, multi-part assemblies",
      "notes": "assembly generation is a technology preview",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pan-chera-multi-agent-cad.svg",
      "demo": null,
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-hinge-sweep",
        "tool-export-3mf",
        "tool-slice",
        "tool-motion-trace"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-17"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "BackplaneWorks/Backplane",
      "url": "https://github.com/BackplaneWorks/Backplane",
      "summary": "its installer is a script piped from the network into a shell, which runs whatever the server sends at that moment: read it first, or build from a pinned commit; ships a KiCad fork (GPL). Moved from i2cjak/Backplane to the BackplaneWorks organisation (GitHub redirects the old name to the same repository), seen 2026-11-01",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 731,
      "last_push": "2026-10-25",
      "id": "project-backplaneworks-backplane",
      "kind": "project",
      "areas": [
        "circuit-boards",
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Agent workspace for hardware on a KiCad fork, with KiCad and FreeCAD viewers that show each agent step",
      "notes": "its installer is a script piped from the network into a shell, which runs whatever the server sends at that moment: read it first, or build from a pinned commit; ships a KiCad fork (GPL). Moved from i2cjak/Backplane to the BackplaneWorks organisation (GitHub redirects the old name to the same repository), seen 2026-11-01",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-backplaneworks-backplane.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "tool-agents",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "flowful-ai/cad-skill",
      "url": "https://github.com/flowful-ai/cad-skill",
      "summary": "non-commercial licence: do not incorporate",
      "policy": "ideas only (PolyForm Noncommercial)",
      "license": "PolyForm-Noncommercial-1.0.0",
      "stars": 692,
      "last_push": "2026-07-14",
      "id": "project-flowful-ai-cad-skill",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Claude Code skill that writes CadQuery scripts for 3D-printable parts, with a Gridfinity bin generator",
      "notes": "non-commercial licence: do not incorporate",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-flowful-ai-cad-skill.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "other",
      "updated": "2026-07-14"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "copperheadhq/copperhead",
      "url": "https://github.com/copperheadhq/copperhead",
      "summary": "early",
      "policy": "may incorporate with attribution",
      "license": "Apache-2.0",
      "stars": 627,
      "last_push": "2026-10-24",
      "id": "project-copperheadhq-copperhead",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "CLI agent that turns a brief into a KiCad schematic, draft layout and Gerbers, or edits an existing KiCad repo",
      "notes": "early",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-copperheadhq-copperhead.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "lamaalrajih/kicad-mcp",
      "url": "https://github.com/lamaalrajih/kicad-mcp",
      "summary": "stale",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 529,
      "last_push": "2025-10-17",
      "id": "project-lamaalrajih-kicad-mcp",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "MCP server for KiCad projects: list and open them, extract netlists and BOMs, run DRC, render boards",
      "notes": "stale",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-lamaalrajih-kicad-mcp.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2025-10-17"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "BackplaneWorks/kistack",
      "url": "https://github.com/BackplaneWorks/kistack",
      "summary": "GitHub shows NOASSERTION; LICENSE text is MIT. Moved from American-Embedded/kistack to the BackplaneWorks organisation (GitHub redirects the old name to the same repository), seen 2026-11-01",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 411,
      "last_push": "2026-10-24",
      "id": "project-backplaneworks-kistack",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Hand-written agent skills for KiCad: schematic work, PCB and Gerber review, parts, BOM and exports",
      "notes": "GitHub shows NOASSERTION; LICENSE text is MIT. Moved from American-Embedded/kistack to the BackplaneWorks organisation (GitHub redirects the old name to the same repository), seen 2026-11-01",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-backplaneworks-kistack.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "jhacksman/OpenSCAD-MCP-Server",
      "url": "https://github.com/jhacksman/OpenSCAD-MCP-Server",
      "summary": "MCP server that builds OpenSCAD source or primitive dimensions into SCAD, STL and four PNG previews",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 208,
      "last_push": "2026-09-07",
      "id": "project-jhacksman-openscad-mcp-server",
      "kind": "project",
      "areas": [
        "cad-modelling",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "MCP server that builds OpenSCAD source or primitive dimensions into SCAD, STL and four PNG previews",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-jhacksman-openscad-mcp-server.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape"
      ],
      "licence_family": "permissive",
      "updated": "2026-09-07"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "jdilla1277/agentcad",
      "url": "https://github.com/jdilla1277/agentcad",
      "summary": "pip install agentcad",
      "policy": "may incorporate with attribution",
      "license": "Apache-2.0",
      "stars": 173,
      "last_push": "2026-10-23",
      "id": "project-jdilla1277-agentcad",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "CLI and MCP server that runs an agent's build123d scripts and returns STEP, renders, metrics and diffs",
      "notes": "pip install agentcad",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-jdilla1277-agentcad.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-23"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "Seeed-Studio/kicad-mcp-server",
      "url": "https://github.com/Seeed-Studio/kicad-mcp-server",
      "summary": "MCP server for KiCad: analyse schematics and boards, trace pin-level connections, edit designs",
      "policy": "ideas only (no LICENSE file)",
      "license": "none",
      "stars": 168,
      "last_push": "2026-10-22",
      "id": "project-seeed-studio-kicad-mcp-server",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "MCP server for KiCad: analyse schematics and boards, trace pin-level connections, edit designs",
      "notes": "No LICENSE file; MIT declared only in pyproject.toml: treat as all-rights-reserved",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-seeed-studio-kicad-mcp-server.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "other",
      "updated": "2026-10-22"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "RobertCoop/openscad-mcp",
      "url": "https://github.com/RobertCoop/openscad-mcp",
      "summary": "MCP server for designing printable parts in OpenSCAD: renders, measures, checks interference and exports",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 164,
      "last_push": "2026-09-10",
      "id": "project-robertcoop-openscad-mcp",
      "kind": "project",
      "areas": [
        "cad-modelling",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "MCP server for designing printable parts in OpenSCAD: renders, measures, checks interference and exports",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-robertcoop-openscad-mcp.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape"
      ],
      "licence_family": "permissive",
      "updated": "2026-09-10"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "faust-machines/fusion360-mcp-server",
      "url": "https://github.com/faust-machines/fusion360-mcp-server",
      "summary": "MCP server that drives Autodesk Fusion 360",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 131,
      "last_push": "2026-10-06",
      "id": "project-faust-machines-fusion360-mcp-server",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "MCP server that drives Autodesk Fusion 360",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-faust-machines-fusion360-mcp-server.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-06"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "pzfreo/build123d-mcp",
      "url": "https://github.com/pzfreo/build123d-mcp",
      "summary": "MCP server for build123d: lets an agent build, inspect and render build123d models while it designs",
      "policy": "may incorporate with attribution",
      "license": "Apache-2.0",
      "stars": 130,
      "last_push": "2026-10-15",
      "id": "project-pzfreo-build123d-mcp",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "MCP server for build123d: lets an agent build, inspect and render build123d models while it designs",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pzfreo-build123d-mcp.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-15"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "Svetlana-DAO-LLC/cad-agent",
      "url": "https://github.com/Svetlana-DAO-LLC/cad-agent",
      "summary": "formerly clawd-maf/cad-agent; custom licence",
      "policy": "ideas only (custom licence)",
      "license": "LicenseRef-CAD-Agent-License",
      "stars": 53,
      "last_push": "2026-02-17",
      "id": "project-svetlana-dao-llc-cad-agent",
      "kind": "project",
      "areas": [
        "cad-modelling",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Docker server where an agent sends build123d code over HTTP or MCP and gets back PNG renders and exports",
      "notes": "formerly clawd-maf/cad-agent; custom licence",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-svetlana-dao-llc-cad-agent.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape"
      ],
      "licence_family": "other",
      "updated": "2026-02-17"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "altendky/onshape-mcp",
      "url": "https://github.com/altendky/onshape-mcp",
      "summary": "MCP server for reading and working with Onshape CAD documents",
      "policy": "may incorporate with attribution",
      "license": "Apache-2.0",
      "stars": 20,
      "last_push": "2026-10-24",
      "id": "project-altendky-onshape-mcp",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "MCP server for reading and working with Onshape CAD documents",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-altendky-onshape-mcp.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "punkfab/circuit-skills",
      "url": "https://github.com/punkfab/circuit-skills",
      "summary": "Claude Code skills that simulate in ngspice, place boards in tscircuit, route in KiCad and fit enclosures",
      "policy": "ideas only (no licence)",
      "license": "none",
      "stars": 10,
      "last_push": "2026-10-06",
      "id": "project-punkfab-circuit-skills",
      "kind": "project",
      "areas": [
        "circuit-boards",
        "housings-and-enclosures"
      ],
      "maturity": "tooling",
      "what": "Claude Code skills that simulate in ngspice, place boards in tscircuit, route in KiCad and fit enclosures",
      "notes": "No licence: ideas only",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-punkfab-circuit-skills.svg",
      "demo": null,
      "related": [
        "demo-connector-window",
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld"
      ],
      "licence_family": "other",
      "updated": "2026-10-06"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "naman113/Designstudio",
      "url": "https://github.com/naman113/Designstudio",
      "summary": "\"Buildcore\": STEP to auto-dimensioned PDF drawings, grouped BOM, GLB viewer, parts catalogue (Docker, local port 8800)",
      "policy": "may incorporate with attribution; watch (STEP to auto-dimensioned PDF drawings, BOM, GLB viewer)",
      "license": "MIT",
      "stars": 8,
      "last_push": "2026-10-23",
      "id": "project-naman113-designstudio",
      "kind": "project",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Buildcore: turns STEP files into dimensioned drawings, a BOM, a 3D web view and a searchable parts catalogue",
      "notes": "\"Buildcore\": STEP to auto-dimensioned PDF drawings, grouped BOM, GLB viewer, parts catalogue (Docker, local port 8800)",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-naman113-designstudio.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-23"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "pzfreo/specify-core",
      "url": "https://github.com/pzfreo/specify-core",
      "summary": "main job: writes AP242 semantic PMI (material, hole purposes, datums, fits, finish) into STEP parts from an interview; its step-diff action posts named feature changes, before/after pictures and volume/area/bbox per PR",
      "policy": "may incorporate with attribution; trial STEP diffs in PR reviews (with pzfreo/step-diff-demo)",
      "license": "Apache-2.0",
      "stars": 7,
      "last_push": "2026-10-31",
      "id": "project-pzfreo-specify-core",
      "kind": "project",
      "areas": [
        "design-process",
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Writes manufacturing intent into STEP parts as AP242 PMI by asking questions, and diffs STEP revisions in PRs",
      "notes": "main job: writes AP242 semantic PMI (material, hole purposes, datums, fits, finish) into STEP parts from an interview; its step-diff action posts named feature changes, before/after pictures and volume/area/bbox per PR",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pzfreo-specify-core.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "demo-rib-in-counterbore",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "n3r/AgentCAD",
      "url": "https://github.com/n3r/AgentCAD",
      "summary": "skills incl. snap-fits and fem-workflow; macOS-first",
      "policy": "may incorporate with attribution; snap-fits skill reviewed for #95 (prompt-only; some strain rows unsourced)",
      "license": "Apache-2.0",
      "stars": 7,
      "last_push": "2026-08-26",
      "id": "project-n3r-agentcad",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Code-first parametric CAD on build123d with a browser UI, a chat agent and an MCP server; runs on macOS",
      "notes": "skills incl. snap-fits and fem-workflow; macOS-first",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-n3r-agentcad.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-08-26"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "dwragon/Fusion360SnapFitGenerator",
      "url": "https://github.com/dwragon/Fusion360SnapFitGenerator",
      "summary": "5 snap types with strain and force calculation",
      "policy": "reference for parameters (MPL-2.0 file-level copyleft; Fusion add-in, not an agent tool)",
      "license": "MPL-2.0",
      "stars": 5,
      "last_push": "2026-10-29",
      "id": "project-dwragon-fusion360snapfitgenerator",
      "kind": "project",
      "areas": [
        "compliant-mechanisms",
        "housings-and-enclosures"
      ],
      "maturity": "tooling",
      "what": "Autodesk Fusion add-in that splits an enclosure in two and builds cantilever, torsion or annular snap fits",
      "notes": "5 snap types with strain and force calculation",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-dwragon-fusion360snapfitgenerator.svg",
      "demo": null,
      "related": [
        "demo-snap-arm-explorer",
        "demo-torsion-snap-explorer",
        "demo-snap-fit",
        "demo-connector-window",
        "tool-snapfit",
        "library-easyw-kicadstepupmod"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-29"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "OzAILabs/Claude-To-Print",
      "url": "https://github.com/OzAILabs/Claude-To-Print",
      "summary": "adapted from MAC; GitHub shows NOASSERTION, LICENSE is MIT",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 4,
      "last_push": "2026-08-15",
      "id": "project-ozailabs-claude-to-print",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Claude Code skills that turn a sentence into a printable build123d model: STEP, STL and multi-colour 3MF",
      "notes": "adapted from MAC; GitHub shows NOASSERTION, LICENSE is MIT",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-ozailabs-claude-to-print.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "permissive",
      "updated": "2026-08-15"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "V0v1kkk/freecad-engineering",
      "url": "https://github.com/V0v1kkk/freecad-engineering",
      "summary": "skills: fdm-structural-review, mechanical-strength-review, freecad-fem-check",
      "policy": "may incorporate with attribution; ideas for the FDM structural review (#94)",
      "license": "MIT",
      "stars": 3,
      "last_push": "2026-08-12",
      "id": "project-v0v1kkk-freecad-engineering",
      "kind": "project",
      "areas": [
        "structural-fea",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Agent skills and MCP setup for editable FreeCAD models, FDM structural reviews and FEM checks",
      "notes": "skills: fdm-structural-review, mechanical-strength-review, freecad-fem-check",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-v0v1kkk-freecad-engineering.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "tool-export-3mf",
        "tool-slice",
        "library-calculix-2-23-conda-forge",
        "benchmark-feabench",
        "research-fea-and-process-tools"
      ],
      "licence_family": "permissive",
      "updated": "2026-08-12"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "OrcaSlicer/orcaslicer-mcp-skills",
      "url": "https://github.com/OrcaSlicer/orcaslicer-mcp-skills",
      "summary": "official Claude Code / Codex skills for the MCP server on OrcaSlicer's feature/mcp branch (General > AI features > MCP server; off by default, loopback only); no release ships it yet; no code",
      "policy": "install as a plugin once an OrcaSlicer release ships the MCP server it expects (General › AI features › MCP server). It is in development on OrcaSlicer's feature/mcp branch; no release has it yet. Never copy its text (AGPL-3.0)",
      "license": "AGPL-3.0",
      "stars": 2,
      "last_push": "2026-10-29",
      "id": "project-orcaslicer-orcaslicer-mcp-skills",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "OrcaSlicer's own agent skills for driving the slicer through an MCP server that 2.5 has not shipped yet",
      "notes": "official Claude Code / Codex skills for the MCP server on OrcaSlicer's feature/mcp branch (General > AI features > MCP server; off by default, loopback only); no release ships it yet; no code",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-orcaslicer-orcaslicer-mcp-skills.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-29"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "KD5RYN/b123d-print",
      "url": "https://github.com/KD5RYN/b123d-print",
      "summary": "build123d print checks via MCP + CLI + plugin",
      "policy": "may incorporate with attribution: borrow the tip-over, round-top hole, bed-edge fillet and print-in-place gap checks (#97)",
      "license": "MIT",
      "stars": 2,
      "last_push": "2026-10-31",
      "id": "project-kd5ryn-b123d-print",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "MCP server, CLI and plugin that design build123d parts for printing, check them and export for the slicer",
      "notes": "build123d print checks via MCP + CLI + plugin",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-kd5ryn-b123d-print.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "MikeSuiter/claude-build123d-starter",
      "url": "https://github.com/MikeSuiter/claude-build123d-starter",
      "summary": "starter template",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 1,
      "last_push": "2026-06-08",
      "id": "project-mikesuiter-claude-build123d-starter",
      "kind": "project",
      "areas": [
        "3d-printing",
        "cnc-machining",
        "laser-cutting"
      ],
      "maturity": "tooling",
      "what": "Claude Code project template for build123d models with a live VS Code preview, for printing, CNC and laser",
      "notes": "starter template",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-mikesuiter-claude-build123d-starter.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "permissive",
      "updated": "2026-06-08"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "ballerabdude/agent-cad-works",
      "url": "https://github.com/ballerabdude/agent-cad-works",
      "summary": "build123d motion sweep, watertight/mid-air checks, Orca times, BOM",
      "policy": "may incorporate with attribution; ideas for motion sweeps and vendor-STEP fit",
      "license": "Apache-2.0",
      "stars": 1,
      "last_push": "2026-10-26",
      "id": "project-ballerabdude-agent-cad-works",
      "kind": "project",
      "areas": [
        "mechanisms",
        "3d-printing",
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "build123d workflow that sweeps motion for collisions, checks printability, slices in Orca and fits vendor STEP",
      "notes": "build123d motion sweep, watertight/mid-air checks, Orca times, BOM",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-ballerabdude-agent-cad-works.svg",
      "demo": null,
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-screw-boss-explorer",
        "demo-hinge-sweep",
        "demo-rib-in-counterbore",
        "demo-module-insertion"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-26"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "gjaloyan/print3d-designer",
      "url": "https://github.com/gjaloyan/print3d-designer",
      "summary": "skill: reference-photo silhouette IoU >= 0.92, G-code readback",
      "policy": "may incorporate with attribution; watch: reads sliced G-code back layer by layer",
      "license": "MIT",
      "stars": 1,
      "last_push": "2026-10-29",
      "id": "project-gjaloyan-print3d-designer",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Agent skill that models printable parts in build123d, compares them with a reference photo and checks G-code",
      "notes": "skill: reference-photo silhouette IoU >= 0.92, G-code readback",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-gjaloyan-print3d-designer.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-29"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "novasolver/novasolver-studio",
      "url": "https://github.com/novasolver/novasolver-studio",
      "summary": "local CAE with MCP: CalculiX, OpenFOAM; result gates incl. GCI mesh convergence",
      "policy": "external program only (GPL-3.0); copy the ran/converged/verified gate idea, not code",
      "license": "GPL-3.0",
      "stars": 1,
      "last_push": "2026-10-31",
      "id": "project-novasolver-novasolver-studio",
      "kind": "project",
      "areas": [
        "structural-fea",
        "cfd"
      ],
      "maturity": "tooling",
      "what": "Local FEM, heat and CFD app (CalculiX, OpenFOAM) with an MCP server and checks on every result",
      "notes": "local CAE with MCP: CalculiX, OpenFOAM; result gates incl. GCI mesh convergence",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-novasolver-novasolver-studio.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "library-calculix-2-23-conda-forge",
        "benchmark-feabench",
        "research-fea-and-process-tools",
        "project-neka-nat-freecad-mcp",
        "project-openfoam-opencfd-v2512"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "static74/3dp-compliant-mechanisms",
      "url": "https://github.com/static74/3dp-compliant-mechanisms",
      "summary": "FDM compliant-mechanism skill; prompt-only; candidate: take the selection table and evals with attribution after recomputing its strains",
      "policy": "may incorporate with attribution: the selection table and evals are the ideas to take for #94, after recomputing its strain values (about 2x the datasheet-derived ones); nothing vendored yet",
      "license": "MIT",
      "stars": 0,
      "last_push": "2026-10-26",
      "id": "project-static74-3dp-compliant-mechanisms",
      "kind": "project",
      "areas": [
        "compliant-mechanisms",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Claude skill for FDM compliant mechanisms, snap fits, springs and glue features, after Slant 3D's methods",
      "notes": "FDM compliant-mechanism skill; prompt-only; candidate: take the selection table and evals with attribution after recomputing its strains",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-static74-3dp-compliant-mechanisms.svg",
      "demo": null,
      "related": [
        "demo-snap-arm-explorer",
        "demo-torsion-snap-explorer",
        "demo-snap-fit",
        "tool-snapfit",
        "tool-export-3mf",
        "tool-slice"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-26"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "mixelpixx/Konnect",
      "url": "https://github.com/mixelpixx/Konnect",
      "summary": "archived 2026-10-26, and GitHub showed it unarchived again on 2026-11-01 (last commit 2026-10-25); continues as Konnect-EDA (commercial, closed source, free during its beta), so no longer a candidate; obhox/kicad-mcp is a fork (8 stars, AGPL-3.0)",
      "policy": "external program only (AGPL-3.0); archived 2026-10-26, and GitHub showed it unarchived again on 2026-11-01 (last commit 2026-10-25); its AGPL-3.0 releases stay up; continues as Konnect-EDA, commercial and closed source",
      "license": "AGPL-3.0",
      "stars": 1399,
      "last_push": "2026-10-26",
      "id": "project-mixelpixx-konnect",
      "kind": "project",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "KiCad 10 plugin for AI-assisted schematic and PCB design; it continues as Konnect-EDA, commercial and closed source",
      "notes": "archived 2026-10-26, and GitHub showed it unarchived again on 2026-11-01 (last commit 2026-10-25); continues as Konnect-EDA (commercial, closed source, free during its beta), so no longer a candidate; obhox/kicad-mcp is a fork (8 stars, AGPL-3.0)",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-mixelpixx-konnect.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "library-easyw-kicadstepupmod",
        "library-rjwalters-kicad-tools",
        "library-kicad-python-pypi",
        "benchmark-pcbworld",
        "guide-pcb"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-26"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "MaxEllis/orcaslicer-mcp",
      "url": "https://github.com/MaxEllis/orcaslicer-mcp",
      "summary": "third-party Orca MCP",
      "policy": "skip for now: third-party, and OrcaSlicer's own MCP server (slicing included) is in development on its feature/mcp branch; revisit if that does not reach a release",
      "license": "AGPL-3.0",
      "stars": 86,
      "last_push": "2026-10-12",
      "id": "project-maxellis-orcaslicer-mcp",
      "kind": "project",
      "areas": [
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Third-party MCP server that drives a running OrcaSlicer: settings, presets, slicing and results as numbers",
      "notes": "third-party Orca MCP",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-maxellis-orcaslicer-mcp.svg",
      "demo": null,
      "related": [
        "tool-export-3mf",
        "tool-slice",
        "project-earthtojake-text-to-cad",
        "project-orcaslicer-orcaslicer",
        "project-amagine-ai-amagine3d",
        "project-bambulab-bambustudio"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-12"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "MP-AI-20/mechanical-engineering-skills",
      "url": "https://github.com/MP-AI-20/mechanical-engineering-skills",
      "summary": "647 generic mechanical skills",
      "policy": "bulk-generated prompts with few primary citations",
      "license": "MIT",
      "stars": 10,
      "last_push": "2026-06-09",
      "id": "project-mp-ai-20-mechanical-engineering-skills",
      "kind": "project",
      "areas": [
        "mechanical"
      ],
      "maturity": "tooling",
      "what": "Library of 647 prompt-style mechanical-engineering skills, from strength of materials to GD&T",
      "notes": "647 generic mechanical skills",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-mp-ai-20-mechanical-engineering-skills.svg",
      "demo": null,
      "related": [
        "lesson-mechanical-fasteners-and-assembly-access",
        "lesson-mechanical-index",
        "lesson-mechanical-design-rules",
        "lesson-mechanical-enclosure-features",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-06-09"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "SiddhuYen/eitri",
      "url": "https://github.com/SiddhuYen/eitri",
      "summary": "local build123d agent with a geometry report; Functional Source License 1.1 (MIT after two years): ideas only",
      "policy": "ideas only: Functional Source License (non-compete; becomes MIT after two years)",
      "license": "FSL-1.1-MIT",
      "stars": 1,
      "last_push": "2026-10-31",
      "id": "project-siddhuyen-eitri",
      "kind": "project",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Local AI CAD agent that models build123d parts, measures them against the request, fixes failures and exports",
      "notes": "local build123d agent with a geometry report; Functional Source License 1.1 (MIT after two years): ideas only",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-siddhuyen-eitri.svg",
      "demo": null,
      "related": [
        "library-cadquery-cadquery",
        "library-gumyr-build123d",
        "guide-toolkit",
        "research-landscape",
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "other",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "heartland-eng/bd_hardware",
      "url": "https://github.com/heartland-eng/bd_hardware",
      "summary": "claims a build123d snap-fit feature library; no code yet",
      "policy": "ideas only (no licence, README only)",
      "license": "none",
      "stars": 0,
      "last_push": "2026-10-28",
      "id": "project-heartland-eng-bd-hardware",
      "kind": "project",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Planned build123d library of holes, insert pockets, nut traps and snap fits; the repo has only a README",
      "notes": "claims a build123d snap-fit feature library; no code yet",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-heartland-eng-bd-hardware.svg",
      "demo": null,
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-mcmaster",
        "library-partcad-partcad"
      ],
      "licence_family": "other",
      "updated": "2026-10-28"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "WifiLast/freecad-mcp",
      "url": "https://github.com/WifiLast/freecad-mcp",
      "summary": "FreeCAD FEM + topology optimisation over MCP",
      "policy": "ideas only (no licence); binds 0.0.0.0 by default",
      "license": "none",
      "stars": 0,
      "last_push": "2026-10-18",
      "id": "project-wifilast-freecad-mcp",
      "kind": "project",
      "areas": [
        "structural-fea",
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "FreeCAD MCP server for static FEM with CalculiX, SIMP topology optimisation and dimension optimisation",
      "notes": "FreeCAD FEM + topology optimisation over MCP",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-wifilast-freecad-mcp.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "demo-topology-floor",
        "library-calculix-2-23-conda-forge",
        "benchmark-feabench",
        "research-fea-and-process-tools",
        "project-neka-nat-freecad-mcp"
      ],
      "licence_family": "other",
      "updated": "2026-10-18"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "Vivek-Boora/dfm-agent",
      "url": "https://github.com/Vivek-Boora/dfm-agent",
      "summary": "STEP moulding DFM analysis with a Three.js view",
      "policy": "ideas only (no licence): pull direction, core/cavity/undercut classes for the moulding checks",
      "license": "none",
      "stars": 0,
      "last_push": "2026-08-18",
      "id": "project-vivek-boora-dfm-agent",
      "kind": "project",
      "areas": [
        "mould-design"
      ],
      "maturity": "idea",
      "what": "Reads a STEP part and shows mould pull direction, draft, undercuts and a parting line in a 3D web view",
      "notes": "STEP moulding DFM analysis with a Three.js view",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-vivek-boora-dfm-agent.svg",
      "demo": null,
      "related": [
        "research-process-profiles",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-torsion-snap-explorer",
        "demo-screw-boss-explorer"
      ],
      "licence_family": "other",
      "updated": "2026-08-18"
    },
    {
      "type": "library",
      "status": "used",
      "name": "CadQuery/cadquery",
      "url": "https://github.com/CadQuery/cadquery",
      "summary": "Python B-rep CAD on OpenCascade; the `cad` extra builds, measures and exports parts with it",
      "license": "Apache-2.0",
      "stars": 5990,
      "last_push": "2026-10-24",
      "id": "library-cadquery-cadquery",
      "kind": "library",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Python library for parametric 3D CAD scripts on the OCCT kernel, usable without a GUI",
      "notes": "GitHub shows NOASSERTION; LICENSE text is Apache 2.0",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-cadquery-cadquery.svg",
      "demo": null,
      "related": [
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp",
        "project-kittycad-modeling-app",
        "project-jhacksman-openscad-mcp-server",
        "project-jdilla1277-agentcad",
        "project-robertcoop-openscad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "gumyr/build123d",
      "url": "https://github.com/gumyr/build123d",
      "summary": "Python B-rep CAD library on OpenCascade with builder and algebra APIs, which grew out of the CadQuery community; many agentic-CAD projects generate it",
      "license": "Apache-2.0",
      "stars": 3519,
      "last_push": "2026-10-23",
      "id": "library-gumyr-build123d",
      "kind": "library",
      "areas": [
        "cad-modelling"
      ],
      "maturity": "tooling",
      "what": "Python B-rep CAD library on Open Cascade with builder and algebra-style APIs for 2D and 3D parts",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-gumyr-build123d.svg",
      "demo": null,
      "related": [
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp",
        "project-kittycad-modeling-app",
        "project-jhacksman-openscad-mcp-server",
        "project-jdilla1277-agentcad",
        "project-robertcoop-openscad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-23"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "easyw/kicadStepUpMod",
      "url": "https://github.com/easyw/kicadStepUpMod",
      "summary": "FreeCAD workbench for KiCad ECAD-MCAD work: loads a board with its 3D models, syncs the board outline and keep-outs both ways, places and aligns footprint models, and exports colored STEP and VRML (external only)",
      "license": "AGPL-3.0",
      "stars": 699,
      "last_push": "2026-09-04",
      "id": "library-easyw-kicadstepupmod",
      "kind": "library",
      "areas": [
        "circuit-boards",
        "housings-and-enclosures"
      ],
      "maturity": "tooling",
      "what": "FreeCAD workbench that moves KiCad boards and part models to and from FreeCAD and exports STEP",
      "notes": "per README; no LICENSE detected by GitHub",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-easyw-kicadstepupmod.svg",
      "demo": null,
      "related": [
        "demo-connector-window",
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-amagine-ai-amagine3d",
        "project-mixelpixx-kicad-mcp-server"
      ],
      "licence_family": "copyleft",
      "updated": "2026-09-04"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "partcad/partcad",
      "url": "https://github.com/partcad/partcad",
      "summary": "package manager and registry for CAD parts and assemblies",
      "license": "Apache-2.0",
      "stars": 509,
      "last_push": "2026-10-24",
      "id": "library-partcad-partcad",
      "kind": "library",
      "areas": [
        "fasteners-and-hardware",
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Package format and manager for CAD parts and assemblies, with BOMs, sourcing and assembly instructions",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-partcad-partcad.svg",
      "demo": null,
      "related": [
        "demo-screw-boss-explorer",
        "demo-hinge-sweep",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-gates"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "gumyr/bd_warehouse",
      "url": "https://github.com/gumyr/bd_warehouse",
      "summary": "ISO fasteners and threads, plus parametric bearings, gears, sprockets, pipes, flanges and O-rings",
      "license": "Apache-2.0",
      "stars": 112,
      "last_push": "2026-10-18",
      "id": "library-gumyr-bd-warehouse",
      "kind": "library",
      "areas": [
        "fasteners-and-hardware",
        "gears",
        "belt-and-chain-drives"
      ],
      "maturity": "tooling",
      "what": "Parametric part collection for build123d: fasteners, threads, bearings, gears, sprockets, pipes, flanges",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-gumyr-bd-warehouse.svg",
      "demo": null,
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-18"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "rjwalters/kicad-tools",
      "url": "https://github.com/rjwalters/kicad-tools",
      "summary": "agent tools and the kct CLI that parse, check, place and route KiCad files; its README also keeps a licence-annotated survey of KiCad AI tools",
      "license": "MIT",
      "stars": 72,
      "last_push": "2026-10-24",
      "id": "library-rjwalters-kicad-tools",
      "kind": "library",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Python tools and a CLI that let agents parse, check, place and route KiCad schematics and boards",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-rjwalters-kicad-tools.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "wireviz/WireViz",
      "url": "https://github.com/wireviz/WireViz",
      "summary": "2D harness documents (external only)",
      "license": "GPL-3.0",
      "stars": 5310,
      "last_push": "2026-06-06",
      "id": "library-wireviz-wireviz",
      "kind": "library",
      "areas": [
        "wiring-harnesses"
      ],
      "maturity": "idea",
      "what": "Draws cable, harness and connector pinout diagrams (SVG, PNG) from plain YAML via GraphViz",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-wireviz-wireviz.svg",
      "demo": null,
      "related": [
        "lesson-wiring-index",
        "lesson-wiring-cables-connectors-and-routing",
        "library-sargo-devel-cables",
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro"
      ],
      "licence_family": "copyleft",
      "updated": "2026-06-06"
    },
    {
      "type": "library",
      "status": "candidate",
      "name": "CalculiX 2.23 (conda-forge)",
      "url": "https://www.calculix.de/",
      "summary": "planned external solver for large-deflection snap force-travel with contact; apt ships 2.21",
      "license": "GPL-2.0-or-later",
      "id": "library-calculix-2-23-conda-forge",
      "kind": "library",
      "areas": [
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "Free 3D finite-element program for linear and non-linear static, dynamic and thermal analysis",
      "notes": "planned external solver for large-deflection snap force-travel with contact; apt ships 2.21",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-calculix-2-23-conda-forge.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "project-neka-nat-freecad-mcp",
        "project-v0v1kkk-freecad-engineering",
        "project-novasolver-novasolver-studio",
        "project-wifilast-freecad-mcp",
        "benchmark-feabench"
      ],
      "licence_family": "copyleft",
      "updated": null
    },
    {
      "type": "library",
      "status": "reference",
      "name": "kicad-python (PyPI)",
      "url": "https://pypi.org/project/kicad-python/",
      "summary": "KiCad's official Python bindings for its IPC API (KiCad 9 and later)",
      "license": "MIT",
      "id": "library-kicad-python-pypi",
      "kind": "library",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Official Python bindings for KiCad's IPC API, for scripts and add-ons that talk to a running KiCad",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-kicad-python-pypi.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": "2026-08-30"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "sargo-devel/Cables",
      "url": "https://github.com/sargo-devel/Cables",
      "summary": "FreeCAD cable routing (external only)",
      "license": "LGPL-3.0",
      "stars": 103,
      "last_push": "2026-10-23",
      "id": "library-sargo-devel-cables",
      "kind": "library",
      "areas": [
        "wiring-harnesses"
      ],
      "maturity": "idea",
      "what": "FreeCAD workbench for drawing cables and wires, mainly for electrical installations in BIM models",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-sargo-devel-cables.svg",
      "demo": null,
      "related": [
        "lesson-wiring-index",
        "lesson-wiring-cables-connectors-and-routing",
        "library-wireviz-wireviz",
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro"
      ],
      "licence_family": "copyleft",
      "updated": "2026-10-23"
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "PCBWorld",
      "url": "https://github.com/LGAI-Research/PCBWorld",
      "summary": "679 real KiCad boards, 8 metrics · arXiv 2607.05915",
      "license": "BSD-3-Clause",
      "id": "benchmark-pcbworld",
      "kind": "benchmark",
      "areas": [
        "evaluation",
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "KiCad push-and-shove router as a Gymnasium environment, with 679 real boards and DRC-checked metrics",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-pcbworld.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "FEABench",
      "url": "https://github.com/google/feabench",
      "summary": "LLM agents on FEA problems; needs a COMSOL licence; prior art only; the repo is archived · arXiv 2504.06260",
      "license": "Apache-2.0",
      "id": "benchmark-feabench",
      "kind": "benchmark",
      "areas": [
        "evaluation",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "Benchmark of FEA problems that LLM agents solve by driving COMSOL Multiphysics through its API",
      "notes": "LLM agents on FEA problems; needs a COMSOL licence; prior art only; the repo is archived",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-feabench.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "project-neka-nat-freecad-mcp",
        "project-v0v1kkk-freecad-engineering",
        "project-novasolver-novasolver-studio",
        "project-wifilast-freecad-mcp",
        "library-calculix-2-23-conda-forge"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "CADGenBench",
      "url": "https://github.com/huggingface/cadgenbench",
      "summary": "drawing->STEP generation; STEP editing; 81 fixtures (per pzfreo submission)",
      "license": "Apache-2.0",
      "stars": 146,
      "id": "benchmark-cadgenbench",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Benchmark that scores AI-made STEP parts from engineering drawings and STEP edits on a hosted leaderboard",
      "notes": "Ground truth: private.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cadgenbench.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode",
        "benchmark-cadrille"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "Text2CAD",
      "url": "https://github.com/SadilKhan/Text2CAD",
      "summary": "NeurIPS 2024",
      "license": "CC-BY-NC-SA-4.0",
      "id": "benchmark-text2cad",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Beginner-to-expert text prompts for DeepCAD models, and a model that generates CAD construction sequences",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-text2cad.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode",
        "benchmark-cadrille"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "CADPrompt/CADCodeVerify",
      "url": "https://github.com/Kamel773/CAD_Code_Generation",
      "summary": "200 prompts · ICLR 2025",
      "license": "none",
      "id": "benchmark-cadprompt-cadcodeverify",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "200 text prompts with expert CAD code and STL targets, and a VLM loop that checks and fixes generated code",
      "notes": "Licence: no licence file (GitHub detects none, checked 2026-11-01): all rights reserved, ideas only.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cadprompt-cadcodeverify.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cad-recode",
        "benchmark-cadrille"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "CAD-Recode",
      "url": "https://github.com/filaPro/cad-recode",
      "summary": "ICCV 2025",
      "license": "CC-BY-NC-4.0",
      "id": "benchmark-cad-recode",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Model that reverse-engineers point clouds into CadQuery Python code, fine-tuned from Qwen2-1.5B",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cad-recode.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cadrille"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "cadrille",
      "url": "https://github.com/col14m/cadrille",
      "summary": "",
      "license": "Apache-2.0",
      "id": "benchmark-cadrille",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Model that reconstructs CAD code from point clouds, images or text, trained with online RL",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cadrille.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "Text2CAD-Bench",
      "url": "https://arxiv.org/abs/2605.18430",
      "summary": "600 examples, 4 levels",
      "id": "benchmark-text2cad-bench",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "600 curated text-to-CAD tasks in four levels, from basic features to freeform and non-mechanical parts",
      "notes": "Data licence: unverified.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-text2cad-bench.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "unverified",
      "name": "P3D-Bench",
      "url": "https://arxiv.org/abs/2606.11152",
      "summary": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "id": "benchmark-p3d-bench",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Text-to-3D, image-to-3D and assembly tasks for parametric 3D programs, scored on geometry and structure",
      "notes": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-p3d-bench.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "unverified",
      "name": "CADBench",
      "url": "https://arxiv.org/abs/2605.10873",
      "summary": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "id": "benchmark-cadbench",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "18,000 samples testing CAD program generation from meshes and renders across six families and six metrics",
      "notes": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cadbench.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "unverified",
      "name": "BenchCAD",
      "url": "https://arxiv.org/abs/2605.10865",
      "summary": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "id": "benchmark-benchcad",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "17,900 checked CadQuery programs over 106 industrial part families, for CAD QA, image-to-code and editing",
      "notes": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-benchcad.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "unverified",
      "name": "RealCADBench",
      "url": "https://arxiv.org/abs/2609.03773",
      "summary": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "id": "benchmark-realcadbench",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "12,632 tasks from real factory-automation design intents; models write FreeCAD Python for parts and assemblies",
      "notes": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-realcadbench.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "unverified",
      "name": "CAD Arena",
      "url": "https://cadarena.dev/",
      "summary": "Listed from its paper or site; tasks, data and licence not yet checked.",
      "license": "none",
      "id": "benchmark-cad-arena",
      "kind": "benchmark",
      "areas": [
        "evaluation"
      ],
      "maturity": "idea",
      "what": "Side-by-side comparison of text-to-CAD models on 20 prompts in four difficulty tiers, with 3D outputs",
      "notes": "Licence: a website; its home page states no licence or terms (checked 2026-11-01): ideas only. Listed from its paper or site; tasks and data not yet checked.",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-cad-arena.svg",
      "demo": null,
      "related": [
        "benchmark-pcbworld",
        "benchmark-feabench",
        "benchmark-cadgenbench",
        "benchmark-text2cad",
        "benchmark-cadprompt-cadcodeverify",
        "benchmark-cad-recode"
      ],
      "licence_family": "other",
      "updated": null
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Common issues in CAD design reviews",
      "url": "https://cad-agent.valpatel.com/docs/common-issues",
      "summary": "These mistakes recur in printed parts and assemblies. The list comes from real projects, and each entry links the lesson that recorded it. Every review walks this list, whoever wrote the design and however small the change:",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/common-issues.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/common-issues.md",
      "id": "guide-common-issues",
      "kind": "guide",
      "areas": [
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "These mistakes recur in printed parts and assemblies.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-review.webp",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "related": [
        "demo-rib-in-counterbore",
        "project-pzfreo-specify-core",
        "lesson-review-review-site-ux",
        "lesson-review-index",
        "lesson-review-original-file-viewer",
        "lesson-review-verification-and-evidence"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Tools: the cad-agent command and Python package",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "summary": "cad-agent is a toolkit for agents doing hardware design, in the six domains of the topic tree: mechanical design, manufacturing, thermal, simulation and validation, electrical design, and practice (how agents work, design process, review and evidence,…",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/toolkit.md",
      "id": "guide-toolkit",
      "kind": "guide",
      "areas": [
        "cad-modelling",
        "cross-cutting"
      ],
      "maturity": "tooling",
      "what": "cad-agent is a toolkit for agents doing hardware design, in the six domains of the topic tree: mechanical design, manufacturing, thermal, simulation and validation, electrical design, and practice…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/plates/gyropup-plates.svg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#stiffness-and-strength-cadagentsimulationfea",
      "related": [
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp",
        "project-kittycad-modeling-app",
        "project-jhacksman-openscad-mcp-server",
        "project-jdilla1277-agentcad",
        "project-robertcoop-openscad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Snap fits and compliant features",
      "url": "https://cad-agent.valpatel.com/docs/compliant",
      "summary": "cadagent.mechanical.compliant sizes and checks snap-fit joints so an agent does not re-derive the equations, guess a permissible strain or forget layer lines. It is the calculator half of the compliant-mechanism work (#94);",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/compliant.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/compliant.md",
      "id": "guide-compliant",
      "kind": "guide",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "cadagent.mechanical.compliant sizes and checks snap-fit joints so an agent does not re-derive the equations, guess a permissible strain or forget layer lines.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-compliant.svg",
      "demo": "https://cad-agent.valpatel.com/docs/compliant#try-it-the-snap-arm-explorer",
      "related": [
        "demo-snap-arm-explorer",
        "demo-torsion-snap-explorer",
        "demo-snap-fit",
        "tool-snapfit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Design process plan: dossier, integrity gates and section-by-section review",
      "url": "https://cad-agent.valpatel.com/docs/design-process-plan",
      "summary": "Status: plan, 2026-10-27. Research behind it: research/design-workflows.md (cited below as DW §n). Nothing here is implemented yet; tasks T1–T20 at the end are sized for one implementer each.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/design-process-plan.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/design-process-plan.md",
      "id": "guide-design-process-plan",
      "kind": "guide",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Status: plan, 2026-10-27. Research behind it: research/design-workflows.md (cited below as DW §n). Nothing here is implemented yet; tasks T1–T20 at the end are sized for one implementer each.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-sections.webp",
      "demo": "https://cad-agent.valpatel.com/docs/design-process-plan#45-motion-range-interference-t7",
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Integrity gates (cadagent.review.gates)",
      "url": "https://cad-agent.valpatel.com/docs/gates",
      "summary": "Assembly-level checks computed from the CAD model, each written as one verdict file. They answer what per-part checks cannot: is this part touching the one it should be fastened to, is the ball inside the hopper, is this wall thick enough.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/gates.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/gates.md",
      "id": "guide-gates",
      "kind": "guide",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Assembly-level checks computed from the CAD model, each written as one verdict file.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-connectivity.svg",
      "demo": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "cad-agent",
      "url": "https://cad-agent.valpatel.com/README",
      "summary": "A workshop where AI agents get better at CAD by learning from everyone else. While we design real hardware, our agents keep hunting the web for the best published techniques (open-source repos, design guides, datasheets, papers, other people's agent skills),…",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/README.md",
      "id": "guide-index",
      "kind": "guide",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "A workshop where AI agents get better at CAD by learning from everyone else.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-index.svg",
      "demo": "https://cad-agent.valpatel.com/README#cad-agent",
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "The design dossier",
      "url": "https://cad-agent.valpatel.com/docs/dossier",
      "summary": "The dossier records a design the way a design review needs it: requirements, the sections the design is broken into, a spec card for every part, the interfaces between parts and sections, the decisions with the alternatives rejected, and the assembly…",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/dossier.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/dossier.md",
      "id": "guide-dossier",
      "kind": "guide",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "The dossier records a design the way a design review needs it: requirements, the sections the design is broken into, a spec card for every part, the interfaces between parts and sections, the…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-requirements.webp",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Viewing original CAD files",
      "url": "https://cad-agent.valpatel.com/docs/file-viewer",
      "summary": "The standalone webkit/file-viewer.html opens original STL, STEP/STP and core 3MF files. It parses the requested file itself; it never substitutes a similarly named STL or an assembly manifest. The download link retains the original URL and bytes.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/file-viewer.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/file-viewer.md",
      "id": "guide-file-viewer",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "The standalone webkit/file-viewer.html opens original STL, STEP/STP and core 3MF files.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/kit/file-viewer-step.webp",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Supply chain and resource safety",
      "url": "https://cad-agent.valpatel.com/docs/supply-chain",
      "summary": "cad-agent depends on Python and npm packages, vendors other people's code into vendor/ and the web kit, and sends readers to hundreds of outside projects from its catalogue and pages.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/supply-chain.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/supply-chain.md",
      "id": "guide-supply-chain",
      "kind": "guide",
      "areas": [
        "supply-chain"
      ],
      "maturity": "tooling",
      "what": "cad-agent depends on Python and npm packages, vendors other people's code into vendor/ and the web kit, and sends readers to hundreds of outside projects from its catalogue and pages.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/supply-chain/findings.svg",
      "demo": null,
      "related": [
        "research-security-report",
        "skill-cad-supply-chain",
        "demo-hinge-sweep",
        "demo-review-viewer",
        "demo-rib-in-counterbore",
        "demo-mesh-convergence"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Shared parts browser and build tracking",
      "url": "https://cad-agent.valpatel.com/docs/web-parts",
      "summary": "Shared modules for issue 62. The table/tracker implementation is available on the feature branch; the original-file viewer is being implemented alongside it.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/web-parts.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/web-parts.md",
      "id": "guide-web-parts",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Shared modules for issue 62. The table/tracker implementation is available on the feature branch; the original-file viewer is being implemented alongside it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/kit/part-table.webp",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Animated figures from real CAD",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures",
      "summary": "The README's hero is not drawn by hand. tools/readmeanim.py makes it from a real project's files:",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/animated-figures.md",
      "id": "guide-animated-figures",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "The README's hero is not drawn by hand.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-animated-figures.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#animated-figures-from-real-cad",
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Explore and compare designs (cadagent.simulation.explore)",
      "url": "https://cad-agent.valpatel.com/docs/explore",
      "summary": "For any product built from bought and made parts (an enclosure, a robot, a board, a jig): pick parts from a catalogue for each slot of a design, evaluate every design with the project's own model, and rank the trade-offs.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/explore.md",
      "id": "guide-explore",
      "kind": "guide",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "For any product built from bought and made parts (an enclosure, a robot, a board, a jig): pick parts from a catalogue for each slot of a design, evaluate every design with the project's own model,…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-explore.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "related": [
        "demo-search-front",
        "tool-optimise",
        "tool-compare",
        "tool-catalogue",
        "project-optuna-optuna",
        "demo-fea-lid"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Airflow and fans",
      "url": "https://cad-agent.valpatel.com/docs/fans",
      "summary": "A fan does not deliver the airflow printed on its box. It delivers what its pressure-flow curve gives where that curve meets the enclosure's own curve, the pressure the air needs to get through vents, boards and fins at each flow.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/fans.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/fans.md",
      "id": "guide-fans",
      "kind": "guide",
      "areas": [
        "airflow-and-fans"
      ],
      "maturity": "tooling",
      "what": "A fan does not deliver the airflow printed on its box.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-fans.svg",
      "demo": "https://cad-agent.valpatel.com/docs/fans#try-it-the-fan-curve-explorer",
      "related": [
        "demo-fan-curve-explorer",
        "project-openfoam-opencfd-v2512"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Linkages",
      "url": "https://cad-agent.valpatel.com/docs/linkages",
      "summary": "A four-bar is the simplest closed linkage: an input crank a, a coupler b, an output rocker c and the ground d between the two fixed pivots. cadagent.formulas solves where it goes from the four lengths alone.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/linkages.md",
      "id": "guide-linkages",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A four-bar is the simplest closed linkage: an input crank a, a coupler b, an output rocker c and the ground d between the two fixed pivots.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-linkages.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-hinge-sweep",
        "tool-motion-trace",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Screw bosses for printed parts",
      "url": "https://cad-agent.valpatel.com/docs/screw-bosses",
      "summary": "A thread-forming screw, such as an EJOT DELTA PT, makes its own thread in a plain hole in a plastic boss.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/screw-bosses.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/screw-bosses.md",
      "id": "guide-screw-bosses",
      "kind": "guide",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A thread-forming screw, such as an EJOT DELTA PT, makes its own thread in a plain hole in a plastic boss.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-screw-bosses.svg",
      "demo": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Rigid subassembly insertion",
      "url": "https://cad-agent.valpatel.com/docs/subassembly-insertion",
      "summary": "A preassembled module needs two separately checked sequences: its internal bench assembly and its insertion into the parent.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/subassembly-insertion.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/subassembly-insertion.md",
      "id": "guide-subassembly-insertion",
      "kind": "guide",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A preassembled module needs two separately checked sequences: its internal bench assembly and its insertion into the parent.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-subassembly-insertion.svg",
      "demo": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Agent workflow: skills, subagents and work that survives a crash",
      "url": "https://cad-agent.valpatel.com/docs/agent-workflow",
      "summary": "cad-agent projects are mostly built by AI agents (Claude Code, Codex) working with a person. The way that work is done (where it is recorded, how it is reviewed, where heavy runs go) is part of cad-agent.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/agent-workflow.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/agent-workflow.md",
      "id": "guide-agent-workflow",
      "kind": "guide",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "cad-agent projects are mostly built by AI agents (Claude Code, Codex) working with a person.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-agent-workflow.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process",
        "lesson-process-verify-from-source"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "PCB and assembly review workflow",
      "url": "https://cad-agent.valpatel.com/docs/pcb",
      "summary": "cad-agent supports electronics and mechanical evidence in the same local project site. KiCad remains the electrical source of truth; cad-agent consumes its native reports and displays the files.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/pcb.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/pcb.md",
      "id": "guide-pcb",
      "kind": "guide",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "cad-agent supports electronics and mechanical evidence in the same local project site.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-pcb.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Rendered joint motion validation",
      "url": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "summary": "The maintained trace protocol ships with the cad-motion-validation skill, including when the workflow installer copies the skill to a different machine.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/rendered-motion.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/rendered-motion.md",
      "id": "guide-rendered-motion",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "The maintained trace protocol ships with the cad-motion-validation skill, including when the workflow installer copies the skill to a different machine.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-rendered-motion.svg",
      "demo": null,
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-hinge-sweep",
        "tool-motion-trace",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "The section review packet",
      "url": "https://cad-agent.valpatel.com/docs/review-packet",
      "summary": "A fixed set of captioned renders of one dossier section, with the measurements that come first: the gate verdicts and findings for the section, their witness points, the content hash of every part shown, and the render checklist the reviewer answers.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/review-packet.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/review-packet.md",
      "id": "guide-review-packet",
      "kind": "guide",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "A fixed set of captioned renders of one dossier section, with the measurements that come first: the gate verdicts and findings for the section, their witness points, the content hash of every part…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-review-packet.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "README and diagram style guide",
      "url": "https://cad-agent.valpatel.com/docs/style-guide",
      "summary": "Every folder in this repo explains itself in a README.md, so a person or an agent landing anywhere can tell what the folder is for, how its pieces connect, and where to go next. This page says how those READMEs look.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/style-guide.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/style-guide.md",
      "id": "guide-style-guide",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Every folder in this repo explains itself in a README.md, so a person or an agent landing anywhere can tell what the folder is for, how its pieces connect, and where to go next.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-style-guide.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Curved-solid volume precision",
      "url": "https://cad-agent.valpatel.com/docs/volume-precision",
      "summary": "Tracking: issue #70. This investigation concerns numerical volume measurement in the generic relation gate. It does not qualify hardware fit or weaken collision/volume-conservation tolerances.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/volume-precision.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/volume-precision.md",
      "id": "guide-volume-precision",
      "kind": "guide",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Tracking: issue #70. This investigation concerns numerical volume measurement in the generic relation gate. It does not qualify hardware fit or weaken collision/volume-conservation tolerances.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-volume-precision.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Mermaid diagrams in published documents",
      "url": "https://cad-agent.valpatel.com/docs/web-diagrams",
      "summary": "webkit/diagrams.js exports renderDiagrams(root=document), observeDiagrams(root=document.body) and drawDiagram(source, options). The observer renders existing and subsequently inserted pre > code.language-mermaid and pre.mermaid blocks.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/web-diagrams.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/web-diagrams.md",
      "id": "guide-web-diagrams",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "webkit/diagrams.js exports renderDiagrams(root=document), observeDiagrams(root=document.body) and drawDiagram(source, options).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-web-diagrams.svg",
      "demo": null,
      "related": [
        "demo-review-viewer",
        "demo-mesh-convergence",
        "demo-snap-engagement",
        "tool-site",
        "tool-view",
        "tool-package"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Engineering formulas",
      "url": "https://cad-agent.valpatel.com/docs/formulas",
      "summary": "cadagent.formulas holds the closed-form equations that 3D-printed mechanisms keep needing: beams and snap arms, torsion bars, springs, screws, four-bar and five-bar linkages, wall conduction and fan operating points.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/formulas.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/formulas.md",
      "id": "guide-formulas",
      "kind": "guide",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "cadagent.formulas holds the closed-form equations that 3D-printed mechanisms keep needing: beams and snap arms, torsion bars, springs, screws, four-bar and five-bar linkages, wall conduction and fan…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-formulas.svg",
      "demo": "https://cad-agent.valpatel.com/docs/formulas#try-it-the-snap-arm-explorer",
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Contributing",
      "url": "https://cad-agent.valpatel.com/CONTRIBUTING",
      "summary": "Several projects build on cad-agent at the same time (the J501 enclosure, Gyropup, the AGX Thor CAN boards, and others), often with AI agents working in parallel.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/CONTRIBUTING.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/CONTRIBUTING.md",
      "id": "guide-contributing",
      "kind": "guide",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "Several projects build on cad-agent at the same time (the J501 enclosure, Gyropup, the AGX Thor CAN boards, and others), often with AI agents working in parallel.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-contributing.svg",
      "demo": null,
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Third-party notices",
      "url": "https://cad-agent.valpatel.com/THIRD_PARTY_NOTICES",
      "summary": "Code under vendor/ is copied from the projects below at the pinned commit. Each directory keeps its upstream LICENSE/NOTICE files; those terms apply to that code. Our changes are listed as patches in vendor/patches/.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/THIRD_PARTY_NOTICES.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/THIRD_PARTY_NOTICES.md",
      "id": "guide-third-party-notices",
      "kind": "guide",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "Code under vendor/ is copied from the projects below at the pinned commit.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-third-party-notices.svg",
      "demo": null,
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Vision and structure",
      "url": "https://cad-agent.valpatel.com/docs/vision",
      "summary": "cad-agent grows into a well-ordered map of hardware design. It covers mechanisms and enclosures, manufacturing processes, thermal design, simulation, and electrical work from harnesses to test systems.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/vision.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/vision.md",
      "id": "guide-vision",
      "kind": "guide",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "cad-agent grows into a well-ordered map of hardware design.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-vision.svg",
      "demo": null,
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "User intent and requirements",
      "url": "https://cad-agent.valpatel.com/lessons/process/user-intent-and-requirements",
      "summary": "The requirements arrived in pieces, often as short mid-turn messages, and were refined by later corrections. What worked: capture each one in the user's own words, turn it into a named feature or check, and recompute anything that depends on it.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/process/user-intent-and-requirements.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/process/user-intent-and-requirements.md",
      "id": "lesson-process-user-intent-and-requirements",
      "kind": "lesson",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "The requirements arrived in pieces, often as short mid-turn messages, and were refined by later corrections.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-section-interfaces.webp",
      "demo": "https://cad-agent.valpatel.com/lessons/process/user-intent-and-requirements#treat-doesnt-block-disassembly-as-a-hard-requirement",
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "research-agent-toolkits-2026-10",
        "agent-cad-pr-reviewer",
        "agent-cad-resume"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Review site UX",
      "url": "https://cad-agent.valpatel.com/lessons/review/review-site-ux",
      "summary": "The user reviewed the work almost entirely through a locally served preview page. Each request below came from something they could not see or could not act on.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/review/review-site-ux.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/review/review-site-ux.md",
      "id": "lesson-review-review-site-ux",
      "kind": "lesson",
      "areas": [
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "The user reviewed the work almost entirely through a locally served preview page.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/kit/file-viewer-front.webp",
      "demo": null,
      "related": [
        "demo-rib-in-counterbore",
        "project-pzfreo-specify-core",
        "guide-common-issues",
        "lesson-review-index",
        "lesson-review-original-file-viewer",
        "lesson-review-verification-and-evidence"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Meshes: a peak is only as good as the mesh under it",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/meshes",
      "summary": "These lessons come from Gyropup's hip frame and front link (Valpatel/gyropup#29), studied in October 2026 with cadagent.simulation.fea.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/meshes.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/meshes.md",
      "id": "lesson-simulation-meshes",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "These lessons come from Gyropup's hip frame and front link (Valpatel/gyropup#29), studied in October 2026 with cadagent.simulation.fea.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fea/corner-convergence.svg",
      "demo": null,
      "related": [
        "research-simulation-tools",
        "lesson-simulation-index",
        "lesson-simulation-simulation-and-material",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons from the J501 enclosure session",
      "url": "https://cad-agent.valpatel.com/lessons/README",
      "summary": "Lessons for an AI hardware-design agent, mined from one Claude Code session: the J501 AGX enclosure design session (session d8e464a0-f4a5-4edd-9190-6fd66a0508b0, 2026-10-24 to 2026-10-25).",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/README.md",
      "id": "lesson-index",
      "kind": "lesson",
      "areas": [
        "cross-cutting"
      ],
      "maturity": null,
      "what": "Lessons for an AI hardware-design agent, mined from one Claude Code session: the J501 AGX enclosure design session (session d8e464a0-f4a5-4edd-9190-6fd66a0508b0, 2026-10-24 to 2026-10-25).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-index.svg",
      "demo": null,
      "related": [],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Fasteners and assembly access",
      "url": "https://cad-agent.valpatel.com/lessons/mechanical/fasteners-and-assembly-access",
      "summary": "Bought hardware (screws, nuts, washers, inserts, pins, bearings, standoffs, rod ends) is chosen and placed with skills/mcmaster-parts: a real McMaster-Carr part number, its STEP model normalised into a known frame, and its specification table in the hardware…",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/mechanical/fasteners-and-assembly-access.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/mechanical/fasteners-and-assembly-access.md",
      "id": "lesson-mechanical-fasteners-and-assembly-access",
      "kind": "lesson",
      "areas": [
        "mechanical"
      ],
      "maturity": "tooling",
      "what": "Bought hardware (screws, nuts, washers, inserts, pins, bearings, standoffs, rod ends) is chosen and placed with skills/mcmaster-parts: a real McMaster-Carr part number, its STEP model normalised into…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-mechanical-fasteners-and-assembly-access.svg",
      "demo": "https://cad-agent.valpatel.com/lessons/mechanical/fasteners-and-assembly-access#check-tool-access-for-every-fastener-at-the-step-where-it-is-installed",
      "related": [
        "project-mp-ai-20-mechanical-engineering-skills",
        "lesson-mechanical-index",
        "lesson-mechanical-design-rules",
        "lesson-mechanical-enclosure-features",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — electronics",
      "url": "https://cad-agent.valpatel.com/lessons/electronics/README",
      "summary": "PCB evidence, the board in its enclosure, and release packaging. From a second project, a CAN breakout board and housing (2026-10-26); its Source lines name that project's incident notes.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/electronics/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/electronics/README.md",
      "id": "lesson-electronics-index",
      "kind": "lesson",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "PCB evidence, the board in its enclosure, and release packaging.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-electronics-index.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "PCB evidence, enclosure readback and release packaging",
      "url": "https://cad-agent.valpatel.com/lessons/electronics/pcb-evidence-and-review",
      "summary": "Distilled from the incident notes of a second project: a two- and four-port CAN breakout PCB with a printed housing, designed with KiCad 10 and cad-agent on 2026-10-26 (repository mvalancy/pcb-agx-thor-can-breakout).",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/electronics/pcb-evidence-and-review.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/electronics/pcb-evidence-and-review.md",
      "id": "lesson-electronics-pcb-evidence-and-review",
      "kind": "lesson",
      "areas": [
        "circuit-boards"
      ],
      "maturity": "tooling",
      "what": "Distilled from the incident notes of a second project: a two- and four-port CAN breakout PCB with a printed housing, designed with KiCad 10 and cad-agent on 2026-10-26 (repository…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-electronics-pcb-evidence-and-review.svg",
      "demo": null,
      "related": [
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro",
        "project-mixelpixx-kicad-mcp-server",
        "project-backplaneworks-backplane",
        "project-copperheadhq-copperhead"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — mechanical",
      "url": "https://cad-agent.valpatel.com/lessons/mechanical/README",
      "summary": "Printed parts: strength, printability, fasteners and the enclosure's own features.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/mechanical/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/mechanical/README.md",
      "id": "lesson-mechanical-index",
      "kind": "lesson",
      "areas": [
        "mechanical"
      ],
      "maturity": "tooling",
      "what": "Printed parts: strength, printability, fasteners and the enclosure's own features.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-mechanical-index.svg",
      "demo": null,
      "related": [
        "project-mp-ai-20-mechanical-engineering-skills",
        "lesson-mechanical-fasteners-and-assembly-access",
        "lesson-mechanical-design-rules",
        "lesson-mechanical-enclosure-features",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Mechanical design rules",
      "url": "https://cad-agent.valpatel.com/lessons/mechanical/design-rules",
      "summary": "These rules come from printed-enclosure work (FDM, Bambu P1S bed) around a real carrier board.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/mechanical/design-rules.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/mechanical/design-rules.md",
      "id": "lesson-mechanical-design-rules",
      "kind": "lesson",
      "areas": [
        "mechanical"
      ],
      "maturity": "tooling",
      "what": "These rules come from printed-enclosure work (FDM, Bambu P1S bed) around a real carrier board.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-mechanical-design-rules.svg",
      "demo": null,
      "related": [
        "project-mp-ai-20-mechanical-engineering-skills",
        "lesson-mechanical-fasteners-and-assembly-access",
        "lesson-mechanical-index",
        "lesson-mechanical-enclosure-features",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Enclosure features",
      "url": "https://cad-agent.valpatel.com/lessons/mechanical/enclosure-features",
      "summary": "Put antenna bulkheads in the part that never comes off; Give recessed buttons a pin hole and a guide sleeve that clears installation; Build storage trays from the drive specs and make them stack in any order; Support thin drives that lack bottom holes.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/mechanical/enclosure-features.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/mechanical/enclosure-features.md",
      "id": "lesson-mechanical-enclosure-features",
      "kind": "lesson",
      "areas": [
        "mechanical"
      ],
      "maturity": "tooling",
      "what": "Put antenna bulkheads in the part that never comes off; Give recessed buttons a pin hole and a guide sleeve that clears installation; Build storage trays from the drive specs and make them stack in…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-mechanical-enclosure-features.svg",
      "demo": null,
      "related": [
        "project-mp-ai-20-mechanical-engineering-skills",
        "lesson-mechanical-fasteners-and-assembly-access",
        "lesson-mechanical-index",
        "lesson-mechanical-design-rules",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — process",
      "url": "https://cad-agent.valpatel.com/lessons/process/README",
      "summary": "How the agent works with its sources, the user and a long session.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/process/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/process/README.md",
      "id": "lesson-process-index",
      "kind": "lesson",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "How the agent works with its sources, the user and a long session.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-process-index.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "research-agent-toolkits-2026-10",
        "agent-cad-pr-reviewer",
        "agent-cad-resume"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Agent process",
      "url": "https://cad-agent.valpatel.com/lessons/process/agent-process",
      "summary": "Fold mid-turn messages into the current work and report on each; Give short status during long work, and say what is stale; Ask before outward or irreversible actions; Check whether it already exists before building it.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/process/agent-process.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/process/agent-process.md",
      "id": "lesson-process-agent-process",
      "kind": "lesson",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Fold mid-turn messages into the current work and report on each; Give short status during long work, and say what is stale; Ask before outward or irreversible actions; Check whether it already exists…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-process-agent-process.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "research-agent-toolkits-2026-10",
        "agent-cad-pr-reviewer",
        "agent-cad-resume"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Verify from source",
      "url": "https://cad-agent.valpatel.com/lessons/process/verify-from-source",
      "summary": "Board facts that the design depends on (connector side, voltages, designators, threads, which button is which) must come from a primary source: the schematic, datasheet photos or the vendor's 3D model.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/process/verify-from-source.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/process/verify-from-source.md",
      "id": "lesson-process-verify-from-source",
      "kind": "lesson",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Board facts that the design depends on (connector side, voltages, designators, threads, which button is which) must come from a primary source: the schematic, datasheet photos or the vendor's 3D…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-process-verify-from-source.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "research-agent-toolkits-2026-10",
        "agent-cad-pr-reviewer",
        "agent-cad-resume"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — review",
      "url": "https://cad-agent.valpatel.com/lessons/review/README",
      "summary": "Evidence that holds up, and what reviewers need to see.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/review/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/review/README.md",
      "id": "lesson-review-index",
      "kind": "lesson",
      "areas": [
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Evidence that holds up, and what reviewers need to see.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-review-index.svg",
      "demo": null,
      "related": [
        "demo-rib-in-counterbore",
        "project-pzfreo-specify-core",
        "guide-common-issues",
        "lesson-review-review-site-ux",
        "lesson-review-original-file-viewer",
        "lesson-review-verification-and-evidence"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Original-file previews",
      "url": "https://cad-agent.valpatel.com/lessons/review/original-file-viewer",
      "summary": "Parse the requested original and preserve its identity during recovery; Verify bundled parser behavior rather than assuming a newer API; Check the distributed wheel, including dependency notices.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/review/original-file-viewer.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/review/original-file-viewer.md",
      "id": "lesson-review-original-file-viewer",
      "kind": "lesson",
      "areas": [
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Parse the requested original and preserve its identity during recovery; Verify bundled parser behavior rather than assuming a newer API; Check the distributed wheel, including dependency notices.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-review-original-file-viewer.svg",
      "demo": null,
      "related": [
        "demo-rib-in-counterbore",
        "project-pzfreo-specify-core",
        "guide-common-issues",
        "lesson-review-review-site-ux",
        "lesson-review-index",
        "lesson-review-verification-and-evidence"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Verification and evidence",
      "url": "https://cad-agent.valpatel.com/lessons/review/verification-and-evidence",
      "summary": "Collision-check everything and investigate every hit; Classify false positives explicitly; don't silence them; Check motions, not just final positions; Never claim what was not tested, and make the checks strict.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/review/verification-and-evidence.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/review/verification-and-evidence.md",
      "id": "lesson-review-verification-and-evidence",
      "kind": "lesson",
      "areas": [
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Collision-check everything and investigate every hit; Classify false positives explicitly; don't silence them; Check motions, not just final positions; Never claim what was not tested, and make the…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-review-verification-and-evidence.svg",
      "demo": null,
      "related": [
        "demo-rib-in-counterbore",
        "project-pzfreo-specify-core",
        "guide-common-issues",
        "lesson-review-review-site-ux",
        "lesson-review-index",
        "lesson-review-original-file-viewer"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — simulation",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/README",
      "summary": "Bought parts, material, load and thermal checks, the meshes under them, and the compute they share.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/README.md",
      "id": "lesson-simulation-index",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Bought parts, material, load and thermal checks, the meshes under them, and the compute they share.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-simulation-index.svg",
      "demo": null,
      "related": [
        "research-simulation-tools",
        "lesson-simulation-meshes",
        "lesson-simulation-simulation-and-material",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Simulation, material and airflow",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/simulation-and-material",
      "summary": "Identify the exact bought part before sizing anything around it; Judge material savings on slicer grams, not CAD volume; A thinner shell must be re-checked under load, and the check must catch it; Thermal models of printed enclosures.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/simulation-and-material.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/simulation-and-material.md",
      "id": "lesson-simulation-simulation-and-material",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Identify the exact bought part before sizing anything around it; Judge material savings on slicer grams, not CAD volume; A thinner shell must be re-checked under load, and the check must catch it;…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-simulation-simulation-and-material.svg",
      "demo": null,
      "related": [
        "research-simulation-tools",
        "lesson-simulation-meshes",
        "lesson-simulation-index",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — wiring",
      "url": "https://cad-agent.valpatel.com/lessons/wiring/README",
      "summary": "Connectors, cables and the routes between them.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/wiring/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/wiring/README.md",
      "id": "lesson-wiring-index",
      "kind": "lesson",
      "areas": [
        "wiring-harnesses"
      ],
      "maturity": "idea",
      "what": "Connectors, cables and the routes between them.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-wiring-index.svg",
      "demo": null,
      "related": [
        "library-wireviz-wireviz",
        "library-sargo-devel-cables",
        "lesson-wiring-cables-connectors-and-routing",
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Cables, connectors and routing",
      "url": "https://cad-agent.valpatel.com/lessons/wiring/cables-connectors-and-routing",
      "summary": "Model every mating connector, place it on the measured axis, and derive the window from it (standard practice); Route cables from the connector's real mating direction; Model plug bodies and a straight lead before the first bend;",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/wiring/cables-connectors-and-routing.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/wiring/cables-connectors-and-routing.md",
      "id": "lesson-wiring-cables-connectors-and-routing",
      "kind": "lesson",
      "areas": [
        "wiring-harnesses"
      ],
      "maturity": "idea",
      "what": "Model every mating connector, place it on the measured axis, and derive the window from it (standard practice); Route cables from the connector's real mating direction; Model plug bodies and a…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-wiring-cables-connectors-and-routing.svg",
      "demo": null,
      "related": [
        "library-wireviz-wireviz",
        "library-sargo-devel-cables",
        "lesson-wiring-index",
        "tool-pcb-check",
        "project-aklofas-kicad-happy",
        "project-oaslananka-kicad-mcp-pro"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Agentic hardware-design landscape (verified 2026-10-24)",
      "url": "https://cad-agent.valpatel.com/research/landscape",
      "summary": "Scope: public tools that let frontier-model agents (Claude Code first; Codex, Cursor, Gemini) design 3D-printed, sheet-metal, laser-cut, CNC and molded parts, enclosures around real PCBs, and KiCad boards.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/landscape.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/landscape.md",
      "id": "research-landscape",
      "kind": "research",
      "areas": [
        "cad-modelling",
        "cross-cutting"
      ],
      "maturity": "tooling",
      "what": "Scope: public tools that let frontier-model agents (Claude Code first; Codex, Cursor, Gemini) design 3D-printed, sheet-metal, laser-cut, CNC and molded parts, enclosures around real PCBs, and KiCad…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/research/landscape-stars.svg",
      "demo": null,
      "related": [
        "project-adam-cad-cadam",
        "project-neka-nat-freecad-mcp",
        "project-kittycad-modeling-app",
        "project-jhacksman-openscad-mcp-server",
        "project-jdilla1277-agentcad",
        "project-robertcoop-openscad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Compliant mechanisms and single-part joints: references, equations, allowables, process effects (2026-10-31)",
      "url": "https://cad-agent.valpatel.com/research/compliant-mechanisms",
      "summary": "For Valpatel/cad-agent #94 (compliant-mechanism engineer), #95 (calculators), #97 (pitfalls), #99 (process profiles). Extends research/landscape.md (2026-10-24) and research/simulation-tools.md (2026-10-26). Neither covers this field.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/compliant-mechanisms.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/compliant-mechanisms.md",
      "id": "research-compliant-mechanisms",
      "kind": "research",
      "areas": [
        "compliant-mechanisms"
      ],
      "maturity": "tooling",
      "what": "For Valpatel/cad-agent #94 (compliant-mechanism engineer), #95 (calculators), #97 (pitfalls), #99 (process profiles).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/research/fdm-anisotropy.svg",
      "demo": null,
      "related": [
        "demo-snap-arm-explorer",
        "demo-torsion-snap-explorer",
        "demo-snap-fit",
        "tool-snapfit",
        "project-dwragon-fusion360snapfitgenerator",
        "project-static74-3dp-compliant-mechanisms"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Manufacturing-process profiles: design rules by process, and the experts behind them (2026-10-31)",
      "url": "https://cad-agent.valpatel.com/research/process-profiles",
      "summary": "For Valpatel/cad-agent #99 (process profiles), #118 (cite every rule by name), #97 (pitfall checks) and #95 (calculators).",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/process-profiles.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/process-profiles.md",
      "id": "research-process-profiles",
      "kind": "research",
      "areas": [
        "mould-design",
        "manufacturing"
      ],
      "maturity": "tooling",
      "what": "For Valpatel/cad-agent #99 (process profiles), #118 (cite every rule by name), #97 (pitfall checks) and #95 (calculators).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/research/process-min-wall.svg",
      "demo": null,
      "related": [
        "project-vivek-boora-dfm-agent",
        "demo-snap-arm-explorer",
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-torsion-snap-explorer",
        "demo-screw-boss-explorer"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Agent toolkits for mechanical CAD, DFM/DFA and FEA: refresh since 2026-10-24 (checked 2026-10-31)",
      "url": "https://cad-agent.valpatel.com/research/agent-toolkits-2026-10",
      "summary": "For Valpatel/cad-agent #96 (landscape refresh) and #94 (compliant-mechanism engineer). Extends research/landscape.md (2026-10-24); it does not repeat the KiCad or benchmark sections.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/agent-toolkits-2026-10.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/agent-toolkits-2026-10.md",
      "id": "research-agent-toolkits-2026-10",
      "kind": "research",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "For Valpatel/cad-agent #96 (landscape refresh) and #94 (compliant-mechanism engineer).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-agent-toolkits-2026-10.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Design workflows for CAD agents: what works, with evidence (verified 2026-10-27)",
      "url": "https://cad-agent.valpatel.com/research/design-workflows",
      "summary": "Scope: how the best agentic CAD systems, professional mechanical-design practice and model-integrity verification can be turned into a process that a CAD agent executes. landscape.md covers tool features; this survey covers workflow and method.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/design-workflows.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/design-workflows.md",
      "id": "research-design-workflows",
      "kind": "research",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Scope: how the best agentic CAD systems, professional mechanical-design practice and model-integrity verification can be turned into a process that a CAD agent executes.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-design-workflows.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "FOSS large-deflection + contact FEA, orientation, sheet metal and DFM checklists (2026-10-31)",
      "url": "https://cad-agent.valpatel.com/research/fea-and-process-tools",
      "summary": "For Valpatel/cad-agent #96 (items 3–5), #94 (FEA step), #97 (pitfall catalogue), #99 (process profiles). Extends research/simulation-tools.md (2026-10-26), which covers topology optimisation, CFD/CHT, post-processing and slicer CLIs.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/fea-and-process-tools.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/fea-and-process-tools.md",
      "id": "research-fea-and-process-tools",
      "kind": "research",
      "areas": [
        "sheet-metal",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "For Valpatel/cad-agent #96 (items 3–5), #94 (FEA step), #97 (pitfall catalogue), #99 (process profiles).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-fea-and-process-tools.svg",
      "demo": null,
      "related": [
        "demo-fea-lid",
        "project-earthtojake-text-to-cad",
        "project-neka-nat-freecad-mcp",
        "project-v0v1kkk-freecad-engineering",
        "project-novasolver-novasolver-studio",
        "project-wifilast-freecad-mcp"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "Supply-chain and resource report",
      "url": "https://cad-agent.valpatel.com/research/security-report",
      "summary": "What cad-agent depends on, vendors and links to, checked on 2026-11-01 at revision 88ff87ffc253 (online checks). Findings: 1 critical, 24 low, 9 info. Generated by tools/resourceaudit.py;",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/security-report.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/security-report.md",
      "id": "research-security-report",
      "kind": "research",
      "areas": [
        "supply-chain"
      ],
      "maturity": "tooling",
      "what": "What cad-agent depends on, vendors and links to, checked on 2026-11-01 at revision 88ff87ffc253 (online checks).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-security-report.svg",
      "demo": null,
      "related": [
        "guide-supply-chain",
        "skill-cad-supply-chain",
        "demo-hinge-sweep",
        "demo-review-viewer",
        "demo-rib-in-counterbore",
        "demo-mesh-convergence"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "FOSS simulation and optimisation survey for cad-agent (J501 / AGX Orin enclosure)",
      "url": "https://cad-agent.valpatel.com/research/simulation-tools",
      "summary": "Survey date: 2026-10-26. Licences were checked against each repo's LICENSE/COPYING file (GitHub API or GitLab API) unless marked otherwise. \"Last commit\" means the newest commit on the default branch at survey time.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/simulation-tools.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/simulation-tools.md",
      "id": "research-simulation-tools",
      "kind": "research",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Survey date: 2026-10-26. Licences were checked against each repo's LICENSE/COPYING file (GitHub API or GitLab API) unless marked otherwise. \"Last commit\" means the newest commit on the default branch…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-simulation-tools.svg",
      "demo": null,
      "related": [
        "lesson-simulation-meshes",
        "lesson-simulation-index",
        "lesson-simulation-simulation-and-material",
        "demo-fea-lid",
        "demo-topology-floor",
        "demo-search-front"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "agent",
      "status": "ours",
      "name": "cad-pr-reviewer",
      "url": "https://cad-agent.valpatel.com/agents/cad-pr-reviewer",
      "summary": "Independent reviewer for a pull request in a cad-agent or CAD product repo (code, CAD geometry, simulation evidence, docs). Give it the PR URL and a checkout of the branch; it reads the diff, verifies claims by running tests and small scripts, posts inline comments and a summary review on GitHub, and returns the findings. It does not edit, push, approve or merge. Use for every PR before merging.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/agents/cad-pr-reviewer.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/agents/cad-pr-reviewer.md",
      "id": "agent-cad-pr-reviewer",
      "kind": "agent",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Independent reviewer for a pull request in a cad-agent or CAD product repo (code, CAD geometry, simulation evidence, docs).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/agent-cad-pr-reviewer.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "agent",
      "status": "ours",
      "name": "cad-resume",
      "url": "https://cad-agent.valpatel.com/agents/cad-resume",
      "summary": "Rebuilds the state of interrupted work from GitHub and the local and remote checkouts after a session ended (tokens ran out, crash, new computer) and reports what is done, what is in flight and the next steps. Give it the repo(s) and, if known, the tracking issue. It reads issues, PRs, branches, unpushed commits and run logs; it changes nothing except pushing local commits that exist only on this machine, if told to.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/agents/cad-resume.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/agents/cad-resume.md",
      "id": "agent-cad-resume",
      "kind": "agent",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Rebuilds the state of interrupted work from GitHub and the local and remote checkouts after a session ended (tokens ran out, crash, new computer) and reports what is done, what is in flight and the…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/agent-cad-resume.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-motion-validation",
      "url": "https://cad-agent.valpatel.com/skills/cad-motion-validation/SKILL",
      "summary": "Use when implementing or reviewing articulated CAD viewers and robot simulations, especially parts orbiting away from shafts, mismatched units or frames, nested joints, and stationary housings that rotate with rotors.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-motion-validation/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-motion-validation/SKILL.md",
      "id": "skill-cad-motion-validation",
      "kind": "skill",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Use when implementing or reviewing articulated CAD viewers and robot simulations, especially parts orbiting away from shafts, mismatched units or frames, nested joints, and stationary housings that…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-motion-validation.svg",
      "demo": null,
      "related": [
        "demo-fourbar-animator",
        "demo-fivebar-sweep",
        "demo-hinge-sweep",
        "tool-motion-trace",
        "project-pan-chera-multi-agent-cad",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-pr-review",
      "url": "https://cad-agent.valpatel.com/skills/cad-pr-review/SKILL",
      "summary": "Use when a pull request in a cad-agent or product repo is ready for review, or when asked to review one. The author gets an independent review from a separate agent (the cad-pr-reviewer subagent, or a fresh Codex session) that did not write the change, answers every comment on the PR, fixes or explains, resolves the threads, and merges only under the repo's rules. Covers code, CAD geometry and simulation evidence.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-pr-review/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-pr-review/SKILL.md",
      "id": "skill-cad-pr-review",
      "kind": "skill",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Use when a pull request in a cad-agent or product repo is ready for review, or when asked to review one.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-pr-review.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-remote-runs",
      "url": "https://cad-agent.valpatel.com/skills/cad-remote-runs/SKILL",
      "summary": "Use before starting any CAD/FEA/CFD/topology run or full pipeline that takes more than a few minutes or several GB of memory. Run it on a compute host instead of the workstation the agents share, detached so it survives the session, recorded in the GitHub issue (host, command, log, done marker, how to collect results) so any machine can pick it up, and its results pulled back and committed.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-remote-runs/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-remote-runs/SKILL.md",
      "id": "skill-cad-remote-runs",
      "kind": "skill",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Use before starting any CAD/FEA/CFD/topology run or full pipeline that takes more than a few minutes or several GB of memory.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-remote-runs.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-supply-chain",
      "url": "https://cad-agent.valpatel.com/skills/cad-supply-chain/SKILL",
      "summary": "Use before adding or updating a dependency, a vendored file or project, or a catalogue entry or link, before recommending a tool, skill or plugin to someone, and when the weekly supply-chain issue changes. Run tools/resource_audit.py, read its findings, put the report rows in the PR, and know which findings block a merge or an adoption and what to do about each.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-supply-chain/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-supply-chain/SKILL.md",
      "id": "skill-cad-supply-chain",
      "kind": "skill",
      "areas": [
        "supply-chain"
      ],
      "maturity": "tooling",
      "what": "Use before adding or updating a dependency, a vendored file or project, or a catalogue entry or link, before recommending a tool, skill or plugin to someone, and when the weekly supply-chain issue…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-supply-chain.svg",
      "demo": null,
      "related": [
        "guide-supply-chain",
        "research-security-report",
        "demo-hinge-sweep",
        "demo-review-viewer",
        "demo-rib-in-counterbore",
        "demo-mesh-convergence"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-work-tracking",
      "url": "https://cad-agent.valpatel.com/skills/cad-work-tracking/SKILL",
      "summary": "Use at the start of any multi-step change in a cad-agent or product repo, and every ~30 minutes while working. Keeps work recoverable when the session ends (tokens run out, the host crashes or is reformatted) with a GitHub issue per piece of work with a done/next/how-to-resume checklist, a branch pushed in clean commits as you go, an early draft PR linked with \"Closes #N\", long runs recorded in the issue, and issues closed as PRs merge. Also use to resume work from GitHub alone.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-work-tracking/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-work-tracking/SKILL.md",
      "id": "skill-cad-work-tracking",
      "kind": "skill",
      "areas": [
        "agent-workflow"
      ],
      "maturity": "tooling",
      "what": "Use at the start of any multi-step change in a cad-agent or product repo, and every ~30 minutes while working.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-work-tracking.svg",
      "demo": null,
      "related": [
        "tool-agents",
        "project-backplaneworks-backplane",
        "guide-agent-workflow",
        "lesson-process-user-intent-and-requirements",
        "lesson-process-index",
        "lesson-process-agent-process"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "design-process",
      "url": "https://cad-agent.valpatel.com/skills/design-process/SKILL",
      "summary": "Use when building or changing a mechanical design with cad-agent (an enclosure, a robot, a mechanism, any assembly). Work section by section: frame each section with its requirements and interfaces before drawing, write a small spec card per part with its geometry, declare cavities, joints, fasteners and assembly steps in the build script, run cad-agent gates and cad-agent dossier and fix them in order, render the section review packet and critique it against the checklist with the measurements first, then hand the section to a separate reviewer. Includes the work-tracking rules.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/design-process/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/design-process/SKILL.md",
      "id": "skill-design-process",
      "kind": "skill",
      "areas": [
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Use when building or changing a mechanical design with cad-agent (an enclosure, a robot, a mechanism, any assembly).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-design-process.svg",
      "demo": null,
      "related": [
        "demo-hinge-sweep",
        "tool-gates",
        "tool-build",
        "tool-check",
        "tool-report",
        "tool-all"
      ],
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "mcmaster-parts",
      "url": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL",
      "summary": "Use for any bought hardware in a CAD design (bearings, screws, nuts, washers, heat-set inserts, dowel and shoulder pins, standoffs and spacers, rod ends, threaded rod, grommets). Always choose a real McMaster-Carr part with a part number and place its manufacturer STEP model, normalised into a known frame, instead of drawing an envelope; record the part, its full specification table, price and mass in the project's hardware catalogue.",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/mcmaster-parts/SKILL.md",
      "id": "skill-mcmaster-parts",
      "kind": "skill",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Use for any bought hardware in a CAD design (bearings, screws, nuts, washers, heat-set inserts, dowel and shoulder pins, standoffs and spacers, rod ends, threaded rod, grommets).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-mcmaster-parts.svg",
      "demo": null,
      "related": [
        "demo-screw-boss-explorer",
        "demo-rib-in-counterbore",
        "demo-module-insertion",
        "tool-holes",
        "tool-mcmaster",
        "project-ballerabdude-agent-cad-works"
      ],
      "licence_family": "permissive",
      "updated": "2026-11-01"
    }
  ]
}
