Nyxera0x/cutaway
Developer ToolsA Claude Code skill that rebuilds a reference photo as an exploding 3D three.js model and renders a scored 60 fps film.
What it does
Cutaway is a Claude Code skill that takes a single reference image of a robotic animal, machine or device and rebuilds it as a code-defined three.js object: every shell, gear and fang is written as code rather than imported as an asset. The object then takes itself apart on film — a cursor presses a button, a part detaches under its own camera, and finally the whole model explodes and snaps back together. It is aimed at people who want stills or short animated films of a mechanical object without modelling it by hand.
The workflow is review-driven. Claude reads the picture, generates a 10–12 line checklist for that specific image, and grades each line yes/partial/no every round. Two measurable checks — share of dark mechanism and proportions — are compared against the picture. Claude stops after round 2 with a still and waits for approval before anything is filmed.
Quick start
Requirements: Node.js 20 or newer; ffmpeg for video output and Python 3 for sound.
-
Install the skill globally for Claude Code:
npx skills add Nyxera0x/cutaway -g -a claude-code -
In the installed folder, install dependencies and the Chromium used for capture:
npm install && npx playwright install chromium -
Give Claude Code an image and a plain-language request, for example: "Here is a robotic mantis. Build it as a 3D object I can take apart, and stop at the still so I can check it." Approve the still, then ask for the film.
To see output without an image of your own, build one of the bundled examples:
node sims/build.mjs tarantula-film
This bundles the object into a single self-contained HTML file at cutaway-out/dist/tarantula-film.html. piranha-film and wasp-film work the same way. The prompt that generated the examples is in docs/PROMPTS.md.
Files and pipeline
SKILL.md holds the order of work, visual rules and review loop Claude follows. docs/JOB_DESCRIPTION.md is the brief read before each object, and corrections are meant to be folded into it. The docs/ folder also contains CHECKLIST.md, PROMPTS.md and LESSONS.md.
Each example lives under sims/ as -shared (the object), -film (full film) and -demo (10-second version). Runtime, stage and shader warm-up are in sims/kit/; sims/green/ holds the page and green look plus three review tools (leftover-colour probe, camera track, part anchors). sims/build.mjs inlines three.js and fonts, while sims/capture.mjs renders frame by frame to a 60 fps mp4 or review sheets. Procedural sound in sfx/ and run_sfx.py is mastered to −14 LUFS.
Constraints
- Video output needs
ffmpeg; sound generation needs Python 3. - Rendering relies on Playwright's Chromium, which must be installed separately.
- The method is image-specific: Claude does not import the reference picture, so fidelity depends on the generated checklist and measurable checks, not automated image matching.
- The project is MIT licensed. Its runtime, frame capture, sound engine and review rules come from claude-motion (MIT); recorded samples are CC0 from Freesound, credited in
sfx/samples/SOURCES.md.
HotRepo's take
The project was tracked on the JavaScript "new" list on 2026-11-08, showing 103 stars and 19 forks with 3 stars and 1 fork added over the recorded one-hour window. That is a tiny sample and it never appeared in the all-language daily ranking, so the data says little about traction. The more interesting design choice is the approval gate: stopping after two rounds at a still means the expensive film render only happens after a human checks the model against the reference.
Written by AI from the project's README, updated . The project's own docs are the source of truth.