skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
daffy0208/ai-dev-standards169 installs

spatial-developer

Expert in AR/VR, WebXR, and spatial computing for Vision Pro and web

How do I install this agent skill?

npx skills add https://github.com/daffy0208/ai-dev-standards --skill spatial-developer
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill is a development assistant for spatial computing, AR/VR, and WebXR. It provides boilerplate code and patterns for Three.js, React Three Fiber, and visionOS. No security risks were detected.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerwarn

    3/3 files flagged

  • ZeroLeakspass

    Score: 93/100 · 2 sections analyzed

What does this agent skill do?

Spatial Developer Skill

I help you build AR/VR experiences, spatial interfaces, and immersive 3D applications.

What I Do

WebXR Development:

  • AR/VR experiences in the browser
  • Hand tracking and controllers
  • Spatial anchors
  • Immersive environments

Vision Pro Development:

  • visionOS native apps
  • Spatial UI design
  • Reality Composer integration
  • SharePlay experiences

3D Web:

  • Three.js scenes
  • React Three Fiber
  • 3D interactions
  • Spatial audio

WebXR Basics

npm install three @react-three/fiber @react-three/drei @react-three/xr

Simple VR Scene

// components/VRScene.tsx
'use client'
import { Canvas } from '@react-three/fiber'
import { VRButton, XR, Controllers, Hands } from '@react-three/xr'
import { Box, OrbitControls } from '@react-three/drei'

export function VRScene() {
  return (
    <>
      <VRButton />
      <Canvas>
        <XR>
          <ambientLight intensity={0.5} />
          <pointLight position={[10, 10, 10]} />

          {/* 3D Content */}
          <Box position={[0, 1, -2]} args={[1, 1, 1]}>
            <meshStandardMaterial color="hotpink" />
          </Box>

          {/* VR Controllers */}
          <Controllers />

          {/* Hand Tracking */}
          <Hands />
        </XR>
      </Canvas>
    </>
  )
}

AR on Web (WebXR)

// components/ARScene.tsx
'use client'
import { Canvas } from '@react-three/fiber'
import { ARButton, XR } from '@react-three/xr'
import { useState } from 'react'

export function ARScene() {
  const [hitTest, setHitTest] = useState(null)

  return (
    <>
      <ARButton
        sessionInit={{
          requiredFeatures: ['hit-test'],
          optionalFeatures: ['dom-overlay']
        }}
      />

      <Canvas>
        <XR
          onHitTest={(hitMatrix, hit) => {
            setHitTest(hit)
          }}
        >
          <ambientLight />

          {hitTest && (
            <mesh position={hitTest.position}>
              <sphereGeometry args={[0.1]} />
              <meshStandardMaterial color="blue" />
            </mesh>
          )}
        </XR>
      </Canvas>
    </>
  )
}

Vision Pro Spatial UI

// ContentView.swift
import SwiftUI
import RealityKit

struct ContentView: View {
    var body: some View {
        RealityView { content in
            // Add 3D content
            let model = ModelEntity(
                mesh: .generateSphere(radius: 0.1),
                materials: [SimpleMaterial(color: .blue, isMetallic: false)]
            )

            content.add(model)
        }
        .toolbar {
            ToolbarItem(placement: .bottomOrnament) {
                HStack {
                    Button("Reset") {
                        // Reset scene
                    }

                    Button("Share") {
                        // SharePlay
                    }
                }
            }
        }
    }
}

3D Interaction Patterns

Gaze-Based Selection

'use client'
import { useXR } from '@react-three/xr'
import { useFrame } from '@react-three/fiber'
import { useState } from 'react'

export function GazeSelect() {
  const { player } = useXR()
  const [gazing, setGazing] = useState(false)

  useFrame(() => {
    // Raycast from camera
    const direction = player.camera.getWorldDirection(new Vector3())
    // Check intersection with objects
    // If gazing for 2 seconds, select
  })

  return (
    <mesh onPointerEnter={() => setGazing(true)}>
      <boxGeometry />
      <meshStandardMaterial
        color={gazing ? 'green' : 'white'}
      />
    </mesh>
  )
}

Hand Gesture Recognition

'use client'
import { useXREvent } from '@react-three/xr'

export function GestureControl() {
  useXREvent('squeeze', (e) => {
    console.log('Pinch gesture detected')
    // Perform action
  })

  useXREvent('select', (e) => {
    console.log('Select gesture')
  })

  return (
    <mesh>
      <sphereGeometry args={[0.05]} />
      <meshStandardMaterial color="red" />
    </mesh>
  )
}

Spatial Audio

'use client'
import { PositionalAudio } from '@react-three/drei'
import { useRef } from 'react'

export function SpatialSound() {
  const sound = useRef()

  return (
    <mesh position={[2, 1, -3]}>
      <sphereGeometry args={[0.2]} />
      <meshStandardMaterial color="yellow" emissive="yellow" />

      <PositionalAudio
        ref={sound}
        url="/sounds/ambient.mp3"
        distance={5}
        loop
        autoplay
      />
    </mesh>
  )
}

When to Use Me

Perfect for:

  • Building AR/VR web experiences
  • Creating Vision Pro apps
  • Implementing 3D interactions
  • Spatial UI design
  • Immersive storytelling

I'll help you:

  • Set up WebXR projects
  • Build AR features
  • Implement hand tracking
  • Design spatial interfaces
  • Optimize 3D performance

What I'll Create

🥽 VR Experiences
📱 AR Applications
👋 Hand Tracking
🎧 Spatial Audio
🌐 WebXR Scenes
🍎 Vision Pro Apps

Let's build the future of spatial computing!

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/daffy0208/ai-dev-standards/spatial-developer">View spatial-developer on skillZs</a>