Generating a chip with AI
The OpenChip repository ships a Claude Code skill, openchip-design, that turns
a description of what a chip should do into a channel network and hands you
back a .openchip file, checked and ready to open. Reach for it when you know
the function you want — “mix two dyes gently”, “make 50 µm droplets”, “four
concentrations from two syringes” — and would rather say that than place every
node by hand.
It is not a separate tool. It is Claude, working inside a checkout of OpenChip with the skill available, doing the same layout work you would do in the Draw tab and running it through the same checks as the Design checks panel before handing the file back.
How the conversation goes
Section titled “How the conversation goes”- Say what you want, in your own words. A function is a complete brief — “a serpentine mixer for two dyes” is enough to start from.
- Answer a couple of questions, if they come up. First, whether to write a
short
.chipsource file and compile it, or the.openchipJSON directly — the DSL is easier to review and to hand-edit afterwards, and is the default if nothing else is said. It may also ask about your printer or whether you wanttwo-piece,glass-slideormonolithic, but only when your request leaves that open. - Read the check report, in plain words — every warning left in the design, and why: fixed as an accident, or kept because it is the point of the device.
- Open the file — Project → Open Project in OpenChip. See Saving, opening, and sharing projects.
What you get back
Section titled “What you get back”Always the .openchip file. If it was written as DSL, you also get the .chip
source it compiled from — a short, readable text file that is what you edit
next time you want to change the design, rather than the JSON.
What it checks
Section titled “What it checks”The skill runs a checker that ports the app’s own validation: the same thresholds, the same loft-chain arithmetic, the same warning kinds you would see in the Design checks panel. See the Design-check catalogue for what each one means.
| Finds | Treated as |
|---|---|
| A duplicate id, a dangling edge, an invalid dimension marker | A structural error — the file will not open. Always fixed. |
channel-below-min-feature, channels-too-close, a port with no fluid assigned |
A risk warning — the design probably will not work as drawn. Fixed unless you said otherwise. |
abrupt-taper, enclosed-cavity and similar |
A caution or info — a judgement call. Fixed if it looks accidental, kept and explained if it looks deliberate. |
| Two nodes written at the same coordinates, a node no path mentions | Not an OpenChip check at all — an authoring mistake that would otherwise show up three inferences downstream as a confusing dead end. |
A clean report is not the goal by itself — a chip that checks clean but does the wrong thing is still wrong. The report is there so you can see what was traded off to get the geometry you asked for.
What it’s good at
Section titled “What it’s good at”The skill knows a layout recipe for each of the mixing and separation principles behind OpenChip’s own template library — a Y-junction for gentle co-flow, a T for a compact contactor, a spiral for something that mixes better under more flow, staggered chevrons for chaotic advection, a branching tree for a concentration series, flow focusing for droplets, and a thin shared wall for heat exchange. See Templates for the same set of principles, with the physics behind each one.
When nothing matches a recipe
Section titled “When nothing matches a recipe”Most real requests describe a natural system, not a named device — a gland, a gut, an industrial process. The skill’s method there is to write the request as a sequence of verbs (store, merge, hold, narrow, deliver), map each verb to a primitive, and chain them through shared nodes.
That composition always ends with a plain statement of what the result cannot be — because a planar channel network at a single height cannot express everything a real system does:
- Anything happening below the channel’s own scale — floor texture, surface chemistry, a coating.
- A membrane, filter, or anything that lets two adjacent streams exchange solute rather than only heat.
- True sheath or annular flow — one stream wrapped inside another, rather than laid alongside it.
- A valve, a pump, or any control that is not just the geometry and what the syringes do.
- Chemistry or a phase change. The chip sets up contact, time and shear; it does not make a reaction happen, and OpenChip’s estimates model none of it.
This is the same honesty the app’s own template library keeps in its caveat
fields — a limitation stated next to the capability it belongs to, not left for
you to discover in the resin.
Where it lives
Section titled “Where it lives”The skill is part of this repository, at .agents/skills/openchip-design/ —
a plain-English brief, a reference of thresholds and layout recipes, and a
checker that a Claude Code session reads directly when it is working in an
OpenChip checkout. There is nothing to install separately.
See also
Section titled “See also”- Templates — the same starting geometries, drawn by hand and already in the app’s Library tab.
- Design checks — reading the warnings panel once the file is open.
- Dimension markers and lofting — how a tapered throat like a droplet generator’s is actually built.
- How this wiki is maintained — the
update-wikiskill that keeps this site in sync with the app, the same wayopenchip-designkeeps a generated chip in sync with the app’s own checks.