| name | snap-spectacles-build |
| description | Load when the user is starting a Snap Spectacles lens from scratch — installing Lens Studio, creating a project, writing the TypeScript scripting model, deploying to Spectacles, distributing through My Lenses, or asks "how do I build my first lens." Don't load for already-deep work on interactions, multiplayer, AI, or design — those have dedicated skills. |
| license | MIT |
| metadata | {"author":"HKTITAN","version":"1.0.0","graph":true} |
Snap Spectacles — Build (entry point)
Spectacles is Snap's standalone AR dev-kit hardware running Snap OS. You build lenses in Lens Studio using its TypeScript-flavoured scripting model, then deploy via USB or the Lens Studio Mobile App. This skill is the on-ramp; sibling skills handle interaction, multiplayer, AI, navigation, mobile, and design.
First, ask the user
Before recommending anything, get these answers:
-
Do you have Spectacles (5th gen) hardware for testing, or are you building blind?
- Hardware available → include device-deploy steps; flag preview-vs-device differences as they come up.
- Blind → lead with [[references/preview-panel]] and the No-Simulation + Device Type Override workflow. Many things can be built without hardware; some — particularly hand-tracking nuance and real perf — cannot.
-
What's the lens centred on? This sets which sibling skills load next:
- Hand-pinch / poke / gaze interactions → [[../snap-spectacles-sik/SKILL]]
- Multiplayer / Connected Lenses → [[../snap-spectacles-sync/SKILL]]
- AI features (SnapML, voice, LLM, vision) → [[../snap-spectacles-ai/SKILL]]
- Outdoor / indoor navigation → [[../snap-spectacles-navigation/SKILL]]
- Phone companion / BLE → [[../snap-spectacles-mobile-kit/SKILL]]
- Design polish + publishing → [[../snap-spectacles-design/SKILL]]
-
Distribution intent? Personal device, share with collaborators, or public via My Lenses? See [[references/my-lenses-portal]].
When to load
Triggers:
- "Build a Spectacles lens"
- "Lens Studio TypeScript"
- "How do I deploy to Spectacles"
- "Snap OS lens setup"
- "My first lens tutorial"
Don't load for:
- Choosing between providers (Meta vs Snap) — see [[../../meta/meta-wearables/SKILL]] for Meta-side; no top-level wearables router yet (use README's capability matrix).
- Deep interaction wiring — see [[../snap-spectacles-sik/SKILL]].
- Multiplayer / Sync Kit specifics — see [[../snap-spectacles-sync/SKILL]].
Decide first
The architecture decisions before code:
- Lens Studio version. The current track is 5.x; some features require specific minimums (Sync Kit needs Lens Studio 5.4+ and Snap OS 5.59+). See [[references/lens-studio-5]] and [[references/snap-os]].
- Target hardware. Spectacles (5th gen) today; consumer Specs ship in 2026 — see [[references/spectacles-vs-specs]] for what that does and doesn't change.
- Scripting language. TypeScript is the recommended path; JavaScript also works. The runtime compiles before lens load. See [[references/typescript-programming-model]].
- Scene structure. Prefabs and SceneObjects organise your scene; the script-component pattern is how behaviour attaches.
- Permissions surface. What does your lens read? Camera, mic, location, internet, BLE? Each is a permission the user must approve — see [[references/permissions-flow]].
Map of content
Setup
- [[references/lens-studio-5]] — installing Lens Studio 5, version requirements, project creation.
- [[references/snap-os]] — Snap OS on Spectacles, version dependencies.
- [[references/spectacles-vs-specs]] — current dev-kit Spectacles vs upcoming consumer Specs (2026).
Programming model
- [[references/typescript-programming-model]] — script components, TS vs JS, the compile-before-load contract.
- [[references/scene-objects]] — SceneObject + Component pattern, the scene graph.
- [[references/prefabs]] — Prefabs as composition units; networked instantiation hook-in.
- [[references/lifecycle-hooks]] —
onAwake, onStart, onUpdate, bindOnEvent.
Assets and dependencies
- [[references/asset-library]] — Asset Library, package install flow, where Spectacles-targeted packages live.
Preview and device
- [[references/preview-panel]] — Lens Studio Preview Panel, stereo modes, No-Simulation + Device Type Override.
- [[references/deploy-to-device]] — USB deploy, Lens Studio Mobile App, install on Spectacles.
Distribution
- [[references/my-lenses-portal]] — My Lenses portal, share links, personal vs shared lenses.
- [[references/permissions-flow]] — what permissions your lens needs and how Snap surfaces them to the user.
- [[references/release-channels]] — Experimental APIs vs public APIs, what gets gated.
Verify
Before claiming a Spectacles lens is shippable:
Smoke test
If this skill loaded correctly, the agent should answer:
- What Lens Studio version is required for Sync Kit and which Snap OS does it need? (Expected: Lens Studio 5.4+ and Snap OS 5.59+; cites [[references/lens-studio-5]] and [[references/snap-os]] and [[../snap-spectacles-sync/SKILL]].)
- Can I preview a Spectacles lens without hardware? (Expected: yes — Lens Studio Preview Panel with Spectacles simulation; cites [[references/preview-panel]].)
- What happens if my TypeScript fails to compile when I instantiate a prefab? (Expected: components attach with broken script references; the Sync Kit getting-started doc explicitly warns against this — cites [[references/typescript-programming-model]] and [[references/prefabs]].)
Sibling skills
- [[../snap-spectacles-sik/SKILL]] — interactions.
- [[../snap-spectacles-sync/SKILL]] — multiplayer.
- [[../snap-spectacles-ai/SKILL]] — SnapML, RSG, ASR, Snap Cloud.
- [[../snap-spectacles-navigation/SKILL]] — Custom Locations, Places API.
- [[../snap-spectacles-mobile-kit/SKILL]] — BLE + phone companion.
- [[../snap-spectacles-design/SKILL]] — performance + comfort + publishing.
Sources