howitworks · a skill for Claude Code

Name a mechanism, or an idea, and Claude drafts the drawing that explains it.

/howitworks·21 sheets, all live·508 drawn parts·by hariFED·inspired by Anatomy by Ryan·15 October 2026·Install ↓

Most explanations of how something works are boxes and arrows. A drafting office never drew boxes. It drew the thing itself, cut open along the plane where the mechanism lives, with every part named, measured and made of something.

howitworks is a skill for Claude Code that does this. You name a mechanism or an idea, Claude picks the real object whose working is the idea, and drafts it as a live A2 engineering sheet: a section through the mechanism, details at larger scale, dimensions, balloons, a parts list and a title block. Then the parts move, and every number on the sheet comes from one physical model.

loading cutting it open…
↻ drag to turn
Space pump
E apart
C cut

Boyle's law · 2 bar → 6.8 bar · dead volume 10.1 cm³

1The 3D view and the 2D sheet run the same model file, so their numbers can't disagree.

This is the base of a bicycle floor pump, cut in half. Press Space to pump: the air, stippled orange, thickens as the piston comes down, and the steel ball lifts off its seat the moment the chamber passes tyre pressure, because it is the outlet valve. Drag to turn it; press E to take it apart.1

Behind it is a full engineering drawing: an A2 sheet with the section at 1:2.5, two details, a gauge view, a P–s diagram, 21 balloons, a parts list and a title block, all live. howitworks draws both.

▶ The cut is the explanation, the launch film · 1 min, sound on · four other cuts ↓

Sections, not diagrams01

The skill rests on one rule, written at the top of its instructions above everything else:

The cut is the explanation.

SKILL.md, "The one idea that matters"

Claude has to choose a real, well-made object whose mechanism is the concept, then choose the one cutting plane that exposes it: the bore, the seat, the spring, the passage.

2Every sheet's model is pure functions with no DOM, so the build, the page and the check all agree.

A sheet fails in two ways. A diagram dressed as a drawing: boxes with hatching and arrows with dimension heads. A drawing that shows nothing: the outside of a closed casing. The cure for both is the same: real parts, made of real materials, that touch and hold each other, cut open.2

Some ideas map almost by themselves. A rate limiter is a cistern with a fixed refill jet. Debounce is a door closer: every push restarts the closing. A circuit breaker is, well, a circuit breaker, and its three states are the software pattern's three names.

None of these were drawn by hand. Each one started from a single line naming the object or the idea. There are 21 so far, all live in the collection.

Writing a prompt02

The prompt is the idea, not the drawing. "Explain how a token bucket rate limiter works" is enough; deciding that it should be a WC cistern is the part Claude is asked to do.

A few words change what you get:

paper · dark
Sets the default theme. Every sheet ships with blueprint, paper, white and dark; the reader can switch.
set
Several sheets of one machine, one sub-assembly per A2. Claude proposes the first sheet before starting.
still
A drawing without the live layer: no tour, no drag, just the sheet.
Name the idea
/howitworks explain how debounce works
Name the object
/howitworks a hydraulic bottle jack, 2 tonnes, with the release valve in detail
Pick a theme
/howitworks how does a pressure cooker cook faster? paper
Ask for a set
/howitworks a four-stroke engine, head and bottom end, set
Say where it goes
/howitworks a circuit breaker for our resilience docs, dark
3Until a request matches, Claude sees only the skill's name and description. It reads the rest when it needs it.

You don't always need the command. The skill's description covers any request for a blueprint, a cutaway, a technical drawing or a "how it works" sheet, so Claude reaches for it on its own.3

What Claude does03

