Anatomy skill with Claude.

Drawing machines that explain themselves

I installed a skill that refuses to draw diagrams. Instead it invents a real instrument whose working is the idea, then measures itself to prove the drawing is honest. Here are two it built me, both motorcycle, both live on this page. Skillanatomy Figures built2 Bench time73 + 59 min Geometry auditpassed Floating lines0 of 875

The premise

The object is the explanation

Ask most tools to explain a technical idea and you get boxes, arrows and labels. The anatomy skill forbids all three. Its single rule is that you invent a physical thing — a machine, an instrument, a piece of workshop furniture — whose mechanism maps one-to-one onto the concept, and then you draw that. The reader understands because they recognise the object.

Its own examples make the shape of the idea obvious. A cache key that skips work when nothing changed becomes a pin-tumbler lock: when every pin matches, the plug turns and nothing is redrawn. Seven render targets with different bytes per texel become a chest of seven drawers, each as deep as its bytes. A separable blur becomes a bed-of-nails stamp sitting beside two combs on rails.

Too abstract and it reads as nothing. Too flat and it reads as a slab. The fix for both is the same: a recognisable machine, built from many small, precise, purposeful parts.

Everything is monochrome — four tones of shading and exactly one lit accent, reserved for the part you’re meant to watch. Every line has to end on something real: a face, another line, or a terminal dot. Nothing floats. There are no leader lines and no dimension arrows, which for a technical drawing is a surprisingly severe constraint, and it’s most of why the output doesn’t look machine-made.

Fig 1 · Helmet shells

Measuring a rule you can’t see

Arai say every shell they make carries a continuous curve radius of at least 75 mm, so an impact glances off instead of catching. It’s a good claim to visualise because it’s a property of a surface, invisible in any photograph of a helmet. You can’t point at it.

So the figure doesn’t draw a helmet — it draws the inspection. A steel template cut to the shell’s centre-line section stands clamped on a surface plate, and a gantry carriage runs a three-point radius gauge along it. Two outer probes and a lit centre probe drop onto the outer line; the circle through those three contacts is the radius of curvature there, and a dial on the beam reads it against a mark at 75.

Hover left to right to traverse the gauge. The needle never goes below the mark — it touches it exactly once, at the brow, which is where the tightest arc in the section lives.

The part that took the longest

Three vertical probes were not the first idea. A 75 mm disc rolled along the shell is wrong physics — a convex curve admits a roller of any size. A concave radius blade needs to rotate, which the drawing kit can’t express as a transform. A two-footed bridge can’t touch both feet without tilting. Three spring-loaded probes are all pure vertical translations, and the circumradius of three contact points is exactly the radius of curvature. It’s the rare case where the constraint picked the correct mechanism.

The ball tips are the nice detail. You’d assume a ball of finite radius makes the reading approximate; in fact a ball riding a convex arc traces an offset curve with the same centre and a radius larger by exactly the ball. Subtract the ball from the circumradius and the answer is exact.

One honesty note, which the figure carries in its own caption: the section is representative geometry, not a scan of a production shell. And the face opening is a trimmed edge rather than shell surface, so it makes no radius claim and the gauge never traverses it.

Fig 2 · Two-stroke exhaust

The pipe that pushes the charge back in

A two-stroke expansion chamber is the best magic trick in engine design. The exhaust port has no valve — it’s just a hole the piston uncovers — so while it’s open, fresh mixture coming up through the transfers escapes straight out of it. The fat, strangely-shaped pipe gets that mixture back.

When the port opens, a pressure pulse enters the pipe. The diverging cone reflects it back inverted, as suction, which helps drag the burnt gas out while the transfers are open. The converging cone at the far end reflects it back upright, as a compression wave — a plug that arrives at the port and stuffs the escaped charge back into the cylinder just before the piston shuts it.

Which only works if the wave gets home on time. That’s the whole concept, and it’s why a two-stroke has a powerband rather than a power curve.

The figure is the pipe sawn open lengthways on a bench, the way a manufacturer cuts a display chamber, so you can see down the bore. The knob sets engine speed. Hover left to right to rev it and watch the plug wave race the closing port.

The port timings, the wave speed and the pipe’s dimensions live in a small pure module. The readout, the degree wheel, the lamp and the shader all read from it, so the figure can’t show you a number its own motion disagrees with.

Every number on screen comes from one model

QuantityValueWhere it shows
Exhaust opens85° ATDCdegree wheel mark
Exhaust closes275° ATDCdegree wheel mark
Wave speed, hot510 m/show fast the pulse travels
Port to mid-baffle830 mmlit mark on the bench ruler
Round trip3.3 ms= 180° of crank at peak
Tuned speed9,217 rpmlamp lights, 10° in hand

Rev past that and the readout turns to back 19° too late — the port has already shut and the charge is gone out of the stinger. Drop below it and the wave is home far too early, arriving while everything is still open and simply blowing back out. The narrow band in the middle where the lamp lights is the powerband, drawn rather than described.

Two things are deliberately not true, and the figure says so in its caption: motion is slowed about 150×, and each cone’s continuous reflection is drawn as a single travelling wave.

Why it holds up

The drawing has to pass an audit

This is the part I didn’t expect from a drawing tool, and it’s the reason the output is worth something. The build script records the true solid shape of every part as it draws it, then a geometry audit ray-casts every overlapping pair and refuses to pass if the scene is physically impossible.

It caught, among others:

  • a sensor cable running straight through the exhaust pipe;
  • a degree wheel sunk 6 mm into its own mounting plate;
  • a pointer bracket buried inside the cylinder’s cooling fins;
  • probe tips biting 0.58 mm into the surface they were supposed to be resting on;
  • five pairs of parts drawn in the wrong depth order, where the nearer one was painted first.

A second pass checks every texture line’s two ends and fails any that stop in mid-air. Between the two figures that’s 875 line ends, none floating. The fix is always in the geometry — you’re not allowed to nudge a drawing order to silence a complaint, and a placeholder shape recorded to quiet the audit is itself an audit failure.

The effect of all this is that “looks about right” stops being available as an answer. Thirteen audit problems on the chamber’s first run were all things I would never have spotted by eye at normal zoom, and every one of them was a real object passing through another real object.

Try it

Installing and sizing the work

It’s an open-source Agent Skill — a folder with a SKILL.md and a drawing kit, no dependencies beyond Node and Chrome. Clone it where Claude Code looks for skills:

git clone --depth 1 https://github.com/wheresryan22/anatomy ~/.claude/skills/anatomy

Then ask for a figure. The first thing it does is size the job honestly, which I appreciated more than I expected: a Figure is one mechanism and it just builds it; a Hero is a dense object at two to four hours and it tells you first; an Epic is a whole vehicle at six hours and it refuses to start without you explicitly choosing it. I asked for a complete motorcycle to begin with and was told no, with a smaller counter-proposal — which is how both of these exist.

Both figures here are single standalone HTML files with no build step and no runtime dependency. Everything you’re interacting with above is one file each.

Figures drawn with the anatomy skill (MIT) in Claude Code.
Geometry audit passed on both · 875 line ends checked, 0 floating · dark and light built from the same source.

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.