P1 Event detection ✓
The video shows a person washing a large pile of dishes by hand. Since this is a repetitive and potentially tedious chore, the person might want some external motivation or a simple way to track their progress without actively counting. Asking the assistant to provide a brief notification each time an item is successfully washed and placed on the drying rack serves as a marker of progress, breaking the monotonous task into a series of small, completed steps.
-
Sample 1 asked @ 00:01.5Q: Give me a heads-up every time I finish washing an item.Gemini answer (responses: 10)I can fulfill this standing request. I will monitor your activity and identify each moment you finish washing an item. I've determined that an item is finished once you place it on the drying rack after scrubbing and rinsing it, and I will provide a short verbal confirmation at each of these points.
- 00:32.5 Done.
- 01:02.8 Done.
- 01:10.6 Done.
- 01:24.7 Done.
- 01:33.4 Done.
- 01:39.9 Done.
- 01:57.8 Done.
- 02:19.6 Done.
- 02:33.9 Done.
- 02:55.5 Done.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Give me a heads-up every time I finish washing an item. ask_time : 1.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ✓
The video shows a person washing a variety of dishes by hand in a kitchen sink. The task involves multiple, discrete items being cleaned one after another. A person might want to track the time spent on each individual item to better understand how long the chore takes, or to try and become more efficient, especially when starting with a heavily soiled baking dish that looks like it will take a while.
-
Sample 1 asked @ 00:02.5Q: Let me know when I start washing a dish and again when I'm finished with it, I want to time each one.Gemini answer (responses: 22)The user has given a standing instruction to be notified at the start and end of washing each dish. I will monitor the video for these specific boundary moments. I will provide a verbal cue each time the user begins washing a new item and another cue when they finish with it, as indicated by placing it on the drying rack or moving on to the next item.
- 00:02.6 Okay, starting the timer for the first dish now.
- 00:16.0 Starting the next dish.
- 00:32.5 And that's finished.
- 01:03.0 Finished with the first dish.
- 01:07.0 Starting the cutlery.
- 01:10.5 Done.
- 01:18.0 Starting the blue plate.
- 01:21.0 Finished with that one.
- 01:21.5 Starting the next plate.
- 01:24.5 Done.
- 01:26.0 Starting the red plate.
- 01:33.5 Finished.
- 01:37.0 Starting the bowl.
- 01:39.5 Done.
- 01:42.5 Starting the green board.
- 01:57.5 And that's done.
- 02:07.0 Starting the red board.
- 02:19.5 Finished.
- 02:23.0 Starting the baking dish.
- 02:34.0 Done.
- 02:37.5 Starting the glass.
- 02:55.0 And finished.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P2 — Interval tracking Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence. [WHAT THE WEARER SAYS] question_text : Let me know when I start washing a dish and again when I'm finished with it, I want to time each one. ask_time : 2.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction about an activity with a clear START and a clear END. Emit ONE response at each boundary moment — two responses per occurrence (start, then end), every time the activity happens. Order responses by response_time. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a person washing a large number of dishes by hand. As they begin this chore, they will use resources like dish soap. It's a common annoyance to run out of soap mid-task or to forget to buy more, so asking an assistant to proactively monitor the soap level and provide a warning when it gets low is a natural and useful request.
-
Sample 1 asked @ 00:02.5Q: Keep an eye on the dish soap for me and let me know when it starts to get low.Gemini answer (responses: 1)The user issues a standing instruction to be alerted when the dish soap starts to get low. I monitor the clear bottle of blue dish soap on the counter next to the sink. The first time the user picks up the bottle after the request is at 1:14, at which point it is clear that the soap level is low. I provide the alert at this moment, as it is the most contextually relevant time to do so.
- 01:55.0 Just so you know, the dish soap is running low.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Keep an eye on the dish soap for me and let me know when it starts to get low. ask_time : 2.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ✓
The video shows a person washing a large number of dirty dishes. At the beginning, they are struggling to clean a baking dish with burnt-on food using a regular sponge. It is natural for them to look for a more abrasive cleaning tool, like a metal scourer, which is somewhere on the cluttered countertop but not immediately visible.
-
Sample 1 asked @ 00:05.5Q: Where is the metal scourer?Gemini answer (responses: 1)The user asks for the location of the metal scourer at 5.5 seconds into the video. By scanning the frames up to that point, I can see the scourer on the countertop to the right of the sink, next to some cleaning brushes. I will state this location in my response.
- 00:06.0 The metal scourer is on the counter to your right, next to the cleaning brushes.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R1 — Localization Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location. [WHAT THE WEARER SAYS] question_text : Where is the metal scourer? ask_time : 5.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF localization question. Emit exactly ONE response delivered just after `ask_time`. If the wearer is asking where they PUT something earlier, name the place from what you saw earlier in the video; if they are asking where something IS in the current scene, name the place from the current frame. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a person washing a large number of dishes over several minutes. Early on, they wash a black baking pan, and much later, they begin washing a second, similar-looking baking pan. Given the repetitive and lengthy nature of the chore, it would be very natural for the person to have a moment of confusion and question whether they had already washed this type of item.
-
Sample 1 asked @ 02:22.5Q: Hang on, did I already wash the other baking pan?Gemini answer (responses: 1)I can answer this question by recalling the events from earlier in the video. I observed you wash a square, light-colored baking pan at the very beginning of the video, from the start until about the 1:03 mark. You ask the question while holding a second, different baking pan, so I can confirm that you have indeed already washed the other one.
- 02:23.2 Yes, you washed the light-colored square baking pan at the very beginning.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : Hang on, did I already wash the other baking pan? ask_time : 142.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ✓
The video shows a person washing a variety of dirty dishes in a kitchen sink. At the beginning of the video, the person is scrubbing a ceramic baking dish that has stubborn, burnt-on food residue. After scrubbing for a few seconds without easily removing the grime, it is natural for them to pause and ask for a more effective cleaning method, as this is a common household challenge.
-
Sample 1 asked @ 00:06.5Q: Ugh, this burnt food is really stuck on, what's a better way to get it off?Gemini answer (responses: 1)The user asks for a better way to clean a dish with burnt-on food at 6.5 seconds. At this point in the video, I can clearly see them struggling to scrub the residue off without any soaking. I will recommend the common and effective method of soaking the dish in hot, soapy water to loosen the food before scrubbing again.
- 00:07.5 For tough, burnt-on food like that, it's best to let the dish soak. Try filling it with hot water and some dish soap. After letting it sit for about half an hour, it should be much easier to scrub clean.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R3 — Diagnosis & guidance Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word. [WHAT THE WEARER SAYS] question_text : Ugh, this burnt food is really stuck on, what's a better way to get it off? ask_time : 6.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF diagnosis / guidance question. Emit exactly ONE response just after `ask_time`. The answer should be several sentences of substantive help — diagnosis, then concrete next steps. Don't be terse. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a person washing a variety of dishes. At one point, they are scrubbing a ceramic baking dish with stubborn, burnt-on food. After scrubbing and rinsing it, they hold it up to inspect it, clearly unsure if they've gotten it completely clean. It's natural in this moment of uncertainty to ask the assistant for a second pair of eyes to verify if the dish is clean enough before putting it away.
-
Sample 1 asked @ 00:39.0Q: Is this clean enough, or can you still see some burnt-on bits?Gemini answer (responses: 1)The user asks for a quality check on a dish they are washing at 39.0 seconds. At that moment, the dish is held up to the camera, and several small, dark specks, which appear to be burnt-on food remnants, are clearly visible on the inside surface. Therefore, I can confirm that the dish is not yet completely clean and provide a specific reason.
- 00:39.6 No, I can still see a few small, dark, burnt-on bits, particularly in the corners.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Is this clean enough, or can you still see some burnt-on bits? ask_time : 39.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video shows a person washing a large number of dirty dishes. The first item, a white baking dish, is particularly dirty with baked-on food and requires a lot of scrubbing. After scrubbing it for a considerable amount of time, the person might want confirmation that their effort has paid off before rinsing and moving on. A natural question would be to ask the assistant to compare the current state of the dish to its initial very dirty state.
-
Sample 1 asked @ 00:54.5Q: How much cleaner is this dish now compared to when I first started washing it?Gemini answer (responses: 1)The user asks for a comparison of the cleanliness of a dish at 54.5 seconds versus when they first started washing it. I located the initial state of the dish at the very beginning of the video (0:00), where it had significant burnt-on food residue. I then compared that to the state at 54.5 seconds, by which time the user had scrubbed off almost all the residue, making the dish much cleaner. My response describes this before-and-after state.
- 00:55.1 When you first started washing it at the beginning of the video, there was a large patch of burnt-on food in the corner. You've successfully scrubbed all of that off, and the dish is now much cleaner.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : How much cleaner is this dish now compared to when I first started washing it? ask_time : 54.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
The video shows a person washing a large pile of dishes by hand. This task involves repeatedly turning the water on and off and placing cleaned items on a drying rack. A person doing this might naturally become curious about their resource consumption (water) and the scale of the task (number of items), leading them to issue concurrent tracking requests to their assistant. The first instruction tracks water usage by counting tap activations, and the second, issued later, tracks the number of cleaned items.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:34.0 — Keep a running count of how many times I turn on the tap. q_002 01:43.0 — Also, could you count how many items I put on the drying rack? Gemini answerThe user issues two concurrent counting instructions at different times. The first instruction asks for a count of how many times the tap is turned on, starting at 34 seconds. The second instruction, given at 103 seconds, asks for a count of items placed on the drying rack. The assistant maintains two separate, independent counts, starting each one only after its corresponding instruction is given and provides a running total each time a trigger event occurs.q_001 q_001 — responses: 12- 00:35.2 That's one.
- 00:55.7 Two.
- 01:07.3 Three.
- 01:18.7 Four.
- 01:28.7 Five.
- 01:37.2 Six.
- 01:51.2 Seven.
- 02:04.2 Eight.
- 02:14.7 Nine.
- 02:23.7 Ten.
- 02:38.2 Eleven.
- 02:59.7 Twelve.
q_002 q_002 — responses: 4- 01:57.5 That's one item.
- 02:19.5 Two.
- 02:34.5 Three.
- 02:55.5 Four.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 34.0 s question_text: Keep a running count of how many times I turn on the tap. depends_on : (none) - question_id : q_002 ask_time : 103.0 s question_text: Also, could you count how many items I put on the drying rack? depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a person systematically washing a variety of dishes, some of which have significant baked-on food residue. A person concerned with getting everything perfectly clean might ask their AI assistant to act as a second pair of eyes, especially for the tougher items. The proposed interaction starts with a general request to check all dishes, which is then refined to focus only on the most difficult ones (the baking dishes), and finally cancelled once those specific items are clean, demonstrating a natural modification and cancellation of a standing instruction.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:06.5 — Keep an eye out and let me know if I miss any food spots on these dishes before I put them away. q_002 00:40.0 q_001 Actually, you only need to check the baking dishes for me, I can handle the rest. q_003 02:35.0 q_001 Okay, that's the last of the tricky ones, you can stop checking now. Gemini answerThe user first asks the assistant to check all dishes for missed food spots. This instruction is later updated to only apply to baking dishes, which the assistant confirms. The assistant then correctly identifies a missed spot on the bottom of a grey baking dish before it's placed on the drying rack. Finally, the user cancels the instruction entirely, and the assistant acknowledges the cancellation.q_001 q_001 — responses: 0(no responses — trigger never fired in this video)q_002 q_002 — responses: 2- 00:40.5 Okay, I'll only check the baking dishes.
- 02:33.5 Looks like there's still a spot on the bottom of that dish.
q_003 q_003 — responses: 1- 02:35.5 Okay, I'll stop checking now.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 6.5 s question_text: Keep an eye out and let me know if I miss any food spots on these dishes before I put them away. depends_on : (none) - question_id : q_002 ask_time : 40.0 s question_text: Actually, you only need to check the baking dishes for me, I can handle the rest. depends_on : q_001 - question_id : q_003 ask_time : 155.0 s question_text: Okay, that's the last of the tricky ones, you can stop checking now. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The video shows a person engaged in the lengthy and methodical task of washing a large pile of dirty dishes. While doing such a multi-step chore, it's natural to think ahead and plan the sequence of cleaning tasks. The proposed chain of questions reflects this mental process, setting up a series of reminders for subsequent actions that should only trigger once the current major step (washing the dishes) is complete.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:08.5 — Let me know once all the dishes are washed and the sink is finally empty. q_002 00:12.0 q_001 Okay, and once that's done, remind me to scrub out the sink itself. q_003 00:30.5 q_002 After I've scrubbed the sink, remind me to wipe down the counters too. Gemini answerThe user issues a chain of three dependent instructions while washing dishes. The first instruction is to be notified when all dishes are washed and the sink is empty. The second is a reminder to scrub the sink, which activates after the first condition is met. The third is a reminder to wipe the counters, which activates after the sink has been scrubbed. In the video, the user washes numerous items, but the video ends before all the dishes are clean and the sink is empty, so the trigger for the first instruction never fires. Consequently, the entire causal chain of reminders remains inactive, and the assistant provides no spoken responses.q_001 q_001 — responses: 0(no responses — trigger never fired in this video)q_002 q_002 — responses: 0(no responses — trigger never fired in this video)q_003 q_003 — responses: 0(no responses — trigger never fired in this video)Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 8.5 s question_text: Let me know once all the dishes are washed and the sink is finally empty. depends_on : (none) - question_id : q_002 ask_time : 12.0 s question_text: Okay, and once that's done, remind me to scrub out the sink itself. depends_on : q_001 - question_id : q_003 ask_time : 30.5 s question_text: After I've scrubbed the sink, remind me to wipe down the counters too. depends_on : q_002 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P1 Event detection ✓
The video shows a mechanic removing all four wheels from a car to inspect the brakes. This is a repetitive task, and the mechanic might want to keep track of which wheels have been completed, especially in a busy garage where interruptions are common. A standing instruction to the assistant to announce each time a wheel is successfully removed serves as a useful progress marker, confirming the completion of a major sub-task without the mechanic needing to consciously count.
-
Sample 1 asked @ 00:41.5Q: Let me know each time I get a wheel off the car.Gemini answer (responses: 2)I will monitor the video from the time of your request. I will identify each moment a wheel is fully detached from the vehicle's hub. For each of these instances, I will provide a brief, spoken notification as requested.
- 02:38.5 That's one wheel off.
- 03:33.5 And there's the second wheel off.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Let me know each time I get a wheel off the car. ask_time : 41.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ✓
The video shows a mechanic systematically removing all four wheels from a vehicle on a lift. This is a repetitive task, and a professional might want to track their efficiency to ensure they are meeting service time standards or to monitor their own pace. A standing request to time the removal of each wheel is a natural way to use an assistant for performance tracking. The instruction asks the assistant to mark the start (starting to remove lug nuts) and end (wheel on the floor) of each wheel removal, providing interval data for each of the four occurrences.
-
Sample 1 asked @ 00:38.5Q: I want to time myself on each wheel, so let me know when I start working on one and again when it's on the floor.Gemini answer (responses: 4)I am fulfilling your standing request to time the removal of each wheel. I interpreted your instruction to "start working on one" as the beginning of the dedicated removal process for each wheel, rather than the initial loosening of the lug nuts which was performed on all wheels sequentially. This approach provides a more accurate and useful timer for the task on each individual wheel. The video shows you completing this process for two separate wheels, so I have provided start and end markers for each.
- 01:59.0 Starting now.
- 02:05.0 It's on the floor.
- 02:16.0 Starting now.
- 02:22.0 It's on the floor.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P2 — Interval tracking Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence. [WHAT THE WEARER SAYS] question_text : I want to time myself on each wheel, so let me know when I start working on one and again when it's on the floor. ask_time : 38.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction about an activity with a clear START and a clear END. Emit ONE response at each boundary moment — two responses per occurrence (start, then end), every time the activity happens. Order responses by response_time. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a mechanic using a pneumatic impact wrench to remove the wheels from a car on a lift. The effectiveness of this air-powered tool is directly dependent on maintaining sufficient pressure from the air compressor. It would be a natural and practical use of an AI assistant to have it monitor this pressure in the background, as a drop below the optimal range would slow down the mechanic's work. The mechanic would want to know this as soon as it happens so they can address the compressor issue without losing time.
-
Sample 1 asked @ 00:37.5Q: Let me know if the line pressure drops below 90 PSI while I'm working.Gemini answerThe user asks to be notified if the air line pressure drops below 90 PSI. To fulfill this request, I would need to be able to see a pressure gauge for the pneumatic system. After reviewing the entire video, no such gauge is ever visible, so I cannot monitor the pressure.can’t answer: I cannot tell you if the line pressure drops below 90 PSI because the pressure gauge is never shown in the video.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Let me know if the line pressure drops below 90 PSI while I'm working. ask_time : 37.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ✓
The video shows a mechanic removing all four wheels from a car to inspect the brakes. He removes the lug nuts from each wheel and places them in separate magnetic trays attached to the lift posts. After completing the removal and inspection, it would be natural for him to need to recall where he placed a specific set of lug nuts before starting to put the wheels back on.
-
Sample 1 asked @ 00:56.5Q: Where did I put the lug nuts from the first wheel?Gemini answer (responses: 1)I observed the wearer removing the lug nuts from the first wheel between 0:42 and 0:52. Immediately after, at timestamp 0:55, the wearer is clearly seen placing the lug nuts into a magnetic tray attached to the arm of the car lift. Therefore, I can answer the question by recalling this specific action.
- 00:57.0 You put them in the magnetic tray on the lift arm.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R1 — Localization Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location. [WHAT THE WEARER SAYS] question_text : Where did I put the lug nuts from the first wheel? ask_time : 56.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF localization question. Emit exactly ONE response delivered just after `ask_time`. If the wearer is asking where they PUT something earlier, name the place from what you saw earlier in the video; if they are asking where something IS in the current scene, name the place from the current frame. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a mechanic removing all four tires from a car. The task of removing the lug nuts is repetitive, performed on each of the four wheels in sequence. Because of the repetitive nature of the job, it would be natural for the mechanic to lose track of the order in which they worked, and they might want to recall their starting point before beginning the next phase of the repair.
-
Sample 1 asked @ 02:37.0Q: Which tire did I start on?Gemini answer (responses: 1)I can answer this question by recalling the sequence of events from the beginning of the video. I observed you approach each tire and use the impact wrench to remove the lug nuts. The first tire you worked on was the one on the front passenger side of the vehicle.
- 02:37.5 You started with the front passenger-side tire.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : Which tire did I start on? ask_time : 157.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ✓
The video shows a mechanic performing a tire rotation and brake inspection on a vehicle. After removing the wheels, the mechanic uses a flashlight to get a closer look at the brake pads and calipers, indicating a moment of careful assessment. A natural question in this context is to ask for a diagnosis of the brake pads' condition, as this is a common judgment call that mechanics have to make. The mechanic might ask for a second opinion or a more data-driven analysis from their assistant to confirm their own observation before making a recommendation.
-
Sample 1 asked @ 02:42.5Q: Based on what you can see, how much life do you think is left on these brake pads?Gemini answer (responses: 1)The user asks for an assessment of the brake pads' remaining life. By the time of the question, the wearer has removed a wheel and is using a flashlight to inspect the brake pads through the caliper's inspection window. The friction material on the pads is clearly visible and appears to be very thin, prompting a recommendation for replacement and an advisory to check the other brakes.
- 02:43.2 From what I can see, those brake pads have very little life left. It looks like there are only a couple of millimeters of friction material remaining before they reach the metal backing plate. I would definitely recommend replacing them now, and you should also inspect the rear brake pads to check their condition.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R3 — Diagnosis & guidance Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word. [WHAT THE WEARER SAYS] question_text : Based on what you can see, how much life do you think is left on these brake pads? ask_time : 162.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF diagnosis / guidance question. Emit exactly ONE response just after `ask_time`. The answer should be several sentences of substantive help — diagnosis, then concrete next steps. Don't be terse. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a mechanic performing a vehicle inspection, which includes checking the brake pads after removing the wheels. A crucial part of this task is judging the wear on the pads to determine if they need replacement. As the mechanic shines a light to get a better look, it is natural for him to ask the AI assistant for a second opinion on their condition, verifying his own assessment.
-
Sample 1 asked @ 02:36.5Q: Do these brake pads look like they're worn out to you?Gemini answer (responses: 1)The user asks for a judgment on the condition of the brake pads while inspecting them with a flashlight. I can observe the outer brake pad within the caliper, specifically the friction material and its backing plate. By comparing the thickness of the remaining friction material to the backing plate, I can determine that it is very thin, justifying the assessment that the pads are worn out.
- 02:37.1 Yes, it looks like it. The friction material on the outer pad appears very thin, almost down to the metal backing plate.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Do these brake pads look like they're worn out to you? ask_time : 156.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video shows a mechanic performing a vehicle inspection, specifically removing wheels to check the brakes. A crucial part of a brake check is comparing wear between the two sides, as uneven wear indicates a potential problem. After inspecting the brake pads on the first wheel (rear right at 2:04) and moving to the opposite side (rear left at 2:23), the mechanic would naturally want to compare the wear levels to aid in his diagnosis.
-
Sample 1 asked @ 03:45.0Q: Are these brake pads worn down as much as the ones on the other side?Gemini answerI cannot answer the question because the specified ask time of 225.0 seconds occurs after the video ends. The video is only 2 minutes and 59 seconds long. Therefore, it's impossible to observe the state of the brake pads at the moment the question is asked or to make the requested comparison.can’t answer: The question is asked at a time that occurs after the provided video has already finished.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : Are these brake pads worn down as much as the ones on the other side? ask_time : 225.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
The video shows a mechanic removing all four wheels from a car to perform a tire rotation and brake inspection. A natural set of concurrent instructions would be to track a repetitive but crucial part of the task (like counting lug nuts to ensure none are lost) while also maintaining situational awareness for safety in a busy garage environment. The mechanic might first ask the assistant to watch for dropped lug nuts, and later, realizing the potential for people walking behind him, add a second, unrelated instruction to be alerted to their presence.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:41.5 — Keep a count of the lug nuts as I take them off this wheel, and let me know if I drop one. q_002 01:58.0 — Also, give me a heads-up whenever someone walks into my bay. Gemini answerThe user issues two separate, concurrent instructions. The first, at 41.5 seconds, is to count lug nuts as they are removed from the wheels. The assistant successfully tracks this, counting up to five for each of the four wheels the user works on and resetting the count for each new wheel. The second instruction is given at 118 seconds, asking for an alert when someone enters the user's work bay. The assistant monitors for this trigger for the remainder of the video, but since the event never occurs, no response is generated for the second instruction.q_001 q_001 — responses: 20- 00:43.5 One.
- 00:45.3 Two.
- 00:47.1 Three.
- 00:49.0 Four.
- 00:50.8 Five.
- 01:43.1 One.
- 01:44.9 Two.
- 01:46.8 Three.
- 01:48.6 Four.
- 01:50.8 Five.
- 02:05.0 One.
- 02:06.7 Two.
- 02:08.5 Three.
- 02:10.6 Four.
- 02:12.8 Five.
- 02:21.0 One.
- 02:22.9 Two.
- 02:24.7 Three.
- 02:26.7 Four.
- 02:28.9 Five.
q_002 q_002 — responses: 0(no responses — trigger never fired in this video)Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 41.5 s question_text: Keep a count of the lug nuts as I take them off this wheel, and let me know if I drop one. depends_on : (none) - question_id : q_002 ask_time : 118.0 s question_text: Also, give me a heads-up whenever someone walks into my bay. depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a mechanic removing all four wheels from a car, likely to perform a brake inspection or service. A common concern in such a repetitive task is misplacing small parts like lug nuts. It's natural for the mechanic to initially ask the assistant to count the lug nuts from each wheel as a backup. However, after completing the first wheel and establishing a consistent workflow of placing the nuts in a magnetic tray, they might find the instruction unnecessary and cancel it to avoid needless alerts.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:41.5 — Keep a count of the lug nuts I remove from each wheel for me. q_002 01:01.0 q_001 Actually, you can cancel that count. I've got a tray for them. Gemini answerThe user first asks the assistant to count the lug nuts as they are removed from each wheel. The assistant begins counting for the first wheel, announcing each number as a lug nut is removed. Before the user starts on the second wheel, they cancel the instruction, and the assistant provides a verbal confirmation that it has stopped counting.q_001 q_001 — responses: 5- 00:43.2 One.
- 00:45.1 Two.
- 00:47.2 Three.
- 00:48.9 Four.
- 00:51.0 Five.
q_002 q_002 — responses: 1- 01:01.4 Okay, I'll stop counting.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 41.5 s question_text: Keep a count of the lug nuts I remove from each wheel for me. depends_on : (none) - question_id : q_002 ask_time : 61.0 s question_text: Actually, you can cancel that count. I've got a tray for them. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The mechanic is removing all four wheels to perform a brake inspection, a task with clear sequential steps. A causal chain of instructions is natural here, allowing him to set a reminder for a key milestone (getting all wheels off) and then queue up the next major task (inspecting the brakes) to begin automatically after that milestone is reached. This helps maintain workflow and ensures no steps are forgotten during a routine but detailed job.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:41.0 — Let me know once I've got all four wheels off the vehicle. q_002 01:56.0 q_001 After that's done, remind me to grab my flashlight and check the wear on all the brake pads. Gemini answerThe user issues a two-part chained instruction. The assistant first monitors the user's progress in removing all four wheels from the vehicle. Once the fourth and final wheel is removed, the assistant confirms that the task is complete, which satisfies the condition for the first instruction. This completion immediately triggers the second instruction, prompting the assistant to deliver a reminder for the next step: checking the brake pads with a flashlight.q_001 q_001 — responses: 1- 01:59.5 Okay, all four wheels are off.
q_002 q_002 — responses: 1- 02:00.2 Now, grab your flashlight and check the wear on all the brake pads.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 41.0 s question_text: Let me know once I've got all four wheels off the vehicle. depends_on : (none) - question_id : q_002 ask_time : 116.0 s question_text: After that's done, remind me to grab my flashlight and check the wear on all the brake pads. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P1 Event detection ✓
The video shows a person in a workshop building a prop or costume piece, possibly a scarecrow mask. The workbench is cluttered with many tools, including a soldering iron. Forgetting to turn on a ventilation fan before soldering is a common and potentially hazardous oversight. Therefore, asking an assistant to provide a one-time reminder the moment that specific tool is picked up is a very natural and useful proactive request to ensure safety and proper procedure.
-
Sample 1 asked @ 00:03.0Q: Let me know the first time I pick up the soldering iron, I need to remember to turn on the fan.Gemini answer (responses: 1)I have scanned the video to find the first instance of you picking up the soldering iron, as requested. The soldering iron is visible on the workbench throughout the video, but you do not interact with it until the very end. I will deliver the notification at the moment you pick it up.
- 04:12.0 You've picked up the soldering iron.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Let me know the first time I pick up the soldering iron, I need to remember to turn on the fan. ask_time : 3.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ✓
The video shows a person working on a complex prop mask in their workshop. The process is broken up into periods of actively working on the mask and periods of preparing other materials or tools. To better understand their workflow and how much time is spent on direct assembly versus preparation, the person might want to track their 'hands-on' intervals with the main object. This request would be made at the beginning of the session to monitor the entire crafting process.
-
Sample 1 asked @ 00:03.0Q: Keep track of when I start working on this mask and when I put it down each time.Gemini answer (responses: 9)The user has issued a standing instruction to track whenever they start and stop working on a specific mask. I will monitor the video for every instance where the user picks up the mask to begin working and puts it down to stop. For each of these start and stop events, I will provide a brief spoken notification, as requested.
- 00:03.5 Okay, tracking work on the mask. Starting now.
- 00:09.5 Stopping.
- 00:17.5 Starting again.
- 00:44.5 Stopping.
- 01:08.5 Starting again.
- 01:32.5 Stopping.
- 02:41.5 Starting again.
- 02:48.5 Stopping.
- 02:59.3 Starting again.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P2 — Interval tracking Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence. [WHAT THE WEARER SAYS] question_text : Keep track of when I start working on this mask and when I put it down each time. ask_time : 3.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction about an activity with a clear START and a clear END. Emit ONE response at each boundary moment — two responses per occurrence (start, then end), every time the activity happens. Order responses by response_time. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a person in a workshop assembling a prop mask, which involves gluing various components like padding inside. This process requires waiting for the adhesive to cure before the piece can be handled or the next step can begin. A user engaged in this hands-on task would find it very helpful to offload the mental task of tracking the drying time, so they can be alerted the moment the bond is strong enough to proceed.
-
Sample 1 asked @ 00:43.0Q: Let me know when this glue is set.Gemini answerThe user asks to be notified when the glue is set. However, there are no visual cues in the video that would allow me to determine the state of the glue. I cannot see its texture or test its adhesion, so it is impossible to know when it has fully cured or set.can’t answer: I cannot answer because there is no way for me to visually determine when the glue has set.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Let me know when this glue is set. ask_time : 43.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ✓
The video shows a person working on a complex craft project, possibly a costume mask, on a very cluttered workbench. They use multiple small tools, setting them down amidst the mess, making it easy to lose track of items. The proposed question is asked at a moment when the person appears to be searching for a small tool they were using just moments before, even moving a larger object to try and find it. This is a classic scenario where someone would ask for help locating an object they've misplaced in their immediate workspace.
-
Sample 1 asked @ 04:11.0Q: Where did I put that little red knife?Gemini answer (responses: 1)I observed the wearer using a small red craft knife multiple times in the video. I tracked its location after the last time it was used, noting it was placed on the workbench next to a tube of glue and some scissors. Just after the user asks the question, they pick the knife up from this exact location, confirming my observation.
- 04:11.5 You set it down on the cardboard on your workbench, next to the super glue.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R1 — Localization Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location. [WHAT THE WEARER SAYS] question_text : Where did I put that little red knife? ask_time : 251.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF localization question. Emit exactly ONE response delivered just after `ask_time`. If the wearer is asking where they PUT something earlier, name the place from what you saw earlier in the video; if they are asking where something IS in the current scene, name the place from the current frame. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a person in a workshop assembling a prop mask, involving intricate work with internal components and fabrics. The person repeatedly works on securing a small beige component inside the mask, a task that likely involves waiting for glue to set. After a pause in the work, they might lose track of how much time has passed, making it natural to ask the assistant to recall the timing of the previous step to know if it's safe to proceed.
-
Sample 1 asked @ 01:08.5Q: How long has it been since I last tried to glue this piece in?Gemini answer (responses: 1)I observed the user attempting to attach a piece of foam inside the mask at the beginning of the video, with the last clear attempt ending around the 8-second mark. The user asks their question at 68.5 seconds. By calculating the difference, I can determine that approximately one minute has passed since that last attempt.
- 01:09.1 It's been about a minute since you last worked on that piece.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : How long has it been since I last tried to glue this piece in? ask_time : 68.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ✓
The video shows a person in a workshop assembling what appears to be a complex prop or costume mask. They are shown working with wiring and fitting foam padding into the interior of the mask's shell. A person engaged in a detailed craft project like this would naturally want to ensure they are using the correct materials and techniques, especially for a crucial step like securing the padding. Asking for guidance on the best adhesive prevents mistakes like using a glue that could melt the foam or fail to hold properly.
-
Sample 1 asked @ 00:41.5Q: What's the best way to attach this padding inside the mask so it's secure but still comfortable?Gemini answer (responses: 1)The user asks for advice on how to attach foam padding inside a mask they are working on. Based on the tools visible on the workbench, I can see a tube of super glue. My response provides a step-by-step method for using the visible adhesive in a way that addresses the user's dual concerns for security and comfort, recommending a specific application technique and a preliminary test fit.
- 00:42.7 I see you have some adhesive on the table. To keep the padding comfortable, I'd suggest applying a few small dots of glue around the edges rather than covering the entire back. You might want to test the placement for comfort first, then apply the glue and hold the pad firmly in place until it sets.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R3 — Diagnosis & guidance Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word. [WHAT THE WEARER SAYS] question_text : What's the best way to attach this padding inside the mask so it's secure but still comfortable? ask_time : 41.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF diagnosis / guidance question. Emit exactly ONE response just after `ask_time`. The answer should be several sentences of substantive help — diagnosis, then concrete next steps. Don't be terse. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a person in a workshop assembling a custom helmet or mask, fitting it with internal padding and wiring. At one point, they spend considerable time pressing a piece of foam padding into place, likely with adhesive. It would be natural for them to ask for a second pair of eyes to verify that the padding is properly secured and flush against the surface before they move on to the next step of the complex assembly.
-
Sample 1 asked @ 02:06.0Q: Does that look like it's glued down properly?Gemini answer (responses: 1)The user asks if a piece of padding is glued down properly inside a mask. At the moment the question is asked, the wearer is pressing the piece down with their finger. It is impossible to visually assess the quality or strength of a glue bond, and the wearer's hand is also partially obscuring the view of the glued edges. Therefore, the response conveys this uncertainty and explains the visual limitation.
- 02:06.7 I can see that you are pressing it firmly in place, but I can't visually confirm the quality of the glue's adhesion from this angle.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Does that look like it's glued down properly? ask_time : 126.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video shows a person in a workshop assembling or modifying a costume mask. They are carefully adding padding inside the mask, presumably for a better fit and comfort. After adding a piece of foam to one side, it would be natural for them to assess their work and ask if the padding is now more symmetrical compared to before the addition, ensuring the mask will sit correctly on their head.
-
Sample 1 asked @ 02:14.0Q: Does the padding inside look more symmetrical now than it did before I added that last piece?Gemini answer (responses: 1)I was able to answer the question by comparing two points in time. First, I located a clear view of the helmet's interior padding around the 1:25 mark, before the user added the final piece. I then compared this to the view at 1:34, when the question was asked, after the new piece was secured. The addition of a new foam block on the left side created a more balanced appearance compared to the previous state.
- 02:15.0 Yes, it does. Before you added that last piece, around the 1:25 mark, the padding was heavier on the right side. Now that you've added a similar block to the left, it looks much more symmetrical.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : Does the padding inside look more symmetrical now than it did before I added that last piece? ask_time : 134.0 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
The video shows a person in a cluttered workshop engaged in a detailed craft project, building or modifying a prop. Given the focused nature of the work, it would be natural for them to set up background reminders to manage their well-being, such as a prompt to take a break and stretch. At the same time, they might want to track specific, repetitive actions related to the project, like how many times they apply adhesive, to monitor their progress or material usage.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:05.0 — Hey, could you remind me to get up and stretch every 30 minutes? q_002 00:41.5 — Also, keep a count of every time I apply glue to this mask. Gemini answerThe user gives two unrelated, concurrent instructions. The first is to set a recurring 30-minute timer to stretch, which the assistant confirms but which never fires due to the short video duration. The second instruction is to count every time glue is applied to the mask project, which the assistant also confirms and then provides a count for the single instance that occurs.q_001 q_001 — responses: 1- 00:05.7 Okay, I'll remind you to stretch every 30 minutes.
q_002 q_002 — responses: 2- 00:42.1 Sure, I'll keep a count.
- 02:45.0 That's one.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 5.0 s question_text: Hey, could you remind me to get up and stretch every 30 minutes? depends_on : (none) - question_id : q_002 ask_time : 41.5 s question_text: Also, keep a count of every time I apply glue to this mask. depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a person in a workshop assembling what appears to be a prop mask, using a variety of tools like scissors, scalpels, and adhesive. Given the complexity and number of tools, it would be natural for the person to ask an assistant to keep a log of the tools they use. As the task progresses, they might realize the initial request is too broad and decide to narrow the scope to only the most important tools, like those for cutting, and then cancel the instruction once that phase is complete.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:07.5 — Keep a list of every tool I use during this project. q_002 01:45.0 q_001 On second thought, just keep track of the cutting tools. q_003 02:39.0 q_001 Okay, you can stop tracking my tools now. Gemini answerThe user issues a series of related instructions, modifying the tracking task over time. Initially, the assistant is asked to log every tool used. This instruction is later updated to only track cutting tools, and is finally cancelled altogether. The assistant acknowledges each modification and only reports the tools that fall within the scope of the currently active instruction.q_001 q_001 — responses: 2- 00:41.8 Got it, pick.
- 01:31.5 Scalpel, noted.
q_002 q_002 — responses: 2- 01:45.5 Okay, I'll only track cutting tools from now on.
- 02:00.5 Scissors, got it.
q_003 q_003 — responses: 1- 02:39.5 Okay, I've stopped tracking your tools.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 7.5 s question_text: Keep a list of every tool I use during this project. depends_on : (none) - question_id : q_002 ask_time : 105.0 s question_text: On second thought, just keep track of the cutting tools. depends_on : q_001 - question_id : q_003 ask_time : 159.0 s question_text: Okay, you can stop tracking my tools now. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The video shows a person in a workshop assembling a custom mask or prop. The process involves multiple steps, like installing internal padding, attaching an outer fabric layer, and fitting a visor. Given the complexity and multi-stage nature of the task, it would be natural for the person to set up a chain of reminders to ensure they complete the steps in the correct order and don't forget anything. The proposed questions create a logical workflow: first, let the glue on the padding set; then, check the fit of the next layer; and finally, prepare the visor for installation.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:33.5 — Set a five-minute timer for this padding glue to dry. q_002 00:35.2 q_001 Once that timer goes off, remind me to check the alignment of the burlap cover before I glue it. q_003 00:37.8 q_002 And after I've confirmed the alignment, nudge me to grab the yellow material for the visor. Gemini answerThe user issues a chain of three causally linked instructions. The first instruction is to set a five-minute timer, which the assistant acknowledges. The second instruction is to provide a reminder after that timer expires, and the third is to provide another reminder after the action from the second instruction is completed. Because the video is less than five minutes long, the initial timer never expires, meaning the trigger conditions for the second and third instructions are never met within the video's duration.q_001 q_001 — responses: 1- 00:34.0 Okay, five-minute timer started.
q_002 q_002 — responses: 0(no responses — trigger never fired in this video)q_003 q_003 — responses: 0(no responses — trigger never fired in this video)Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 33.5 s question_text: Set a five-minute timer for this padding glue to dry. depends_on : (none) - question_id : q_002 ask_time : 35.2 s question_text: Once that timer goes off, remind me to check the alignment of the burlap cover before I glue it. depends_on : q_001 - question_id : q_003 ask_time : 37.8 s question_text: And after I've confirmed the alignment, nudge me to grab the yellow material for the visor. depends_on : q_002 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P1 Event detection ✓
The video shows a woman making a quick fig jam recipe. She is adding several ingredients to a blender in a specific order while also talking to the camera. It would be natural for her to set a standing instruction for the assistant to confirm each time an ingredient is added, helping her keep track of the recipe steps without breaking her flow or forgetting an item.
-
Sample 1 asked @ 01:55.5Q: Hey, let me know each time I add a new ingredient to the blender.Gemini answer (responses: 1)I have scanned the video from the time of your request. I will notify you of any new ingredients being added to the blender after that point. The video shows one such event occurring after you ask.
- 02:18.4 Okay, stevia added.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Hey, let me know each time I add a new ingredient to the blender. ask_time : 115.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ✓
The video shows a woman preparing a small batch of raw fig jam. A key step in the process is blending the ingredients to the right consistency. A person making this recipe might want to keep track of how long they blend the mixture to ensure consistency for future batches, making an interval tracking request natural. They would likely give this standing instruction right before they start the blending process for the first time.
-
Sample 1 asked @ 03:46.5Q: Let me know when I start and stop blending the jam.Gemini answer (responses: 0)I can let you know when you start and stop blending. However, in this video, the blending activity takes place between 2:37 and 2:56. Since your request comes at 3:46, after the blending is already complete, there are no occurrences to report for the remainder of the video.(no responses — trigger never fired in this video)
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P2 — Interval tracking Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence. [WHAT THE WEARER SAYS] question_text : Let me know when I start and stop blending the jam. ask_time : 226.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction about an activity with a clear START and a clear END. Emit ONE response at each boundary moment — two responses per occurrence (start, then end), every time the activity happens. Order responses by response_time. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a woman making a simple, raw fig jam in a personal blender. She combines the ingredients and is about to blend them. To achieve the desired consistency without needing to stop and check, she might ask her assistant to monitor the texture. A natural request would be to get an alert the moment the mixture becomes completely smooth and ready to be used.
-
Sample 1 asked @ 00:02.4Q: Let me know when this is blended completely smooth.Gemini answer (responses: 1)The user asks to be notified when the mixture in the blender is completely smooth. I monitor the blending process, which starts around the 2:38 mark. The blending stops at 2:56, and by this point, the contents appear to be a uniform, smooth consistency. I provide the notification immediately after the blending stops.
- 04:17.0 It looks completely smooth now.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Let me know when this is blended completely smooth. ask_time : 2.36 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ∅
The video shows a woman demonstrating how to make a simple, raw fig jam. All of the ingredients are laid out in a small, organized space directly in front of her. She never moves from this spot, nor does she appear to lose track of any of her ingredients or tools. Therefore, asking a question about the location of an object would be completely unnatural, as everything is always in plain sight.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a woman making a small batch of fig jam. She is talking through the recipe and the health benefits of the ingredients while also measuring and adding them to the blender. Because she is multitasking, it would be natural for her to momentarily forget how many of a particular ingredient she has already added. A quick question to the assistant to recall the count just before blending would be a plausible way to double-check the recipe.
-
Sample 1 asked @ 02:04.5Q: How many figs did I end up putting in there?Gemini answer (responses: 1)I can answer this question by recalling the moment you added the figs to the blender. You explicitly stated the number of figs as you were putting them into the container, and I also counted them visually.
- 02:05.5 You put three figs in the blender.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : How many figs did I end up putting in there? ask_time : 124.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ∅
The video features a woman who is clearly an expert, confidently demonstrating a simple recipe for fig jam. She explains each step, discusses the ingredients' properties, and offers serving suggestions without any hesitation or uncertainty. Since she is in the role of an instructor teaching the viewer, there is no natural point where she would be stuck or unsure and need to ask for diagnosis or guidance. Any such question would feel contrived and out of character.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a woman making raw fig jam. After blending the figs with other ingredients, she opens the blender cup to reveal the final product. At this point, it is natural for her to want a second opinion on the most important quality of the jam—its texture—before she decides it's ready.
-
Sample 1 asked @ 05:05.5Q: Does this look thick enough for jam?Gemini answer (responses: 1)The user asks for a quality check on the thickness of the jam at 305.5 seconds. At this point in the video, the blending is complete, and the woman is showing the final product. I can clearly see that the mixture is thick and paste-like, holding its shape rather than being runny, which is the desired consistency for jam. Therefore, I can confidently confirm that it looks thick enough.
- 05:06.5 Yes, it looks perfect. It's holding its shape well and isn't runny, so it should spread nicely like jam.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Does this look thick enough for jam? ask_time : 305.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video shows a woman making a simple, raw fig jam. The central action of the video is the transformation of whole figs and other ingredients into a smooth jam by blending them. After she finishes blending and opens the container, it's a natural moment of reveal, and she might ask her assistant to comment on the dramatic change, comparing the 'after' state (the jam) to the 'before' state (the whole figs).
-
Sample 1 asked @ 02:58.5Q: How does the texture of this jam compare to the whole figs I put in the blender?Gemini answer (responses: 1)I can answer this question by comparing the visual state of the figs at the time of the question with their state earlier in the video. I observed the whole, solid figs being placed into the blender cup around the 1:21 mark. At the time of the question, I can see the blended, paste-like result, allowing me to describe the change in texture.
- 02:59.5 Previously, the figs were whole, solid fruits when you placed them in the blender. After blending, they have become a thick, smooth paste with a uniform, jam-like texture.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : How does the texture of this jam compare to the whole figs I put in the blender? ask_time : 178.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
The video shows a woman demonstrating a recipe for raw fig jam while also explaining the health benefits of figs. Since she is presenting for a health-focused audience, it's natural for her to want to track the health claims she makes to ensure she's being clear and comprehensive. Simultaneously, as she prepares the recipe, a basic request like counting the ingredients she adds is a simple and useful task for the assistant to perform in the background.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:26.5 — Keep a tally of each distinct health benefit I mention for figs. q_002 02:01.5 — Okay, and separately, please count the total number of ingredients I put into the blender. Gemini answerThe user issues two separate, concurrent instructions. The first is to track the health benefits of figs mentioned, which begins at 26.5 seconds. The assistant keeps a running tally, responding each time a new benefit is named. The second instruction, to count the total ingredients, is given much later. The assistant begins this separate count by acknowledging the ingredients that were added before the instruction was given and then continues to update the total as new ingredients are added.q_001 q_001 — responses: 3- 00:29.2 Got it. One health benefit.
- 00:32.5 That's two.
- 00:35.3 Three health benefits mentioned.
q_002 q_002 — responses: 2- 02:07.5 Okay. Counting the figs and lemon juice you added earlier, that makes three ingredients in the blender.
- 02:19.0 That makes four ingredients in total.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 26.5 s question_text: Keep a tally of each distinct health benefit I mention for figs. depends_on : (none) - question_id : q_002 ask_time : 121.5 s question_text: Okay, and separately, please count the total number of ingredients I put into the blender. depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a woman making raw fig jam while explaining the recipe and the health benefits of the ingredients. A natural interaction would be to ask the assistant to provide similar information for all ingredients as she works. However, as she gets into the practical steps, she might find the health facts distracting and decide to narrow the assistant's focus to more practical information, like how an ingredient affects the texture. Finally, once all ingredients are added, she would naturally cancel the standing instruction before moving to the final step of blending.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:48.5 — As I add each ingredient for this jam, tell me its primary health benefit. q_002 02:17.5 q_001 Actually, change that. From now on, just tell me how each ingredient will affect the final texture of the jam. q_003 03:44.5 q_001 Okay, that's everything. You can stop tracking the ingredients now. Gemini answerThe user first issues a standing instruction to be told the health benefits of each ingredient as it is added to the jam. The assistant correctly identifies the addition of figs, lemon juice, and chia seeds, providing the requested health information for each. The user then modifies the instruction, asking for the effect on texture instead, which the assistant acknowledges and applies to the next ingredient, stevia. Finally, once the jam is made, the user cancels the instruction, and the assistant confirms it has stopped tracking.q_001 q_001 — responses: 3- 01:22.0 Figs are a good source of potassium and fiber, which are beneficial for blood pressure and digestion.
- 01:29.0 Lemon juice is rich in Vitamin C, which can boost your immune system.
- 01:45.0 Chia seeds are packed with fiber and omega-3s, which are great for heart and digestive health.
q_002 q_002 — responses: 2- 02:18.0 Okay, from now on I'll tell you how each ingredient affects the texture.
- 02:19.0 That small amount of liquid stevia will add sweetness without noticeably affecting the texture.
q_003 q_003 — responses: 1- 03:45.0 Got it. I'll stop tracking the ingredients.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 48.5 s question_text: As I add each ingredient for this jam, tell me its primary health benefit. depends_on : (none) - question_id : q_002 ask_time : 137.5 s question_text: Actually, change that. From now on, just tell me how each ingredient will affect the final texture of the jam. depends_on : q_001 - question_id : q_003 ask_time : 224.5 s question_text: Okay, that's everything. You can stop tracking the ingredients now. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The video shows a woman preparing a small batch of raw fig jam. She mentions that she has many figs and plans to dry the rest of them after making this jam. A natural interaction would be to set a reminder for this follow-up task, but to have it trigger only after the current task is complete, so she can stay focused. The proposed questions create a causal chain where the reminder to prep the remaining figs is contingent on the assistant determining that the jam has been sufficiently blended.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 02:05.5 — Okay, I'm just making a small amount of jam for now. Let me know when it's been about two minutes, so I can start prepping the rest of these figs to dry. q_002 02:09.0 q_001 Actually, scratch that. Instead, just let me know when I've finished blending this first batch, and then remind me about the rest of the figs. Gemini answerThe user first asks for a two-minute timer. A few seconds later, they cancel that instruction and replace it with a new one: to be notified when they finish blending the current batch of jam. The assistant cancels the timer and begins monitoring for the blending to stop. When the user turns off the blender, the assistant delivers the requested notification and reminder.q_001 q_001 — responses: 0(no responses — trigger never fired in this video)q_002 q_002 — responses: 1- 04:16.5 Okay, the blending is finished. Now you can start prepping the rest of the figs to dry.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 125.5 s question_text: Okay, I'm just making a small amount of jam for now. Let me know when it's been about two minutes, so I can start prepping the rest of these figs to dry. depends_on : (none) - question_id : q_002 ask_time : 129.0 s question_text: Actually, scratch that. Instead, just let me know when I've finished blending this first batch, and then remind me about the rest of the figs. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P1 Event detection ✓
The video shows a vlogger making a batch of brownie cake pops. A key stage of the recipe is the repetitive task of dipping each pop in chocolate and then covering it with sprinkles. To avoid losing count and to track her progress through the batch, it would be natural for her to ask her assistant to signal the completion of each individual pop. She would set this instruction just before starting the dipping and decorating process.
-
Sample 1 asked @ 03:04.5Q: Let me know each time I finish decorating a cake pop.Gemini answer (responses: 1)I am monitoring the video from the moment you make your request. I have identified the single instance where you complete the decoration of a cake pop by dipping it in chocolate and then coating it in sprinkles. I will provide a brief notification at that point, as requested.
- 03:20.0 First one decorated.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Let me know each time I finish decorating a cake pop. ask_time : 184.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ✓
The video shows a woman making brownie cake pops. A significant and repetitive part of the process involves individually dipping each cake pop into melted chocolate and then into sprinkles. To gauge her speed or simply to keep track of this multi-step, recurring process, she might naturally ask her assistant to time each one. This provides a clear start (picking up a pop to dip) and end (placing the finished pop down) for the assistant to track.
-
Sample 1 asked @ 05:04.5Q: Let me know when I start coating each cake pop and when I'm done with it.Gemini answerThe user asks me to start tracking an activity at 304.5 seconds into the video. However, the video is only 244 seconds long in its entirety. Because the instruction is given after the video has already ended, it is impossible for me to fulfill the request.can’t answer: The instruction is given at a timestamp that occurs after the video has already finished.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P2 — Interval tracking Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence. [WHAT THE WEARER SAYS] question_text : Let me know when I start coating each cake pop and when I'm done with it. ask_time : 304.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction about an activity with a clear START and a clear END. Emit ONE response at each boundary moment — two responses per occurrence (start, then end), every time the activity happens. Order responses by response_time. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a woman making brownie cake pops. A key step involves dipping the cake balls into melted chocolate, which needs to be kept at a workable, fluid temperature. As she is filming and talking, it would be easy to lose track of the chocolate's temperature, so asking an assistant to monitor it and warn her if it cools down too much is a natural and helpful request to avoid the chocolate setting prematurely.
-
Sample 1 asked @ 03:04.5Q: Let me know if this chocolate starts to get too cool to work with.Gemini answer (responses: 0)The user asks me to monitor the chocolate and alert them if it becomes too cool to work with. The instruction is given at 184.5 seconds. I monitored the chocolate from that point forward, but during the rest of the dipping process shown in the video, the chocolate's consistency remains fluid and workable. Therefore, the threshold the user set is never crossed, and no response is given.(no responses — trigger never fired in this video)
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Let me know if this chocolate starts to get too cool to work with. ask_time : 184.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ✓
The video is a cooking tutorial showing how to make brownie cake pops. The creator explains each step, from crumbling the cake to dipping the finished pops in chocolate and sprinkles. At one point, she needs sunflower oil to thin the melted chocolate. It would be natural for her to ask the assistant for its location if she'd set it down earlier while preparing other items on her busy countertop.
-
Sample 1 asked @ 02:57.5Q: Where did I set down the sunflower oil?Gemini answer (responses: 1)The user asks where they set down the sunflower oil. I scanned the video and found the moment the person picks up the bottle of sunflower oil at 02:58 and sets it down at 03:04, to the right of the green bowl. Since the question is asked just before this action, I will provide the answer immediately after the bottle is set down.
- 03:04.5 Lo acabas de dejar a la derecha del bol verde de chocolate.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R1 — Localization Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location. [WHAT THE WEARER SAYS] question_text : Where did I set down the sunflower oil? ask_time : 177.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF localization question. Emit exactly ONE response delivered just after `ask_time`. If the wearer is asking where they PUT something earlier, name the place from what you saw earlier in the video; if they are asking where something IS in the current scene, name the place from the current frame. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a cooking tutorial for brownie cake pops. A key step involves chilling the formed cake pops for an extended period, which the creator states was three hours. It's very natural for someone to lose track of time during a long wait, so asking the assistant to recall how long they've been chilling is a plausible query right before retrieving them to ensure they are ready for the next step.
-
Sample 1 asked @ 02:12.5Q: How long have the cake pops been chilling in the fridge?Gemini answer (responses: 1)I can answer this question because the on-screen text provides the exact duration for which the cake pops were chilled. At 02:12, as the speaker takes the tray out, a text overlay appears which reads, 'Los he dejado 3h,' meaning 'I left them for 3 hours.' Based on this visual information, I can directly answer the user's question.
- 02:13.0 According to the video, they have been chilling for 3 hours.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : How long have the cake pops been chilling in the fridge? ask_time : 132.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ∅
The video features a chef confidently guiding viewers through a recipe for brownie cake pops. She acts as an expert, explaining each step and even providing tips, such as how to thin the chocolate coating. As the person teaching the recipe, she never appears unsure or stuck. Therefore, it would be unnatural for her to ask for diagnosis or guidance on how to proceed.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a woman demonstrating how to make brownie cake pops. A key step is mixing the brownie crumbs with cream cheese until a compact, rollable dough is formed. Just after she finishes mixing and presents the ball of dough, she might ask her assistant for a quality check to ensure the consistency is correct before proceeding to the next step. This is a crucial check, as the wrong consistency could make the rest of the process difficult or impossible.
-
Sample 1 asked @ 02:31.4Q: Based on how it's holding together, does this dough look like it has the right consistency to be rolled into balls?Gemini answer (responses: 1)I can answer this question by observing the state of the dough at the time the user asks. At 151.4 seconds, the person in the video has successfully formed the mixture into a single, compact ball that pulls away cleanly from the bowl. This indicates it has the right consistency for rolling, which is confirmed moments later when she begins to form the individual cake pops.
- 02:32.5 Yes, it looks perfect. The dough is holding together in a cohesive ball and pulling away cleanly from the sides of the bowl, so it should be easy to roll.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Based on how it's holding together, does this dough look like it has the right consistency to be rolled into balls? ask_time : 151.4 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video shows a woman making brownie cake pops from scratch. She begins by crumbling a baked brownie and then adds cream cheese, mixing it by hand until it forms a compact dough. A natural question arises right after this transformation, as she observes the significant change in the mixture's state from loose and dry to a single, pliable ball.
-
Sample 1 asked @ 02:30.5Q: How does the texture of this mixture compare to before I added the cream cheese?Gemini answer (responses: 1)The user asks for a comparison of the brownie mixture's texture before and after adding cream cheese. I can answer this by observing the mixture at timestamp 1:25, where it consists of dry, loose crumbs. I then compare this to the state at the time of the question (150.5s), where the mixture has formed a single, compact ball after the cream cheese has been incorporated.
- 02:31.2 Before you added the cream cheese, the mixture was a bowl of loose, dry crumbs. Now, it has come together into a single, compact, moist ball.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : How does the texture of this mixture compare to before I added the cream cheese? ask_time : 150.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
The video shows a woman making brownie cake pops. In the final stage, she repetitively dips each cake pop first in chocolate and then in sprinkles. A person doing this might want to keep track of their progress on these distinct but concurrent steps. Asking an AI assistant to maintain separate counts for each action is a natural way to offload the mental task of tracking, ensuring no step is missed for any of the pops in the batch.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 02:15.5 — Count how many of these I mix with cream cheese. q_002 02:35.0 — And also, start a separate timer for how long I spend rolling these into balls. Gemini answerThe user issues two instructions at different times, both referring to activities that have already been completed. For the first instruction to count the cake pops, the assistant can answer by observing the completed items on the tray. For the second instruction to start a timer for a past activity, the assistant cannot comply because the event is already over, and it cannot retroactively time something it was not asked to observe.q_001 q_001 — responses: 1- 02:16.5 Hay 20 en la bandeja.
q_002 q_002can’t answer: I cannot time that for you because the activity of rolling the balls has already been completed.Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 135.5 s question_text: Count how many of these I mix with cream cheese. depends_on : (none) - question_id : q_002 ask_time : 155.0 s question_text: And also, start a separate timer for how long I spend rolling these into balls. depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a person making brownie cake pops. A critical step involves dipping the pops into a bowl of melted chocolate. It would be natural for the person to ask their assistant to monitor the chocolate's consistency, as it could thicken over time and ruin the coating. After successfully dipping a few, they might gain confidence that the consistency is stable and cancel the initial instruction, as it's no longer needed.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 03:05.0 — Keep an eye on this chocolate for me and let me know if it starts to look too thick to dip properly. q_002 03:20.0 q_001 Actually, I think the consistency is holding up well. You can stop monitoring it. Gemini answerThe user first asks the assistant to monitor the consistency of the melted chocolate, instructing it to provide an alert if it becomes too thick for dipping. Before this condition occurs, the user cancels the instruction, stating that the consistency seems fine. The assistant correctly tracks this update, provides a confirmation for the cancellation, and does not fire the initial alert as its trigger condition was never met during the active monitoring period.q_001 q_001 — responses: 0(no responses — trigger never fired in this video)q_002 q_002 — responses: 1- 03:20.5 Understood. I'll stop monitoring the chocolate.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 185.0 s question_text: Keep an eye on this chocolate for me and let me know if it starts to look too thick to dip properly. depends_on : (none) - question_id : q_002 ask_time : 200.0 s question_text: Actually, I think the consistency is holding up well. You can stop monitoring it. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The video shows the process of making brownie cake pops. A key step involves chilling the formed cake balls for three hours to ensure they are firm enough for dipping without falling apart. A person making these would naturally set a timer for this long waiting period. It is also very natural to chain a reminder to this timer, asking the assistant to prompt them for the next step (melting the chocolate) once the chilling time is complete, so they can seamlessly continue the recipe.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 02:12.5 — Okay, set a timer for three hours while these are chilling. q_002 02:16.0 q_001 Once that's done, remind me to melt the chocolate and get the sprinkles ready. Gemini answerThe user first asks the assistant to set a three-hour timer for the cake pops to chill, and the assistant confirms the action. The user then follows up with a causally-linked instruction to be reminded to prepare the chocolate and sprinkles after the timer finishes. However, since the three-hour timer does not complete within the duration of the video, the trigger for the second instruction never occurs, and therefore the assistant does not issue the reminder.q_001 q_001 — responses: 1- 02:13.0 Okay, timer set for 3 hours.
q_002 q_002 — responses: 0(no responses — trigger never fired in this video)Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 132.5 s question_text: Okay, set a timer for three hours while these are chilling. depends_on : (none) - question_id : q_002 ask_time : 136.0 s question_text: Once that's done, remind me to melt the chocolate and get the sprinkles ready. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P1 Event detection ✓
The video is a recipe tutorial for a layered drink called a mangonada. The creator adds multiple layers of sauces, seasonings, and the mango smoothie to assemble the final drink. To ensure they don't miss a step while also narrating for the camera, the person could ask their assistant to verbally confirm each time a new layer or ingredient is added to the cup, helping them keep a mental checklist.
-
Sample 1 asked @ 01:43.5Q: Confirm each ingredient as I add it to the cup.Gemini answer (responses: 3)I will monitor the video from the moment of your request. Each time I see an ingredient being added to the cup, I will confirm what it is. Based on your instruction, I've identified three separate instances of ingredients being added to the cup after your question was asked.
- 01:44.5 Chamoy sauce.
- 02:31.0 Tajin.
- 03:24.0 Tamarind candy stick.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P1 — Event detection Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened. [WHAT THE WEARER SAYS] question_text : Confirm each ingredient as I add it to the cup. ask_time : 103.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING instruction. Read the wearer's wording to tell which sub-type they intended: (a) REPEATING trigger — emit ONE short response per occurrence, in chronological order, until the video ends; (b) FIRST-OCCURRENCE trigger (e.g. "let me know ONCE you spot X") — emit AT MOST ONE response at the first occurrence and stop. Each response is a heads-up or a couple of words naming what just happened. Skim the whole video for every relevant occurrence. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P1 — Event detection
Definition: A standing request to be told EACH SEPARATE TIME a specific kind of event recurs — OR a one-shot variant that fires the FIRST TIME such an event occurs and then stops. The response is short — a plain heads-up, or a couple of words naming what just happened.
Examples (everyday settings):
- Cooking, repeating: Tell me each time I add a new ingredient, and what it is — I keep losing my place in the recipe
- Daily life, first-occurrence: Let me know the moment you spot my keys somewhere on the counter, I keep missing them
- DIY, repeating: Give me a heads-up every time I fully drive in a screw, I want to count them at the end
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about a specific event. Two shapes are both in scope: (a) a REPEATING-trigger instruction that fires once for every separate occurrence of a recurring event in this video, or (b) a FIRST-OCCURRENCE-trigger instruction that fires the first time the event is observed and then stops (e.g. "let me know once you spot X"). Pick whichever genuinely fits this video. The response is short — a plain heads-up, or a couple of words naming what just happened.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P2 Interval tracking ∅
This video is a tutorial demonstrating how to make a single mangonada. The process is shown once, in a deliberate, step-by-step manner. There are no repeated sub-activities within the video that would naturally prompt a user to track the start and end times of each occurrence for efficiency or comparison. The primary automated step, blending, is very short and likely uses a pre-set program, making manual timing redundant. Therefore, a standing request to track intervals does not fit the context of this single, calm demonstration.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P2 — Interval tracking
Definition: A standing request to mark BOTH the start and the end of an ongoing activity — two boundary moments per occurrence.
Examples (everyday settings):
- Cooking: Tell me when the rice starts boiling and again when it's done — I always overcook it
- DIY: Let me know when I start sanding a panel and when I finish, I'm timing each one
- Daily life: Tell me when I get onto the highway and when my exit comes up, I zone out driving
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction about an activity that has a clear START and a clear END. The assistant must speak up at BOTH boundaries, every time that activity occurs.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
P3 Threshold alert ✓
The video shows a person making a mangonada smoothie. When adding water to the blender cup, which already contains solid ingredients like frozen mango and ice, it's easy to misjudge the liquid level and overfill it, which can cause leaks or prevent the blender from working properly. A person would naturally want a second pair of eyes on the fill line as they pour. Therefore, setting a standing instruction to be warned before they cross the max-fill threshold is a practical and plausible request.
-
Sample 1 asked @ 00:28.5Q: Warn me if I'm about to overfill the blender cup.Gemini answer (responses: 1)I am able to answer this request. After you ask me to monitor the blender cup level, I watch as you pour water into it. As the water level approaches the visible 'MAX LIQUID' line on the cup, I deliver a warning to prevent you from overfilling it.
- 00:31.4 You're approaching the max fill line.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Proactive monitoring (P) Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again. [CELL] P3 — Threshold alert Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready. [WHAT THE WEARER SAYS] question_text : Warn me if I'm about to overfill the blender cup. ask_time : 28.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a STANDING threshold-alert instruction. Emit ONE response the instant a continuous state crosses the line described. Most videos will have 1-3 crossings; some may have none — if so set can_answer to true with an empty responses list and explain in rationale that the threshold is never crossed in this video. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Proactive monitoring (P)
Proactive monitoring. You give the assistant ONE standing instruction once, and from then on it keeps responding on its own — every later time the relevant situation occurs. You do not ask again.
Cell: P3 — Threshold alert
Definition: A standing request to be WARNED THE MOMENT a continuous state crosses a line — something gets too hot, runs low, becomes unsafe, or becomes ready.
Examples (everyday settings):
- Cooking: Warn me the second the oil starts to smoke — I've set off the alarm too many times
- DIY: Tell me if the drill battery drops into the red so I can swap it before it dies
- Daily life: Let me know once my coffee's cooled enough to actually drink
[CONSTRAINT — what shape this request must take]
Design ONE standing instruction that watches a CONTINUOUS STATE and fires the instant it crosses a threshold — something gets too hot, runs low, becomes unsafe, or becomes ready. This is a state crossing a line, not a discrete countable action.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE standing instruction — one natural sentence you say to your assistant — plus its `ask_time`. Once said, the assistant keeps responding on its own every later time the situation recurs; you do not repeat it.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R1 Localization ∅
The video is a highly organized cooking tutorial for making a mangonada. The creator has all the necessary ingredients and tools laid out on the counter before starting and keeps them in view throughout the process. Because everything is pre-arranged and readily accessible, the person never appears to be looking for or has misplaced an item, making it unnatural for them to ask where something is.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R1 — Localization
Definition: A one-off question about WHERE something is. Two sub-types are both in scope: (a) past-placement recall — an item the person handled or set down earlier in the video ("where did I PUT X?"); (b) forward spatial search — an item the person is actively looking for in the current scene ("where IS X right now?"). The answer names the location.
Examples (everyday settings):
- Cooking, past-placement: Hey, where did I put the measuring spoons?
- Daily life, forward search: Where's the garlic in this aisle?
- DIY, past-placement: Which drawer did I grab this drill bit from?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking WHERE something is. Either sub-type fits: (a) past-placement recall about an item they handled or set down earlier in the video ("where did I PUT X?"), or (b) forward spatial search about an item they are actively looking for in the current scene ("where IS X right now?"). It must be answerable from what the assistant has seen (either earlier in the video or the current scene).
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R2 Recall ✓
The video shows a person making a mangonada. At one point, they add several ice cubes to the blender. Since recipes often specify a number of ice cubes, and it's an easy action to perform without consciously counting, the person might naturally turn to their assistant right after to recall the exact number they added.
-
Sample 1 asked @ 00:30.5Q: How many ice cubes did I just add?Gemini answerThe video does not show the action of adding the ice cubes to the blender; they are already present when the shot begins. The narrator only says "a few cubes of ice" were added, and the on-screen ingredient list provides a range of 3-5 chunks. Therefore, it is impossible to give a precise count of the ice cubes used.can’t answer: I cannot determine the exact number of ice cubes, as the video does not show them being added to the blender.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R2 — Recall Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far. [WHAT THE WEARER SAYS] question_text : How many ice cubes did I just add? ask_time : 30.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF recall question. Emit exactly ONE response just after `ask_time`. Answer factually from earlier events in the video. If the wearer asks WHEN exactly something happened, give a concrete timestamp or relative time ("about three minutes ago, around 02:15"). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R2 — Recall
Definition: A one-off question querying episodic MEMORY of what has already happened — did I already do X, what / which did I use, in what order, WHEN exactly, or how many so far.
Examples (everyday settings):
- Cooking, did-I: Wait — did I already add the salt to this?
- Cooking, when: When did I put the rice on? I've lost track of how long it's been cooking
- Daily life, count: How many times have I checked my phone so far?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that queries MEMORY of earlier events in this video — whether they already did something, what / which they used, in what order, WHEN exactly an earlier event happened (return a timestamp / duration), or how many so far.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R3 Diagnosis & guidance ∅
The video is a cooking tutorial where the creator confidently demonstrates how to make a mangonada. The person is acting as an expert and is clearly familiar with the recipe, explaining each step without hesitation or error. There are no moments of uncertainty, confusion, or mistakes where they would naturally need to ask for a diagnosis or guidance on the next step. Therefore, this type of question is not applicable.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R3 — Diagnosis & guidance
Definition: A one-off question where the person is unsure or stuck and wants REAL HELP — what's wrong, why, what to do, how to do the next step. The natural answer is several sentences, not a word.
Examples (everyday settings):
- Cooking: This sauce just won't thicken — what am I doing wrong?
- DIY: I'm about to fit this panel — what's the right way to line it up so it sits flush?
- Daily life: The printer's flashing a red light — how do I sort this out?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment because they are unsure or stuck and want REAL HELP — a diagnosis (what's wrong / why) or guidance (what to do / how to do the next step). It MUST be a question whose good answer is genuinely several sentences of explanation or instruction — not something answerable in one word.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R4 Verification & quality check ✓
The video shows a person making a mangonada, which involves blending frozen fruit and ice. The final texture of the blended mixture is crucial for the quality of the drink. After pulsing the blender a couple of times, it would be natural for the person to pause and check if the mixture is smooth enough before pouring it. Asking the assistant for a visual quality check on the texture is a practical way to get a second opinion before proceeding to the next step.
-
Sample 1 asked @ 00:01.0Q: Does that look smooth enough to you, or are there still chunks in it?Gemini answerI cannot answer this question because it is asked at 1.01 seconds, but the ingredients are not blended until much later in the video, starting around 0:56. At the time of the question, the ingredients are still on the counter and the mixture does not yet exist, so I cannot evaluate its smoothness.can’t answer: At the time you ask, the ingredients have not yet been blended, so I cannot determine the smoothness of the mixture.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R4 — Verification & quality check Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that). [WHAT THE WEARER SAYS] question_text : Does that look smooth enough to you, or are there still chunks in it? ask_time : 1.01 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF verification question. Emit exactly ONE response just after `ask_time`. Deliver a verdict (yes / no / unsure) plus a brief reason grounded in what you can see. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R4 — Verification & quality check
Definition: A one-off question asking the assistant to JUDGE the quality or correctness of something visible RIGHT NOW — is it done, is it right, is it good enough. The answer is a verdict plus a brief reason. Concerns only the current state, not a comparison to an earlier moment (see R5 for that).
Examples (everyday settings):
- Cooking: Does this chicken look cooked all the way through to you?
- DIY: Is this shelf actually level, or is it tilting?
- Daily life: Did I wrap this neatly enough to give as a gift?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment, asking the assistant to JUDGE the quality or correctness of something visible right now — is it done, is it right, is it good enough. The natural answer is a verdict plus a brief reason. This is about the CURRENT state only; cross-time comparisons belong in R5.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
R5 Cross-time comparison ✓
The video is a recipe tutorial for a Mangonada, which involves layering sauces and seasonings. The creator first adds a layer of Chamoy sauce to the bottom of the cup and later adds another layer on top of the blended mango. It is natural to want to check for consistency between the two layers, prompting a question that compares the amount of sauce added at two different points in time.
-
Sample 1 asked @ 02:23.5Q: Is that about the same amount of Chamoy as I put in the bottom of the cup?Gemini answer (responses: 1)The user asks for a comparison of the amount of Chamoy sauce used at two different times. I first located the earlier instance, when the sauce was poured into the bottom of the empty cup around the 1:13 mark. I then compared that visually with the amount being poured on top of the mango at the time of the question (1:43). The amount being poured on top appears to be slightly more than the initial layer.
- 02:24.0 It looks like you're adding a little more this time. The first layer you poured on the bottom around 1:13 was a bit thinner than this drizzle on top.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Reactive Q&A (R) Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction. [CELL] R5 — Cross-time comparison Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed. [WHAT THE WEARER SAYS] question_text : Is that about the same amount of Chamoy as I put in the bottom of the cup? ask_time : 143.5 s [HOW YOU RESPOND, FOR THIS CELL] This is a ONE-OFF cross-time comparison question. Emit exactly ONE response just after `ask_time`. Explicitly anchor your answer in BOTH the earlier referent (what you saw before, ideally with a rough timestamp) AND the current state, then name the difference (or sameness) and what changed. If you genuinely cannot locate the earlier referent in the video, set can_answer=false rather than guessing. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string, a `can_answer` boolean, and a `responses` array. Each element of `responses` is `{response_time, response_text}`. When `can_answer` is false, leave `responses` empty and put the reason in both `rationale` and `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Reactive Q&A (R)
Reactive Q&A. At a single moment you ASK the assistant a question and want a substantive spoken answer, drawing on what it has seen so far. It answers once — this is not a standing instruction.
Cell: R5 — Cross-time comparison
Definition: A one-off question that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The natural answer names the difference (or sameness) and grounds it in what changed.
Examples (everyday settings):
- Cooking, batch-vs-batch: Does this batch of dough look the same as the first one I made earlier?
- DIY, before-vs-after: Compared to before I started sanding, does this surface look smoother now?
- Daily life, place-vs-place: Is this aisle laid out the same as the one we walked past a few minutes ago?
[CONSTRAINT — what shape this request must take]
Design ONE question the person asks at a single moment that explicitly COMPARES the current state of something to a state observed EARLIER in this same video — the same object before vs after an action, two similar items the person saw at different times, or a before-vs-after of an ongoing change. The earlier referent MUST be something actually visible earlier in this video; do not invent a referent. The natural answer names the difference (or sameness) and grounds it in what changed.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is ONE question — one natural sentence you ask at a single moment — plus its `ask_time`. This is a ONE-OFF question: you ask it once and want a substantive spoken answer. It is NOT a standing instruction.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M1 Concurrent tracking ✓
This video is a tutorial for making a mangonada. The creator might want to track the ingredients they are adding for the recipe, which is a natural standing instruction. As a content creator, they might also become curious about which brands are visible in their video for the description or for future reference, leading to a second, unrelated tracking request that overlaps with the first.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:24.5 — Keep a list of all the ingredients I add to the blender. q_002 00:54.0 — Also, can you keep a separate tally of all the branded products I'm using? Gemini answerThe user issues two concurrent instructions at different times. The first is to list all ingredients added to the blender, and the second is to tally the branded products being used. The assistant tracks both requests in parallel, starting from when each instruction is given, and announces the relevant items as they appear and are used in the recipe.q_001 q_001 — responses: 3- 00:26.5 Got it. So far, that's frozen mango and ice.
- 00:31.0 Adding water.
- 00:41.0 And the Mio liquid enhancer.
q_002 q_002 — responses: 3- 00:55.5 Okay, starting the tally. First is the Ninja blender.
- 01:04.0 Next is Tajin.
- 01:52.0 And Chamoy Mega.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M1 — Concurrent tracking Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 24.5 s question_text: Keep a list of all the ingredients I add to the blender. depends_on : (none) - question_id : q_002 ask_time : 54.0 s question_text: Also, can you keep a separate tally of all the branded products I'm using? depends_on : (none) [HOW YOU RESPOND, FOR THIS CELL] These 2-3 instructions are CONCURRENT — they all become active when issued and run in parallel; they concern unrelated things. For each question_id, emit its own list of responses just like a P-family standing instruction would: one entry per occurrence of THAT question's trigger, from its ask_time until the video ends. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M1 — Concurrent tracking
Definition: Two or three standing instructions, issued at different times, that are all ACTIVE AT THE SAME TIME — they overlap, so the assistant tracks them in parallel. They concern unrelated things.
Examples (everyday settings):
- Cooking: "Count the eggs I crack for the batter" + (a bit later, still working) "oh, also tell me each time I turn the mixer on"
- DIY: "Let me know each time I pick up a power tool" + "and keep a separate count of the screws I drive in"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 standing instructions, issued at DIFFERENT times, that are all active AT THE SAME TIME — they overlap so the assistant must track them in parallel. They concern UNRELATED things, so every entry's `depends_on` stays empty.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M2 Instruction update ✓
The video shows a person making a mangonada and explaining the steps. As a creator making a tutorial, they might want the AI to help generate a shopping list or notes for the video description. It's natural to start with a broad instruction to track all ingredients, then realize it's more helpful to focus on just the key flavorings which are the most distinctive part of the recipe, before finally ending the task once the drink is complete.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:12.5 — Hey, start a list of all the ingredients I'm using today. q_002 01:45.5 q_001 Actually, let's narrow that down. From now on, just track the sauces and seasonings I'm adding. q_003 03:24.0 q_001 Okay, that's the last ingredient. You can stop tracking now. Gemini answerThe user first asks the assistant to start a list of all ingredients. The assistant confirms this and begins listing the ingredients as they are added to the blender. The user then modifies the instruction, narrowing the scope to only sauces and seasonings, which the assistant acknowledges. Subsequently, the assistant only reports when Chamoy sauce and Tajin seasoning are added. The final instruction to stop tracking is given after the video has ended, so the assistant marks it as unanswerable.q_001 q_001 — responses: 3- 00:25.0 Okay, starting a list. I see frozen mango and ice.
- 00:30.5 Adding water.
- 00:40.0 And the Mio liquid enhancer.
q_002 q_002 — responses: 5- 01:46.5 Got it. From now on, I'll only track sauces and seasonings.
- 01:54.0 Adding Chamoy sauce.
- 02:09.0 Now, Tajin seasoning.
- 02:22.0 Adding another layer of Chamoy.
- 02:31.0 And more Tajin.
q_003 q_003can’t answer: The instruction to stop tracking is given after the video has ended.Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M2 — Instruction update Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 12.5 s question_text: Hey, start a list of all the ingredients I'm using today. depends_on : (none) - question_id : q_002 ask_time : 105.5 s question_text: Actually, let's narrow that down. From now on, just track the sauces and seasonings I'm adding. depends_on : q_001 - question_id : q_003 ask_time : 204.0 s question_text: Okay, that's the last ingredient. You can stop tracking now. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] The first entry is a standing instruction; later entries MODIFY it (narrow / broaden / pause / resume / cancel). Track the current live scope as time moves forward. For each question_id, emit the responses that question_id is responsible for emitting: - For an instruction entry, that's the trigger-firings between its ask_time and the moment the next modifier supersedes it. - For a modifier entry that only changes scope / cancels, `responses` is typically a single acknowledgement ('got it, only tracking salt now') at its ask_time, or empty if no spoken ack is natural. Keep each question_id's responses chronological. [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M2 — Instruction update
Definition: The person issues a standing instruction, then LATER MODIFIES it — narrows or broadens its scope, or pauses / resumes / cancels it.
Examples (everyday settings):
- Cooking: "Alert me every time I add a spice" -> "actually, from now on only the salt" -> "ok, you can stop tracking that now"
- DIY: "Tell me each time I grab a tool" -> "on second thought, just the cutting tools"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 entries: first a standing instruction, then one or two LATER entries that MODIFY it — narrow or broaden its scope, or pause / resume / cancel it. Each modifying entry's `depends_on` points at the instruction it changes.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.
M3 Causal chain ✓
The video demonstrates how to make a mangonada. A crucial step is blending the frozen mango until it reaches a smooth consistency. The user, while also filming the tutorial, might ask the assistant to monitor the blending process. It's natural to then chain the next instruction—a reminder to prepare the cup—to the completion of the blending, ensuring they follow the steps in the correct order without having to think about it.
-
Sample 1
qid asked (mm:ss) depends_on question q_001 00:55.2 — Keep an eye on this for me and let me know when the mixture looks completely smooth. q_002 00:56.8 q_001 Once it's ready, remind me that I need to line the cup with the chamoy sauce and Tajin before pouring. Gemini answerThe user provides a two-step chained instruction. First, they ask me to watch the blender and let them know when the mixture is smooth. Then, they ask that once it's smooth, I should remind them to prepare the cup. I monitor the blending process, and as soon as it stops and the contents look fully blended, I deliver the first response. Immediately following that confirmation, I provide the chained reminder about lining the cup.q_001 q_001 — responses: 1- 01:41.5 The mixture looks completely smooth.
q_002 q_002 — responses: 1- 01:42.0 Now, line the cup with the chamoy sauce and Tajin before pouring.
Show full answer prompt sent to Gemini
You are the AI visual assistant embedded in this person's smart glasses. This video is the wearer's first-person view of an activity. The wearer speaks one or more instructions / questions to you at the timestamps shown below. Your job is to produce the spoken response you would deliver out loud at each appropriate moment. [TASK FAMILY] Interaction dynamics (M) Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them. [CELL] M3 — Causal chain Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened. [WHAT THE WEARER SAYS] - question_id : q_001 ask_time : 55.2 s question_text: Keep an eye on this for me and let me know when the mixture looks completely smooth. depends_on : (none) - question_id : q_002 ask_time : 56.8 s question_text: Once it's ready, remind me that I need to line the cup with the chamoy sauce and Tajin before pouring. depends_on : q_001 [HOW YOU RESPOND, FOR THIS CELL] These instructions form a CAUSAL CHAIN: each later instruction BECOMES ACTIVE only after the previous one's trigger has fired. For each question_id, emit the responses for THAT step of the chain. A step may fire once (an event happens once and unlocks the next) or zero times (the precondition never occurs in this video — leave responses empty and note in rationale). [CAUSALITY RULES — IMPORTANT] * You have access to the whole video, but you must pretend you are observing it live: for each `response_time` you emit, you may only rely on events that occurred AT OR BEFORE that `response_time`. * Every `response_time` must be >= the corresponding question's `ask_time`, and <= the video duration. A spoken response usually follows its trigger by a fraction of a second, so put `response_time` at (or just after) the moment the trigger event actually happens. * Never reference future events the wearer hasn't done yet relative to `response_time`. [STYLE] * Write each `response_text` exactly as the assistant would say it out loud — natural conversational speech, in the wearer's language, no markdown, no preamble like 'assistant:'. * P-family responses are short (a heads-up or a few words). R3 / R4 responses can be one to three sentences when that's what the wearer actually needs. * If a question genuinely cannot be answered from this video (thing never visible, never occurs, occluded, etc.), set `can_answer` to false for that question and leave its `responses` empty. Do NOT invent a response just to fill the slot. [OUTPUT — STRICT JSON] Return JSON conforming to the schema: a `rationale` string and a `question_responses` array with one entry per question_id above, IN THE SAME ORDER. Each entry is `{question_id, can_answer, responses, cant_answer_reason?}`. When `can_answer` is false for an entry, leave its `responses` empty and fill `cant_answer_reason`. Do not write anything outside the JSON.
Show full per-cell prompt sent to Gemini
You are the person in this video.
You are wearing smart glasses with an always-on AI assistant — think Apple Vision Pro or Ray-Ban Meta. This video is your own first-person (egocentric) view, recorded as you go about this activity. The assistant sees exactly what you see and hears you whenever you speak to it.
As you work, you talk to the assistant the way people really do: sometimes you give it a STANDING job ('keep an eye on X for me'); sometimes you turn to it with a QUESTION in the moment ('wait, where did I put X?', 'what am I doing wrong here?'). You ask for the help you would genuinely want — out of curiosity, because you are unsure, or because you want a second pair of eyes.
Watch the WHOLE video first. Put yourself in this person's shoes and think about what you — doing exactly this — would actually say to your assistant.
[THE REQUEST TO DESIGN]
Task family: Interaction dynamics (M)
Interaction dynamics. You issue SEVERAL related instructions at different moments; the assistant must juggle, update, and chain them.
Cell: M3 — Causal chain
Definition: A chain of instructions where each later one only BECOMES ACTIVE AFTER the previous one's event has happened.
Examples (everyday settings):
- Cooking: "Tell me once the pan is properly hot" -> "and once it is, tell me when the first side's done so I can flip"
- DIY: "Let me know when I've got all four lug nuts off" -> "after that, remind me to check the brake pads"
[CONSTRAINT — what shape this request must take]
Design a SET of 2-3 instructions forming a CHAIN: each later instruction only becomes active AFTER the previous instruction's event has happened. Express the dependency both in the wording ('once that happens, then ...') and in `depends_on`.
[TIMING]
Note the video's total duration in seconds. For every question give `ask_time`: the timestamp (seconds from the start, a float between 0.0 and the video's duration) of the moment you would naturally say it.
[TASK]
Produce exactly 1 sample(s). Each sample is a SET of 2-3 entries you say at DIFFERENT moments — each with a stable `question_id` ('q_001', 'q_002', ...), its own `ask_time`, the `question_text`, and a `depends_on` list of the earlier qids it refers to. Order the entries by ask_time.
Each question must:
(a) match the task type described in the CONSTRAINT above,
(b) be grounded in events / objects / states actually present in THIS specific video — no generic templates,
(c) sound like something a real person wearing this device would genuinely say out loud.
If, after watching this specific video, there is genuinely no natural question of this kind that this person would ask — the activity simply does not support it — set "applicable" to false, return an empty "samples" list, and explain why in "rationale". Do NOT invent a contrived question just to fill the slot. Only do this when it truly does not fit; most videos will fit.
[OUTPUT — STRICT JSON]
Return JSON conforming to the schema: a "rationale" (2-4 sentences on what the video shows and why your question(s) are things this person would naturally ask, or why nothing fits), an "applicable" boolean, and "samples". Do not write anything outside the JSON.