AirsupHQ/machine-skill

Describe any machine in one line. Claude builds a photoreal, physics based, interactive simulation of it in one HTML file, plus the film to post it. An open source Claude Code skill.

Machine Skill – Turning One‑Line Descriptions into Interactive 3D Simulations

What it is – An Agent Skill for Claude Code (and other Claude‑compatible agents) that turns a short textual prompt like

/machine a turbofan jet engine, the kind that pushes a wide‑body off the runway

into a fully‑featured, photoreal 3‑D web page. The page shows the machine at real‑world scale, built from procedurally generated geometry, rendered with three.js, and driven by a lightweight physics/thermodynamics solver that computes thrust, pressures, speeds, etc. The skill can also record a deterministic 30‑second film of the build‑up, operation, cut‑away, and “break it” sequence.


Quick‑start (for a non‑expert)

  1. Install the skill
    npx skills add AirsupHQ/machine-skill -g -a claude-code
    
    This copies the repository into ~/.claude/skills/machine where Claude Code can load it.
  2. Ask Claude In Claude Code type a line starting with /machine followed by a description, e.g.
    /machine a mechanical watch movement, the escapement ticking
    
    Claude replies with a file like watch.html.
  3. View / interact Open the generated HTML in any modern browser. You can drag the view, explode the assembly, cut away sections, watch live labels, or let the solver “break” the machine (e.g., throw a fan blade and see the computed load).
  4. Record a film (optional)
    node ~/.claude/skills/machine/scripts/record.mjs watch.html out/watch.mp4 \
         --music freepd:Classical/Easy_Lemon
    
    The script steps the simulation frame‑by‑frame, guaranteeing identical output each run.

What you get out of the skill

Feature What it means for you
Real‑world proportions Machines are modelled in metres, with 15‑40 named parts and thousands of solid pieces (blades, bolts, gears, etc.). A scale bar shows the actual size.
Physically based materials Steel, titanium, Inconel, copper, brass, aluminium, polymers, glass, sapphire – each with measured reflectance and appropriate finish (brushed, polished, heat‑glow).
Studio‑quality lighting Soft‑box key light, ambient occlusion, bloom, and optional night or paper‑backdrops give a product‑photo look before any motion starts.
Live physics solver Each machine ships with a small, self‑contained solver (Brayton cycle for turbines, rocket chamber equations, pump affinity laws, etc.). Numbers shown on‑screen are computed on the fly and the page lists the governing equations.
Interaction modes Explode, cut‑away (section faces with hatch), X‑ray, slow‑motion, pause, and a deterministic “break it” mode that applies a user‑specified failure (e.g., throw a blade, cavitate a pump).
One‑click film Adding ?film=1 makes the simulation step in lock‑step with the recorder, producing a 28 s deterministic video. The record.mjs script adds music, magenta‑frame guards, and optional pink‑scan validation.

How it works under the hood (high‑level)

  • SKILL.md – the manifest Claude reads; it defines the workflow (research → geometry → materials → solver → rendering → film) and the style of on‑screen text.
  • kit/lab-kit.js – a single ES module (no build step) that is inlined into every generated HTML page. It pulls three.js 0.170 from a CDN and provides:
    • geometry builders for blades, gears, casings, etc.
    • a material library with realistic PBR values
    • cut‑away rendering (plane clipping with automatically generated section caps)
    • UI helpers for explode, labels, and film timeline.
  • references/solvers.md – a collection of compact physics recipes (e.g., Brayton cycle, rocket nozzle expansion, pump curves) with real constants. The page displays the equations used for transparency.
  • scripts/ – utilities for screenshots (shot.mjs), deterministic video capture (record.mjs), pink‑frame detection (pinkscan.mjs), and inlining the kit (inline.mjs).
  • examples/ – ready‑made HTML files (turbofan, rocket engine, refinery pump, compressor, etc.) that you can open directly.

Who might use this?

  • Educators & trainers – interactive, physics‑backed visualisations for aerospace, power‑plant, or mechanical‑engineering courses.
  • Content creators – quick generation of high‑quality 3‑D explainer videos for social media or technical blogs.
  • Engineers – rapid “what‑if” visual checks of a design’s basic performance without needing a full CAD/CFD pipeline.
  • AI‑enthusiasts – a concrete example of an Agent Skill that bridges natural‑language prompts to physics‑driven graphics.

Limitations (as stated in the README)

  • The physics are simplified models, not CFD or finite‑element analysis. Results are good for illustration but not for certification.
  • Geometry is procedural three.js, accurate in proportion and part count but not suitable for manufacturing tolerances.
  • Heavy scenes (~600 k triangles) need a decent GPU; mobile browsers can run lighter versions.
  • The skill focuses on machines and mechanisms – it does not handle people, landscapes, or complex fluid‑structure interactions.

Getting help / contributing

  • Open an issue or submit a pull request with a new machine description.
  • The repository includes V2-IDEAS.md for future ideas and evals/evals.json that defines prompt‑response expectations for automated testing.

Bottom line: Machine Skill lets you type a single sentence describing a real‑world machine and instantly receive an interactive, physics‑based 3‑D web simulation plus a ready‑to‑publish video. It is a fully‑functional, open‑source Claude Code skill that requires only a browser and a modest Node environment for recording.


License: MIT © 2026 Airsup.
Live gallery: https://airsup.ai/lab/skill
Repository layout: see the README for the folder tree.


All details above are taken directly from the project's README; no external speculation added.

Related

  • Project
  • Project
  • Project
  • Project