# Add to your Claude Code skills
git clone https://github.com/codepawl/crucibleGuides for using ai agents skills like crucible.
See how crucible compares with popular alternatives.
crucible is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by codepawl. 3D engine that AI agents drive. It has 649 GitHub stars.
crucible's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/codepawl/crucible" and add it to your Claude Code skills directory (see the Installation section above).
crucible is primarily written in JavaScript. It is open-source under codepawl on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh crucible against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Crucible is a 3D engine for JavaScript that an AI agent drives through an MCP server. It makes 3D easy to understand and easy to do.
67js → Crucible. 67js is the old name. The
@codepawlhq/67jspackage is deprecated: install@codepawlhq/crucibleinstead. Old 67js.codepawl.com links redirect here.
The agent knows every part of Crucible and carries the heavy steps. It builds the scene, lights it, checks the preview and renders the result. You keep the creative choices and stay in the loop, because the agent shows previews and asks when a matter of taste is open.
Scenes built with Crucible open live in the browser on the showcase.
Crucible is a 3D engine for AI agents and for pages. It has a real-time rasterizer, a path tracer, addons for terrain, vegetation, characters, liquid, vehicles and media export, and an MCP server. A scene is plain data: each part has a geometry, a matrix and a material.
An agent builds and changes a scene through the MCP server, looks at PNG previews and renders stills or MP4 video. The goal is to be as capable as Blender and as light as three.js. docs/goal.md defines each part. See the documentation, the guide for agents and the FAQ.
Let your agent do it. Paste this prompt into Claude Code, Codex, Cursor, Gemini CLI or OpenCode. The agent installs the package, reads the guide and connects the MCP server.
Install Crucible from npm as `crucible@npm:@codepawlhq/crucible` and connect its MCP server with `npx crucible-mcp`. Read
https://crucible.codepawl.com/llms.txt first and follow it.
Claude Code plugin. One command adds the MCP server and both skills.
/plugin marketplace add codepawl/crucible
/plugin install crucible@crucible
By hand
npm install crucible@npm:@codepawlhq/crucible
The registry name is @codepawlhq/crucible, and the alias crucible keeps imports short. The package is ESM and needs Node.js 20.19 or later. Glaze and the WebGL2 path tracer need a WebGL2 browser, and the WebGPU backends need WebGPU.
A new minor version ships about once a week. Before 1.0, a minor version can change the API, and CHANGELOG.md lists each change. npx keeps the copy it downloaded first. To update, run npm install crucible@npm:@codepawlhq/crucible@latest or npx -y -p @codepawlhq/crucible@latest crucible-mcp.
import { CrucibleRenderer, box, sphere } from 'crucible';
// Column-major 4x4 matrix: scale, then move.
const placed = ([x, y, z], [width, height, depth] = [1, 1, 1]) =>
new Float32Array([width, 0, 0, 0, 0, height, 0, 0, 0, 0, depth, 0, x, y, z, 1]);
const parts = [
{
name: 'Floor',
geometry: box(),
matrix: placed([0, 0, 0], [8, 0.1, 8]),
material: { color: [0.4, 0.42, 0.45], metallic: 0, roughness: 0.9, emission: 0 },
},
{
name: 'Ball',
geometry: sphere(48, 24),
matrix: placed([0, 1, 0]),
material: { color: [0.8, 0.3, 0.2], metallic: 0, roughness: 0.35, emission: 0 },
},
];
const canvas = document.querySelector('canvas');
const renderer = new CrucibleRenderer(canvas, parts, { samples: 4, memoryBudgetMiB: 256 });
renderer.render({ eye: [4, 3, 6], target: [0, 1, 0] });
Call renderer.updateParts(parts) to move or recolour parts without a new upload.
Call renderer.resize() after the canvas changes size, and renderer.dispose() before you replace the renderer.
The guide covers cameras, lights, effects and every material field.
To save a PNG from a script, use the render-from-a-script recipe.
The package includes an MCP server that connects an agent to a persistent browser renderer. The server needs a local Chrome installation.
npx crucible-mcp --backend gpu --memory 192
--backend gpu renders with hardware WebGL2 through Chrome. Use --backend cpu on a machine without a GPU.
With bun, bunx crucible-mcp takes the same flags; CI runs the packaged server under bun on every pull request.
An agent authors a JSON recipe, sets lights and fog, imports GLB assets and adds motion.
It gets PNG previews back, compares up to four views in a review grid and runs render jobs for stills and MP4 video.
The server accepts no arbitrary code and no remote asset URLs. The MCP reference lists its tools.
Two skills teach an agent to drive the MCP tools: build-crucible-scene for scenes and materials, and render-crucible-media for image and video export. For a plain-text guide, give the agent llms.txt.
viz3d uses Crucible. It is a skill that turns places, systems and events into 3D apps and films, and it renders its films and stills in Crucible.
To add it in Claude Code, run /plugin marketplace add codepawl/viz3d, then /plugin install visualize-in-3d@codepawl.
The render command exports a scene to PNG or MP4 through headless Chrome, on the GPU or on the CPU.
npm run render -- --kind image --scene nature --backend gpu --preset high --output artifacts/nature.png
Video export streams one frame at a time, so a film never sits in memory. The render skill lists every preset and flag.
Each addon is a separate import, so a page loads only what it uses.
| Area | Import | Guide |
|---|---|---|
| Lighting | crucible/addons/hdri |
Image-based lighting from .hdr files |
| Terrain | crucible/addons/terrain, crucible/addons/texture-set |
Chunked terrain with scanned ground layers |
| Vegetation | crucible/addons/vegetation, crucible/addons/grass, crucible/addons/clutter |
Trees, grass and ground clutter with wind and level of detail |
| Characters | crucible/addons/gltf, crucible/addons/retarget, crucible/addons/skeleton-pose |
glTF import, clip retargeting and pose layers with IK |
| Liquid | crucible/addons/spume |
Baked liquid playback with refraction and spray |
| Vehicles | crucible/addons/vehicle |
Wheeled vehicles on a path |
| Physics | crucible/addons/physics |
Rapier contacts and joints recorded into a timeline |
| Live games | crucible/addons/runtime |
Game loop with fixed or variable steps and pluggable systems |
| Live games | crucible/addons/input |
Input: keyboard, mouse, gamepad, touch, device motion, replay and custom sources mapped to named actions and axes |
| Live games | crucible/addons/streaming |
Streaming: loader plugins, distance and request loading, a byte budget with LRU eviction and LOD with hysteresis |
| Live games | crucible/addons/netcode |
Netcode: server or host authority, pluggable transports, delta snapshots, client prediction with reconciliation and remote interpolation |
| Live games | crucible/addons/physics-runtime |
Live physics: a physics world stepped in the game loop, contact and sensor events, ray, shape and overlap queries |
| Live games | crucible/addons/physics-jolt |
Jolt engine: a second engine for live physics, with the same events and queries; needs the optional jolt-physics package |
| Live games | crucible/addons/audio |
Spatial audio: sounds on nodes, played from contacts, markers and input, with buses and a limiter |
| Live games | crucible/addons/animation-graph |
Animation graph: states, 1D and 2D blend spaces, parameter transitions with crossfades and masked layers for any rig |
| Live games | crucible/addons/player |
Player: character, vehicle and flight controllers, follow, first-person, top-down, orbit, chase and side-scroller camera rigs with wall pull-in, custom kinds, swappable at runtime |
| Live games | crucible/addons/game-rules |
Game rules: a JSON rule document of variables, triggers and actions, played as a runtime |