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.
Read the full write-up: I Taught Claude to Design 3D-Printable Parts. Here's How
More examples
Published on MakerWorld.
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.
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.
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.
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-printingto 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.