Skip to content
alyn
flowful-ai

cad-skill

Claude Code skill for parametric 3D-printable model generation with CadQuery

$npx skills add flowful-ai/cad-skill
Stars
718
Installs
274
Forks
49
Updated
2 days ago

From the README

How to use cad-skill

CAD Skill for Claude Code

A Claude Code skill for generating parametric 3D-printable models using CadQuery. Describe a physical object, and Claude will write a parametric script, export STL, render previews, and iterate with you until it's right.

MagSafe stand preview, 4 views iPhone 13 Pro case preview, 4 views

Read the full write-up: I Taught Claude to Design 3D-Printable Parts. Here's How

More examples

Published on MakerWorld.

Gridfinity 3x2 bin for Orico D110 label printer

Gridfinity 3x3 bin for Logitech MX Master 3, pocket traced from a 3D scan

The MX Master 3 bin above (examples/mx_master3_bin_3x3.py, printed and published on MakerWorld) shows the scan-to-pocket pipeline: outline_from_scan.py traces the mouse's real footprint from a 3D scan, the outline is rotated to the angle that minimizes its bounding square so the bin fits a 3x3 grid instead of 4x3, and a tilted thumb scoop ramps under the thumb rest to lift the mouse out.

Cover plate for a removed Cat Mate cat flap

The cat flap cover (examples/cat_flap_cover.py) was sized from two phone photos with a tape measure: the moulded logo identified the Cat Mate 4-way, the tape confirmed its 192 x 200mm frame, and the spec sheet gave the 165 x 174mm cut-out hidden behind it. It sticks on with VHB tape, and a hollow ribbed plug drops into the hole to centre it and take sideways knocks.

Under-desk cable tray segment with socket joint

The under-desk cable tray (examples/desk_cable_tray.py) is 400mm long, too long for a 256mm bed, so it prints as identical segments that slide into each other. The script places two segments together and asserts they neither collide nor rattle before exporting.

Magnetic door catch (frame side) Magnetic door catch (door side)

Installation

mkdir -p ~/.claude/skills
git clone https://github.com/flowful-ai/cad-skill ~/.claude/skills/parametric-3d-printing

Usage

Once installed, the skill activates in two ways inside Claude Code:

  • Auto-trigger. Describe a part you want to print ("design a wall mount for an Arduino Uno", "I need a snap-fit lid for this box") and Claude picks up the skill from its trigger keywords (3D print, STL, CadQuery, enclosure, bracket, and so on).
  • Explicit slash command. Type /parametric-3d-printing to invoke it directly, useful when your request does not contain the obvious keywords.

Claude will then walk you through requirements, build the model in phases (base shape, features, finish), and deliver an STL plus a rendered preview.

Dependencies

Requires Python 3.10-3.12 (CadQuery's OCC kernel does not have wheels for 3.13+). uv fetches Python 3.12 for you if it is missing:

uv venv --python 3.12 && source .venv/bin/activate
uv pip install -r requirements.txt

Without uv, with Python 3.10-3.12 already installed:

python3.12 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Files

File Purpose
SKILL.md Skill definition and workflow instructions for Claude
gridfinity.py Tested Gridfinity bin generator (base profile, stacking lip, magnets, compartments, custom pockets). Vendored next to generated scripts.
mating.py Fit check for parts that go together: no collision when assembled, and the joint locates instead of rattling. Vendored next to generated scripts.
outline_from_scan.py Extracts a pocket outline from a 3D scan of an object (align, scale, slice, union), ready for add_polygon_pocket.
examples/ Example model scripts: Gridfinity bins (D110 cradle, MX Master 3 diagonal bin), cat flap cover plate, segmented desk cable tray.
preview.py Headless STL to 6-view PNG renderer (trimesh + pyrender). Use --strict to fail on non-watertight meshes.
run_cadquery_model.py Subprocess wrapper that runs a CadQuery script, captures errors, optionally renders the preview, checks each part against the printer's build volume (--bed a1), and emits a JSON result so Claude can self-correct in a loop.
mesh_io.py STL loading with validation (no pyrender dependency). Used by the wrapper and converter.
stl_to_3mf.py Standalone STL to 3MF converter for Bambu Studio / PrusaSlicer.
design-review.md Visual inspection checklist and printability analysis
requirements.txt Pinned dependency versions

License

The skill and scripts are licensed under the PolyForm Noncommercial License 1.0.0. Free to use, modify, and distribute for noncommercial purposes.


Created by Nicolas Chourrout from Flowful.ai

Questions

What is flowful-ai/cad-skill?

Claude Code skill for parametric 3D-printable model generation with CadQuery

How do I install cad-skill?

Run "npx skills add flowful-ai/cad-skill" and choose the skills you want. Many packs also document their own install path (for example a Claude Code plugin marketplace) in the README below.

How many skills are in cad-skill?

1 SKILL.md skills. Alyn lists 1 of them with their own pages.