The loop, end to end
① describe your piece to Claude or ChatGPT ② it emits design.yaml one fenced block, complete ③ paste it into kaicad compiles in your browser, no backend ④ 3D · cut list · BOM · validation report └─ errors? copy the report, paste it back, return to ②Only one of those steps is geometry. The rest is the handover between a chat window and a compiler, which is where this kind of tool usually breaks.
① — asking
Section titled “① — asking”There is no agent in the product, so the model you already use is the one that writes the document. A good brief is short: what you are building, what drives its size, where it goes, what timber, what tools you have, and whether it has to come apart.
A model asked for “a queen platform bed in walnut that comes apart” will under-specify around forty parameters. Most of them have defaults, and the ones that do not are the ones worth asking you about. It should never ask you about pilot-hole diameters — that is the validator’s job, and asking implies you are responsible for something you are not.
② — the file
Section titled “② — the file”One design.yaml per piece, complete and self-contained, in a single fenced block with
nothing but YAML inside it. Commentary — the assumptions it made, what to check, what to say
if you want it changed — belongs outside the fence, so that selecting the block and copying
it gives you a file that works.
YAML comments are welcome. They are part of the document, they survive into the app, and they are how the reasoning behind a dimension stays attached to it.
③ — getting it in
Section titled “③ — getting it in”Paste is the primary input, not a fallback. Selecting a code block and hitting copy is easy;
extracting a file from a chat is not. kaicad also accepts a dropped .yaml file, and a
shared #d= link — a design travels in the URL fragment, which is never sent to any server.
The compile happens in a Web Worker in your browser. Nothing is uploaded, and there is nothing to sign into.
④ — the report
Section titled “④ — the report”The compile produces the model and the takeoff, and the validation report alongside them. The report is written for the reader who will repair it: stable codes, JSON Pointer paths, computed suggestions, errors before warnings, in a deterministic order so that two runs are diffable.
Copy it, paste it back into the same chat, and ask for the whole file again with the same
meta.id. That is the loop.