animated-component-lib…
Pre-built animated React component collections combining Magic UI (150+ TypeScript/Tailwind/Motion components) and React Bits…
Declarative web framework for building browser-based 3D, VR, and AR experiences using HTML and entity-component architecture. Use this skill when creating WebXR applications, VR experiences, AR experiences, 360-degree media viewers, or immersive web content with minimal
Claude Code
$ npx -y skills add freshtechbro/claudedesignskills --skill aframe-webxr --agent claude-code
Codex
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a codex -y
Cursor
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a cursor -y
Gemini CLI
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a gemini-cli -y
GitHub Copilot
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a github-copilot -y
OpenCode
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a opencode -y
Windsurf
$ npx skills add freshtechbro/claudedesignskills --skill aframe-webxr -a windsurf -y
name: aframe-webxr description: Declarative web framework for building browser-based 3D, VR, and AR experiences using HTML and entity-component architecture. Use this skill when creating WebXR applications, VR experiences, AR experiences, 360-degree media viewers, or immersive web content with minimal JavaScript. Triggers on tasks involving A-Frame, WebXR, VR development, AR development, entity-component-system, declarative 3D, or HTML-based 3D scenes. Built on Three.js with accessible HTML-first approach.
A-Frame uses an entity-component-system architecture where:
<!-- Entity with components --> <a-entity geometry="primitive: box; width: 2" material="color: red; metalness: 0.5" position="0 1.5 -3" rotation="0 45 0"> </a-entity>
**Primitives** are shortcuts for common entity + component combinations:
<!-- Primitive (shorthand) --> <a-box color="red" position="0 1.5 -3" rotation="0 45 0" width="2"></a-box> <!-- Equivalent entity-component form --> <a-entity geometry="primitive: box; width: 2" material="color: red" position="0 1.5 -3" rotation="0 45 0"> </a-entity>
Every A-Frame app starts with `<a-scene>`:
<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.7.1/aframe.min.js"></script>
</head>
<body>
<a-scene>
<!-- Entities go here -->
<a-box position="-1 0.5 -3" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
</body>
</html>The scene automatically injects:
**Default Camera** (auto-injected if none specified):
<a-entity camera="active: true" look-controls wasd-controls position="0 1.6 0"></a-entity>
**Custom Camera**:
<a-camera position="0 2 5" look-controls wasd-controls="acceleration: 50"></a-camera>
**Camera Rig** (for independent movement and rotation):
<a-entity id="rig" position="0 0 0"> <!-- Camera for head tracking --> <a-camera look-controls></a-camera> <!-- Movement applied to rig, not camera --> </a-entity>
**VR Camera Rig with Controllers**:
<a-entity id="rig" position="0 0 0">
<!-- Camera at eye level -->
<a-camera position="0 1.6 0"></a-camera>
<!-- Left hand controller -->
<a-entity
hand-controls="hand: left"
laser-controls="hand: left">
</a-entity>
<!-- Right hand controller -->
<a-entity
hand-controls="hand: right"
laser-controls="hand: right">
</a-entity>
</a-entity>**Ambient Light** (global illumination):
<a-entity light="type: ambient; color: #BBB; intensity: 0.5"></a-entity>
**Directional Light** (like sunlight):
<a-entity light="type: directional; color: #FFF; intensity: 0.8" position="1 2 1"></a-entity>
**Point Light** (radiates in all directions):
<a-entity light="type: point; color: #F00; intensity: 2; distance: 50" position="0 3 0"></a-entity>
**Spot Light** (cone-shaped beam):
<a-entity light="type: spot; angle: 45; intensity: 1.5" position="0 5 0" rotation="-90 0 0"></a-entity>
**Standard Material**:
<a-sphere material="color: #FF0000; metalness: 0.5; roughness: 0.3" position="0 1 -3"> </a-sphere>
**Textured Material**:
<a-assets> <img id="woodTexture" src="wood.jpg"> </a-assets> <a-box material="src: #woodTexture" position="0 1 -3"></a-box>
**Flat Shading** (no lighting):
<a-plane material="shader: flat; color: #4CC3D9"></a-plane>
**Property Animation**:
<a-box position="0 1 -3" animation="property: rotation; to: 0 360 0; loop: true; dur: 5000"> </a-box>
**Multiple Animations** (use `animation__*` naming):
<a-sphere position="0 1 -3" animation__position="property: position; to: 0 3 -3; dir: alternate; loop: true; dur: 2000" animation__rotation="property: rotation; to: 360 360 0; loop: true; dur: 4000" animation__scale="property: scale; to: 1.5 1.5 1.5; dir: alternate; loop: true; dur: 1000"> </a-sphere>
**Event-Based Animation**:
<a-box color="blue" animation__mouseenter="property: scale; to: 1.2 1.2 1.2; startEvents: mouseenter" animation__mouseleave="property: scale; to: 1 1 1; startEvents: mouseleave" animation__click="property: rotation; from: 0 0 0; to: 0 360 0; startEvents: click"> </a-box>
Preload assets for better performance:
<a-scene>
<a-assets>
<!-- Images -->
<img id="texture1" src="texture.jpg">
<img id="skyTexture" src="sky.jpg">
<!-- Videos -->
<video id="video360" src="360video.mp4" autoplay loop></video>
<!-- Audio -->
<audio id="bgMusic" src="music.mp3" preload="auto"></audio>
<!-- Models -->
<a-asset-item id="tree" src="tree.gltf"></a-asset-item>
<!-- Mixins (reusable component sets) -->
<a-mixin id="redMaterial" material="color: red; metalness: 0.7"></a-mixin>
</a-assets>
<!-- Use assetsProfessional design agency skillstack for 3D/WebGL, animation, and modern web development Claude Code plugin marketplace providing comprehensive coverage of modern web technologies including Three.js, GSAP, React Three Fiber, Framer Motion, Babylon.js, and
Pre-built animated React component collections combining Magic UI (150+ TypeScript/Tailwind/Motion components) and React Bits…
Versatile JavaScript animation engine for DOM, CSS, SVG, and JavaScript objects. Use when creating timeline-based animations,…
Comprehensive skill for Babylon.js 3D web rendering engine. Use this skill when building real-time 3D experiences, browser-based…
Page transitions library for creating fluid, smooth transitions between website pages. Use this skill when implementing page…
Blender to web export workflows for 3D models and animations. Use this skill when exporting Blender models to glTF for web,…
Comprehensive skill for GSAP (GreenSock Animation Platform) and ScrollTrigger plugin. Use this skill when creating web…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.