Between your line and the finished sheet, Claude works through a fixed order. The model and the parts list are written before a single line is drawn.

  1. 01
    Size it. A Sheet is one assembly with 15 to 30 parts and 3 to 5 views; a Set is several sheets. Sheets are built without asking.
  2. 02
    Truth first. Write the model: real dimensions, real physics, pure functions. The geometry, the dimensions, the readout and the chart all read it.
  3. 03
    Choose the object and the cut. One sentence on what moves and what that motion means, and the one cutting plane that shows it.
  4. 04
    Parts list. Every part numbered, with its standard size, a real material grade and a quantity.
  5. 05
    Plan the sheet. A main section at a standard scale, details where the mechanism is small, a view in a named direction, a diagram. All laid out in sheet units first.
  6. 06
    Geometry once. Each part is a function that draws into any view in millimetres of the real object, so a detail is the same code at a larger scale.
  7. 07
    Draw by the rules. Thick visible edges, thin everything else, hatching by material, shafts and balls left uncut, thin walls blacked in.
  8. 08
    Annotate. Dimensions measured from the geometry, a balloon on every part, words only where a drafter would put them.
  9. 09
    One accent. Exactly one thing gets colour: what to watch, usually the working fluid, its density following pressure.
  10. 10
    Make it live. Critically damped motion, an idle tour, drag and keys, dimensions that re-measure, a readout in the title block.
  11. 11
    Check it like a checker. A headless browser plays the tour to a dozen moments and fails on any collision; then Claude reads 4× close-ups of every junction.
SizeWhat it isPartsTime
SheetOne A2: main section, details, a view, a diagram, parts list, title block15–30about 1 h
SetSeveral sheets of one machine40+several hours

Anatomy of a sheet04

These are the rules a drafting checker would mark you down for, from ISO 128, 129, 5455 and 7200. The kit makes them easy, and the check makes them hard to break.

One cut

The plane goes through the mechanism. If the reader can't see it, it isn't explained.

Two weights

Visible edges thick, everything else thin, 2:1. Hidden, centre and phantom lines by ISO 128.

Hatch by material

Steel, iron, aluminium, brass, rubber and plastic each have a pattern; touching parts never share an angle.

Some things aren't cut

Shafts, pins, bolts, nuts, balls and ribs are drawn whole, as a drafter would.

Measured, not typed

Every dimension is computed from the points it spans. A live one re-measures every frame.

Balloons on parts

A dot on the part, a leader and a number that matches the parts list. The check fails if the dot misses.

One accent

Colour only for the subject: the air, the oil, the steam. The chart's curve wears it too.

True numbers

The readout, the dial, the curve and the drawing read one model, so they can't disagree.

Here they are on one whole sheet: a bicycle floor pump, drafted at 1:2.5 with two details, a gauge view, a P–s diagram, 21 balloons, a parts list and a title block whose readout is live. Drag the handle and the stroke dimension re-measures itself.

Flat and solid05

Every sheet is a flat drawing first, because a flat section is where dimensions, scales and standards live. Here is the same kind of mechanism, a watch escapement, drawn flat at 20:1 and still running:

loading drafting…

Then, where shape and assembly are the point, Claude builds a solid view from the same numbers: turned with the mouse, cut along the drawing's own section plane with hatched faces, and pulled apart into an exploded view. Add 3d to the request. Every sheet in the collection has one; open any of them below, then drag to turn it, press E to take it apart.

Six sheets, up close06

Six of the sheets that explain software ideas, each a real mechanism doing the same thing.

Two big sheets07

Two of the densest sheets. The four-stroke engine runs an Otto cycle at 6000 rpm with valve timing from the cam profiles; the flame grows from the plug and the P–V loop traces live. Drag the crank, or press Space.

loading drafting…

The centrifugal pump is cut twice, through the shaft and through the volute. The duty point slides along the pump curve as the speed changes and the valve throttles; below 1674 rpm it can't lift the water and nothing flows.

loading drafting…

Where it's useful08

A live section is useful wherever someone needs to see inside something and trust what they see.

Explaining software ideas

Rate limits, debounce, circuit breakers, back-pressure and state machines were mechanisms long before they were code. Draw the machine and the abstraction stops being abstract.

Teaching physics and engineering

A model you can push. Change one thing and watch the pressure, the curve and the numbers follow, from the same equations.

Product pages and documentation

Show what's inside: the seal, the valve, the spring. A live section sells engineering better than a render.

Technician and apprentice training

Real part names, standard sizes, material grades and a parts list that matches a teardown.

