facebook/meta-wearables-dat-android-debugging
Common issues, Developer Mode, version compatibility, and session and stream diagnosis
npx skills add https://github.com/facebook/meta-wearables-dat-android --skill debugging
Diagnose common setup, session, and stream issues in DAT SDK integrations.
If local DAT Inspector MCP tools are available, use the live-debugging-mcp
skill before changing app code. Prefer get_dat_readiness,
get_companion_boundary_diagnosis, and get_device_path to separate app bugs from
Meta AI app/device boundary issues using read-only DAT evidence.
No eligible device or session won't start?
|
+-- Did you call Wearables.initialize(context)? -> Must happen before SDK usage
|
+-- Did registration complete? -> Observe Wearables.registrationState
|
+-- Is Developer Mode enabled? -> Enable it in the Meta AI app for dev builds
|
+-- Does Wearables.devices contain a linked device? -> Check Bluetooth and range
|
+-- Did createSession() or addCamera() return a DatResult failure? -> Surface the typed error
Developer Mode must be enabled for local development builds that use mwdat_application_id = 0 and mwdat_client_token = 0.
Wearables.createSession(...) fails with no eligible deviceAPPLICATION_ID, CLIENT_TOKEN, and release-channel gating insteadSTARTEDWearables.registrationStateWearables.devices contains a compatible linked deviceSTREAMINGsession.start() succeeded before calling session.addCamera(...)Wearables.checkPermissionStatus(...)camera.stream.start() returned successcapturePhoto() only succeeds while the stream is actively streamingCaptureError instead of discarding the DatResultEnsure compatible versions of the SDK, Meta AI app, and glasses firmware. See version dependencies for the current compatibility matrix.
private const val TAG = "DATWearables"
camera.stream.start()
.onFailure { error, _ -> Log.e(TAG, "Failed to start stream: ${error.description}") }
Prefer logging typed DatResult failures and observed state transitions over generic exceptions.
When the developer has a local DAT debug server connected to the agent:
get_sdk_state and get_dat_readinessget_companion_boundary_diagnosis for permission, app identity, devicecapability, device-selection, deeplink-return, and DAM/DWA-visible blockers
get_device_path to trace app -> DAT registration -> Meta AI app permissions ->device selection/link -> session -> stream
wait_for_events with thenarrowest category or source that matches the flow
export_diagnostic_bundle for redacted support handoffDo not treat this as companion app introspection. It is diagnosis from
app-visible DAT debug events.
Wearables.initialize(context) ran before SDK usageAPPLICATION_ID and CLIENT_TOKEN match the build modeDatResult failures are surfaced in logs or UITake facebook/meta-wearables-dat-android-debugging from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.