Skip to content
Mobile
Skill

/speech

Recognize speech on connected glasses and consume partial and final transcriptions on iOS

BOOST
From plugin
meta-wearables-dat-ios
56817 skills
Install
$ npx -y skills add facebook/meta-wearables-dat-ios --skill speech --agent claude-code

How 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/speech

Context preview

The summary Claude sees to decide when to auto-load this skill.

Recognize speech on connected glasses and consume partial and final transcriptions on iOS

SKILL.md

speech.SKILL.md
name: speech
description: Recognize speech on connected glasses and consume partial and final transcriptions on iOS

Speech (iOS)

Speech is an experimental on-device recognition capability. Enable it for the app in Wearables Developer Center and obtain microphone permission before starting it.

Request permission deliberately

Check permission silently first with `checkPermissionStatus(.microphone)`. If it is not granted, call `requestPermission(.microphone)` only after a user action that explains the transition to the Meta AI app, and continue only when the result is `.granted`.

Attach and start

Add Speech after the `DeviceSession` reaches `.started`. Register listeners before `start()` so initial state, locale, errors, and transcription events are not missed.

guard let speech = try session.addSpeech() else { return }

speech.transcriptionPublisher.listen { result in
  if result.isFinal {
    commitTranscript(result.text)
  } else {
    showPartialTranscript(result.text)
  }
}.store(in: tokens)

speech.start()

Retain the listener token while Speech is attached. Observe `statePublisher`, `localePublisher`, and `errorPublisher` when the app needs lifecycle, locale, or failure updates.

`confidence` is between 0 and 1, or `-1` when unavailable. Do not discard a transcription just because confidence is unavailable.

Stop and remove

`speech.stop()` keeps Speech attached and allows another `start()`. Cancel listener tokens before calling `session.removeSpeech()`; removal is terminal.

Handle device disconnection, invalid state, unavailable recognition, already-listening, start failure, and unexpected errors through `errorPublisher`.

Test with MockDeviceKit

After Speech is listening, inject results with calls such as `glasses.services.speech.simulateTranscription(text: "turn left", isFinal: true, confidence: 0.9)`. The service can also inject locale changes, partial text, completion, and recognition errors. The live host-device ASR source is for manual MockDevice testing; real-glasses recognition uses the glasses microphone.

Availability

Speech is experimental. Apps can use it for development and beta testing, but cannot publish it to production release channels yet.

Read more
Ships withmeta-wearables-dat-ios

The Meta Wearables Device Access Toolkit enables developers to utilize Meta's AI glasses to build hands-free wearable experiences into their mobile applications.

Get the whole plugin
Stats
568
Stars
126
Forks
Active
Maintenance
Shell
Language
6d ago
Last commit
10mo ago
Created
5h ago
Added

Repo: facebook/meta-wearables-dat-ios

Other skills on meta-wearables-dat-ios.