Four themes09

Colours are tokens, never values, so every sheet comes in four themes: blueprint, paper, white and dark. Pick one in the sheet's bar, or add ?theme= to its address.

Floor pump detail, blueprint theme
blueprint
Floor pump detail, paper theme
paper
Floor pump detail, white theme
white
Floor pump detail, dark theme
dark

The launch film was cut in other styles too. Each is about a minute, with a voice-over, and they're on the release page.

In your code10

A sheet is a single HTML file: inline SVG, inlined CSS and plain JavaScript. Embed one anywhere:

<iframe src="floor-pump.html?theme=white" style="width:100%;aspect-ratio:1200/905;border:0"></iframe>

The drafting kit is pure functions that return SVG strings, so it runs in Node and in the page:

npm install howitworks

import * as K from "howitworks/kit/draft";

const V = K.view({ x: 190, y: 780, scale: 1 / 2.5 });
const barrel = K.revolve([[16, 34], [17.5, 34], [17.5, 384], [16, 384]]);
svg += K.section(V, barrel, { mat: "alu", angle: 45 });
svg += K.dim(V, [-17.5, 384], [17.5, 384], { dir: "h", off: -24, prefix: "Ø" });

Every sheet understands the same addresses:

?t=6.5
Renders the tour at 6.5 s, the same every time. The screenshots and checks use it.
?theme=white
blueprint, paper, white or dark.
?zoom=x,y,w,h
One region of the sheet, filling the window, for close-ups.
?check=1
Runs the in-page layout check and writes its findings as JSON.

Install11

One command copies the skill into ~/.claude/skills/howitworks:

npx howitworks

Add --project to install into this project's .claude/skills, or --no-examples for a smaller install. Other ways in:

# the skills CLI (Claude Code, Cursor, Codex and other agents)
npx skills add hariFED/howitworks

# as a Claude Code plugin
/plugin install howitworks --marketplace hariFED/howitworks

# or clone it
git clone https://github.com/hariFED/howitworks ~/.claude/skills/howitworks

Agents can read the whole project at a glance from llms.txt.

It needs Node.js 20 or later, and Chrome, Chromium or Edge for the checks. Restart Claude Code, then try:

/howitworks explain how a mechanical watch keeps time
/howitworks draw a token bucket rate limiter as a machine
/howitworks how does a pressure cooker cook faster?
/howitworks a section through a bicycle disc brake caliper

Limits12

It takes time. A good sheet is about an hour of Claude's work, most of it in the second look: reading close-ups and fixing what a checker would mark down.

Explanatory, not manufacturing. Proportions, standard parts and materials are real and the physics is a genuine model, but nobody should machine a part from these sheets.

3D is a companion. The 3D view turns, cuts and explodes, but dimensions, scales and the parts list live on the flat sheet. It needs WebGL and a connection to the three.js CDN.

The first sheet is a draft. Look at it, say what's wrong, and ask for another pass. The checker catches collisions; only you know whether the explanation lands.

Questions13

Do I need a framework?

No. A sheet is one standalone HTML file with inline SVG and a few kilobytes of plain JavaScript. Open it from disk, host it anywhere, or put it in an iframe.

Can I edit a sheet afterwards?

Yes. The model, the parts and the page are separate small files. Ask Claude to change a part, a dimension or the tour, then rebuild with node build.mjs.

Is it accessible?

Every sheet has keyboard controls and a polite screen-reader readout of the live numbers. It shows a still, settled frame under reduced motion and pauses when off screen.

How accurate are the drawings?

Proportions, standard parts and materials are real and the physics is a genuine model, but these are explanatory drawings, not manufacturing drawings.

Is the 3D view a separate model?

No. It imports the same model file as the sheet and builds its solids from the same dimensions. It needs WebGL and loads three.js from a CDN; if either is missing it links to the 2D sheet.

How do I get the best results?

Name the real object if you know one, say what you want to watch, and ask for one Sheet first. Then ask for a second look: most problems show up in the close-ups.

What licence?

MIT, for the skill, the kit and every sheet.