About threejs-xr
A WebXR development skill for teams building VR and AR experiences with Three.js. It emphasizes session handling, XR input, comfort, and testing on target hardware.
Key features
- 01WebXR session and feature checks
- 02XR camera and reference-space guidance
- 03Controller and hand-input handling
- 04AR hit testing and placement
- 05Session cleanup and hardware testing
Use cases
- 01Adding VR or AR modes to a Three.js project
- 02Handling controller and hand interactions
- 03Placing AR content using hit tests
- 04Checking headset comfort and performance
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ cesartevisual/ threejs-skills --skill threejs-xrAfter installing, type/threejs-xrin Claude Code to confirm it loaded.
Details
From the project READMEWebXR
Use the project's installed versions and existing architecture. These instructions supplement the user's task; they do not authorize unrelated changes or external actions.
Confirm requested VR/AR mode, target hardware/browser, secure context, and current installed XR APIs. Feature-detect session support and request sessions from a user gesture. Distinguish required and optional session features so an optional capability does not unnecessarily block entry.
Let the XR-compatible renderer loop own session frames and poses. Use XR cameras/reference spaces rather than overwriting their pose with ordinary orbit controls. Establish meters, world origin, and floor assumptions; handle reference-space reset.
Separate target-ray input from grip/controller models. Define select, squeeze, handedness, disconnect, and hand-tracking behavior as needed. For AR hit testing, handle missing hits and choose intentional placement confirmation rather than continuously teleporting content.
Provide entry, exit, unsupported, denied, and interrupted states. Restore desktop controls and scene state on session end. Keep asset and shadow/effect costs within the headset's frame requirements; test comfort, text legibility, and locomotion choices.
Release session-owned listeners and transient resources. Test on actual requested hardware for tracking, input, placement, and comfort. Emulation can exercise flows but is not evidence of headset usability. Keep an ordinary browser view available when it serves the product.
API reference
Consult the official documentation for exact signatures and revision-specific behavior. If documentation access is unavailable, inspect installed types/source and state any remaining uncertainty.