Teardown: a machine you can take apart, on one page
Teardown is an MIT-licensed Claude Code skill by GitHub user elvarofficial. Ask how a machine works and Claude builds it in three.js as one offline page: the mechanism runs, panels read numbers from the same model, and a button opens the part doing the work.
npx skills add elvarofficial/teardown -g -a claude-code"How does a mechanical watch keep time? Show me as a simulator." That's the kind of request Teardown answers. Claude builds the mechanism in three.js as a single offline HTML file, the gauges around it read from the same model that moves the parts, and when nobody touches the page it tours itself with a cursor. GitHub user elvarofficial publishes it under the MIT license, and the runtime, frame capture and sound engine come from whaleyxbt/claude-motion. Anthropic doesn't publish it. For how skills load, see what Claude skills are.
Three machines ship as templates
Claude copies the closest one when it starts a new build. Each comes as a machine folder, a live page you drive and a recorded film:
- V8. A cross-plane engine with glass liners and eight pistons, driven by crank angle, with the firing order 1-8-4-3-6-5-7-2 as a cylinder picker. The built page is about 800 KB.
- Cessna 337 landing gear. One input, the stroke, poses the whole fold: a 201 mm rack turns a 32-tooth pinion through 180 degrees.
- Strandbeest. Theo Jansen's walker, 20 legs on one crankshaft, solved from his 11 link lengths and driven by wind.
The rules it builds by
Start from a reference: a photo, a cutaway from a manual, a clip of the real thing. The SKILL.md warns that a machine invented from a sentence comes out generic. Real dimensions come next, and every label reads from the function that poses the parts, so a gauge can't disagree with the motion. Its own check: 32 teeth at a 4 mm module give a 128 mm pitch diameter, and half that circumference is the 201 mm stroke.
A click, drag or key on the live page hands you control. Leave it for 25 seconds and the tour resumes. For the film, capture.mjs renders frame by frame to a 60 fps MP4, and a Python score built on the same timeline is mastered to -14 LUFS. Claude can't watch video, so it reads contact sheets of stills after every render and fixes what it finds.
How to install it
npx skills add elvarofficial/teardown -g -a claude-code
Then run this once inside the installed skill folder:
npm install && npx playwright install chromium
You need Node.js 20 or newer. To try a finished example first, node sims/build.mjs v8-live writes teardown-out/dist/v8-live.html.
Example request
Build me a teardown of [machine, e.g. a hydraulic excavator arm]. Use [reference: photo, manual drawing or clip] and its real dimensions, give each subsystem its own button, and record a [length]-second video of the tour.
Limits
- Extra tools for video and sound. The film needs ffmpeg on your PATH and the score needs Python 3. The pages themselves need neither.
- Laptop GPUs are slower. The SKILL.md says a page running at 60 fps on a desktop card can drop to 15 fps on integrated graphics, which is why the examples carry lower quality tiers.
- Size cap for sharing. It keeps each page under 1 MB, so link previews on X and Slack still load; heavy models go next to the page as separate files.
- Two copyright lines. The licence names both elvarofficial and whaleyxbt, and the recorded sound samples are CC0 from Freesound.
When to use it
Reach for it when a description of a mechanism won't do and you want an engine, a gearbox or a linkage shown working, or a short 3D explainer video of one. For flat illustrations that need idle motion in an app, Rossark Motion is the closer fit.
Sources
- elvarofficial/teardown README on GitHub, accessed November 2026
- teardown SKILL.md on GitHub, accessed November 2026