specs-debug

Diagnose Specs-specific bugs across SIK, SyncKit, SnapML, RSG, and tracking subsystems.

16|2|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/lens-studio-devs/ls-extensions --skill specs-debug-lens-studio-devs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: specs-debug
Source: https://github.com/lens-studio-devs/ls-extensions/tree/main/plugins/ls-clad/skills/specs-debug
Command: npx skills add https://github.com/lens-studio-devs/ls-extensions --skill specs-debug-lens-studio-devs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging Spectacles-specific issues requires deep knowledge of subsystems like SIK, Remote Service Gateway, SyncKit, and SnapML, and generic Lens debugging guidance does not cover their failure modes. This Skill layers Specs-only diagnostic steps on top of the general lens-debug workflow so you can pinpoint root causes faster. ## Core Features & Use Cases - Subsystem Diagnostics: Provides ready-to-use TypeScript instrumentation snippets for SIK hand tracking and Interactables, RSG websocket lifecycle, SyncKit ownership and remote changes, and SnapML inference outputs. - Environment & Tracking Triage: Guides VIO/SLAM troubleshooting with lighting, visual feature, thermal, and Point Cloud Lens validation checks. - Performance & Compatibility Rules: Covers Specs-specific perf rules (texture sizes, MSAA, WAV audio), on-device tooling like the Lens Performance Overlay and Spectacles Monitor, and the feature compatibility list across Specs models. - Use Case: Your multiplayer Lens silently drops property updates on one client. Use the SyncKit section to log doIOwnStore() and discover the writes are coming from a non-owner client, then fix ownership assignment. ## Quick Start Ask the agent to debug why hand tracking interactions are not firing in your Spectacles Lens and have it apply the SIK diagnostic checks.

Frequently Asked Questions about specs-debug

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug hand tracking not working in Spectacles Interaction Kit?

Check hand tracking by calling HandInputData.getInstance().getHand('right').isTracked() and logging the result. If it is always false, the Lens is running without a hand tracking provider, so guard the rest of your script with that check instead of asserting tracking.

Why is my SyncKit property update not syncing to other users?

Silent sync drops usually mean the writing client does not own the store. Log syncEntity.networkRoot.doIOwnStore() on the writing client; if it returns false, the property is written by a non-owner and discarded. Also verify mutations go through the SyncEntity API so onRemoteChange fires.

Why does my Gemini or OpenAI websocket connection fail in Lens Studio?

If onOpen never fires, the connection failed before the handshake, which almost always means Remote Service Gateway is not configured in project settings. A 401/403 in onError indicates a missing or expired gateway credential.

How do I fix z-fighting and render order issues in world-space UIKit?

Confirm no child has a manual renderOrder, offset the content child +0.6 cm forward in Z, and set depthWrite = false on Component.Image. These issues are Canvas-sort or depth-flag bugs, not layout bugs; the full checklist lives in the specs-build-ui render-order rules.

Why does SnapML return null output in my Lens?

A null output means the named output does not exist on the model, so re-check the model's output names. If the output exists but data length is zero, inference never ran; confirm runImmediate or runScheduled was called and the input tensor was populated.

When is anchor drift an environment problem instead of a code bug?

Tracking drift is usually environmental: lighting below 100 LUX, repetitive visual patterns, moving objects, or thermal throttling all degrade VIO. Validate with the Point Cloud Lens on-device; if green points are plentiful but anchors still slip, investigate code causes like SyncKit ownership or world query timing.