Skill response fields
Four fields on a skill row control how the AI delivers what your skill returns to the engineer: responsetarget, displayhint, responsescheduling, and capturefra…
Four fields on a skill row control how the AI delivers what your skill returns to the engineer: response_target, display_hint, response_scheduling, and capture_frame_on_execute. Picking the right combination is the difference between a smooth experience and a confusing one.
response_target — where the response goes
The skill row has two valid values:
| Value | What it means |
|---|---|
context |
The skill's response is given to the AI as text. The AI uses it however it likes — usually summarising it in its next spoken turn. |
display |
The response is rendered to the glasses display. Useful for diagrams, manual pages, images, structured tables. |
context is the right default. Use display only when the engineer needs to look at something visual — diagrams, schematics, manual pages.
display_hint — how to render (only when target = display)
| Value | What it means |
|---|---|
fullscreen |
The render takes over the glasses display until the engineer dismisses it (voice command "back" or temple tap). Use for full-page manual content, exploded views, large diagrams. |
hud |
A heads-up display overlay — smaller, semi-transparent, doesn't fully block the engineer's view. Use for short reference info that's helpful to glance at while working. |
For target = context, display_hint is null (unused).
response_scheduling — when to deliver
Controls timing relative to the AI's ongoing conversation:
| Value | What it means |
|---|---|
INTERRUPT |
When your response arrives, the AI cuts in mid-speech and delivers it. Use when the answer is time-critical and the engineer is waiting (parts lookups, warranty checks). |
WHEN_IDLE |
Queue the response until the AI finishes its current turn. Use for background lookups whose results aren't urgent. |
null (default) |
Same as WHEN_IDLE — delivered between turns, no interruption. |
INTERRUPT is appropriate when the engineer is explicitly waiting ("hang on, looking that up for you…"). WHEN_IDLE is appropriate when the skill is enrichment that doesn't block conversation.
capture_frame_on_execute — visual context
Boolean. If true, the AI attaches a single frame from the engineer's POV camera to the skill call, alongside the parameters. Your endpoint receives the frame as a base64-encoded image in the request body.
When to enable:
- Your skill needs to identify something visually (a model plate, a serial number, an appliance type).
- Your skill writes the frame to a customer record (job photo, completion shot).
- Your skill does QA — e.g. flags whether the engineer's work meets a visual standard.
When to keep disabled:
- Your skill doesn't need an image (text-only lookups).
- The data you need is already in the conversation context.
Enabling adds ~200-500ms latency per call (frame capture + base64 encode + upload).
Typical combinations
| Use case | response_target | display_hint | response_scheduling | capture_frame |
|---|---|---|---|---|
| Warranty lookup | context |
— | INTERRUPT |
false |
| Parts catalogue render | display |
fullscreen |
INTERRUPT |
false |
| Quick stock check | context |
— | WHEN_IDLE |
false |
| Visual fault diagnosis | context |
— | INTERRUPT |
true |
| Reference card overlay | display |
hud |
WHEN_IDLE |
false |
Where these defaults come from for platform skills
Platform skills (from Marketplace bundles) ship with these fields pre-set by the bundle author. You can't override them on a platform skill — that's part of the bundle contract. For your own tenant skills, you choose.
MCP Tool defaults
When the AI calls a tool from a connected MCP server, the MCP server row has default_response_target, default_display_hint, and default_response_scheduling columns that apply to every tool from that server. You can override per-tool from the MCP Tools tab — see Managing MCP tools.
Where to next
- How skill orchestration works — how the AI picks between skills
- Creating a custom skill — set these fields when authoring