Help us improve
Share bugs, ideas, or general feedback.
From mwdat-android
Provides Kotlin conventions, DatResult error handling, session lifecycle, and capability patterns for DAT SDK Android development.
npx claudepluginhub facebook/meta-wearables-dat-android --plugin mwdat-androidHow this skill is triggered — by the user, by Claude, or both
Slash command
/mwdat-android:dat-conventionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Task | Command |
Guides DAT SDK iOS development with Swift async/await patterns, naming conventions, and key types for device registration, camera streaming, and display.
Diagnoses common setup, session, and stream issues in DAT SDK integrations for Android wearables. Covers Developer Mode, version compatibility, and logging.
Provides Android and Kotlin development patterns for Jetpack Compose, architecture, coroutines, Room, navigation, Hilt. Use when building Android apps, writing Compose UI, or reviewing Android code.
Share bugs, ideas, or general feedback.
| Task | Command |
|---|---|
| Build app | ./gradlew assembleDebug |
| Run tests | ./gradlew test |
| Install app | ./gradlew installDebug |
| Lint app | ./gradlew lint |
The SDK is organized into four public modules:
Wearables.initialize(context)
val session = Wearables.createSession(AutoDeviceSelector()).getOrElse { error ->
throw IllegalStateException(error.description)
}
session.start()
val stream = session.addStream(StreamConfiguration()).getOrElse { error ->
throw IllegalStateException(error.description)
}
stream.start().getOrElse { error ->
throw IllegalStateException(error.description)
}
DatResult<T, E> for typed success and failure handlingStateFlow and FlowSession first, then attach capabilities such as Stream or DisplayWearables.checkPermissionStatus(Permission.CAMERA)
.onSuccess { status -> /* handle status */ }
.onFailure { error, _ -> /* handle error */ }
Avoid getOrThrow() in user-facing samples. Surface typed errors from DatResult instead.
| Type | Purpose | Example |
|---|---|---|
Session | Device connection lifecycle | Wearables.createSession(...) |
Stream | Camera capability on a session | session.addStream(...) |
Display | Display capability on a session | session.addDisplay(...) |
*Selector | Device targeting | AutoDeviceSelector |
*Error | Typed failure surface | SessionError, StreamError |
Wearables — SDK entry pointSession — lifecycle for an interaction with a linked deviceStream — camera capability attached to a sessionDisplay — display capability attached to a sessionStreamConfiguration — video quality and frame rate configurationMockDeviceKit — simulated device environment for testingIf your editor supports remote MCP servers, connect https://mcp.facebook.com/wearables_dat and use search_dat_docs for current DAT setup, session lifecycle, camera streaming, MockDeviceKit, permissions, and exact API symbols.
Use llms.txt when your tool only supports static reference context.
val mockDeviceKit = MockDeviceKit.getInstance(context)
mockDeviceKit.enable()
val device = mockDeviceKit.pairRaybanMeta()
Use MockDeviceKit to drive registration, device availability, streaming media, and permission scenarios without physical hardware.
Wearables.initialize(context)DatResult failures from createSession, start, addStream, addDisplay, or capturePhoto