Anatomy
wheresryan22/anatomy · MIT · 32 entries
An agent skill, a drawing kit with no dependencies and nine worked examples for explaining an idea as a dense, interactive drawing of a real machine that comes apart. It draws in SVG, with optional WebGL shaders and a beta 3D mode.
- Get it
npx skills add wheresryan22/anatomy -gAdd -a claude-code, -a codex or -a opencode to pick the agent.
- Needs
Node 20.10 or later for builds and checks, with nothing to npm install. Chrome for the checking scripts. React only for the React output. No API keys.
- Sends off your machine
Nothing by itself. One script reaches out, and only when run: publish.mjs pushes a figure's source to GitHub and opens a pull request on the author's public gallery, with the agent's and the model's name. The skill tells the agent to do that only on your explicit yes.
- We watched it run
We drew a machine of our own with the kit alone: a small desktop computer from a parts list, as one 60-line script whose whole drawing follows a single number. It built on the first run, and 96 frames made a clip of it lifting apart and closing.
Seven of its built example pages drew cleanly, with no outside requests. One comes apart under the pointer and names the part you are on.

A shipped figure stepped frame by frame gave the same picture twice when only the clock drives it. It did not when a pointer starts the motion.

- Not tried here
The skill inside an agent, so what it draws from a description is untested here. Its own checking scripts, the 3D mode and the React output were read, not run.
- License
MIT
Two examples show things that belong to others: one draws another company's mark on its screen, and one depicts a named rocket engine. The drawings' code is free to use. Those subjects are theirs.
Everything in it
Showing 8 of 32Show everything
Agent skills
- evals.jsonFive test prompts with what a good answer contains: a token bucket rate limiter, a connection pool for Next.js docs, a CDN edge cache as a…
Tools
- audit.mjsProves a figure's geometry instead of trusting the eye: records each part's true shape as you draw it, ray-casts every overlapping pair to…
- capture.mjsScreenshots a figure with headless Chrome through the browser's own debugging protocol, with no npm packages: whole card, phone width, a…
- drive.mjsRuns a scripted session in headless Chrome: move, click, key, wait-until, run JavaScript in the page, slow motion (for example 0.05x) and…
- lines.mjsThe line-end check: on a built page, every seam, rule, rib, tick and pointer must end on a stroke, a dot or an outline. It rings the…
- turn-audit.mjs (3D orbit audit, beta)Checks a 3D figure at every turn angle and in every motion clip: no ordering cycles, no loose groups. Slow by the repo's own account: 15 to…
- turn-bench.mjsTimes the 3D engine in Node: CPU time per kind of part.
- turn-check.mjsBrowser checks for 3D figures: fidelity against the kit's own builders, a z-buffer order check, pixel pops between tiny angle steps, line…