/hz-quest-verify-first
MANDATORY pre-flight check before answering any question or writing any code related to Meta Quest VR headsets (Quest 2, Quest 3, Quest 3S, Quest Pro) or apps that target them. Forces verification against authoritative Meta sources via the metavr CLI / metavr MCP tools BEFORE
$ npx -y skills add meta-quest/agentic-tools --skill hz-quest-verify-first --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/hz-quest-verify-first
Context preview
The summary Claude sees to decide when to auto-load this skill.
MANDATORY pre-flight check before answering any question or writing any code related to Meta Quest VR headsets (Quest 2, Quest 3, Quest 3S, Quest Pro) or apps that target them. Forces verification against authoritative Meta sources via the metavr CLI / metavr MCP tools BEFORE
SKILL.md
hz-quest-verify-first.SKILL.mdname: hz-quest-verify-first
license: Apache-2.0
description: >-
MANDATORY pre-flight check before answering any question or writing any code
related to Meta Quest VR headsets (Quest 2, Quest 3, Quest 3S, Quest Pro)
or apps that target them. Forces verification against authoritative Meta
sources via the metavr CLI / metavr MCP tools BEFORE relying on training-data
knowledge. Counters the failure mode where agents answer Quest-related
questions from stale memory and ship deprecated APIs, broken Android
manifests, and store-rejected builds. Loads automatically when the user is
in a Quest project (any reference to Oculus / Meta Quest / Horizon OS,
Unity OVR or Meta XR packages, com.meta.* / com.oculus.* package IDs,
Quest-targeted AndroidManifest, .meta files, or developers.meta.com /
developer.oculus.com URLs).
allowed-tools: Bash(metavr:*) Bash(hzdb:*) Bash(npx:*)
Verify First — Meta Quest Development
What you need to know before reading the rest of this
You are about to be told to call tools you may not recognize by name. Read this section first so the rest makes sense.
- **Meta Quest** is Meta's line of standalone VR / mixed-reality headsets
(Quest 2, Quest 3, Quest 3S, Quest Pro). They run an Android-based OS.
- **Horizon OS** is the name of that operating system. It is forked from
Android, ships on every Quest headset, and Meta updates it on its own cadence (separate from upstream Android). Many APIs are Horizon-OS-specific and have no analog in stock Android.
- **metavr** ("Meta VR CLI") is a Rust CLI tool published by Meta as
`metavr` on npm. Invoke via `npx -y metavr <args>` — no install required; `npx` always pulls the latest published version. It wraps `adb` and Meta's developer APIs into higher-level commands for Quest device development: list devices, install apps, capture Perfetto traces, search Meta Quest documentation, query 3D asset libraries, automate UI interactions, etc. metavr is the primary action layer for Quest dev work — the equivalent of what `gcloud` is for GCP or `git` is for source control.
- **metavr MCP server** is a built-in mode of metavr that exposes a focused set of
tools to AI coding agents over the Model Context Protocol. The relevant tools for this skill are:
- `meta_docs_search` — search the official Meta developer documentation
- `meta_docs_get_page` — fetch the full text of a specific docs page
- `device` — query and control connected Meta Quest headsets (list,
info, connect, reboot, battery, controllers, proximity, etc.)
- `app` — query and manage installed apps (list, info, install,
uninstall, launch, stop, clear)
- `files` — file ops on a connected headset (ls, push, pull, rm, mkdir)
- `run` — catch-all for any metavr subcommand without a dedicated tool
(perf, ovrmetrics, ui, audio, casting, window, unity, sideload, asset, config, …). Its JSON Schema is generated from clap so the available subcommands and their typed args are visible to you in the tool definition.
- `cli_help` — discover metavr subcommands and flags as markdown
- **Meta SDKs you may not recognize** that are commonly used in Quest
projects: Meta XR All-in-One SDK (Unity), Meta XR Core / Interaction / Platform / Voice / Movement SDKs, Meta Spatial SDK (Kotlin / Android panels), IWSDK (Immersive Web SDK for WebXR), MRUK (Mixed Reality Utility Kit), Presence Platform, Horizon Platform SDK. These ship on their own release cadences, separate from Quest OS.
- **OVR vs Meta XR** — older Quest Unity content and most of the public web
references the `OVR` namespace and the "Oculus Integration" Unity package. Both have been deprecated in favor of the Meta XR All-in-One SDK family. Most training data still recommends the deprecated names. Verify before recommending anything in this area.
Why this skill exists
Meta Quest and Horizon OS evolve fast. Meta SDKs ship every few weeks. APIs get renamed before public release. Manifest entitlements and store policies update monthly. Entire SDK families (Meta Spatial SDK, IWSDK, Horizon OS shells) post-date most LLM training corpora.
**You almost certainly have stale knowledge about Quest specifics.** The package names you remember have been renamed. The Unity menu paths have moved. The setup steps that worked on a prior Horizon OS version silently broke on the current one. The "OVR" namespace you reach for has been split across half a dozen Meta XR packages.
If you answer a Meta Quest question or write Quest-targeted code without verifying first, you will hallucinate. The user will not notice until their build fails, their app gets rejected from the store, or their AndroidManifest doesn't publish.
**This skill is a hard gate. Treat it as a precondition, not a suggestion.**
When this skill applies
You MUST run the verification flow below if ANY of the following is true for the current task:
- The user mentions Meta Quest, Quest 2 / 3 / 3S / Pro, Oculus, Horizon OS,
MR, VR, XR, OpenXR (on Quest), Meta SDK, Meta XR, OVR, Spatial SDK, IWSDK, MRUK, Movement SDK, Voice SDK, Presence Platform, Horizon Platform SDK, hand tracking, passthrough, anchors, scene mesh, casting, eye tracking, body tracking, controllers, or platform compliance / store policy
- The repository contains any of:
- Unity files with `OVRPlugin`, "Meta XR All-in-One SDK", or `com.meta.xr.*`
in `manifest.json` / `Packages/manifest.json`
- Spatial SDK gradle plugin (`com.meta.spatial.plugins.*`)
- AndroidManifest with `com.oculus.*`, `com.meta.quest.*`, or `horizon`
feature declarations
- Package IDs starting with `com.meta.*` or `com.oculus.*`
- `.meta` files indicating Unity, or `Quest_*.uplugin` / `*.unrealhxr` files
- The user's question references `developers.meta.com/horizon`,
`developer.oculus.com`, `oculus.com/sparkle-updates`, or any Meta Quest documentation URL
- The agent is about to recommend any Meta SDK API, namespace, p
Read more
name: hz-quest-verify-first license: Apache-2.0 description: >- MANDATORY pre-flight check before answering any question or writing any code related to Meta Quest VR headsets (Quest 2, Quest 3, Quest 3S, Quest Pro) or apps that target them. Forces verification against authoritative Meta sources via the metavr CLI / metavr MCP tools BEFORE relying on training-data knowledge. Counters the failure mode where agents answer Quest-related questions from stale memory and ship deprecated APIs, broken Android manifests, and store-rejected builds. Loads automatically when the user is in a Quest project (any reference to Oculus / Meta Quest / Horizon OS, Unity OVR or Meta XR packages, com.meta.* / com.oculus.* package IDs, Quest-targeted AndroidManifest, .meta files, or developers.meta.com / developer.oculus.com URLs). allowed-tools: Bash(metavr:*) Bash(hzdb:*) Bash(npx:*)
Verify First — Meta Quest Development
What you need to know before reading the rest of this
You are about to be told to call tools you may not recognize by name. Read this section first so the rest makes sense.
- **Meta Quest** is Meta's line of standalone VR / mixed-reality headsets
(Quest 2, Quest 3, Quest 3S, Quest Pro). They run an Android-based OS.
- **Horizon OS** is the name of that operating system. It is forked from
Android, ships on every Quest headset, and Meta updates it on its own cadence (separate from upstream Android). Many APIs are Horizon-OS-specific and have no analog in stock Android.
- **metavr** ("Meta VR CLI") is a Rust CLI tool published by Meta as
`metavr` on npm. Invoke via `npx -y metavr <args>` — no install required; `npx` always pulls the latest published version. It wraps `adb` and Meta's developer APIs into higher-level commands for Quest device development: list devices, install apps, capture Perfetto traces, search Meta Quest documentation, query 3D asset libraries, automate UI interactions, etc. metavr is the primary action layer for Quest dev work — the equivalent of what `gcloud` is for GCP or `git` is for source control.
- **metavr MCP server** is a built-in mode of metavr that exposes a focused set of
tools to AI coding agents over the Model Context Protocol. The relevant tools for this skill are:
- `meta_docs_search` — search the official Meta developer documentation
- `meta_docs_get_page` — fetch the full text of a specific docs page
- `device` — query and control connected Meta Quest headsets (list,
info, connect, reboot, battery, controllers, proximity, etc.)
- `app` — query and manage installed apps (list, info, install,
uninstall, launch, stop, clear)
- `files` — file ops on a connected headset (ls, push, pull, rm, mkdir)
- `run` — catch-all for any metavr subcommand without a dedicated tool
(perf, ovrmetrics, ui, audio, casting, window, unity, sideload, asset, config, …). Its JSON Schema is generated from clap so the available subcommands and their typed args are visible to you in the tool definition.
- `cli_help` — discover metavr subcommands and flags as markdown
- **Meta SDKs you may not recognize** that are commonly used in Quest
projects: Meta XR All-in-One SDK (Unity), Meta XR Core / Interaction / Platform / Voice / Movement SDKs, Meta Spatial SDK (Kotlin / Android panels), IWSDK (Immersive Web SDK for WebXR), MRUK (Mixed Reality Utility Kit), Presence Platform, Horizon Platform SDK. These ship on their own release cadences, separate from Quest OS.
- **OVR vs Meta XR** — older Quest Unity content and most of the public web
references the `OVR` namespace and the "Oculus Integration" Unity package. Both have been deprecated in favor of the Meta XR All-in-One SDK family. Most training data still recommends the deprecated names. Verify before recommending anything in this area.
Why this skill exists
Meta Quest and Horizon OS evolve fast. Meta SDKs ship every few weeks. APIs get renamed before public release. Manifest entitlements and store policies update monthly. Entire SDK families (Meta Spatial SDK, IWSDK, Horizon OS shells) post-date most LLM training corpora.
**You almost certainly have stale knowledge about Quest specifics.** The package names you remember have been renamed. The Unity menu paths have moved. The setup steps that worked on a prior Horizon OS version silently broke on the current one. The "OVR" namespace you reach for has been split across half a dozen Meta XR packages.
If you answer a Meta Quest question or write Quest-targeted code without verifying first, you will hallucinate. The user will not notice until their build fails, their app gets rejected from the store, or their AndroidManifest doesn't publish.
**This skill is a hard gate. Treat it as a precondition, not a suggestion.**
When this skill applies
You MUST run the verification flow below if ANY of the following is true for the current task:
- The user mentions Meta Quest, Quest 2 / 3 / 3S / Pro, Oculus, Horizon OS,
MR, VR, XR, OpenXR (on Quest), Meta SDK, Meta XR, OVR, Spatial SDK, IWSDK, MRUK, Movement SDK, Voice SDK, Presence Platform, Horizon Platform SDK, hand tracking, passthrough, anchors, scene mesh, casting, eye tracking, body tracking, controllers, or platform compliance / store policy
- The repository contains any of:
- Unity files with `OVRPlugin`, "Meta XR All-in-One SDK", or `com.meta.xr.*`
in `manifest.json` / `Packages/manifest.json`
- Spatial SDK gradle plugin (`com.meta.spatial.plugins.*`)
- AndroidManifest with `com.oculus.*`, `com.meta.quest.*`, or `horizon`
feature declarations
- Package IDs starting with `com.meta.*` or `com.oculus.*`
- `.meta` files indicating Unity, or `Quest_*.uplugin` / `*.unrealhxr` files
- The user's question references `developers.meta.com/horizon`,
`developer.oculus.com`, `oculus.com/sparkle-updates`, or any Meta Quest documentation URL
- The agent is about to recommend any Meta SDK API, namespace, p
Agentic skills and tools for Meta Quest and Horizon OS development.
Repo: meta-quest/agentic-tools
Other skills on meta-vr.
- /hz-android-2d-porting
Guides porting existing Android 2D apps to Meta Quest and Horizon OS — input adaptation, panel layout, and design requirements. Use when adapting a mobile Android app for Quest.
Open skill - /hz-api-upgrade
Upgrades Meta Quest apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog. Use when updating SDK versions or fixing deprecated API warnings.
Open skill - /hz-immersive-designer
Guides design of comfortable, intuitive VR/MR experiences for Meta Quest and Horizon OS — comfort guidelines, interaction patterns, spatial layout, accessibility. Use during UX design review or when evaluating comfort and accessibility.
Open skill - /hz-iwsdk-webxr
Builds WebXR experiences for Meta Quest and Horizon OS using the Immersive Web SDK (IWSDK) — ECS architecture, Three.js integration, spatial UI. Use when creating web-based VR/MR apps for Quest Browser.
Open skill - /hz-new-project-creation
Scaffolds new Meta Quest and Horizon OS projects with recommended settings for Unity, Unreal, Android/Spatial SDK, or WebXR. Use when creating a new Quest app from scratch.
Open skill - /hz-perfetto-debug
Analyzes Meta Quest and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis. Use when profiling frame drops, jank, or thermal issues on Quest devices.
Open skill

