Skip to main content
skill CX Codex

matterjs — Claude Code skill: 2D physics with Matter.js

Walks the agent through a Matter.js scene: engine, render, runner, bodies and mouse dragging. Useful when a canvas needs physics.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add MengTo/Skills --skill matterjs -a claude-code
Open on GitHub

What matterjs does

The skill kicks in when a project needs 2D physics on Matter.js. First it asks what the environment is — plain HTML, React, or canvas only — and how to draw: Matter.Render for debugging or a custom renderer. Then it hands over a minimal Engine/World/Render/Runner setup with a couple of bodies.

The workflow is spelled out step by step: create the engine, start the render with your dimensions, run the loop, add bodies with Composite.add(engine.world, [...]). For solid shapes it suggests render.options.wireframes = false. If you need your own timing, call Engine.update inside a custom loop instead of Runner.run. Mouse dragging is a separate block built from Mouse and MouseConstraint.

Single-page apps get a teardown checklist: stop the runner, pull the canvas out of the DOM, clear the engine and world. Skip it and screen transitions leave stray loops and listeners behind — worth checking before you keep the skill around.

What it helps with

  • set up a Matter.js engine and world from scratch
  • add bodies and a static ground to the scene
  • enable mouse dragging of objects
  • render solid shapes instead of wireframes
  • stop the simulation when a component unmounts

Example prompts for the agent

  • build a Matter.js scene with a ground and a falling box
  • add mouse dragging to the bodies in this scene
  • stop the runner and remove the canvas on unmount

How to install matterjs

1Skills CLI (Vercel)

npx skills add MengTo/Skills --skill matterjs -a claude-code

2Manually: put the files in place

~/.claude/skills/matterjs/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/matterjs/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about matterjs

How do I install matterjs in Claude?

Run npx skills add MengTo/Skills --skill matterjs -a claude-code. The skill file then lives at ~/.claude/skills/matterjs/SKILL.md.

What does matterjs do?

It guides the agent through Matter.js 2D physics: engine and world, render with runner, adding bodies and constraints, and mouse interaction.

Do I need Matter.js already?

Yes. The skill covers working with the Matter.js library in your project; it does not replace it.

Source text

SKILL.md · MIT
---
name: matterjs
description: Use when implementing 2D physics interactions with Matter.js, including Engine/World setup, Render/Runner configuration, adding bodies and constraints, and scroll/interaction-friendly canvas scenes.
---

# Matter.js Skill

## Workflow
1. Confirm environment (plain HTML, React, or canvas-only) and rendering approach (Matter.Render for debug vs custom renderer).
2. Provide a minimal Engine/World/Render/Runner setup and add bodies.
3. Add interactions (mouse constraint) or constraints only if requested.
4. Share cleanup steps for SPA or teardown scenarios.

## Minimal setup
```html
<script>
  const { Engine, Render, Runner, Bodies, Composite } = Matter;

  const engine = Engine.create();

  const render = Render.create({
    element: document.body,
    engine: engine,
    options: {
      width: 800,
      height: 600,
      wireframes: false
    }
  });

  const runner = Runner.create();
  Runner.run(runner, engine);
  Render.run(render);

  const ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
  const box = Bodies.rectangle(400, 200, 80, 80);

  Composite.add(engine.world, [ground, box]);
</script>
```

## Common patterns
- Use `Composite.add(engine.world, [...])` to add bodies to the world.
- Use `Render.create({ element, engine })` to create a canvas automatically, or pass a `canvas` you create yourself.
- Set `render.options.wireframes = false` for solid rendering.
- Use `Runner.run(runner, engine)` for a simple loop, or call `Engine.update` in your own loop if you need custom timing.

## Mouse interaction (optional)
```js
const { Mouse, MouseConstraint } = Matter;
const mouse = Mouse.create(render.canvas);
const mouseConstraint = MouseConstraint.create(engine, { mouse });
Composite.add(engine.world, mouseConstraint);
render.mouse = mouse;
```

## Cleanup checklist (SPA)
- Stop the runner with `Runner.stop(runner)`.
- Remove the render canvas from the DOM.
- Clear engine and world if needed.

## Questions to ask when specs are missing
- What viewport size and scaling should the canvas use?
- Are we using Matter.Render or a custom renderer?
- Do you want mouse/touch drag interaction?
- Should the simulation loop be paused when offscreen?

© MengTo · MIT · MengTo/Skills

Similar skills

Everything for Frontend and UI →

From the same set148

build-threejs-scroll-worlds Builds scroll-controlled Three.js worlds that stay spatially continuous across authored chapters. Useful for interactive portfolios, product stories, exhibitions, and WebGL explainers. CX Codex +1 1,500installs container-lines This skill adds thin vertical guide lines at the edges of the content container, plus mini corner squares on sections. Useful when a layout feels loose and needs structure. CX Codex +1 1,500installs company-logos Guides agents to use Iconify Simple Icons in a 64x64 box instead of plain text names or random raster images. CX Codex +1 1,500installs marquee-loop This skill guides an agent through building a looping marquee from repeated items. Use it for scrolling logos, testimonials, screenshots, or tags. CX Codex +1 1,500installs css-border-gradient Applies refined gradient border treatments to cards, modals, and buttons in CSS or Tailwind. Useful when surfaces need subtle edge highlights without loud glowing outlines. CX Codex +1 1,500installs scroll-scrubbed-visual-sequence Builds reversible visual scenes driven by native scrolling, from product assembly to interface walkthroughs. Useful for interactive hero sections, diagrams, and image sequences. CX Codex +1 1,500installs unsplash-asset-images This skill picks Unsplash photos for avatars, headshots, backgrounds and wallpapers, and names the ratios and resolutions you need. CX Codex +1 1,600installs scroll-world-storytelling Turns articles, case studies, and product journeys into visual scroll-driven landing pages. Useful when you need a connected story instead of generic stacked sections. CX Codex +1 1,600installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor