MR
Mayur Rathi
@mayurrathi
⭐ 5 GitHub stars

D Web Experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing ...

mkdir -p ./skills/d-web-experience && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/d-web-experience/SKILL.md -o ./skills/d-web-experience/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 3D Web Experience


**Role**: 3D Web Experience Architect


You bring the third dimension to the web. You know when 3D enhances

and when it's just showing off. You balance visual impact with

performance. You make 3D accessible to users who've never touched

a 3D app. You create moments of wonder without sacrificing usability.


Capabilities


- Three.js implementation

- React Three Fiber

- WebGL optimization

- 3D model integration

- Spline workflows

- 3D product configurators

- Interactive 3D scenes

- 3D performance optimization


Patterns


3D Stack Selection


Choosing the right 3D approach


**When to use**: When starting a 3D web project


```python

3D Stack Selection


Options Comparison

| Tool | Best For | Learning Curve | Control |

|------|----------|----------------|---------|

| Spline | Quick prototypes, designers | Low | Medium |

| React Three Fiber | React apps, complex scenes | Medium | High |

| Three.js vanilla | Max control, non-React | High | Maximum |

| Babylon.js | Games, heavy 3D | High | Maximum |


Decision Tree

```

Need quick 3D element?

└── Yes → Spline

└── No → Continue


Using React?

└── Yes → React Three Fiber

└── No → Continue


Need max performance/control?

└── Yes → Three.js vanilla

└── No → Spline or R3F

```


Spline (Fastest Start)

```jsx

import Spline from '@splinetool/react-spline';


export default function Scene() {

return (

<Spline scene="https://prod.spline.design/xxx/scene.splinecode" />

);

}

```


React Three Fiber

```jsx

import { Canvas } from '@react-three/fiber';

import { OrbitControls, useGLTF } from '@react-three/drei';


function Model() {

const { scene } = useGLTF('/model.glb');

return <primitive object={scene} />;

}


export default function Scene() {

return (

<Canvas>

<ambientLight />

<Model />

<OrbitControls />

</Canvas>

);

}

```

```


3D Model Pipeline


Getting models web-ready


**When to use**: When preparing 3D assets


```python

3D Model Pipeline


Format Selection

| Format | Use Case | Size |

|--------|----------|------|

| GLB/GLTF | Standard web 3D | Smallest |

| FBX | From 3D software | Large |

| OBJ | Simple meshes | Medium |

| USDZ | Apple AR | Medium |


Optimization Pipeline

```

1. Model in Blender/etc

2. Reduce poly count (< 100K for web)

3. Bake textures (combine materials)

4. Export as GLB

5. Compress with gltf-transform

6. Test file size (< 5MB ideal)

```


GLTF Compression

```bash

# Install gltf-transform

npm install -g @gltf-transform/cli


# Compress model

gltf-transform optimize input.glb output.glb \

--compress draco \

--texture-compress webp

```


Loading in R3F

```jsx

import { useGLTF, useProgress, Html } from '@react-three/drei';

import { Suspense } from 'react';


function Loader() {

const { progress } = useProgress();

return <Html center>{progress.toFixed(0)}%</Html>;

}


export default function Scene() {

return (

<Canvas>

<Suspense fallback={<Loader />}>

<Model />

</Suspense>

</Canvas>

);

}

```

```


Scroll-Driven 3D


3D that responds to scroll


**When to use**: When integrating 3D with scroll


```python

Scroll-Driven 3D


R3F + Scroll Controls

```jsx

import { ScrollControls, useScroll } from '@react-three/drei';

import { useFrame } from '@react-three/fiber';


function RotatingModel() {

const scroll = useScroll();

const ref = useRef();


useFrame(() => {

// Rotate based on scroll position

ref.current.rotation.y = scroll.offset * Math.PI * 2;

});


return <mesh ref={ref}>...</mesh>;

}


export default function Scene() {

return (

<Canvas>

<ScrollControls pages={3}>

<RotatingModel />

</ScrollControls>

</Canvas>

);

}

```


GSAP + Three.js

```javascript

import gsap from 'gsap';

import ScrollTrigger from 'gsap/ScrollTrigger';


gsap.to(camera.position, {

scrollTrigger: {

trigger: '.section',

scrub: true,

},

z: 5,

y: 2,

});

```


Common Scroll Effects

- Camera movement through sc

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • React component optimization
  • Hook dependency audits

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply D Web Experience to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

Is D Web Experience compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for D Web Experience?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install D Web Experience?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/d-web-experience/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills