Guide · Agent skill
How to use the 3D Web Experience agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The 3d-web-experience skill gives your AI agent specialised guidance for adding interactive 3D to web pages, such as product configurators, 3D portfolios and scroll-driven scenes. It is built for Three.js, React Three Fiber and Spline. After this guide you will know how to install the skill, how to ask for help with a 3D web task, and what your project needs before the agent's advice is useful.
Quick start
- 1Download and unzip. Download the ZIP from this page and unzip it so the 3d-web-experience folder is ready to copy.
- 2Place the skill. Move the folder into ~/.claude/skills/ for personal use, or into .claude/skills/ inside your project. Alternatively, upload the ZIP under Settings, Capabilities, Skills in the Claude apps.
- 3Check your project. Confirm you have Node.js and a JavaScript project, and the packages your stack needs: React Three Fiber and drei, or @splinetool/react-spline for Spline.
- 4Make a natural request. Describe the 3D task in plain language, naming Three.js, React Three Fiber or Spline and the problem you have.
- 5Prepare your model. Export a GLB, bake textures, and run the gltf-transform command using the version pinned in your lockfile.
- 6Test fallbacks and performance. Check loading, the error path, keyboard use, reduced motion and a blocked WebGL context, then measure frame time and memory on a real phone.
What the skill makes the agent do
An agent skill is a folder of instructions that an AI agent loads when a task matches it. This one is written for building or debugging web 3D scenes. The agent can help you choose between Spline, React Three Fiber and plain Three.js, prepare 3D models, write loading and fallback code, and keep scenes responsive on phones and low-end devices.
The skill is mostly reference material with code snippets and performance budgets. It shows commands and code, but it does not run compression or build tools by itself.
- Choose a 3D approach: Spline for quick prototypes, React Three Fiber for React apps with complex scenes, Three.js for maximum control outside React
- Prepare models: export GLB, bake textures, and compress with gltf-transform
- Write loading, error and fallback code, including a DOM fallback when WebGL cannot start
- Add scroll-driven motion with React Three Fiber scroll controls or GSAP ScrollTrigger
- Review performance against triangle, draw-call, memory and frame-time budgets
How do you install the 3d-web-experience skill?
Download the ZIP file from this page and unzip it. Then place the skill folder in one of two locations. Use ~/.claude/skills/ to make it available across your projects, or use a .claude/skills/ folder inside a single project to limit it to that project.
If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the ZIP there.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into .claude/skills/ inside your project folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
How do you trigger the skill with a natural request?
You do not need a special command. The skill is described as useful when you are building or debugging web 3D scenes, product configurators or portfolios with Three.js, React Three Fiber or Spline, and when you need to review assets, loading, controls, fallbacks and performance. Mention one of those things in plain language and the agent can pick it up.
Include the tool you use and what is going wrong or what you want built. The more specific the request, the more targeted the advice.
- 'Build a product configurator in React Three Fiber where the customer can switch colours.'
- 'My 3D model is blank on iPhone. Review the loading and fallback code.'
- 'Should I use Spline or Three.js for a 3D portfolio homepage?'
- 'Help me compress this GLB file for the web.'
- 'Review my scroll-driven scene for performance on mobile.'
What do you need before you start?
The skill assumes you have a web project and a 3D asset. Requirements depend on the stack you choose.
For React Three Fiber, drei, Three.js or GSAP code you need Node.js and a JavaScript project. For Spline embeds you need the @splinetool/react-spline package and a published Spline scene URL. For compression you need gltf-transform installed in the project, and a 3D model such as a .glb file.
- Node.js and a JavaScript project (React Three Fiber, drei, Three.js or GSAP)
- @splinetool/react-spline package for Spline embeds
- A published Spline scene URL for Spline
- gltf-transform installed in the project for the compression command
- A 3D model asset, for example a .glb file
How do you compress a model for the web?
The skill's pipeline is: model in your 3D tool, set a budget for triangles and draw calls on target devices, bake textures to combine materials, export as GLB, compress with gltf-transform, then measure transfer size, decode time, memory and frame time. The skill notes that you should use the gltf-transform version already pinned in your project lockfile, and review and pin a specific version before running it if none is present.
The compression command is shown below. Replace input.glb and output.glb with your own file names.
./node_modules/.bin/gltf-transform optimize input.glb output.glb --compress draco --texture-compress webpHow do you load a 3D model with a loading indicator and fallback?
The skill's React Three Fiber example loads a model with useGLTF from drei, shows progress with useProgress, and wraps the model in Suspense. Suspense handles loading, but it does not handle failures, so add an application error boundary for failed asset loads. Canvas also accepts a DOM fallback that appears when GL cannot initialise.
Keep product descriptions, variant controls and purchase actions in ordinary HTML so the task still works without the canvas. Test keyboard operation, zoom, reduced motion and an unavailable WebGL context.
- Suspense handles loading state, not errors
- Use an error boundary around the scene for asset failures and context crashes
- Keep key purchase and product information in accessible DOM
<Canvas fallback={<p>3D preview unavailable.</p>}>How do you keep 3D fast on phones and low-end devices?
The skill gives illustrative starting budgets, not hardware limits or guarantees. It lists 60fps and up to 500K triangles for desktop, 30 to 60fps and up to 100K triangles for mobile, and 30fps and up to 50K triangles for low-end devices. It warns that triangle count alone cannot establish performance, so also measure GPU time, draw calls, memory and load time.
Other quick wins include instanced objects for repeated items, fewer lights, levels of detail, lazy-loaded models, and a conservative initial pixel ratio using the dpr setting on Canvas. The skill says to measure real rendering performance rather than guessing from the user-agent string.
- Desktop: 60fps, up to 500K triangles (illustrative)
- Mobile: 30-60fps, up to 100K triangles (illustrative)
- Low-end: 30fps, up to 50K triangles (illustrative)
- Respect reduced-motion settings
What people use it for
- Adding a 3D product viewer with colour or variant switching to an online shop
- Building a 3D portfolio homepage in React Three Fiber or Spline
- Creating a scroll-driven scene that moves a model or camera as the visitor scrolls
- Debugging a 3D scene that is slow or blank on mobile devices
- Compressing a GLB model and checking its loading behaviour before publishing
Frequently asked questions
Is the 3d-web-experience skill free to use?
The skill is published under the MIT licence. The source notes it was adapted from vibeship-spawner-skills under Apache 2.0. Check the licence file in the repository for the full terms before reuse.
What do I need to use the 3d-web-experience skill?
You need a web project, and for React Three Fiber, drei, Three.js or GSAP code, Node.js. Spline embeds need the @splinetool/react-spline package and a published Spline scene URL. Compression needs gltf-transform in the project and a model such as a .glb file.
Where do I install an agent skill like this one?
Unzip the downloaded ZIP into ~/.claude/skills/ for personal use or .claude/skills/ inside a project. In the Claude apps you can instead upload the ZIP under Settings, Capabilities, Skills.
Does the skill run compression or build tools automatically?
No. The skill only shows commands and code. Running them is up to you and the agent, so review each command before you run it.
Should I use Spline, React Three Fiber or Three.js?
The skill's comparison suggests Spline for quick prototypes and designers, React Three Fiber for React apps with complex scenes, and plain Three.js when you need maximum control outside React. Babylon.js is also listed for games and heavy 3D.
Why is my 3D model blank or slow on mobile?
Check that the model loads without an error, that you have an error boundary and a fallback, and that the scene fits mobile budgets. Measure GPU time, draw calls, memory and frame time, because triangle count alone does not explain performance.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are a front-end developer adding a 3D viewer, configurator or portfolio to a website, or a designer who has built in Spline and needs help embedding it. Skip it for simple images or video where 3D adds nothing, and for native mobile or game engine projects, because the guidance covers only web tools.
Download the skill